Initial import.
authorphil@softsynth.com <phil@softsynth.com@b0a0988d-7f52-0410-8c73-4f6cdee1a2cf>
Mon, 21 Jul 2008 02:58:11 +0000 (02:58 +0000)
committerphil@softsynth.com <phil@softsynth.com@b0a0988d-7f52-0410-8c73-4f6cdee1a2cf>
Mon, 21 Jul 2008 02:58:11 +0000 (02:58 +0000)
92 files changed:
build/unix/Makefile [new file with mode: 0644]
build/win32/vs2005/pforth.sln [new file with mode: 0644]
build/win32/vs2005/pforth_main.vcproj [new file with mode: 0644]
csrc/pf_all.h [new file with mode: 0644]
csrc/pf_cglue.c [new file with mode: 0644]
csrc/pf_cglue.h [new file with mode: 0644]
csrc/pf_clib.c [new file with mode: 0644]
csrc/pf_clib.h [new file with mode: 0644]
csrc/pf_core.c [new file with mode: 0644]
csrc/pf_core.h [new file with mode: 0644]
csrc/pf_float.h [new file with mode: 0644]
csrc/pf_guts.h [new file with mode: 0644]
csrc/pf_host.h [new file with mode: 0644]
csrc/pf_inc1.h [new file with mode: 0644]
csrc/pf_inner.c [new file with mode: 0644]
csrc/pf_io.c [new file with mode: 0644]
csrc/pf_io.h [new file with mode: 0644]
csrc/pf_io_none.c [new file with mode: 0644]
csrc/pf_main.c [new file with mode: 0644]
csrc/pf_mem.c [new file with mode: 0644]
csrc/pf_mem.h [new file with mode: 0644]
csrc/pf_save.c [new file with mode: 0644]
csrc/pf_save.h [new file with mode: 0644]
csrc/pf_text.c [new file with mode: 0644]
csrc/pf_text.h [new file with mode: 0644]
csrc/pf_types.h [new file with mode: 0644]
csrc/pf_win32.h [new file with mode: 0644]
csrc/pf_words.c [new file with mode: 0644]
csrc/pf_words.h [new file with mode: 0644]
csrc/pfcompfp.h [new file with mode: 0644]
csrc/pfcompil.c [new file with mode: 0644]
csrc/pfcompil.h [new file with mode: 0644]
csrc/pfcustom.c [new file with mode: 0644]
csrc/pfdicdat.h [new file with mode: 0644]
csrc/pfdicdat_arm.h [new file with mode: 0644]
csrc/pfinnrfp.h [new file with mode: 0644]
csrc/pforth.h [new file with mode: 0644]
csrc/posix/pf_io_posix.c [new file with mode: 0644]
csrc/stdio/pf_io_stdio.c [new file with mode: 0644]
csrc/win32/pf_io_win32.c [new file with mode: 0644]
csrc/win32_console/pf_io_win32_console.c [new file with mode: 0644]
fth/ansilocs.fth [new file with mode: 0644]
fth/bench.fth [new file with mode: 0644]
fth/c_struct.fth [new file with mode: 0644]
fth/case.fth [new file with mode: 0644]
fth/condcomp.fth [new file with mode: 0644]
fth/coretest.fth [new file with mode: 0644]
fth/filefind.fth [new file with mode: 0644]
fth/floats.fth [new file with mode: 0644]
fth/forget.fth [new file with mode: 0644]
fth/history.fth [new file with mode: 0644]
fth/loadhist.fth [new file with mode: 0644]
fth/loadp4th.fth [new file with mode: 0644]
fth/locals.fth [new file with mode: 0644]
fth/math.fth [new file with mode: 0644]
fth/member.fth [new file with mode: 0644]
fth/misc1.fth [new file with mode: 0644]
fth/misc2.fth [new file with mode: 0644]
fth/numberio.fth [new file with mode: 0644]
fth/private.fth [new file with mode: 0644]
fth/savedicd.fth [new file with mode: 0644]
fth/see.fth [new file with mode: 0644]
fth/siev.fth [new file with mode: 0644]
fth/smart_if.fth [new file with mode: 0644]
fth/strings.fth [new file with mode: 0644]
fth/system.fth [new file with mode: 0644]
fth/t_alloc.fth [new file with mode: 0644]
fth/t_case.fth [new file with mode: 0644]
fth/t_corex.fth [new file with mode: 0644]
fth/t_floats.fth [new file with mode: 0644]
fth/t_include.fth [new file with mode: 0644]
fth/t_load.fth [new file with mode: 0644]
fth/t_load_defer.fth [new file with mode: 0644]
fth/t_load_pairs.fth [new file with mode: 0644]
fth/t_load_semi.fth [new file with mode: 0644]
fth/t_load_undef.fth [new file with mode: 0644]
fth/t_locals.fth [new file with mode: 0644]
fth/t_nolf.fth [new file with mode: 0644]
fth/t_strings.fth [new file with mode: 0644]
fth/t_tools.fth [new file with mode: 0644]
fth/termio.fth [new file with mode: 0644]
fth/tester.fth [new file with mode: 0644]
fth/trace.fth [new file with mode: 0644]
fth/tut.fth [new file with mode: 0644]
fth/utils/clone.fth [new file with mode: 0644]
fth/utils/dump_struct.fth [new file with mode: 0644]
fth/utils/load_file.fth [new file with mode: 0644]
fth/utils/make_all256.fth [new file with mode: 0644]
fth/utils/trace.fth [new file with mode: 0644]
fth/wordslik.fth [new file with mode: 0644]
readme.txt [new file with mode: 0644]
releases.txt [new file with mode: 0644]

diff --git a/build/unix/Makefile b/build/unix/Makefile
new file mode 100644 (file)
index 0000000..a842005
--- /dev/null
@@ -0,0 +1,91 @@
+# makefile for pForth
+# Portable Forth written in 'C'
+# by Phil Burk
+# For more info visit http://www.softsynth.com/pforth/
+
+.SUFFIXES: .c .o
+
+# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
+# See "docs/pf_ref.htm" file for more info.
+
+# Note for Mac OS X, use cc instead of gcc
+COMPILER = gcc
+
+PFORTHDIR   := $(shell cd ../; pwd)
+CSRCDIR      = $(PFORTHDIR)/csrc
+FTHDIR       = $(PFORTHDIR)/fth
+
+PFDICAPP     = $(FTHDIR)/pforth
+PFORTHDIC    = $(FTHDIR)/pforth.dic
+PFDICDAT     = ${CSRCDIR}/pfdicdat.h
+PFORTHAPP    = $(PFORTHDIR)/pforth
+OBJECTDIR    = $(PFORTHDIR)/objects
+TEMPOBJECTDIR = $(PFORTHDIR)/tempobjects
+
+FULL_WARNINGS =  \
+        -fsigned-char \
+        -fno-builtin \
+        -fno-unroll-loops \
+        -fpeephole \
+        -fno-keep-inline-functions \
+        -Wcast-qual \
+        -Wall \
+        -Wwrite-strings \
+        -Winline  \
+        -Wmissing-prototypes \
+        -Wmissing-declarations
+        
+CCOPTS = -DPF_SUPPORT_FP -DPF_POSIX_IO -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS)
+
+EMBCCOPTS = -DPF_STATIC_DIC
+
+#######################################
+# Build file lists from wildcards.
+PFITEMP    = ${wildcard ${CSRCDIR}/*.h}
+PFINCLUDES = ${PFITEMP:${CSRCDIR}/pfdicdat.h=}
+PFSOURCE   = ${wildcard ${CSRCDIR}/*.c}
+PFTEMP     = ${PFSOURCE:%.c=%.o}
+PFOBJS     = ${PFTEMP:${CSRCDIR}/%=${TEMPOBJECTDIR}/%}
+PFEMBOBJS  = ${PFTEMP:${CSRCDIR}/%=${OBJECTDIR}/%}
+
+COMPILE = $(COMPILER) $(CCOPTS) $(CDEFS)
+
+${TEMPOBJECTDIR}/%.o:  $(PFINCLUDES)  ${CSRCDIR}/%.c
+       $(COMPILE) -O -o ${TEMPOBJECTDIR}/$*.o -c ${CSRCDIR}/$*.c
+       
+${OBJECTDIR}/%.o:  $(PFINCLUDES) ${CSRCDIR}/%.c ${CSRCDIR}/pfdicdat.h 
+       $(COMPILE) -O -o ${OBJECTDIR}/$*.o -c ${CSRCDIR}/$*.c $(EMBCCOPTS)
+
+all: $(PFORTHAPP)
+
+pffiles:
+       @echo "ITEMP FILES -----------------"
+       @echo ${PFITEMP}
+       @echo "INCLUDE FILES -----------------"
+       @echo ${PFINCLUDES}
+       @echo "'C' FILES ---------------------"
+       @echo ${PFSOURCE}
+       @echo "OBJECT FILES ------------------"
+       @echo ${PFOBJS}
+       @echo "EMBEDDED OBJECT FILES ------------------"
+       @echo ${PFEMBOBJS}
+       
+# build pforth by compiling 'C' source
+$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
+       $(COMPILER) $(PFOBJS) -lm -o $(PFDICAPP)
+
+pfdicapp: $(PFDICAPP)
+
+# build basic dictionary by running newly built pforth and including system.fth
+$(PFDICDAT): $(PFDICAPP)
+       cd $(FTHDIR); $(PFDICAPP) -i system.fth ; mv pfdicdat.h $(PFDICDAT)
+
+$(PFORTHAPP): $(PFDICDAT) $(PFINCLUDES) $(PFEMBOBJS)
+       $(COMPILER) $(PFEMBOBJS) -lm -o $(PFORTHAPP)
+       
+clean:
+       -rm -f $(PFOBJS) $(PFEMBOBJS)
+       -rm $(PFORTHAPP)
+       -rm $(PFDICDAT)
+       -rm $(PFORTHDIC)
+       -rm $(PFDICAPP)
diff --git a/build/win32/vs2005/pforth.sln b/build/win32/vs2005/pforth.sln
new file mode 100644 (file)
index 0000000..3f81925
--- /dev/null
@@ -0,0 +1,20 @@
+\r
+Microsoft Visual Studio Solution File, Format Version 9.00\r
+# Visual Studio 2005\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pforth_main", "pforth_main.vcproj", "{58B76DB8-1985-4B8A-8E71-C012D8F0C518}"\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               Debug|Win32 = Debug|Win32\r
+               Release|Win32 = Release|Win32\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|Win32.Build.0 = Debug|Win32\r
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.ActiveCfg = Release|Win32\r
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.Build.0 = Release|Win32\r
+       EndGlobalSection\r
+       GlobalSection(SolutionProperties) = preSolution\r
+               HideSolutionNode = FALSE\r
+       EndGlobalSection\r
+EndGlobal\r
diff --git a/build/win32/vs2005/pforth_main.vcproj b/build/win32/vs2005/pforth_main.vcproj
new file mode 100644 (file)
index 0000000..b711d4d
--- /dev/null
@@ -0,0 +1,335 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="8.00"\r
+       Name="pforth_main"\r
+       ProjectGUID="{58B76DB8-1985-4B8A-8E71-C012D8F0C518}"\r
+       RootNamespace="pforth_main"\r
+       Keyword="Win32Proj"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="$(SolutionDir)../../../fth/"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="1"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE"\r
+                               MinimalRebuild="true"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="3"\r
+                               Detect64BitPortabilityProblems="false"\r
+                               DebugInformationFormat="4"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               OutputFile="$(OutDir)\pforth.exe"\r
+                               LinkIncremental="2"\r
+                               GenerateDebugInformation="true"\r
+                               SubSystem="1"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="$(SolutionDir)/../../../fth/"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="1"\r
+                       CharacterSet="0"\r
+                       WholeProgramOptimization="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE"\r
+                               RuntimeLibrary="2"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="3"\r
+                               Detect64BitPortabilityProblems="false"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               OutputFile="$(OutDir)\pforth.exe"\r
+                               LinkIncremental="1"\r
+                               GenerateDebugInformation="true"\r
+                               SubSystem="1"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_cglue.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_clib.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_core.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_inner.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_io.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_io_none.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\win32_console\pf_io_win32_console.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_main.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_mem.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_save.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_text.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_words.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pfcompil.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pfcustom.c"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Header Files"\r
+                       Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
+                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_all.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_cglue.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_clib.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_core.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_float.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_guts.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_host.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_inc1.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_io.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_mem.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_save.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_text.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_types.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_win32.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pf_words.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pfcompfp.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pfcompil.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pfdicdat.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pfdicdat_arm.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pfinnrfp.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\..\csrc\pforth.h"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Resource Files"\r
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+                       >\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
diff --git a/csrc/pf_all.h b/csrc/pf_all.h
new file mode 100644 (file)
index 0000000..560b287
--- /dev/null
@@ -0,0 +1,67 @@
+/* @(#) pf_all.h 98/01/26 1.2 */\r
+\r
+#ifndef _pf_all_h\r
+#define _pf_all_h\r
+\r
+/***************************************************************\r
+** Include all files needed for PForth\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+** 940521 PLB Creation.\r
+**\r
+***************************************************************/\r
+\r
+#ifdef PF_EMBEDDED\r
+       #define PF_NO_INIT\r
+       #define PF_NO_STDIO\r
+       #define PF_NO_MALLOC\r
+       #define PF_NO_CLIB\r
+       #define PF_NO_FILEIO\r
+#endif\r
+\r
+/* I don't see any way to pass compiler flags to the Mac Code Warrior compiler! */\r
+#ifdef __MWERKS__\r
+       #define PF_SUPPORT_FP    (1)\r
+#endif\r
+\r
+#ifdef WIN32\r
+       #define PF_USER_INC2     "pf_win32.h"\r
+#endif\r
+\r
+#if defined(PF_USER_INC1)\r
+       #include PF_USER_INC1\r
+#else\r
+       #include "pf_inc1.h"\r
+#endif\r
+\r
+#include "pforth.h"\r
+#include "pf_types.h"\r
+#include "pf_io.h"\r
+#include "pf_guts.h"\r
+#include "pf_text.h"\r
+#include "pfcompil.h"\r
+#include "pf_clib.h"\r
+#include "pf_words.h"\r
+#include "pf_save.h"\r
+#include "pf_mem.h"\r
+#include "pf_cglue.h"\r
+#include "pf_core.h"\r
+\r
+#ifdef PF_USER_INC2\r
+/* This could be used to undef and redefine macros. */\r
+       #include PF_USER_INC2\r
+#endif\r
+\r
+#endif /* _pf_all_h */\r
+\r
diff --git a/csrc/pf_cglue.c b/csrc/pf_cglue.c
new file mode 100644 (file)
index 0000000..d768ea4
--- /dev/null
@@ -0,0 +1,100 @@
+/* @(#) pf_cglue.c 98/02/11 1.4 */\r
+/***************************************************************\r
+** 'C' Glue support for Forth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+\r
+extern CFunc0 CustomFunctionTable[];\r
+\r
+/***************************************************************/\r
+int32 CallUserFunction( int32 Index, int32 ReturnMode, int32 NumParams )\r
+{\r
+       cell P1, P2, P3, P4, P5;\r
+       cell Result = 0;\r
+       CFunc0 CF;\r
+\r
+DBUG(("CallUserFunction: Index = %d, ReturnMode = %d, NumParams = %d\n",\r
+       Index, ReturnMode, NumParams ));\r
+\r
+       CF = CustomFunctionTable[Index];\r
+       \r
+       switch( NumParams )\r
+       {\r
+       case 0:\r
+               Result = ((CFunc0) CF) ( );\r
+               break;\r
+       case 1:\r
+               P1 = POP_DATA_STACK;\r
+               Result = ((CFunc1) CF) ( P1 );\r
+               break;\r
+       case 2:\r
+               P2 = POP_DATA_STACK;\r
+               P1 = POP_DATA_STACK;\r
+               Result = ((CFunc2) CF) ( P1, P2 );\r
+               break;\r
+       case 3:\r
+               P3 = POP_DATA_STACK;\r
+               P2 = POP_DATA_STACK;\r
+               P1 = POP_DATA_STACK;\r
+               Result = ((CFunc3) CF) ( P1, P2, P3 );\r
+               break;\r
+       case 4:\r
+               P4 = POP_DATA_STACK;\r
+               P3 = POP_DATA_STACK;\r
+               P2 = POP_DATA_STACK;\r
+               P1 = POP_DATA_STACK;\r
+               Result = ((CFunc4) CF) ( P1, P2, P3, P4 );\r
+               break;\r
+       case 5:\r
+               P5 = POP_DATA_STACK;\r
+               P4 = POP_DATA_STACK;\r
+               P3 = POP_DATA_STACK;\r
+               P2 = POP_DATA_STACK;\r
+               P1 = POP_DATA_STACK;\r
+               Result = ((CFunc5) CF) ( P1, P2, P3, P4, P5 );\r
+               break;\r
+       default:\r
+               pfReportError("CallUserFunction", PF_ERR_NUM_PARAMS);\r
+               EXIT(1);\r
+       }\r
+\r
+/* Push result on Forth stack if requested. */\r
+       if(ReturnMode == C_RETURNS_VALUE) PUSH_DATA_STACK( Result );\r
+\r
+       return Result;\r
+}\r
+\r
+#if (!defined(PF_NO_INIT)) && (!defined(PF_NO_SHELL))\r
+/***************************************************************/\r
+Err CreateGlueToC( const char *CName, uint32 Index, int32 ReturnMode, int32 NumParams )\r
+{\r
+       uint32 Packed;\r
+       char FName[40];\r
+       \r
+       CStringToForth( FName, CName );\r
+       Packed = (Index & 0xFFFF) | 0 | (NumParams << 24) |\r
+               (ReturnMode << 31);\r
+       DBUG(("Packed = 0x%8x\n", Packed));\r
+\r
+       ffCreateSecondaryHeader( FName );\r
+       CODE_COMMA( ID_CALL_C );\r
+       CODE_COMMA(Packed);\r
+       ffFinishSecondary();\r
+\r
+       return 0;\r
+}\r
+#endif\r
diff --git a/csrc/pf_cglue.h b/csrc/pf_cglue.h
new file mode 100644 (file)
index 0000000..530c2f4
--- /dev/null
@@ -0,0 +1,45 @@
+/* @(#) pf_cglue.h 96/12/18 1.7 */\r
+#ifndef _pf_c_glue_h\r
+#define _pf_c_glue_h\r
+\r
+/***************************************************************\r
+** Include file for PForth 'C' Glue support\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+typedef cell (*CFunc0)( void );\r
+typedef cell (*CFunc1)( cell P1 );\r
+typedef cell (*CFunc2)( cell P1, cell P2 );\r
+typedef cell (*CFunc3)( cell P1, cell P2, cell P3 );\r
+typedef cell (*CFunc4)( cell P1, cell P2, cell P3, cell P4 );\r
+typedef cell (*CFunc5)( cell P1, cell P2, cell P3, cell P4, cell P5 );\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+Err   CreateGlueToC( const char *CName, uint32 Index, int32 ReturnMode, int32 NumParams );\r
+Err   CompileCustomFunctions( void );\r
+Err   LoadCustomFunctionTable( void );\r
+int32 CallUserFunction( int32 Index, int32 ReturnMode, int32 NumParams );\r
+\r
+#ifdef __cplusplus\r
+}   \r
+#endif\r
+\r
+#define C_RETURNS_VOID (0)\r
+#define C_RETURNS_VALUE (1)\r
+\r
+#endif /* _pf_c_glue_h */\r
diff --git a/csrc/pf_clib.c b/csrc/pf_clib.c
new file mode 100644 (file)
index 0000000..ac0beee
--- /dev/null
@@ -0,0 +1,64 @@
+/* @(#) pf_clib.c 96/12/18 1.12 */\r
+/***************************************************************\r
+** Duplicate functions from stdlib for PForth based on 'C'\r
+**\r
+** This code duplicates some of the code in the 'C' lib\r
+** because it reduces the dependency on foreign libraries\r
+** for monitor mode where no OS is available.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 961124 PLB Advance pointers in pfCopyMemory() and pfSetMemory()\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+\r
+#ifdef PF_NO_CLIB\r
+/* Count chars until NUL.  Replace strlen() */\r
+#define  NUL  ((char) 0)\r
+cell pfCStringLength( const char *s )\r
+{\r
+       cell len = 0;\r
+       while( *s++ != NUL ) len++;\r
+       return len;\r
+}\r
\r
+/*    void *memset (void *s, int32 c, size_t n); */\r
+void *pfSetMemory( void *s, cell c, cell n )\r
+{\r
+       uint8 *p = s, byt = (uint8) c;\r
+       while( (n--) > 0) *p++ = byt;\r
+       return s;\r
+}\r
+\r
+/*  void *memccpy (void *s1, const void *s2, int32 c, size_t n); */\r
+void *pfCopyMemory( void *s1, const void *s2, cell n)\r
+{\r
+       uint8 *p1 = s1;\r
+       const uint8 *p2 = s2;\r
+       while( (n--) > 0) *p1++ = *p2++;\r
+       return s1;\r
+}\r
+\r
+#endif  /* PF_NO_CLIB */\r
+\r
+char pfCharToUpper( char c )\r
+{\r
+       return (char) ( ((c>='a') && (c<='z')) ? (c - ('a' - 'A')) : c );\r
+}\r
+\r
+char pfCharToLower( char c )\r
+{\r
+       return (char) ( ((c>='A') && (c<='Z')) ? (c + ('a' - 'A')) : c );\r
+}\r
diff --git a/csrc/pf_clib.h b/csrc/pf_clib.h
new file mode 100644 (file)
index 0000000..0d8ad18
--- /dev/null
@@ -0,0 +1,63 @@
+/* @(#) pf_clib.h 96/12/18 1.10 */\r
+#ifndef _pf_clib_h\r
+#define _pf_clib_h\r
+\r
+/***************************************************************\r
+** Include file for PForth tools\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#ifdef  PF_NO_CLIB\r
+\r
+       #ifdef __cplusplus\r
+       extern "C" {\r
+       #endif\r
+\r
+       cell pfCStringLength( const char *s );\r
+       void *pfSetMemory( void *s, cell c, cell n );\r
+       void *pfCopyMemory( void *s1, const void *s2, cell n);\r
+       #define EXIT(n)  {while(1);}\r
+       \r
+       #ifdef __cplusplus\r
+       }   \r
+       #endif\r
+\r
+#else   /* PF_NO_CLIB */\r
+\r
+       #ifdef PF_USER_CLIB\r
+               #include PF_USER_CLIB\r
+       #else\r
+/* Use stdlib functions if available because they are probably faster. */\r
+               #define pfCStringLength strlen\r
+               #define pfSetMemory     memset\r
+               #define pfCopyMemory    memcpy\r
+               #define EXIT(n)  exit(n)\r
+       #endif /* PF_USER_CLIB */\r
+       \r
+#endif  /* !PF_NO_CLIB */\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/* Always use my own functions to avoid macro expansion problems with tolower(*s++) */\r
+char pfCharToUpper( char c );\r
+char pfCharToLower( char c );\r
+\r
+#ifdef __cplusplus\r
+}   \r
+#endif\r
+\r
+#endif /* _pf_clib_h */\r
diff --git a/csrc/pf_core.c b/csrc/pf_core.c
new file mode 100644 (file)
index 0000000..0329749
--- /dev/null
@@ -0,0 +1,558 @@
+/* @(#) pf_core.c 98/01/28 1.5 */\r
+/***************************************************************\r
+** Forth based on 'C'\r
+**\r
+** This file has the main entry points to the pForth library.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 940502 PLB Creation.\r
+** 940505 PLB More macros.\r
+** 940509 PLB Moved all stack handling into inner interpreter.\r
+**        Added Create, Colon, Semicolon, HNumberQ, etc.\r
+** 940510 PLB Got inner interpreter working with secondaries.\r
+**        Added (LITERAL).   Compiles colon definitions.\r
+** 940511 PLB Added conditionals, LITERAL, CREATE DOES>\r
+** 940512 PLB Added DO LOOP DEFER, fixed R>\r
+** 940520 PLB Added INCLUDE\r
+** 940521 PLB Added NUMBER?\r
+** 940930 PLB Outer Interpreter now uses deferred NUMBER?\r
+** 941005 PLB Added ANSI locals, LEAVE, modularised\r
+** 950320 RDG Added underflow checking for FP stack\r
+** 970702 PLB Added STACK_SAFETY to FP stack size.\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
\r
+/***************************************************************\r
+** Global Data\r
+***************************************************************/\r
+\r
+char          gScratch[TIB_SIZE];\r
+pfTaskData_t   *gCurrentTask = NULL;\r
+pfDictionary_t *gCurrentDictionary;\r
+int32         gNumPrimitives;\r
+\r
+ExecToken     gLocalCompiler_XT;   /* custom compiler for local variables */\r
+ExecToken     gNumberQ_XT;         /* XT of NUMBER? */\r
+ExecToken     gQuitP_XT;           /* XT of (QUIT) */\r
+ExecToken     gAcceptP_XT;         /* XT of ACCEPT */\r
+\r
+/* Depth of data stack when colon called. */\r
+int32         gDepthAtColon;\r
+\r
+/* Global Forth variables. */\r
+char         *gVarContext;      /* Points to last name field. */\r
+cell          gVarState;        /* 1 if compiling. */\r
+cell          gVarBase;         /* Numeric Base. */\r
+cell          gVarEcho;                /* Echo input. */\r
+cell          gVarTraceLevel;   /* Trace Level for Inner Interpreter. */\r
+cell          gVarTraceStack;   /* Dump Stack each time if true. */\r
+cell          gVarTraceFlags;   /* Enable various internal debug messages. */\r
+cell          gVarQuiet;        /* Suppress unnecessary messages, OK, etc. */\r
+cell          gVarReturnCode;   /* Returned to caller of Forth, eg. UNIX shell. */\r
+\r
+/* data for INCLUDE that allows multiple nested files. */\r
+IncludeFrame  gIncludeStack[MAX_INCLUDE_DEPTH];\r
+int32         gIncludeIndex;\r
+\r
+static void pfResetForthTask( void );\r
+static void pfInit( void );\r
+static void pfTerm( void );\r
+\r
+/* TODO move to pf_config.h header. */\r
+#define DEFAULT_RETURN_DEPTH (512)\r
+#define DEFAULT_USER_DEPTH (512)\r
+#define DEFAULT_HEADER_SIZE (120000)\r
+#define DEFAULT_CODE_SIZE (300000)\r
+\r
+/* Initialize globals in a function to simplify loading on\r
+ * embedded systems which may not support initialization of data section.\r
+ */\r
+static void pfInit( void )\r
+{\r
+/* all zero */\r
+       gCurrentTask = NULL;\r
+       gCurrentDictionary = NULL;\r
+       gNumPrimitives = 0;\r
+       gLocalCompiler_XT = 0;\r
+       gVarContext = NULL;   /* Points to last name field. */\r
+       gVarState = 0;        /* 1 if compiling. */\r
+       gVarEcho = 0;       /* Echo input. */\r
+       gVarTraceLevel = 0;   /* Trace Level for Inner Interpreter. */\r
+       gVarTraceFlags = 0;   /* Enable various internal debug messages. */\r
+       gVarQuiet = 0;        /* Suppress unnecessary messages, OK, etc. */\r
+       gVarReturnCode = 0;   /* Returned to caller of Forth, eg. UNIX shell. */\r
+       gIncludeIndex = 0;\r
+       \r
+/* non-zero */\r
+       gVarBase = 10;        /* Numeric Base. */\r
+       gDepthAtColon = DEPTH_AT_COLON_INVALID;\r
+       gVarTraceStack = 1;  \r
+       \r
+       pfInitMemoryAllocator();\r
+       ioInit();\r
+}\r
+static void pfTerm( void )\r
+{\r
+       ioTerm();\r
+}\r
+\r
+/***************************************************************\r
+** Task Management\r
+***************************************************************/\r
+\r
+void pfDeleteTask( PForthTask task )\r
+{\r
+       pfTaskData_t *cftd = (pfTaskData_t *)task;\r
+       FREE_VAR( cftd->td_ReturnLimit );\r
+       FREE_VAR( cftd->td_StackLimit );\r
+       pfFreeMem( cftd );\r
+}\r
+\r
+/* Allocate some extra cells to protect against mild stack underflows. */\r
+#define STACK_SAFETY  (8)\r
+PForthTask pfCreateTask( int32 UserStackDepth, int32 ReturnStackDepth )\r
+{\r
+       pfTaskData_t *cftd;\r
+\r
+       cftd = ( pfTaskData_t * ) pfAllocMem( sizeof( pfTaskData_t ) );\r
+       if( !cftd ) goto nomem;\r
+       pfSetMemory( cftd, 0, sizeof( pfTaskData_t ));\r
+\r
+/* Allocate User Stack */\r
+       cftd->td_StackLimit = (cell *) pfAllocMem((uint32)(sizeof(int32) *\r
+                               (UserStackDepth + STACK_SAFETY)));\r
+       if( !cftd->td_StackLimit ) goto nomem;\r
+       cftd->td_StackBase = cftd->td_StackLimit + UserStackDepth;\r
+       cftd->td_StackPtr = cftd->td_StackBase;\r
+\r
+/* Allocate Return Stack */\r
+       cftd->td_ReturnLimit = (cell *) pfAllocMem((uint32)(sizeof(int32) * ReturnStackDepth) );\r
+       if( !cftd->td_ReturnLimit ) goto nomem;\r
+       cftd->td_ReturnBase = cftd->td_ReturnLimit + ReturnStackDepth;\r
+       cftd->td_ReturnPtr = cftd->td_ReturnBase;\r
+\r
+/* Allocate Float Stack */\r
+#ifdef PF_SUPPORT_FP\r
+/* Allocate room for as many Floats as we do regular data. */\r
+       cftd->td_FloatStackLimit = (PF_FLOAT *) pfAllocMem((uint32)(sizeof(PF_FLOAT) *\r
+                               (UserStackDepth + STACK_SAFETY)));\r
+       if( !cftd->td_FloatStackLimit ) goto nomem;\r
+       cftd->td_FloatStackBase = cftd->td_FloatStackLimit + UserStackDepth;\r
+       cftd->td_FloatStackPtr = cftd->td_FloatStackBase;\r
+#endif\r
+\r
+       cftd->td_InputStream = PF_STDIN;\r
+\r
+       cftd->td_SourcePtr = &cftd->td_TIB[0];\r
+       cftd->td_SourceNum = 0;\r
+       \r
+       return (PForthTask) cftd;\r
+\r
+nomem:\r
+       ERR("CreateTaskContext: insufficient memory.\n");\r
+       if( cftd ) pfDeleteTask( (PForthTask) cftd );\r
+       return NULL;\r
+}\r
+\r
+/***************************************************************\r
+** Dictionary Management\r
+***************************************************************/\r
+\r
+int32 pfExecIfDefined( const char *CString )\r
+{\r
+       int result = 0;\r
+       if( NAME_BASE != NULL)\r
+       {\r
+               ExecToken  XT;\r
+               if( ffFindC( CString, &XT ) )\r
+               {\r
+                       result = pfCatch( XT );\r
+               }\r
+       }\r
+       return result;\r
+}\r
+\r
+/***************************************************************\r
+** Delete a dictionary created by pfCreateDictionary()\r
+*/\r
+void pfDeleteDictionary( PForthDictionary dictionary )\r
+{\r
+       pfDictionary_t *dic = (pfDictionary_t *) dictionary;\r
+       if( !dic ) return;\r
+       \r
+       if( dic->dic_Flags & PF_DICF_ALLOCATED_SEGMENTS )\r
+       {\r
+               FREE_VAR( dic->dic_HeaderBaseUnaligned );\r
+               FREE_VAR( dic->dic_CodeBaseUnaligned );\r
+       }\r
+       pfFreeMem( dic );\r
+}\r
+\r
+/***************************************************************\r
+** Create a complete dictionary.\r
+** The dictionary consists of two parts, the header with the names,\r
+** and the code portion.\r
+** Delete using pfDeleteDictionary().\r
+** Return pointer to dictionary management structure.\r
+*/\r
+PForthDictionary pfCreateDictionary( int32 HeaderSize, int32 CodeSize )\r
+{\r
+/* Allocate memory for initial dictionary. */\r
+       pfDictionary_t *dic;\r
+\r
+       dic = ( pfDictionary_t * ) pfAllocMem( sizeof( pfDictionary_t ) );\r
+       if( !dic ) goto nomem;\r
+       pfSetMemory( dic, 0, sizeof( pfDictionary_t ));\r
+\r
+       dic->dic_Flags |= PF_DICF_ALLOCATED_SEGMENTS;\r
+\r
+/* Align dictionary segments to preserve alignment of floats across hosts.\r
+ * Thank you Helmut Proelss for pointing out that this needs to be cast\r
+ * to (uint32) on 16 bit systems.\r
+ */\r
+#define DIC_ALIGNMENT_SIZE  ((uint32)(0x10))\r
+#define DIC_ALIGN(addr)  ((uint8 *)((((uint32)(addr)) + DIC_ALIGNMENT_SIZE - 1) & ~(DIC_ALIGNMENT_SIZE - 1)))\r
+\r
+/* Allocate memory for header. */\r
+       if( HeaderSize > 0 )\r
+       {\r
+               dic->dic_HeaderBaseUnaligned = ( uint8 * ) pfAllocMem( (uint32) HeaderSize + DIC_ALIGNMENT_SIZE );\r
+               if( !dic->dic_HeaderBaseUnaligned ) goto nomem;\r
+/* Align header base. */\r
+               dic->dic_HeaderBase = DIC_ALIGN(dic->dic_HeaderBaseUnaligned);\r
+               pfSetMemory( dic->dic_HeaderBase, 0xA5, (uint32) HeaderSize);\r
+               dic->dic_HeaderLimit = dic->dic_HeaderBase + HeaderSize;\r
+               dic->dic_HeaderPtr.Byte = dic->dic_HeaderBase;\r
+       }\r
+       else\r
+       {\r
+               dic->dic_HeaderBase = NULL;\r
+       }\r
+\r
+/* Allocate memory for code. */\r
+       dic->dic_CodeBaseUnaligned = ( uint8 * ) pfAllocMem( (uint32) CodeSize + DIC_ALIGNMENT_SIZE );\r
+       if( !dic->dic_CodeBaseUnaligned ) goto nomem;\r
+       dic->dic_CodeBase = DIC_ALIGN(dic->dic_CodeBaseUnaligned);\r
+       pfSetMemory( dic->dic_CodeBase, 0x5A, (uint32) CodeSize);\r
+\r
+       dic->dic_CodeLimit = dic->dic_CodeBase + CodeSize;\r
+       dic->dic_CodePtr.Byte = dic->dic_CodeBase + QUADUP(NUM_PRIMITIVES); \r
+       \r
+       return (PForthDictionary) dic;\r
+nomem:\r
+       pfDeleteDictionary( dic );\r
+       return NULL;\r
+}\r
+\r
+/***************************************************************\r
+** Used by Quit and other routines to restore system.\r
+***************************************************************/\r
+\r
+static void pfResetForthTask( void )\r
+{\r
+/* Go back to terminal input. */\r
+       gCurrentTask->td_InputStream = PF_STDIN;\r
+       \r
+/* Reset stacks. */\r
+       gCurrentTask->td_StackPtr = gCurrentTask->td_StackBase;\r
+       gCurrentTask->td_ReturnPtr = gCurrentTask->td_ReturnBase;\r
+#ifdef PF_SUPPORT_FP  /* Reset Floating Point stack too! */\r
+       gCurrentTask->td_FloatStackPtr = gCurrentTask->td_FloatStackBase;\r
+#endif\r
+\r
+/* Advance >IN to end of input. */\r
+       gCurrentTask->td_IN = gCurrentTask->td_SourceNum;\r
+       gVarState = 0;\r
+}\r
+\r
+/***************************************************************\r
+** Set current task context.\r
+***************************************************************/\r
+\r
+void pfSetCurrentTask( PForthTask task )\r
+{      \r
+       gCurrentTask = (pfTaskData_t *) task;\r
+}\r
+\r
+/***************************************************************\r
+** Set Quiet Flag.\r
+***************************************************************/\r
+\r
+void pfSetQuiet( int32 IfQuiet )\r
+{      \r
+       gVarQuiet = (cell) IfQuiet;\r
+}\r
+\r
+/***************************************************************\r
+** Query message status.\r
+***************************************************************/\r
+\r
+int32  pfQueryQuiet( void )\r
+{      \r
+       return gVarQuiet;\r
+}\r
+\r
+/***************************************************************\r
+** Top level interpreter.\r
+***************************************************************/\r
+ThrowCode pfQuit( void )\r
+{\r
+       ThrowCode exception;\r
+       int go = 1;\r
+       \r
+       while(go)\r
+       {\r
+               exception = ffOuterInterpreterLoop();\r
+               if( exception == 0 )\r
+               {\r
+                       exception = ffOK();\r
+               }\r
+\r
+               switch( exception )\r
+               {\r
+               case 0:\r
+                       break;\r
+\r
+               case THROW_BYE:\r
+                       go = 0;\r
+                       break;\r
+\r
+               case THROW_ABORT:\r
+               default:\r
+                       ffDotS();\r
+                       pfReportThrow( exception );\r
+                       pfHandleIncludeError();\r
+                       pfResetForthTask();\r
+                       break;\r
+               }\r
+       }\r
+\r
+       return gVarReturnCode;\r
+}\r
+\r
+/***************************************************************\r
+** Include file based on 'C' name.\r
+***************************************************************/\r
+\r
+int32 pfIncludeFile( const char *FileName )\r
+{\r
+       FileStream *fid;\r
+       int32 Result;\r
+       char  buffer[32];\r
+       int32 numChars, len;\r
+       \r
+/* Open file. */\r
+       fid = sdOpenFile( FileName, "r" );\r
+       if( fid == NULL )\r
+       {\r
+               ERR("pfIncludeFile could not open ");\r
+               ERR(FileName);\r
+               EMIT_CR;\r
+               return -1;\r
+       }\r
+       \r
+/* Create a dictionary word named ::::FileName for FILE? */\r
+       pfCopyMemory( &buffer[0], "::::", 4);\r
+       len = (int32) pfCStringLength(FileName);\r
+       numChars = ( len > (32-4-1) ) ? (32-4-1) : len;\r
+       pfCopyMemory( &buffer[4], &FileName[len-numChars], numChars+1 );\r
+       CreateDicEntryC( ID_NOOP, buffer, 0 );\r
+       \r
+       Result = ffIncludeFile( fid );\r
+       \r
+/* Create a dictionary word named ;;;; for FILE? */\r
+       CreateDicEntryC( ID_NOOP, ";;;;", 0 );\r
+       \r
+       sdCloseFile(fid);\r
+       return Result;\r
+}\r
+\r
+/***************************************************************\r
+** Output 'C' string message.\r
+** Use sdTerminalOut which works before initializing gCurrentTask.\r
+***************************************************************/\r
+void pfDebugMessage( const char *CString )\r
+{\r
+#if 0\r
+       while( *CString )\r
+       {\r
+               char c = *CString++;\r
+               if( c == '\n' )\r
+               {\r
+                       sdTerminalOut( 0x0D );\r
+                       sdTerminalOut( 0x0A );\r
+                       pfDebugMessage( "DBG: " );\r
+               }\r
+               else\r
+               {\r
+                       sdTerminalOut( c );\r
+               }\r
+       }\r
+#else\r
+       (void)CString;\r
+#endif\r
+}\r
+\r
+/***************************************************************\r
+** Print a decimal number to debug output.\r
+*/\r
+void pfDebugPrintDecimalNumber( int n )\r
+{\r
+       pfDebugMessage( ConvertNumberToText( n, 10, TRUE, 1 ) );\r
+}\r
+\r
+\r
+/***************************************************************\r
+** Output 'C' string message.\r
+** This is provided to help avoid the use of printf() and other I/O\r
+** which may not be present on a small embedded system.\r
+** Uses ioType & ioEmit so requires that gCurrentTask has been initialized.\r
+***************************************************************/\r
+void pfMessage( const char *CString )\r
+{\r
+       ioType( CString, (int32) pfCStringLength(CString) );\r
+}\r
+\r
+/**************************************************************************\r
+** Main entry point fo pForth\r
+*/\r
+int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit )\r
+{\r
+       pfTaskData_t *cftd;\r
+       pfDictionary_t *dic = NULL;\r
+       int32 Result = 0;\r
+       ExecToken  EntryPoint = 0;\r
+       \r
+\r
+#ifdef PF_USER_INIT\r
+       Result = PF_USER_INIT;\r
+       if( Result < 0 ) goto error;\r
+#endif\r
+\r
+       pfInit();\r
+       \r
+       \r
+/* Allocate Task structure. */\r
+       pfDebugMessage("pfDoForth: call pfCreateTask()\n");\r
+       cftd = pfCreateTask( DEFAULT_USER_DEPTH, DEFAULT_RETURN_DEPTH );\r
+\r
+       if( cftd )\r
+       {\r
+               pfSetCurrentTask( cftd );\r
+               \r
+               if( !pfQueryQuiet() )\r
+               {\r
+                       MSG( "PForth V"PFORTH_VERSION );\r
+                       if( IsHostLittleEndian() ) MSG("LE");\r
+                       else MSG("BE");\r
+#if PF_BIG_ENDIAN_DIC\r
+            MSG("/BE");\r
+#elif PF_LITTLE_ENDIAN_DIC\r
+            MSG("/LE");\r
+#endif\r
+                       MSG( ", built "__DATE__" "__TIME__ );\r
+               }\r
+\r
+/* Don't use MSG before task set. */\r
+               if( SourceName )\r
+               {\r
+                       pfDebugMessage("SourceName = "); pfDebugMessage(SourceName); pfDebugMessage("\n");\r
+               }\r
+\r
+\r
+#ifdef PF_NO_GLOBAL_INIT\r
+               if( LoadCustomFunctionTable() < 0 ) goto error; /* Init custom 'C' call array. */\r
+#endif\r
+\r
+#if (!defined(PF_NO_INIT)) && (!defined(PF_NO_SHELL))\r
+               if( IfInit )\r
+               {\r
+                       pfDebugMessage("Build dictionary from scratch.\n");\r
+                       dic = pfBuildDictionary( DEFAULT_HEADER_SIZE, DEFAULT_CODE_SIZE );\r
+               }\r
+               else\r
+#else\r
+               TOUCH(IfInit);\r
+#endif /* !PF_NO_INIT && !PF_NO_SHELL*/\r
+               {\r
+                       if( DicName )\r
+                       {\r
+                               pfDebugMessage("DicName = "); pfDebugMessage(DicName); pfDebugMessage("\n");\r
+                               EMIT_CR;\r
+                               dic = pfLoadDictionary( DicName, &EntryPoint );\r
+                       }\r
+                       else\r
+                       {\r
+                               MSG(" (static)");\r
+                               EMIT_CR;\r
+                               dic = pfLoadStaticDictionary();                 \r
+                       }\r
+               }\r
+               if( dic == NULL ) goto error;\r
+               EMIT_CR;\r
+\r
+               pfDebugMessage("pfDoForth: try AUTO.INIT\n");\r
+               Result = pfExecIfDefined("AUTO.INIT");\r
+               if( Result != 0 )\r
+               {\r
+                       MSG("Error in AUTO.INIT");\r
+                       goto error;\r
+               }\r
+\r
+               if( EntryPoint != 0 )\r
+               {\r
+                       Result = pfCatch( EntryPoint );\r
+               }\r
+#ifndef PF_NO_SHELL\r
+               else\r
+               {\r
+                       if( SourceName == NULL )\r
+                       {\r
+                               pfDebugMessage("pfDoForth: pfQuit\n");\r
+                               Result = pfQuit();\r
+                       }\r
+                       else\r
+                       {\r
+                               if( !gVarQuiet )\r
+                               {\r
+                                       MSG("Including: ");\r
+                                       MSG(SourceName);\r
+                                       MSG("\n");\r
+                               }\r
+                               Result = pfIncludeFile( SourceName );\r
+                       }\r
+               }\r
+#endif /* PF_NO_SHELL */\r
+\r
+       /* Clean up after running Forth. */\r
+               pfExecIfDefined("AUTO.TERM");\r
+               pfDeleteDictionary( dic );\r
+               pfDeleteTask( cftd );\r
+       }\r
+               \r
+       pfTerm();\r
+\r
+#ifdef PF_USER_TERM\r
+       PF_USER_TERM;\r
+#endif\r
+       \r
+       return Result;\r
+       \r
+error:\r
+       MSG("pfDoForth: Error occured.\n");\r
+       pfDeleteTask( cftd );\r
+       return -1;\r
+}\r
diff --git a/csrc/pf_core.h b/csrc/pf_core.h
new file mode 100644 (file)
index 0000000..630d1a2
--- /dev/null
@@ -0,0 +1,37 @@
+/* @(#) pf_core.h 98/01/26 1.3 */\r
+#ifndef _pf_core_h\r
+#define _pf_core_h\r
+\r
+/***************************************************************\r
+** Include file for PForth 'C' Glue support\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+void   pfInitGlobals( void );\r
+\r
+void   pfDebugMessage( const char *CString );\r
+void   pfDebugPrintDecimalNumber( int n );\r
+\r
+\r
+#ifdef __cplusplus\r
+}   \r
+#endif\r
+\r
+\r
+#endif /* _pf_core_h */\r
diff --git a/csrc/pf_float.h b/csrc/pf_float.h
new file mode 100644 (file)
index 0000000..bc7128e
--- /dev/null
@@ -0,0 +1,43 @@
+/* @(#) pf_float.h 98/01/28 1.1 */\r
+#ifndef _pf_float_h\r
+#define _pf_float_h\r
+\r
+/***************************************************************\r
+** Include file for PForth, a Forth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+typedef double PF_FLOAT;\r
+\r
+/* Define pForth specific math functions. */\r
+\r
+#define fp_acos   acos\r
+#define fp_asin   asin\r
+#define fp_atan   atan\r
+#define fp_atan2  atan2\r
+#define fp_cos    cos\r
+#define fp_cosh   cosh  \r
+#define fp_fabs   fabs\r
+#define fp_floor  floor\r
+#define fp_log    log  \r
+#define fp_log10  log10\r
+#define fp_pow    pow\r
+#define fp_sin    sin\r
+#define fp_sinh   sinh\r
+#define fp_sqrt   sqrt\r
+#define fp_tan    tan\r
+#define fp_tanh   tanh\r
+\r
+#endif\r
diff --git a/csrc/pf_guts.h b/csrc/pf_guts.h
new file mode 100644 (file)
index 0000000..6c3b032
--- /dev/null
@@ -0,0 +1,600 @@
+/* @(#) pf_guts.h 98/01/28 1.4 */\r
+#ifndef _pf_guts_h\r
+#define _pf_guts_h\r
+\r
+/***************************************************************\r
+** Include file for PForth, a Forth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+/*\r
+** PFORTH_VERSION changes when PForth is modified and released.\r
+** See README file for version info.\r
+*/\r
+#define PFORTH_VERSION "23"\r
+\r
+/*\r
+** PFORTH_FILE_VERSION changes when incompatible changes are made\r
+** in the ".dic" file format.\r
+**\r
+** FV3 - 950225 - Use ABS_TO_CODEREL for CodePtr. See file "pf_save.c".\r
+** FV4 - 950309 - Added NameSize and CodeSize to pfSaveForth().\r
+** FV5 - 950316 - Added Floats and reserved words.\r
+** FV6 - 961213 - Added ID_LOCAL_PLUSSTORE, ID_COLON_P, etc.\r
+** FV7 - 971203 - Added ID_FILL, (1LOCAL@),  etc., ran out of reserved, resorted.\r
+** FV8 - 980818 - Added Endian flag.\r
+*/\r
+#define PF_FILE_VERSION (8)   /* Bump this whenever primitives added. */\r
+#define PF_EARLIEST_FILE_VERSION (8)  /* earliest one still compatible */\r
+\r
+/***************************************************************\r
+** Sizes and other constants\r
+***************************************************************/\r
+\r
+#define TIB_SIZE (256)\r
+\r
+#ifndef FALSE\r
+       #define FALSE (0)\r
+#endif\r
+#ifndef TRUE\r
+       #define TRUE (1)\r
+#endif\r
+\r
+#define FFALSE (0)\r
+#define FTRUE (-1)\r
+#define BLANK (' ')\r
+\r
+#define FLAG_PRECEDENCE (0x80)\r
+#define FLAG_IMMEDIATE  (0x40)\r
+#define FLAG_SMUDGE     (0x20)\r
+#define MASK_NAME_SIZE  (0x1F)\r
+\r
+/* Debug TRACE flags */\r
+#define TRACE_INNER     (0x0002)\r
+#define TRACE_COMPILE   (0x0004)\r
+#define TRACE_SPECIAL   (0x0008)\r
+\r
+/* Numeric types returned by NUMBER? */\r
+#define NUM_TYPE_BAD    (0)\r
+#define NUM_TYPE_SINGLE (1)\r
+#define NUM_TYPE_DOUBLE (2)\r
+#define NUM_TYPE_FLOAT  (3)\r
+\r
+#define CREATE_BODY_OFFSET  (3*sizeof(cell))\r
+\r
+/***************************************************************\r
+** Primitive Token IDS\r
+** Do NOT change the order of these IDs or dictionary files will break!\r
+***************************************************************/\r
+enum cforth_primitive_ids\r
+{\r
+       ID_EXIT = 0,  /* ID_EXIT must always be zero. */\r
+/* Do NOT change the order of these IDs or dictionary files will break! */\r
+       ID_1MINUS,\r
+       ID_1PLUS,\r
+       ID_2DUP,\r
+       ID_2LITERAL,\r
+       ID_2LITERAL_P,\r
+       ID_2MINUS,\r
+       ID_2OVER,\r
+       ID_2PLUS,\r
+       ID_2SWAP,\r
+       ID_2_R_FETCH,\r
+       ID_2_R_FROM,\r
+       ID_2_TO_R,\r
+       ID_ACCEPT_P,\r
+       ID_ALITERAL,\r
+       ID_ALITERAL_P,\r
+       ID_ALLOCATE,\r
+       ID_AND,\r
+       ID_ARSHIFT,\r
+       ID_BAIL,\r
+       ID_BODY_OFFSET,\r
+       ID_BRANCH,\r
+       ID_BYE,\r
+       ID_CALL_C,\r
+       ID_CFETCH,\r
+       ID_CMOVE,\r
+       ID_CMOVE_UP,\r
+       ID_COLON,\r
+       ID_COLON_P,\r
+       ID_COMPARE,\r
+       ID_COMP_EQUAL,\r
+       ID_COMP_GREATERTHAN,\r
+       ID_COMP_LESSTHAN,\r
+       ID_COMP_NOT_EQUAL,\r
+       ID_COMP_U_GREATERTHAN,\r
+       ID_COMP_U_LESSTHAN,\r
+       ID_COMP_ZERO_EQUAL,\r
+       ID_COMP_ZERO_GREATERTHAN,\r
+       ID_COMP_ZERO_LESSTHAN,\r
+       ID_COMP_ZERO_NOT_EQUAL,\r
+       ID_CR,\r
+       ID_CREATE,\r
+       ID_CREATE_P,\r
+       ID_CSTORE,\r
+       ID_DEFER,\r
+       ID_DEFER_P,\r
+       ID_DEPTH,\r
+       ID_DIVIDE,\r
+       ID_DOT,\r
+       ID_DOTS,\r
+       ID_DO_P,\r
+       ID_DROP,\r
+       ID_DUMP,\r
+       ID_DUP,\r
+       ID_D_MINUS,\r
+       ID_D_MTIMES,\r
+       ID_D_MUSMOD,\r
+       ID_D_PLUS,\r
+       ID_D_UMSMOD,\r
+       ID_D_UMTIMES,\r
+       ID_EMIT,\r
+       ID_EMIT_P,\r
+       ID_EOL,\r
+       ID_ERRORQ_P,\r
+       ID_EXECUTE,\r
+       ID_FETCH,\r
+       ID_FILE_CLOSE,\r
+       ID_FILE_CREATE,\r
+       ID_FILE_OPEN,\r
+       ID_FILE_POSITION,\r
+       ID_FILE_READ,\r
+       ID_FILE_REPOSITION,\r
+       ID_FILE_RO,\r
+       ID_FILE_RW,\r
+       ID_FILE_SIZE,\r
+       ID_FILE_WRITE,\r
+       ID_FILL,\r
+       ID_FIND,\r
+       ID_FINDNFA,\r
+       ID_FLUSHEMIT,\r
+       ID_FREE,\r
+       ID_HERE,\r
+       ID_NUMBERQ_P,\r
+       ID_I,\r
+       ID_INCLUDE_FILE,\r
+       ID_J,\r
+       ID_KEY,\r
+       ID_LEAVE_P,\r
+       ID_LITERAL,\r
+       ID_LITERAL_P,\r
+       ID_LOADSYS,\r
+       ID_LOCAL_COMPILER,\r
+       ID_LOCAL_ENTRY,\r
+       ID_LOCAL_EXIT,\r
+       ID_LOCAL_FETCH,\r
+       ID_LOCAL_FETCH_1,\r
+       ID_LOCAL_FETCH_2,\r
+       ID_LOCAL_FETCH_3,\r
+       ID_LOCAL_FETCH_4,\r
+       ID_LOCAL_FETCH_5,\r
+       ID_LOCAL_FETCH_6,\r
+       ID_LOCAL_FETCH_7,\r
+       ID_LOCAL_FETCH_8,\r
+       ID_LOCAL_PLUSSTORE,\r
+       ID_LOCAL_STORE,\r
+       ID_LOCAL_STORE_1,\r
+       ID_LOCAL_STORE_2,\r
+       ID_LOCAL_STORE_3,\r
+       ID_LOCAL_STORE_4,\r
+       ID_LOCAL_STORE_5,\r
+       ID_LOCAL_STORE_6,\r
+       ID_LOCAL_STORE_7,\r
+       ID_LOCAL_STORE_8,\r
+       ID_LOOP_P,\r
+       ID_LSHIFT,\r
+       ID_MAX,\r
+       ID_MIN,\r
+       ID_MINUS,\r
+       ID_NAME_TO_PREVIOUS,\r
+       ID_NAME_TO_TOKEN,\r
+       ID_NOOP,\r
+       ID_NUMBERQ,\r
+       ID_OR,\r
+       ID_OVER,\r
+       ID_PICK,\r
+       ID_PLUS,\r
+       ID_PLUSLOOP_P,\r
+       ID_PLUS_STORE,\r
+       ID_QDO_P,\r
+       ID_QDUP,\r
+       ID_QTERMINAL,\r
+       ID_QUIT_P,\r
+       ID_REFILL,\r
+       ID_RESIZE,\r
+       ID_RESTORE_INPUT,\r
+       ID_ROLL,\r
+       ID_ROT,\r
+       ID_RP_FETCH,\r
+       ID_RP_STORE,\r
+       ID_RSHIFT,\r
+       ID_R_DROP,\r
+       ID_R_FETCH,\r
+       ID_R_FROM,\r
+       ID_SAVE_FORTH_P,\r
+       ID_SAVE_INPUT,\r
+       ID_SCAN,\r
+       ID_SEMICOLON,\r
+       ID_SKIP,\r
+       ID_SOURCE,\r
+       ID_SOURCE_ID,\r
+       ID_SOURCE_ID_POP,\r
+       ID_SOURCE_ID_PUSH,\r
+       ID_SOURCE_SET,\r
+       ID_SP_FETCH,\r
+       ID_SP_STORE,\r
+       ID_STORE,\r
+       ID_SWAP,\r
+       ID_TEST1,\r
+       ID_TEST2,\r
+       ID_TEST3,\r
+       ID_TICK,\r
+       ID_TIMES,\r
+       ID_TO_R,\r
+       ID_TYPE,\r
+       ID_TYPE_P,\r
+       ID_VAR_BASE,\r
+       ID_VAR_CODE_BASE,\r
+       ID_VAR_CODE_LIMIT,\r
+       ID_VAR_CONTEXT,\r
+       ID_VAR_DP,\r
+       ID_VAR_ECHO,\r
+       ID_VAR_HEADERS_BASE,\r
+       ID_VAR_HEADERS_LIMIT,\r
+       ID_VAR_HEADERS_PTR,\r
+       ID_VAR_NUM_TIB,\r
+       ID_VAR_OUT,\r
+       ID_VAR_RETURN_CODE,\r
+       ID_VAR_SOURCE_ID,\r
+       ID_VAR_STATE,\r
+       ID_VAR_TO_IN,\r
+       ID_VAR_TRACE_FLAGS,\r
+       ID_VAR_TRACE_LEVEL,\r
+       ID_VAR_TRACE_STACK,\r
+       ID_VLIST,\r
+       ID_WORD,\r
+       ID_WORD_FETCH,\r
+       ID_WORD_STORE,\r
+       ID_XOR,\r
+       ID_ZERO_BRANCH,\r
+       ID_CATCH,\r
+       ID_THROW,\r
+       ID_INTERPRET,\r
+       ID_FILE_WO,\r
+       ID_FILE_BIN,\r
+/* If you add a word here, take away one reserved word below. */\r
+#ifdef PF_SUPPORT_FP\r
+/* Only reserve space if we are adding FP so that we can detect\r
+** unsupported primitives when loading dictionary.\r
+*/\r
+       ID_RESERVED01,\r
+       ID_RESERVED02,\r
+       ID_RESERVED03,\r
+       ID_RESERVED04,\r
+       ID_RESERVED05,\r
+       ID_RESERVED06,\r
+       ID_RESERVED07,\r
+       ID_RESERVED08,\r
+       ID_RESERVED09,\r
+       ID_RESERVED10,\r
+       ID_RESERVED11,\r
+       ID_RESERVED12,\r
+       ID_RESERVED13,\r
+       ID_RESERVED14,\r
+       ID_RESERVED15,\r
+       ID_RESERVED16,\r
+       ID_FP_D_TO_F,\r
+       ID_FP_FSTORE,\r
+       ID_FP_FTIMES,\r
+       ID_FP_FPLUS,\r
+       ID_FP_FMINUS,\r
+       ID_FP_FSLASH,\r
+       ID_FP_F_ZERO_LESS_THAN,\r
+       ID_FP_F_ZERO_EQUALS,\r
+       ID_FP_F_LESS_THAN,\r
+       ID_FP_F_TO_D,\r
+       ID_FP_FFETCH,\r
+       ID_FP_FDEPTH,\r
+       ID_FP_FDROP,\r
+       ID_FP_FDUP,\r
+       ID_FP_FLITERAL,\r
+       ID_FP_FLITERAL_P,\r
+       ID_FP_FLOAT_PLUS,\r
+       ID_FP_FLOATS,\r
+       ID_FP_FLOOR,\r
+       ID_FP_FMAX,\r
+       ID_FP_FMIN,\r
+       ID_FP_FNEGATE,\r
+       ID_FP_FOVER,\r
+       ID_FP_FROT,\r
+       ID_FP_FROUND,\r
+       ID_FP_FSWAP,\r
+       ID_FP_FSTAR_STAR,\r
+       ID_FP_FABS,\r
+       ID_FP_FACOS,\r
+       ID_FP_FACOSH,\r
+       ID_FP_FALOG,\r
+       ID_FP_FASIN,\r
+       ID_FP_FASINH,\r
+       ID_FP_FATAN,\r
+       ID_FP_FATAN2,\r
+       ID_FP_FATANH,\r
+       ID_FP_FCOS,\r
+       ID_FP_FCOSH,\r
+       ID_FP_FLN,\r
+       ID_FP_FLNP1,\r
+       ID_FP_FLOG,\r
+       ID_FP_FSIN,\r
+       ID_FP_FSINCOS,\r
+       ID_FP_FSINH,\r
+       ID_FP_FSQRT,\r
+       ID_FP_FTAN,\r
+       ID_FP_FTANH,\r
+       ID_FP_FPICK,\r
+#endif\r
+/* Add new IDs by replacing reserved IDs or extending FP routines. */\r
+/* Do NOT change the order of these IDs or dictionary files will break! */\r
+       NUM_PRIMITIVES     /* This must always be LAST */\r
+};\r
+\r
+\r
+\r
+/***************************************************************\r
+** THROW Codes\r
+***************************************************************/\r
+/* ANSI standard definitions needed by pForth */\r
+#define THROW_ABORT            (-1)\r
+#define THROW_ABORT_QUOTE      (-2)\r
+#define THROW_STACK_OVERFLOW   (-3)\r
+#define THROW_STACK_UNDERFLOW  (-4)\r
+#define THROW_UNDEFINED_WORD  (-13)\r
+#define THROW_EXECUTING       (-14)\r
+#define THROW_PAIRS           (-22)\r
+#define THROW_FLOAT_STACK_UNDERFLOW  ( -45)\r
+#define THROW_QUIT            (-56)\r
+\r
+/* THROW codes unique to pForth */\r
+#define THROW_BYE            (-256) /* Exit program. */\r
+#define THROW_SEMICOLON      (-257) /* Error detected at ; */\r
+#define THROW_DEFERRED       (-258) /* Not a deferred word. Used in system.fth */\r
+\r
+/***************************************************************\r
+** Structures\r
+***************************************************************/\r
+\r
+typedef struct pfTaskData_s\r
+{\r
+       cell   *td_StackPtr;       /* Primary data stack */\r
+       cell   *td_StackBase;\r
+       cell   *td_StackLimit;\r
+       cell   *td_ReturnPtr;      /* Return stack */\r
+       cell   *td_ReturnBase;\r
+       cell   *td_ReturnLimit;\r
+#ifdef PF_SUPPORT_FP\r
+       PF_FLOAT  *td_FloatStackPtr;\r
+       PF_FLOAT  *td_FloatStackBase;\r
+       PF_FLOAT  *td_FloatStackLimit;\r
+#endif\r
+       cell   *td_InsPtr;          /* Instruction pointer, "PC" */\r
+       FileStream   *td_InputStream;\r
+/* Terminal. */\r
+       char    td_TIB[TIB_SIZE];   /* Buffer for terminal input. */\r
+       cell    td_IN;              /* Index into Source */\r
+       cell    td_SourceNum;       /* #TIB after REFILL */\r
+       char   *td_SourcePtr;       /* Pointer to TIB or other source. */\r
+       int32   td_LineNumber;      /* Incremented on every refill. */\r
+       cell    td_OUT;             /* Current output column. */\r
+} pfTaskData_t;\r
+\r
+typedef struct pfNode\r
+{\r
+       struct pfNode *n_Next;\r
+       struct pfNode *n_Prev;\r
+} pfNode;\r
+\r
+/* Structure of header entry in dictionary. These will be stored in dictionary specific endian format*/\r
+typedef struct cfNameLinks\r
+{\r
+       cell       cfnl_PreviousName;   /* name relative address of previous */\r
+       ExecToken  cfnl_ExecToken;      /* Execution token for word. */\r
+/* Followed by variable length name field. */\r
+} cfNameLinks;\r
+\r
+#define PF_DICF_ALLOCATED_SEGMENTS  ( 0x0001)\r
+typedef struct pfDictionary_s\r
+{\r
+       pfNode  dic_Node;\r
+       uint32  dic_Flags;\r
+/* Headers contain pointers to names and dictionary. */\r
+\r
+       uint8   *dic_HeaderBaseUnaligned;\r
+\r
+       uint8   *dic_HeaderBase;\r
+       union\r
+       {\r
+               cell    *Cell;\r
+               uint8   *Byte;\r
+       } dic_HeaderPtr;\r
+       uint8   *dic_HeaderLimit;\r
+/* Code segment contains tokenized code and data. */\r
+\r
+       uint8   *dic_CodeBaseUnaligned;\r
+\r
+       uint8   *dic_CodeBase;\r
+       union\r
+       {\r
+               cell    *Cell;\r
+               uint8   *Byte;\r
+       } dic_CodePtr;\r
+       uint8   *dic_CodeLimit;\r
+} pfDictionary_t;\r
+\r
+/* Save state of include when nesting files. */\r
+typedef struct IncludeFrame\r
+{\r
+       FileStream   *inf_FileID;\r
+       int32         inf_LineNumber;\r
+       int32         inf_SourceNum;\r
+       int32         inf_IN;\r
+       char          inf_SaveTIB[TIB_SIZE];\r
+} IncludeFrame;\r
+\r
+#define MAX_INCLUDE_DEPTH (16)\r
+\r
+/***************************************************************\r
+** Prototypes\r
+***************************************************************/\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+int pfCatch( ExecToken XT );\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+/***************************************************************\r
+** External Globals\r
+***************************************************************/\r
+extern pfTaskData_t *gCurrentTask;\r
+extern pfDictionary_t *gCurrentDictionary;\r
+extern char          gScratch[TIB_SIZE];\r
+extern int32         gNumPrimitives;\r
+\r
+extern ExecToken     gLocalCompiler_XT;      /* CFA of (LOCAL) compiler. */\r
+extern ExecToken     gNumberQ_XT;         /* XT of NUMBER? */\r
+extern ExecToken     gQuitP_XT;           /* XT of (QUIT) */\r
+extern ExecToken     gAcceptP_XT;         /* XT of ACCEPT */\r
+\r
+#define DEPTH_AT_COLON_INVALID (-100)\r
+extern int32         gDepthAtColon;\r
+\r
+/* Global variables. */\r
+extern char         *gVarContext;    /* Points to last name field. */\r
+extern cell          gVarState;      /* 1 if compiling. */\r
+extern cell          gVarBase;       /* Numeric Base. */\r
+extern cell          gVarEcho;       /* Echo input from file. */\r
+extern cell          gVarEchoAccept; /* Echo input from ACCEPT. */\r
+extern cell          gVarTraceLevel;\r
+extern cell          gVarTraceStack;\r
+extern cell          gVarTraceFlags;\r
+extern cell          gVarQuiet;             /* Suppress unnecessary messages, OK, etc. */\r
+extern cell          gVarReturnCode; /* Returned to caller of Forth, eg. UNIX shell. */\r
+\r
+extern IncludeFrame  gIncludeStack[MAX_INCLUDE_DEPTH];\r
+extern int32         gIncludeIndex;\r
+/***************************************************************\r
+** Macros\r
+***************************************************************/\r
+\r
+\r
+/* Endian specific macros for creating target dictionaries for machines with\r
+\r
+** different endian-ness.\r
+\r
+*/\r
+\r
+#if defined(PF_BIG_ENDIAN_DIC)\r
+\r
+#define WRITE_FLOAT_DIC             WriteFloatBigEndian\r
+#define WRITE_LONG_DIC(addr,data)   WriteLongBigEndian((uint32 *)(addr),(uint32)(data))\r
+#define WRITE_SHORT_DIC(addr,data)  WriteShortBigEndian((uint16 *)(addr),(uint16)(data))\r
+#define READ_FLOAT_DIC              ReadFloatBigEndian\r
+#define READ_LONG_DIC(addr)         ReadLongBigEndian((const uint32 *)(addr))\r
+#define READ_SHORT_DIC(addr)        ReadShortBigEndian((const uint16 *)(addr))\r
+\r
+#elif defined(PF_LITTLE_ENDIAN_DIC)\r
+\r
+#define WRITE_FLOAT_DIC             WriteFloatLittleEndian\r
+#define WRITE_LONG_DIC(addr,data)   WriteLongLittleEndian((uint32 *)(addr),(uint32)(data))\r
+#define WRITE_SHORT_DIC(addr,data)  WriteShortLittleEndian((uint16 *)(addr),(uint16)(data))\r
+#define READ_FLOAT_DIC              ReadFloatLittleEndian\r
+#define READ_LONG_DIC(addr)         ReadLongLittleEndian((const uint32 *)(addr))\r
+#define READ_SHORT_DIC(addr)        ReadShortLittleEndian((const uint16 *)(addr))\r
+\r
+#else\r
+\r
+#define WRITE_FLOAT_DIC(addr,data)  { *((PF_FLOAT *)(addr)) = (PF_FLOAT)(data); }\r
+#define WRITE_LONG_DIC(addr,data)   { *((int32 *)(addr)) = (int32)(data); }\r
+#define WRITE_SHORT_DIC(addr,data)  { *((int16 *)(addr)) = (int16)(data); }\r
+#define READ_FLOAT_DIC(addr)        ( *((PF_FLOAT *)(addr)) )\r
+#define READ_LONG_DIC(addr)         ( *((const uint32 *)(addr)) )\r
+#define READ_SHORT_DIC(addr)        ( *((const uint16 *)(addr)) )\r
+\r
+#endif\r
+\r
+\r
+#define HEADER_HERE (gCurrentDictionary->dic_HeaderPtr.Cell)\r
+#define CODE_HERE (gCurrentDictionary->dic_CodePtr.Cell)\r
+#define CODE_COMMA( N ) WRITE_LONG_DIC(CODE_HERE++,(N))\r
+#define NAME_BASE (gCurrentDictionary->dic_HeaderBase)\r
+#define CODE_BASE (gCurrentDictionary->dic_CodeBase)\r
+#define NAME_SIZE (gCurrentDictionary->dic_HeaderLimit - gCurrentDictionary->dic_HeaderBase)\r
+#define CODE_SIZE (gCurrentDictionary->dic_CodeLimit - gCurrentDictionary->dic_CodeBase)\r
+\r
+#define IN_CODE_DIC(addr) ( ( ((uint8 *)(addr)) >= gCurrentDictionary->dic_CodeBase)   && ( ((uint8 *)(addr)) < gCurrentDictionary->dic_CodeLimit) )\r
+\r
+#define IN_NAME_DIC(addr) ( ( ((uint8 *)(addr)) >= gCurrentDictionary->dic_HeaderBase) && ( ((uint8 *)(addr)) < gCurrentDictionary->dic_HeaderLimit) )\r
+#define IN_DICS(addr) (IN_CODE_DIC(addr) || IN_NAME_DIC(addr))\r
+\r
+/* Address conversion */\r
+#define ABS_TO_NAMEREL( a ) ((int32)  (((uint8 *) a) - NAME_BASE ))\r
+#define ABS_TO_CODEREL( a ) ((int32)  (((uint8 *) a) - CODE_BASE ))\r
+#define NAMEREL_TO_ABS( a ) ((char *) (((int32) a) + NAME_BASE))\r
+#define CODEREL_TO_ABS( a ) ((cell *) (((int32) a) + CODE_BASE))\r
+\r
+/* The check for >0 is only needed for CLONE testing. !!! */\r
+#define IsTokenPrimitive(xt) ((xt<gNumPrimitives) && (xt>=0))\r
+\r
+#define FREE_VAR(v) { if (v) { pfFreeMem(v); v = NULL; } }\r
+\r
+#define DATA_STACK_DEPTH (gCurrentTask->td_StackBase - gCurrentTask->td_StackPtr)\r
+#define DROP_DATA_STACK (gCurrentTask->td_StackPtr++)\r
+#define POP_DATA_STACK (*gCurrentTask->td_StackPtr++)\r
+#define PUSH_DATA_STACK(x) {*(--(gCurrentTask->td_StackPtr)) = (cell) x; }\r
+\r
+/* Force Quad alignment. */\r
+#define QUADUP(x) (((x)+3)&~3)\r
+\r
+#define MIN(a,b)  ( ((a)<(b)) ? (a) : (b) )\r
+#define MAX(a,b)  ( ((a)>(b)) ? (a) : (b) )\r
+\r
+\r
+#ifndef TOUCH\r
+       #define TOUCH(argument) ((void)argument)\r
+#endif\r
+\r
+/***************************************************************\r
+** I/O related macros\r
+***************************************************************/\r
+\r
+#define EMIT(c)  ioEmit(c)\r
+#define EMIT_CR  EMIT('\n');\r
+\r
+#define MSG(cs)   pfMessage(cs)\r
+#define ERR(x)    MSG(x)\r
+\r
+#define DBUG(x)  /* PRT(x) */\r
+#define DBUGX(x) /* DBUG(x) */\r
+\r
+#define MSG_NUM_D(msg,num) { MSG(msg); ffDot((int32) num); EMIT_CR; }\r
+#define MSG_NUM_H(msg,num) { MSG(msg); ffDotHex((int32) num); EMIT_CR; }\r
+\r
+#define DBUG_NUM_D(msg,num) { pfDebugMessage(msg); pfDebugPrintDecimalNumber((int32) num); pfDebugMessage("\n"); }\r
+\r
+#endif  /* _pf_guts_h */\r
diff --git a/csrc/pf_host.h b/csrc/pf_host.h
new file mode 100644 (file)
index 0000000..00e7dcb
--- /dev/null
@@ -0,0 +1,24 @@
+/* @(#) pf_host.h 96/12/18 1.12 */\r
+#ifndef _pf_system_h\r
+#define _pf_system_h\r
+\r
+/***************************************************************\r
+** System Dependant Includes for PForth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+***************************************************************/\r
+\r
+#endif /* _pf_system_h */\r
+\r
diff --git a/csrc/pf_inc1.h b/csrc/pf_inc1.h
new file mode 100644 (file)
index 0000000..e391841
--- /dev/null
@@ -0,0 +1,44 @@
+/*  @(#) pf_unix.h 98/01/28 1.4 */\r
+#ifndef _pf_embedded_h\r
+#define _pf_embedded_h\r
+\r
+/***************************************************************\r
+** Embedded System include file for PForth, a Forth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#ifndef PF_NO_CLIB\r
+       #include <string.h>    /* Needed for strlen(), memcpy(), and memset(). */\r
+       #include <stdlib.h>    /* Needed for exit(). */\r
+#endif\r
+\r
+#ifdef PF_NO_STDIO\r
+       #define NULL  ((void *) 0)\r
+       #define EOF   (-1)\r
+#else\r
+       #include <stdio.h>\r
+#endif\r
+\r
+#ifdef PF_SUPPORT_FP\r
+       #include <math.h>\r
+\r
+       #ifndef PF_USER_FP\r
+               #include "pf_float.h"\r
+       #else\r
+               #include PF_USER_FP\r
+       #endif\r
+#endif\r
+\r
+#endif /* _pf_embedded_h */\r
diff --git a/csrc/pf_inner.c b/csrc/pf_inner.c
new file mode 100644 (file)
index 0000000..d7f1239
--- /dev/null
@@ -0,0 +1,1703 @@
+/* @(#) pf_inner.c 98/03/16 1.7 */\r
+/***************************************************************\r
+** Inner Interpreter for Forth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+**\r
+** 940502 PLB Creation.\r
+** 940505 PLB More macros.\r
+** 940509 PLB Moved all stack stuff into pfCatch.\r
+** 941014 PLB Converted to flat secondary strusture.\r
+** 941027 rdg added casts to ID_SP_FETCH, ID_RP_FETCH, \r
+**             and ID_HERE for armcc\r
+** 941130 PLB Made w@ unsigned\r
+**\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+#include <crtdbg.h>\r
+\r
+#define SYSTEM_LOAD_FILE "system.fth"\r
+\r
+/***************************************************************\r
+** Macros for data stack access.\r
+** TOS is cached in a register in pfCatch.\r
+***************************************************************/\r
+\r
+#define STKPTR   (DataStackPtr)\r
+#define M_POP    (*(STKPTR++))\r
+#define M_PUSH(n) {*(--(STKPTR)) = (cell) (n);}\r
+#define M_STACK(n) (STKPTR[n])\r
+\r
+#define TOS      (TopOfStack)\r
+#define PUSH_TOS M_PUSH(TOS)\r
+#define M_DUP    PUSH_TOS;\r
+#define M_DROP   { TOS = M_POP; }\r
+\r
+\r
+/***************************************************************\r
+** Macros for Floating Point stack access.\r
+***************************************************************/\r
+#ifdef PF_SUPPORT_FP\r
+#define FP_STKPTR   (FloatStackPtr)\r
+#define M_FP_SPZERO (gCurrentTask->td_FloatStackBase)\r
+#define M_FP_POP    (*(FP_STKPTR++))\r
+#define M_FP_PUSH(n) {*(--(FP_STKPTR)) = (PF_FLOAT) (n);}\r
+#define M_FP_STACK(n) (FP_STKPTR[n])\r
+\r
+#define FP_TOS      (fpTopOfStack)\r
+#define PUSH_FP_TOS M_FP_PUSH(FP_TOS)\r
+#define M_FP_DUP    PUSH_FP_TOS;\r
+#define M_FP_DROP   { FP_TOS = M_FP_POP; }\r
+#endif\r
+\r
+/***************************************************************\r
+** Macros for return stack access.\r
+***************************************************************/\r
+\r
+#define TORPTR (ReturnStackPtr)\r
+#define M_R_DROP {TORPTR++;}\r
+#define M_R_POP (*(TORPTR++))\r
+#define M_R_PICK(n) (TORPTR[n])\r
+#define M_R_PUSH(n) {*(--(TORPTR)) = (cell) (n);}\r
+\r
+/***************************************************************\r
+** Misc Forth macros\r
+***************************************************************/\r
+                       \r
+#define M_BRANCH   { InsPtr = (cell *) (((uint8 *) InsPtr) + READ_LONG_DIC(InsPtr)); }\r
+\r
+/* Cache top of data stack like in JForth. */\r
+#ifdef PF_SUPPORT_FP\r
+#define LOAD_REGISTERS \\r
+       { \\r
+               STKPTR = gCurrentTask->td_StackPtr; \\r
+               TOS = M_POP; \\r
+               FP_STKPTR = gCurrentTask->td_FloatStackPtr; \\r
+               FP_TOS = M_FP_POP; \\r
+               TORPTR = gCurrentTask->td_ReturnPtr; \\r
+        }\r
+        \r
+#define SAVE_REGISTERS \\r
+       { \\r
+               gCurrentTask->td_ReturnPtr = TORPTR; \\r
+               M_PUSH( TOS ); \\r
+               gCurrentTask->td_StackPtr = STKPTR; \\r
+               M_FP_PUSH( FP_TOS ); \\r
+               gCurrentTask->td_FloatStackPtr = FP_STKPTR; \\r
+        }\r
+        \r
+#else\r
+/* Cache top of data stack like in JForth. */\r
+#define LOAD_REGISTERS \\r
+       { \\r
+               STKPTR = gCurrentTask->td_StackPtr; \\r
+               TOS = M_POP; \\r
+               TORPTR = gCurrentTask->td_ReturnPtr; \\r
+        }\r
+        \r
+#define SAVE_REGISTERS \\r
+       { \\r
+               gCurrentTask->td_ReturnPtr = TORPTR; \\r
+               M_PUSH( TOS ); \\r
+               gCurrentTask->td_StackPtr = STKPTR; \\r
+        }\r
+#endif\r
+\r
+#define M_DOTS \\r
+       SAVE_REGISTERS; \\r
+       ffDotS( ); \\r
+       LOAD_REGISTERS;\r
+       \r
+#define DO_VAR(varname) { PUSH_TOS; TOS = (cell) &varname; }\r
+\r
+#ifdef PF_SUPPORT_FP\r
+#define M_THROW(err) \\r
+       { \\r
+               ExceptionReturnCode = (ThrowCode)(err); \\r
+               TORPTR = InitialReturnStack; /* Will cause return to 'C' */ \\r
+               STKPTR = InitialDataStack; \\r
+               FP_STKPTR = InitialFloatStack; \\r
+       }\r
+#else\r
+#define M_THROW(err) \\r
+       { \\r
+               ExceptionReturnCode = (err); \\r
+               TORPTR = InitialReturnStack; /* Will cause return to 'C' */ \\r
+               STKPTR = InitialDataStack; \\r
+       }\r
+#endif\r
+\r
+/***************************************************************\r
+** Other macros\r
+***************************************************************/\r
+\r
+#define BINARY_OP( op ) { TOS = M_POP op TOS; }\r
+#define endcase break\r
+               \r
+#if defined(PF_NO_SHELL) || !defined(PF_SUPPORT_TRACE)\r
+       #define TRACENAMES /* no names */\r
+#else\r
+/* Display name of executing routine. */\r
+static void TraceNames( ExecToken Token, int32 Level )\r
+{\r
+       char *DebugName;\r
+       int32 i;\r
+       \r
+       if( ffTokenToName( Token, &DebugName ) )\r
+       {\r
+               cell NumSpaces;\r
+               if( gCurrentTask->td_OUT > 0 ) EMIT_CR;\r
+               EMIT( '>' );\r
+               for( i=0; i<Level; i++ )\r
+               {\r
+                       MSG( "  " );\r
+               }\r
+               TypeName( DebugName );\r
+/* Space out to column N then .S */\r
+               NumSpaces = 30 - gCurrentTask->td_OUT;\r
+               for( i=0; i < NumSpaces; i++ )\r
+               {\r
+                       EMIT( ' ' );\r
+               }\r
+               ffDotS();\r
+/* No longer needed?           gCurrentTask->td_OUT = 0; */ /* !!! Hack for ffDotS() */\r
+               \r
+       }\r
+       else\r
+       {\r
+               MSG_NUM_H("Couldn't find Name for ", Token);\r
+       }\r
+}\r
+\r
+#define TRACENAMES \\r
+       if( (gVarTraceLevel > Level) ) \\r
+       { SAVE_REGISTERS; TraceNames( Token, Level ); LOAD_REGISTERS; }\r
+#endif /* PF_NO_SHELL */\r
+\r
+/* Use local copy of CODE_BASE for speed. */\r
+#define LOCAL_CODEREL_TO_ABS( a ) ((cell *) (((int32) a) + CodeBase))\r
+\r
+/**************************************************************/\r
+const char *pfSelectFileMode( int fam )\r
+{\r
+       char *famText = NULL;\r
+       switch( fam )\r
+       {\r
+       case (PF_FAM_READ_ONLY + PF_FAM_BINARY_FLAG):\r
+               famText = PF_FAM_BIN_OPEN_RO;\r
+               break;\r
+       case (PF_FAM_WRITE_ONLY + PF_FAM_BINARY_FLAG):\r
+               famText = PF_FAM_BIN_CREATE_WO;\r
+               break;\r
+       case (PF_FAM_READ_WRITE + PF_FAM_BINARY_FLAG):\r
+               famText = PF_FAM_BIN_OPEN_RW;\r
+               break;\r
+       case PF_FAM_READ_ONLY:\r
+               famText = PF_FAM_OPEN_RO;\r
+               break;\r
+       case PF_FAM_WRITE_ONLY:\r
+               famText = PF_FAM_CREATE_WO;\r
+               break;\r
+       case PF_FAM_READ_WRITE:\r
+       default:\r
+               famText = PF_FAM_OPEN_RW;\r
+               break;\r
+       }\r
+       return famText;\r
+}\r
+\r
+/**************************************************************/\r
+int pfCatch( ExecToken XT )\r
+{\r
+       register cell  TopOfStack;    /* Cache for faster execution. */\r
+       register cell *DataStackPtr;\r
+       register cell *ReturnStackPtr;\r
+       register cell *InsPtr = NULL;\r
+       register cell  Token;\r
+       cell           Scratch;\r
+       \r
+#ifdef PF_SUPPORT_FP\r
+       PF_FLOAT       fpTopOfStack;\r
+       PF_FLOAT      *FloatStackPtr;\r
+       PF_FLOAT       fpScratch;\r
+       PF_FLOAT       fpTemp;\r
+       PF_FLOAT      *InitialFloatStack;\r
+#endif\r
+#ifdef PF_SUPPORT_TRACE\r
+       int32 Level = 0;\r
+#endif\r
+       cell          *LocalsPtr = NULL;\r
+       cell           Temp;\r
+       cell          *InitialReturnStack;\r
+       cell          *InitialDataStack;\r
+       cell           FakeSecondary[2];\r
+       char          *CharPtr;\r
+       cell          *CellPtr;\r
+       FileStream    *FileID;\r
+       uint8         *CodeBase = CODE_BASE;\r
+       ThrowCode      ExceptionReturnCode = 0;\r
+       \r
+/* FIXME\r
+       gExecutionDepth += 1;\r
+       PRT(("pfCatch( 0x%x ), depth = %d\n", XT, gExecutionDepth ));\r
+*/\r
+\r
+/*\r
+** Initialize FakeSecondary this way to avoid having stuff in the data section,\r
+** which is not supported for some embedded system loaders.\r
+*/\r
+       FakeSecondary[0] = 0;\r
+       FakeSecondary[1] = ID_EXIT; /* For EXECUTE */\r
+\r
+/* Move data from task structure to registers for speed. */\r
+       LOAD_REGISTERS;\r
+\r
+/* Save initial stack depths for THROW */\r
+       InitialReturnStack = TORPTR;\r
+       InitialDataStack   = STKPTR ;\r
+#ifdef PF_SUPPORT_FP\r
+       InitialFloatStack  = FP_STKPTR;\r
+#endif\r
+\r
+       Token = XT;\r
+\r
+       do\r
+       {\r
+DBUG(("pfCatch: Token = 0x%x\n", Token ));\r
+\r
+/* --------------------------------------------------------------- */\r
+/* If secondary, thread down code tree until we hit a primitive. */\r
+               while( !IsTokenPrimitive( Token ) )\r
+               {\r
+#ifdef PF_SUPPORT_TRACE\r
+                       if((gVarTraceFlags & TRACE_INNER) )\r
+                       {\r
+                               MSG("pfCatch: Secondary Token = 0x");\r
+                               ffDotHex(Token);\r
+                               MSG_NUM_H(", InsPtr = 0x", InsPtr);\r
+                       }\r
+                       TRACENAMES;\r
+#endif\r
+\r
+/* Save IP on return stack like a JSR. */\r
+                       M_R_PUSH( InsPtr );\r
+                       \r
+/* Convert execution token to absolute address. */\r
+                       InsPtr = (cell *) ( LOCAL_CODEREL_TO_ABS(Token) );\r
+\r
+/* Fetch token at IP. */\r
+                       Token = READ_LONG_DIC(InsPtr++);\r
+                       \r
+#ifdef PF_SUPPORT_TRACE\r
+/* Bump level for trace display */\r
+                       Level++;\r
+#endif\r
+               }\r
+\r
+               \r
+#ifdef PF_SUPPORT_TRACE\r
+               TRACENAMES;\r
+#endif\r
+                       \r
+/* Execute primitive Token. */\r
+               switch( Token )\r
+               {\r
+                       \r
+       /* Pop up a level in Forth inner interpreter.\r
+       ** Used to implement semicolon.\r
+       ** Put first in switch because ID_EXIT==0 */\r
+               case ID_EXIT:\r
+                       InsPtr = ( cell *) M_R_POP;\r
+#ifdef PF_SUPPORT_TRACE\r
+                       Level--;\r
+#endif\r
+                       endcase;\r
+                                               \r
+               case ID_1MINUS:  TOS--; endcase;\r
+                       \r
+               case ID_1PLUS:   TOS++; endcase;\r
+                       \r
+#ifndef PF_NO_SHELL\r
+               case ID_2LITERAL:\r
+                       ff2Literal( TOS, M_POP );\r
+                       M_DROP;\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+\r
+               case ID_2LITERAL_P:\r
+/* hi part stored first, put on top of stack */\r
+                       PUSH_TOS;\r
+                       TOS = READ_LONG_DIC(InsPtr++);\r
+                       M_PUSH(READ_LONG_DIC(InsPtr++));\r
+                       endcase;\r
+                       \r
+               case ID_2MINUS:  TOS -= 2; endcase;\r
+                       \r
+               case ID_2PLUS:   TOS += 2; endcase;\r
+               \r
+               \r
+               case ID_2OVER:  /* ( a b c d -- a b c d a b ) */\r
+                       PUSH_TOS;\r
+                       Scratch = M_STACK(3);\r
+                       M_PUSH(Scratch);\r
+                       TOS = M_STACK(3);\r
+                       endcase;\r
+                       \r
+               case ID_2SWAP:  /* ( a b c d -- c d a b ) */\r
+                       Scratch = M_STACK(0);    /* c */\r
+                       M_STACK(0) = M_STACK(2); /* a */\r
+                       M_STACK(2) = Scratch;    /* c */\r
+                       Scratch = TOS;           /* d */\r
+                       TOS = M_STACK(1);        /* b */\r
+                       M_STACK(1) = Scratch;    /* d */\r
+                       endcase;\r
+                       \r
+               case ID_2DUP:   /* ( a b -- a b a b ) */\r
+                       PUSH_TOS;\r
+                       Scratch = M_STACK(1);\r
+                       M_PUSH(Scratch);\r
+                       endcase;\r
+                       \r
+               case ID_2_R_FETCH:\r
+                       PUSH_TOS;\r
+                       M_PUSH( (*(TORPTR+1)) );\r
+                       TOS = (*(TORPTR));\r
+                       endcase;\r
+\r
+               case ID_2_R_FROM:\r
+                       PUSH_TOS;\r
+                       TOS = M_R_POP;\r
+                       M_PUSH( M_R_POP );\r
+                       endcase;\r
+\r
+               case ID_2_TO_R:\r
+                       M_R_PUSH( M_POP );\r
+                       M_R_PUSH( TOS );\r
+                       M_DROP;\r
+                       endcase;\r
+               \r
+               case ID_ACCEPT_P: /* ( c-addr +n1 -- +n2 ) */\r
+                       CharPtr = (char *) M_POP;\r
+                       TOS = ioAccept( CharPtr, TOS );\r
+                       endcase;\r
+                       \r
+#ifndef PF_NO_SHELL\r
+               case ID_ALITERAL:\r
+                       ffALiteral( ABS_TO_CODEREL(TOS) );\r
+                       M_DROP;\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+\r
+               case ID_ALITERAL_P:\r
+                       PUSH_TOS;\r
+                       TOS = (cell) LOCAL_CODEREL_TO_ABS( READ_LONG_DIC(InsPtr++) );\r
+                       endcase;\r
+                       \r
+/* Allocate some extra and put validation identifier at base */\r
+#define PF_MEMORY_VALIDATOR  (0xA81B4D69)\r
+               case ID_ALLOCATE:\r
+                       /* Allocate at least one cell's worth because we clobber first cell. */\r
+                       if ( TOS < sizeof(cell) )\r
+                       {\r
+                               Temp = sizeof(cell);\r
+                       }\r
+                       else\r
+                       {\r
+                               Temp = TOS;\r
+                       }\r
+                       /* Allocate extra cells worth because we store validation info. */\r
+                       CellPtr = (cell *) pfAllocMem( Temp + sizeof(cell) );\r
+                       if( CellPtr )\r
+                       {\r
+/* This was broken into two steps because different compilers incremented\r
+** CellPtr before or after the XOR step. */\r
+                               Temp = (int32)CellPtr ^ PF_MEMORY_VALIDATOR;\r
+                               *CellPtr++ = Temp;\r
+                               M_PUSH( (cell) CellPtr );\r
+                               TOS = 0;\r
+                       }\r
+                       else\r
+                       {\r
+                               M_PUSH( 0 );\r
+                               TOS = -1;  /* FIXME Fix error code. */\r
+                       }\r
+                       endcase;\r
+\r
+               case ID_AND:     BINARY_OP( & ); endcase;\r
+               \r
+               case ID_ARSHIFT:     BINARY_OP( >> ); endcase;  /* Arithmetic right shift */\r
+               \r
+               case ID_BODY_OFFSET:\r
+                       PUSH_TOS;\r
+                       TOS = CREATE_BODY_OFFSET;\r
+                       endcase;\r
+                       \r
+/* Branch is followed by an offset relative to address of offset. */\r
+               case ID_BRANCH:\r
+DBUGX(("Before Branch: IP = 0x%x\n", InsPtr ));\r
+                       M_BRANCH;\r
+DBUGX(("After Branch: IP = 0x%x\n", InsPtr ));\r
+                       endcase;\r
+\r
+               case ID_BYE:\r
+                       M_THROW( THROW_BYE );\r
+                       endcase;\r
+\r
+               case ID_BAIL:\r
+                       MSG("Emergency exit.\n");\r
+                       EXIT(1);\r
+                       endcase;\r
+               \r
+               case ID_CATCH:\r
+                       Scratch = TOS;\r
+                       TOS = M_POP;\r
+                       SAVE_REGISTERS;\r
+                       Scratch = pfCatch( Scratch );\r
+                       LOAD_REGISTERS;\r
+                       M_PUSH( TOS );\r
+                       TOS = Scratch;\r
+                       endcase;\r
+\r
+               case ID_CALL_C:\r
+                       SAVE_REGISTERS;\r
+                       Scratch = READ_LONG_DIC(InsPtr++);\r
+                       CallUserFunction( Scratch & 0xFFFF,\r
+                               (Scratch >> 31) & 1,\r
+                               (Scratch >> 24) & 0x7F );\r
+                       LOAD_REGISTERS;\r
+                       endcase;\r
+\r
+               case ID_CFETCH:   TOS = *((uint8 *) TOS); endcase;\r
+\r
+               case ID_CMOVE: /* ( src dst n -- ) */\r
+                       {\r
+                               register char *DstPtr = (char *) M_POP; /* dst */\r
+                               CharPtr = (char *) M_POP;    /* src */\r
+                               for( Scratch=0; (uint32) Scratch < (uint32) TOS ; Scratch++ )\r
+                               {\r
+                                       *DstPtr++ = *CharPtr++;\r
+                               }\r
+                               M_DROP;\r
+                       }\r
+                       endcase;\r
+                       \r
+               case ID_CMOVE_UP: /* ( src dst n -- ) */\r
+                       {\r
+                               register char *DstPtr = ((char *) M_POP) + TOS; /* dst */\r
+                               CharPtr = ((char *) M_POP) + TOS;;    /* src */\r
+                               for( Scratch=0; (uint32) Scratch < (uint32) TOS ; Scratch++ )\r
+                               {\r
+                                       *(--DstPtr) = *(--CharPtr);\r
+                               }\r
+                               M_DROP;\r
+                       }\r
+                       endcase;\r
+               \r
+#ifndef PF_NO_SHELL\r
+               case ID_COLON:\r
+                       SAVE_REGISTERS;\r
+                       ffColon( );\r
+                       LOAD_REGISTERS;\r
+                       endcase;\r
+               case ID_COLON_P:  /* ( $name xt -- ) */\r
+                       CreateDicEntry( TOS, (char *) M_POP, 0 );\r
+                       M_DROP;\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+\r
+               case ID_COMPARE:\r
+                       {\r
+                               const char *s1, *s2;\r
+                               int32 len1;\r
+                               s2 = (const char *) M_POP;\r
+                               len1 = M_POP;\r
+                               s1 = (const char *) M_POP;\r
+                               TOS = ffCompare( s1, len1, s2, TOS );\r
+                       }\r
+                       endcase;\r
+                       \r
+/* ( a b -- flag , Comparisons ) */\r
+               case ID_COMP_EQUAL:\r
+                       TOS = ( TOS == M_POP ) ? FTRUE : FFALSE ;\r
+                       endcase;\r
+               case ID_COMP_NOT_EQUAL:\r
+                       TOS = ( TOS != M_POP ) ? FTRUE : FFALSE ;\r
+                       endcase;\r
+               case ID_COMP_GREATERTHAN:\r
+                       TOS = ( M_POP > TOS ) ? FTRUE : FFALSE ;\r
+                       endcase;\r
+               case ID_COMP_LESSTHAN:\r
+                       TOS = (  M_POP < TOS ) ? FTRUE : FFALSE ;\r
+                       endcase;\r
+               case ID_COMP_U_GREATERTHAN:\r
+                       TOS = ( ((uint32)M_POP) > ((uint32)TOS) ) ? FTRUE : FFALSE ;\r
+                       endcase;\r
+               case ID_COMP_U_LESSTHAN:\r
+                       TOS = ( ((uint32)M_POP) < ((uint32)TOS) ) ? FTRUE : FFALSE ;\r
+                       endcase;\r
+               case ID_COMP_ZERO_EQUAL:\r
+                       TOS = ( TOS == 0 ) ? FTRUE : FFALSE ;\r
+                       endcase;\r
+               case ID_COMP_ZERO_NOT_EQUAL:\r
+                       TOS = ( TOS != 0 ) ? FTRUE : FALSE ;\r
+                       endcase;\r
+               case ID_COMP_ZERO_GREATERTHAN:\r
+                       TOS = ( TOS > 0 ) ? FTRUE : FFALSE ;\r
+                       endcase;\r
+               case ID_COMP_ZERO_LESSTHAN:\r
+                       TOS = ( TOS < 0 ) ? FTRUE : FFALSE ;\r
+                       endcase;\r
+                       \r
+               case ID_CR:\r
+                       EMIT_CR;\r
+                       endcase;\r
+               \r
+#ifndef PF_NO_SHELL\r
+               case ID_CREATE:\r
+                       SAVE_REGISTERS;\r
+                       ffCreate();\r
+                       LOAD_REGISTERS;\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+\r
+               case ID_CREATE_P:\r
+                       PUSH_TOS;\r
+/* Put address of body on stack.  Insptr points after code start. */\r
+                       TOS = (cell) ((char *)InsPtr - sizeof(cell) + CREATE_BODY_OFFSET );\r
+                       endcase;\r
+       \r
+               case ID_CSTORE: /* ( c caddr -- ) */\r
+                       *((uint8 *) TOS) = (uint8) M_POP;\r
+                       M_DROP;\r
+                       endcase;\r
+\r
+/* Double precision add. */\r
+               case ID_D_PLUS:  /* D+ ( al ah bl bh -- sl sh ) */ \r
+                       {\r
+                               register ucell ah,al,bl,sh,sl;\r
+#define bh TOS\r
+                               bl = M_POP;\r
+                               ah = M_POP;\r
+                               al = M_POP;\r
+                               sh = 0;\r
+                               sl = al + bl;\r
+                               if( sl < bl ) sh = 1; /* Carry */\r
+                               sh += ah + bh;\r
+                               M_PUSH( sl );\r
+                               TOS = sh;\r
+#undef bh\r
+                       }\r
+                       endcase;\r
+       \r
+/* Double precision subtract. */\r
+               case ID_D_MINUS:  /* D- ( al ah bl bh -- sl sh ) */ \r
+                       {\r
+                               register ucell ah,al,bl,sh,sl;\r
+#define bh TOS\r
+                               bl = M_POP;\r
+                               ah = M_POP;\r
+                               al = M_POP;\r
+                               sh = 0;\r
+                               sl = al - bl;\r
+                               if( al < bl ) sh = 1; /* Borrow */\r
+                               sh = ah - bh - sh;\r
+                               M_PUSH( sl );\r
+                               TOS = sh;\r
+#undef bh\r
+                       }\r
+                       endcase;\r
+                       \r
+/* Perform 32*32 bit multiply for 64 bit result, by factoring into 16 bit quantities. */\r
+/* Using an improved algorithm suggested by Steve Green. */\r
+               case ID_D_UMTIMES:  /* M* ( a b -- pl ph ) */ \r
+                       {\r
+                               ucell ahi, alo, bhi, blo, temp;\r
+                               ucell pl, ph;\r
+/* Get values from stack. */\r
+                               ahi = M_POP;\r
+                               bhi = TOS;\r
+/* Break into hi and lo 16 bit parts. */\r
+                               alo = ahi & 0xFFFF;\r
+                               ahi = ahi>>16;\r
+                               blo = bhi & 0xFFFF;\r
+                               bhi = bhi>>16;\r
+                               ph = 0;\r
+/* ahi * bhi */\r
+                               pl = ahi * bhi;\r
+                               ph = pl >> 16;  /* shift 64 bit value by 16 */\r
+                               pl = pl << 16;\r
+/* ahi * blo */\r
+                               temp = ahi * blo;\r
+                               pl += temp;\r
+                               if( pl < temp ) ph += 1; /* Carry */\r
+/* alo * bhi  */\r
+                               temp = alo * bhi;\r
+                               pl += temp;\r
+                               if( pl < temp ) ph += 1; /* Carry */\r
+                               ph = (ph << 16) | (pl >> 16); /* shift 64 bit value by 16 */\r
+                               pl = pl << 16;\r
+/* alo * blo */\r
+                               temp = alo * blo;\r
+                               pl += temp;\r
+                               if( pl < temp ) ph += 1; /* Carry */\r
+\r
+                               M_PUSH( pl );\r
+                               TOS = ph;\r
+                       }\r
+                       endcase;\r
+                       \r
+/* Perform 32*32 bit multiply for 64 bit result, using shift and add. */\r
+               case ID_D_MTIMES:  /* M* ( a b -- pl ph ) */ \r
+                       {\r
+                               cell a,b;\r
+                               ucell ap,bp, ahi, alo, bhi, blo, temp;\r
+                               ucell pl, ph;\r
+/* Get values from stack. */\r
+                               a = M_POP;\r
+                               b = TOS;\r
+                               ap = (a < 0) ? -a : a ; /* Positive A */\r
+                               bp = (b < 0) ? -b : b ; /* Positive B */\r
+/* Break into hi and lo 16 bit parts. */\r
+                               alo = ap & 0xFFFF;\r
+                               ahi = ap>>16;\r
+                               blo = bp & 0xFFFF;\r
+                               bhi = bp>>16;\r
+                               ph = 0;\r
+/* ahi * bhi */\r
+                               pl = ahi * bhi;\r
+                               ph = pl >> 16;  /* shift 64 bit value by 16 */\r
+                               pl = pl << 16;\r
+/* ahi * blo */\r
+                               temp = ahi * blo;\r
+                               pl += temp;\r
+                               if( pl < temp ) ph += 1; /* Carry */\r
+/* alo * bhi  */\r
+                               temp = alo * bhi;\r
+                               pl += temp;\r
+                               if( pl < temp ) ph += 1; /* Carry */\r
+                               ph = (ph << 16) | (pl >> 16); /* shift 64 bit value by 16 */\r
+                               pl = pl << 16;\r
+/* alo * blo */\r
+                               temp = alo * blo;\r
+                               pl += temp;\r
+                               if( pl < temp ) ph += 1; /* Carry */\r
+\r
+/* Negate product if one operand negative. */\r
+                               if( ((a ^ b) & 0x80000000) )\r
+                               {\r
+                                       pl = 0-pl;\r
+                                       if( pl & 0x80000000 )\r
+                                       {\r
+                                               ph = -1 - ph;   /* Borrow */\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               ph = 0 - ph;\r
+                                       }\r
+                               }\r
+\r
+                               M_PUSH( pl );\r
+                               TOS = ph;\r
+                       }\r
+                       endcase;\r
+\r
+#define DULT(du1l,du1h,du2l,du2h) ( (du2h<du1h) ? FALSE : ( (du2h==du1h) ? (du1l<du2l) : TRUE) )\r
+/* Perform 64/32 bit divide for 32 bit result, using shift and subtract. */\r
+               case ID_D_UMSMOD:  /* UM/MOD ( al ah bdiv -- rem q ) */ \r
+                       {\r
+                               ucell ah,al, q,di, bl,bh, sl,sh;\r
+                               ah = M_POP;\r
+                               al = M_POP;\r
+                               bh = TOS;\r
+                               bl = 0;\r
+                               q = 0;\r
+                               for( di=0; di<32; di++ )\r
+                               {\r
+                                       if( !DULT(al,ah,bl,bh) )\r
+                                       {\r
+                                               sh = 0;\r
+                                               sl = al - bl;\r
+                                               if( al < bl ) sh = 1; /* Borrow */\r
+                                               sh = ah - bh - sh;\r
+                                               ah = sh;\r
+                                               al = sl;\r
+                                               q |= 1;\r
+                                       }\r
+                                       q = q << 1;\r
+                                       bl = (bl >> 1) | (bh << 31);\r
+                                       bh = bh >> 1;\r
+                               }\r
+                               if( !DULT(al,ah,bl,bh) )\r
+                               {\r
+                               \r
+                                       al = al - bl;\r
+                                       q |= 1;\r
+                               }\r
+                               M_PUSH( al );  /* rem */\r
+                               TOS = q;\r
+                       }\r
+                       endcase;\r
+\r
+/* Perform 64/32 bit divide for 64 bit result, using shift and subtract. */\r
+               case ID_D_MUSMOD:  /* MU/MOD ( al am bdiv -- rem ql qh ) */ \r
+                       {\r
+                               register ucell ah,am,al,ql,qh,di;\r
+#define bdiv ((ucell)TOS)\r
+                               ah = 0;\r
+                               am = M_POP;\r
+                               al = M_POP;\r
+                               qh = ql = 0;\r
+                               for( di=0; di<64; di++ )\r
+                               {\r
+                                       if( bdiv <= ah )\r
+                                       {\r
+                                               ah = ah - bdiv;\r
+                                               ql |= 1;\r
+                                       }\r
+                                       qh = (qh << 1) | (ql >> 31);\r
+                                       ql = ql << 1;\r
+                                       ah = (ah << 1) | (am >> 31);\r
+                                       am = (am << 1) | (al >> 31);\r
+                                       al = al << 1;\r
+DBUG(("XX ah,m,l = 0x%8x,%8x,%8x - qh,l = 0x%8x,%8x\n", ah,am,al, qh,ql ));\r
+                               }\r
+                               if( bdiv <= ah )\r
+                               {\r
+                                       ah = ah - bdiv;\r
+                                       ql |= 1;\r
+                               }\r
+                               M_PUSH( ah ); /* rem */\r
+                               M_PUSH( ql );\r
+                               TOS = qh;\r
+#undef bdiv\r
+                       }\r
+                       endcase;\r
+\r
+#ifndef PF_NO_SHELL\r
+               case ID_DEFER:\r
+                       ffDefer( );\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+\r
+               case ID_DEFER_P:\r
+                       endcase;\r
+\r
+               case ID_DEPTH:\r
+                       PUSH_TOS;\r
+                       TOS = gCurrentTask->td_StackBase - STKPTR;\r
+                       endcase;\r
+                       \r
+               case ID_DIVIDE:     BINARY_OP( / ); endcase;\r
+                       \r
+               case ID_DOT:\r
+                       ffDot( TOS );\r
+                       M_DROP;\r
+                       endcase;\r
+                       \r
+               case ID_DOTS:\r
+                       M_DOTS;\r
+                       endcase;\r
+                       \r
+               case ID_DROP:  M_DROP; endcase;\r
+                       \r
+               case ID_DUMP:\r
+                       Scratch = M_POP;\r
+                       DumpMemory( (char *) Scratch, TOS );\r
+                       M_DROP;\r
+                       endcase;\r
+\r
+               case ID_DUP:   M_DUP; endcase;\r
+               \r
+               case ID_DO_P: /* ( limit start -- ) ( R: -- start limit ) */\r
+                       M_R_PUSH( TOS );\r
+                       M_R_PUSH( M_POP );\r
+                       M_DROP;\r
+                       endcase;\r
+                       \r
+               case ID_EOL:    /* ( -- end_of_line_char ) */\r
+                       PUSH_TOS;\r
+                       TOS = (cell) '\n';\r
+                       endcase;\r
+                       \r
+               case ID_ERRORQ_P:  /* ( flag num -- , quit if flag true ) */\r
+                       Scratch = TOS;\r
+                       M_DROP;\r
+                       if(TOS)\r
+                       {\r
+                               M_THROW(Scratch);\r
+                       }\r
+                       else\r
+                       {\r
+                               M_DROP;\r
+                       }\r
+                       endcase;\r
+                       \r
+               case ID_EMIT_P:\r
+                       EMIT( (char) TOS );\r
+                       M_DROP;\r
+                       endcase;\r
+                       \r
+               case ID_EXECUTE:\r
+/* Save IP on return stack like a JSR. */\r
+                       M_R_PUSH( InsPtr );\r
+#ifdef PF_SUPPORT_TRACE\r
+/* Bump level for trace. */\r
+                       Level++;\r
+#endif\r
+                       if( IsTokenPrimitive( TOS ) )\r
+                       {\r
+                               WRITE_LONG_DIC( (cell *) &FakeSecondary[0], TOS);   /* Build a fake secondary and execute it. */\r
+                               InsPtr = &FakeSecondary[0];\r
+                       }\r
+                       else\r
+                       {\r
+                               InsPtr = (cell *) LOCAL_CODEREL_TO_ABS(TOS);\r
+                       }\r
+                       M_DROP;\r
+                       endcase;\r
+                       \r
+               case ID_FETCH:\r
+#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
+                       if( IN_DICS( TOS ) )\r
+                       {\r
+                               TOS = (cell) READ_LONG_DIC((cell *)TOS);\r
+                       }\r
+                       else\r
+                       {\r
+                               TOS = *((cell *)TOS);\r
+                       }\r
+#else\r
+                       TOS = *((cell *)TOS);\r
+#endif\r
+                       endcase;\r
+               \r
+               case ID_FILE_CREATE: /* ( c-addr u fam -- fid ior ) */\r
+/* Build NUL terminated name string. */\r
+                       Scratch = M_POP; /* u */\r
+                       Temp = M_POP;    /* caddr */\r
+                       if( Scratch < TIB_SIZE-2 )\r
+                       {\r
+                               const char *famText = pfSelectFileMode( TOS );\r
+                               pfCopyMemory( gScratch, (char *) Temp, (uint32) Scratch );\r
+                               gScratch[Scratch] = '\0';\r
+                               DBUG(("Create file = %s\n", gScratch ));\r
+                               FileID = sdOpenFile( gScratch, famText );\r
+                               TOS = ( FileID == NULL ) ? -1 : 0 ;\r
+                               M_PUSH( (cell) FileID );\r
+                       }\r
+                       else\r
+                       {\r
+                               ERR("Filename too large for name buffer.\n");\r
+                               M_PUSH( 0 );\r
+                               TOS = -2;\r
+                       }\r
+                       endcase;\r
+\r
+               case ID_FILE_OPEN: /* ( c-addr u fam -- fid ior ) */\r
+/* Build NUL terminated name string. */\r
+                       Scratch = M_POP; /* u */\r
+                       Temp = M_POP;    /* caddr */\r
+                       if( Scratch < TIB_SIZE-2 )\r
+                       {\r
+                               const char *famText = pfSelectFileMode( TOS );\r
+                               pfCopyMemory( gScratch, (char *) Temp, (uint32) Scratch );\r
+                               gScratch[Scratch] = '\0';\r
+                               DBUG(("Open file = %s\n", gScratch ));\r
+                               FileID = sdOpenFile( gScratch, famText );\r
+\r
+                               TOS = ( FileID == NULL ) ? -1 : 0 ;\r
+                               M_PUSH( (cell) FileID );\r
+                       }\r
+                       else\r
+                       {\r
+                               ERR("Filename too large for name buffer.\n");\r
+                               M_PUSH( 0 );\r
+                               TOS = -2;\r
+                       }\r
+                       endcase;\r
+                       \r
+               case ID_FILE_CLOSE: /* ( fid -- ior ) */\r
+                       TOS = sdCloseFile( (FileStream *) TOS );\r
+                       endcase;\r
+                               \r
+               case ID_FILE_READ: /* ( addr len fid -- u2 ior ) */\r
+                       FileID = (FileStream *) TOS;\r
+                       Scratch = M_POP;\r
+                       CharPtr = (char *) M_POP;\r
+                       Temp = sdReadFile( CharPtr, 1, Scratch, FileID );\r
+                       M_PUSH(Temp);\r
+                       TOS = 0;\r
+                       endcase;\r
+                               \r
+               case ID_FILE_SIZE: /* ( fid -- ud ior ) */\r
+/* Determine file size by seeking to end and returning position. */\r
+                       FileID = (FileStream *) TOS;\r
+                       Scratch = sdTellFile( FileID );\r
+                       sdSeekFile( FileID, 0, PF_SEEK_END );\r
+                       M_PUSH( sdTellFile( FileID ));\r
+                       sdSeekFile( FileID, Scratch, PF_SEEK_SET );\r
+                       TOS = (Scratch < 0) ? -4 : 0 ; /* !!! err num */\r
+                       endcase;\r
+\r
+               case ID_FILE_WRITE: /* ( addr len fid -- ior ) */\r
+                       FileID = (FileStream *) TOS;\r
+                       Scratch = M_POP;\r
+                       CharPtr = (char *) M_POP;\r
+                       Temp = sdWriteFile( CharPtr, 1, Scratch, FileID );\r
+                       TOS = (Temp != Scratch) ? -3 : 0;\r
+                       endcase;\r
+\r
+               case ID_FILE_REPOSITION: /* ( pos fid -- ior ) */\r
+                       FileID = (FileStream *) TOS;\r
+                       Scratch = M_POP;\r
+                       TOS = sdSeekFile( FileID, Scratch, PF_SEEK_SET );\r
+                       endcase;\r
+\r
+               case ID_FILE_POSITION: /* ( pos fid -- ior ) */\r
+                       M_PUSH( sdTellFile( (FileStream *) TOS ));\r
+                       TOS = 0;\r
+                       endcase;\r
+\r
+               case ID_FILE_RO: /* (  -- fam ) */\r
+                       PUSH_TOS;\r
+                       TOS = PF_FAM_READ_ONLY;\r
+                       endcase;\r
+                               \r
+               case ID_FILE_RW: /* ( -- fam ) */\r
+                       PUSH_TOS;\r
+                       TOS = PF_FAM_READ_WRITE;\r
+                       endcase;\r
+\r
+               case ID_FILE_WO: /* ( -- fam ) */\r
+                       PUSH_TOS;\r
+                       TOS = PF_FAM_WRITE_ONLY;\r
+                       endcase;\r
+\r
+               case ID_FILE_BIN: /* ( -- fam ) */\r
+                       TOS = TOS | PF_FAM_BINARY_FLAG;\r
+                       endcase;\r
+                               \r
+               case ID_FILL: /* ( caddr num charval -- ) */\r
+                       {\r
+                               register char *DstPtr;\r
+                               Temp = M_POP;    /* num */\r
+                               DstPtr = (char *) M_POP; /* dst */\r
+                               for( Scratch=0; (uint32) Scratch < (uint32) Temp ; Scratch++ )\r
+                               {\r
+                                       *DstPtr++ = (char) TOS;\r
+                               }\r
+                               M_DROP;\r
+                       }\r
+                       endcase;\r
+                       \r
+#ifndef PF_NO_SHELL\r
+               case ID_FIND:  /* ( $addr -- $addr 0 | xt +-1 ) */\r
+                       TOS = ffFind( (char *) TOS, (ExecToken *) &Temp );\r
+                       M_PUSH( Temp );\r
+                       endcase;\r
+                       \r
+               case ID_FINDNFA:\r
+                       TOS = ffFindNFA( (const ForthString *) TOS, (const ForthString **) &Temp );\r
+                       M_PUSH( (cell) Temp );\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+\r
+               case ID_FLUSHEMIT:\r
+                       sdTerminalFlush();\r
+                       endcase;\r
+                       \r
+/* Validate memory before freeing. Clobber validator and first word. */\r
+               case ID_FREE:   /* ( addr -- result ) */\r
+                       if( TOS == 0 )\r
+                       {\r
+                               ERR("FREE passed NULL!\n");\r
+                               TOS = -2; /* FIXME error code */\r
+                       }\r
+                       else\r
+                       {\r
+                               CellPtr = (cell *) TOS;\r
+                               CellPtr--;\r
+                               if( ((uint32)*CellPtr) != ((uint32)CellPtr ^ PF_MEMORY_VALIDATOR))\r
+                               {\r
+                                       TOS = -2; /* FIXME error code */\r
+                               }\r
+                               else\r
+                               {\r
+                                       CellPtr[0] = 0xDeadBeef;\r
+                                       pfFreeMem((char *)CellPtr);\r
+                                       TOS = 0;\r
+                               }\r
+                       }\r
+                       endcase;\r
+                       \r
+#include "pfinnrfp.h"\r
+\r
+               case ID_HERE:\r
+                       PUSH_TOS;\r
+                       TOS = (cell)CODE_HERE;\r
+                       endcase;\r
+               \r
+               case ID_NUMBERQ_P:   /* ( addr -- 0 | n 1 ) */\r
+/* Convert using number converter in 'C'.\r
+** Only supports single precision for bootstrap.\r
+*/\r
+                       TOS = (cell) ffNumberQ( (char *) TOS, &Temp );\r
+                       if( TOS == NUM_TYPE_SINGLE)\r
+                       {\r
+                               M_PUSH( Temp );   /* Push single number */\r
+                       }\r
+                       endcase;\r
+                       \r
+               case ID_I:  /* ( -- i , DO LOOP index ) */\r
+                       PUSH_TOS;\r
+                       TOS = M_R_PICK(1);\r
+                       endcase;\r
+\r
+#ifndef PF_NO_SHELL\r
+               case ID_INCLUDE_FILE:\r
+                       FileID = (FileStream *) TOS;\r
+                       M_DROP;    /* Drop now so that INCLUDE has a clean stack. */\r
+                       SAVE_REGISTERS;\r
+                       Scratch = ffIncludeFile( FileID );\r
+                       LOAD_REGISTERS;\r
+                       if( Scratch ) M_THROW(Scratch)\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+                       \r
+#ifndef PF_NO_SHELL\r
+               case ID_INTERPRET:\r
+                       SAVE_REGISTERS;\r
+                       Scratch = ffInterpret();\r
+                       LOAD_REGISTERS;\r
+                       if( Scratch ) M_THROW(Scratch)\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+\r
+               case ID_J:  /* ( -- j , second DO LOOP index ) */\r
+                       PUSH_TOS;\r
+                       TOS = M_R_PICK(3);\r
+                       endcase;\r
+\r
+               case ID_KEY:\r
+                       PUSH_TOS;\r
+                       TOS = ioKey();\r
+                       endcase;\r
+                       \r
+#ifndef PF_NO_SHELL\r
+               case ID_LITERAL:\r
+                       ffLiteral( TOS );\r
+                       M_DROP;\r
+                       endcase;\r
+#endif /* !PF_NO_SHELL */\r
+\r
+               case ID_LITERAL_P:\r
+                       DBUG(("ID_LITERAL_P: InsPtr = 0x%x, *InsPtr = 0x%x\n", InsPtr, *InsPtr ));\r
+                       PUSH_TOS;\r
+                       TOS = READ_LONG_DIC(InsPtr++);\r
+                       endcase;\r
+       \r
+#ifndef PF_NO_SHELL\r
+               case ID_LOCAL_COMPILER: DO_VAR(gLocalCompiler_XT); endcase;\r
+#endif /* !PF_NO_SHELL */\r
+\r
+               case ID_LOCAL_FETCH: /* ( i <local> -- n , fetch from local ) */\r
+                       TOS = *(LocalsPtr - TOS);\r
+                       endcase;\r
+\r
+#define LOCAL_FETCH_N(num) \\r
+               case ID_LOCAL_FETCH_##num: /* ( <local> -- n , fetch from local ) */ \\r
+                       PUSH_TOS; \\r
+                       TOS = *(LocalsPtr -(num)); \\r
+                       endcase;\r
+\r
+               LOCAL_FETCH_N(1);\r
+               LOCAL_FETCH_N(2);\r
+               LOCAL_FETCH_N(3);\r
+               LOCAL_FETCH_N(4);\r
+               LOCAL_FETCH_N(5);\r
+               LOCAL_FETCH_N(6);\r
+               LOCAL_FETCH_N(7);\r
+               LOCAL_FETCH_N(8);\r
+               \r
+               case ID_LOCAL_STORE:  /* ( n i <local> -- , store n in local ) */\r
+                       *(LocalsPtr - TOS) = M_POP;\r
+                       M_DROP;\r
+                       endcase;\r
+\r
+#define LOCAL_STORE_N(num) \\r
+               case ID_LOCAL_STORE_##num:  /* ( n <local> -- , store n in local ) */ \\r
+                       *(LocalsPtr - (num)) = TOS; \\r
+                       M_DROP; \\r
+                       endcase;\r
+\r
+               LOCAL_STORE_N(1);\r
+               LOCAL_STORE_N(2);\r
+               LOCAL_STORE_N(3);\r
+               LOCAL_STORE_N(4);\r
+               LOCAL_STORE_N(5);\r
+               LOCAL_STORE_N(6);\r
+               LOCAL_STORE_N(7);\r
+               LOCAL_STORE_N(8);\r
+               \r
+               case ID_LOCAL_PLUSSTORE:  /* ( n i <local> -- , add n to local ) */\r
+                       *(LocalsPtr - TOS) += M_POP;\r
+                       M_DROP;\r
+                       endcase;\r
+                       \r
+               case ID_LOCAL_ENTRY: /* ( x0 x1 ... xn n -- ) */\r
+               /* create local stack frame */\r
+                       {\r
+                               int32 i = TOS;\r
+                               cell *lp;\r
+                               DBUG(("LocalEntry: n = %d\n", TOS));\r
+                               /* End of locals. Create stack frame */\r
+                               DBUG(("LocalEntry: before RP@ = 0x%x, LP = 0x%x\n",\r
+                                       TORPTR, LocalsPtr));\r
+                               M_R_PUSH(LocalsPtr);\r
+                               LocalsPtr = TORPTR;\r
+                               TORPTR -= TOS;\r
+                               DBUG(("LocalEntry: after RP@ = 0x%x, LP = 0x%x\n",\r
+                                       TORPTR, LocalsPtr));\r
+                               lp = TORPTR;\r
+                               while(i-- > 0)\r
+                               {\r
+                                       *lp++ = M_POP;    /* Load local vars from stack */\r
+                               }\r
+                               M_DROP;\r
+                       }\r
+                       endcase;\r
+\r
+               case ID_LOCAL_EXIT: /* cleanup up local stack frame */\r
+                       DBUG(("LocalExit: before RP@ = 0x%x, LP = 0x%x\n",\r
+                               TORPTR, LocalsPtr));\r
+                       TORPTR = LocalsPtr;\r
+                       LocalsPtr = (cell *) M_R_POP;\r
+                       DBUG(("LocalExit: after RP@ = 0x%x, LP = 0x%x\n",\r
+                               TORPTR, LocalsPtr));\r
+                       endcase;\r
+                       \r
+#ifndef PF_NO_SHELL\r
+               case ID_LOADSYS:\r
+                       MSG("Load "); MSG(SYSTEM_LOAD_FILE); EMIT_CR;\r
+                       FileID = sdOpenFile(SYSTEM_LOAD_FILE, "r");\r
+                       if( FileID )\r
+                       {\r
+                               SAVE_REGISTERS;\r
+                               Scratch = ffIncludeFile( FileID );\r
+                               LOAD_REGISTERS;\r
+                               sdCloseFile( FileID );\r
+                               if( Scratch ) M_THROW(Scratch);\r
+                       }\r
+                       else\r
+                       {\r
+                                ERR(SYSTEM_LOAD_FILE); ERR(" could not be opened!\n");\r
+                       }\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+\r
+               case ID_LEAVE_P: /* ( R: index limit --  ) */\r
+                       M_R_DROP;\r
+                       M_R_DROP;\r
+                       M_BRANCH;\r
+                       endcase;\r
+\r
+               case ID_LOOP_P: /* ( R: index limit -- | index limit ) */\r
+                       Temp = M_R_POP; /* limit */\r
+                       Scratch = M_R_POP + 1; /* index */\r
+                       if( Scratch == Temp )\r
+                       {\r
+                               InsPtr++;   /* skip branch offset, exit loop */\r
+                       }\r
+                       else\r
+                       {\r
+/* Push index and limit back to R */\r
+                               M_R_PUSH( Scratch );\r
+                               M_R_PUSH( Temp );\r
+/* Branch back to just after (DO) */\r
+                               M_BRANCH;\r
+                       }\r
+                       endcase;\r
+                               \r
+               case ID_LSHIFT:     BINARY_OP( << ); endcase;\r
+               \r
+               case ID_MAX:\r
+                       Scratch = M_POP;\r
+                       TOS = ( TOS > Scratch ) ? TOS : Scratch ;\r
+                       endcase;\r
+                       \r
+               case ID_MIN:\r
+                       Scratch = M_POP;\r
+                       TOS = ( TOS < Scratch ) ? TOS : Scratch ;\r
+                       endcase;\r
+                       \r
+               case ID_MINUS:     BINARY_OP( - ); endcase;\r
+                       \r
+#ifndef PF_NO_SHELL\r
+               case ID_NAME_TO_TOKEN:\r
+                       TOS = (cell) NameToToken((ForthString *)TOS);\r
+                       endcase;\r
+                       \r
+               case ID_NAME_TO_PREVIOUS:\r
+                       TOS = (cell) NameToPrevious((ForthString *)TOS);\r
+                       endcase;\r
+#endif\r
+                       \r
+               case ID_NOOP:\r
+                       endcase;\r
+                       \r
+               case ID_OR:     BINARY_OP( | ); endcase;\r
+               \r
+               case ID_OVER:\r
+                       PUSH_TOS;\r
+                       TOS = M_STACK(1);\r
+                       endcase;\r
+                       \r
+               case ID_PICK: /* ( ... n -- sp(n) ) */\r
+                       TOS = M_STACK(TOS);\r
+                       endcase;\r
+\r
+               case ID_PLUS:     BINARY_OP( + ); endcase;\r
+               \r
+               case ID_PLUS_STORE:   /* ( n addr -- , add n to *addr ) */\r
+#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
+                       if( IN_DICS( TOS ) )\r
+                       {\r
+                               Scratch = READ_LONG_DIC((cell *)TOS);\r
+                               Scratch += M_POP;\r
+                               WRITE_LONG_DIC((cell *)TOS,Scratch);\r
+                       }\r
+                       else\r
+                       {\r
+                               *((cell *)TOS) += M_POP;\r
+                       }\r
+#else\r
+                       *((cell *)TOS) += M_POP;\r
+#endif\r
+                       M_DROP;\r
+                       endcase;\r
+\r
+               case ID_PLUSLOOP_P: /* ( delta -- ) ( R: index limit -- | index limit ) */\r
+                       {\r
+                               ucell OldIndex, NewIndex, Limit;\r
+\r
+                               Limit = M_R_POP;\r
+                               OldIndex = M_R_POP;\r
+                               NewIndex = OldIndex + TOS; /* add TOS to index, not 1 */\r
+/* Do indices cross boundary between LIMIT-1 and LIMIT ? */\r
+                               if( ( (OldIndex - Limit) & ((Limit-1) - NewIndex) & 0x80000000 ) ||\r
+                                   ( (NewIndex - Limit) & ((Limit-1) - OldIndex) & 0x80000000 ) )\r
+                               {\r
+                                       InsPtr++;   /* skip branch offset, exit loop */\r
+                               }\r
+                               else\r
+                               {\r
+/* Push index and limit back to R */\r
+                                       M_R_PUSH( NewIndex );\r
+                                       M_R_PUSH( Limit );\r
+/* Branch back to just after (DO) */\r
+                                       M_BRANCH;\r
+                               }\r
+                               M_DROP;\r
+                       }\r
+                       endcase;\r
+\r
+               case ID_QDO_P: /* (?DO) ( limit start -- ) ( R: -- start limit ) */\r
+                       Scratch = M_POP;  /* limit */\r
+                       if( Scratch == TOS )\r
+                       {\r
+/* Branch to just after (LOOP) */\r
+                               M_BRANCH;\r
+                       }\r
+                       else\r
+                       {\r
+                               M_R_PUSH( TOS );\r
+                               M_R_PUSH( Scratch );\r
+                               InsPtr++;   /* skip branch offset, enter loop */\r
+                       }\r
+                       M_DROP;\r
+                       endcase;\r
+\r
+               case ID_QDUP:     if( TOS ) M_DUP; endcase;\r
+\r
+               case ID_QTERMINAL:  /* WARNING: Typically not fully implemented! */\r
+                       PUSH_TOS;\r
+                       TOS = sdQueryTerminal();\r
+                       endcase;\r
+               \r
+               case ID_QUIT_P: /* Stop inner interpreter, go back to user. */\r
+#ifdef PF_SUPPORT_TRACE\r
+                       Level = 0;\r
+#endif\r
+                       M_THROW(THROW_QUIT);\r
+                       endcase;\r
+                       \r
+               case ID_R_DROP:\r
+                       M_R_DROP;\r
+                       endcase;\r
+\r
+               case ID_R_FETCH:\r
+                       PUSH_TOS;\r
+                       TOS = (*(TORPTR));\r
+                       endcase;\r
+               \r
+               case ID_R_FROM:\r
+                       PUSH_TOS;\r
+                       TOS = M_R_POP;\r
+                       endcase;\r
+                       \r
+               case ID_REFILL:\r
+                       PUSH_TOS;\r
+                       TOS = (ffRefill() > 0) ? FTRUE : FFALSE;\r
+                       endcase;\r
+                       \r
+/* Resize memory allocated by ALLOCATE. */\r
+               case ID_RESIZE:  /* ( addr1 u -- addr2 result ) */\r
+                       {\r
+                               cell *FreePtr;\r
+                               \r
+                               FreePtr = (cell *) ( M_POP - sizeof(cell) );\r
+                               if( ((uint32)*FreePtr) != ((uint32)FreePtr ^ PF_MEMORY_VALIDATOR))\r
+                               {\r
+                                       M_PUSH( 0 );\r
+                                       TOS = -3;\r
+                               }\r
+                               else\r
+                               {\r
+                                       /* Try to allocate. */\r
+                                       CellPtr = (cell *) pfAllocMem( TOS + sizeof(cell) );\r
+                                       if( CellPtr )\r
+                                       {\r
+                                               /* Copy memory including validation. */\r
+                                               pfCopyMemory( (char *) CellPtr, (char *) FreePtr, TOS + sizeof(cell) );\r
+                                               *CellPtr = (cell)(((uint32)CellPtr) ^ (uint32)PF_MEMORY_VALIDATOR);\r
+                                               CellPtr++;\r
+                                   M_PUSH( (cell) ++CellPtr );\r
+                                               TOS = 0;\r
+                                               FreePtr[0] = 0xDeadBeef;\r
+                                               pfFreeMem((char *) FreePtr);\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               M_PUSH( 0 );\r
+                                               TOS = -4;  /* FIXME Fix error code. */\r
+                                       }\r
+                               }\r
+                       }\r
+                       endcase;\r
+                               \r
+/*\r
+** RP@ and RP! are called secondaries so we must\r
+** account for the return address pushed before calling.\r
+*/\r
+               case ID_RP_FETCH:    /* ( -- rp , address of top of return stack ) */\r
+                       PUSH_TOS;\r
+                       TOS = (cell)TORPTR;  /* value before calling RP@ */\r
+                       endcase;\r
+                       \r
+               case ID_RP_STORE:    /* ( rp -- , address of top of return stack ) */\r
+                       TORPTR = (cell *) TOS;\r
+                       M_DROP;\r
+                       endcase;\r
+                       \r
+               case ID_ROLL: /* ( xu xu-1 xu-1 ... x0 u -- xu-1 xu-1 ... x0 xu ) */\r
+                       {\r
+                               int32 ri;\r
+                               cell *srcPtr, *dstPtr;\r
+                               Scratch = M_STACK(TOS);\r
+                               srcPtr = &M_STACK(TOS-1);\r
+                               dstPtr = &M_STACK(TOS);\r
+                               for( ri=0; ri<TOS; ri++ )\r
+                               {\r
+                                       *dstPtr-- = *srcPtr--;\r
+                               }\r
+                               TOS = Scratch;\r
+                               STKPTR++;\r
+                       }\r
+                       endcase;\r
+\r
+               case ID_ROT:  /* ( a b c -- b c a ) */\r
+                       Scratch = M_POP;    /* b */\r
+                       Temp = M_POP;       /* a */\r
+                       M_PUSH( Scratch );  /* b */\r
+                       PUSH_TOS;           /* c */\r
+                       TOS = Temp;         /* a */\r
+                       endcase;\r
+\r
+/* Logical right shift */\r
+               case ID_RSHIFT:     { TOS = ((uint32)M_POP) >> TOS; } endcase;   \r
+               \r
+#ifndef PF_NO_SHELL\r
+               case ID_SAVE_FORTH_P:   /* ( $name Entry NameSize CodeSize -- err ) */\r
+                       {\r
+                               int32 NameSize, CodeSize, EntryPoint;\r
+                               CodeSize = TOS;\r
+                               NameSize = M_POP;\r
+                               EntryPoint = M_POP;\r
+                               ForthStringToC( gScratch, (char *) M_POP );\r
+                               TOS =  ffSaveForth( gScratch, EntryPoint, NameSize, CodeSize );\r
+                       }\r
+                       endcase;\r
+#endif\r
+\r
+/* Source     Stack\r
+** EVALUATE    >IN  SourceID=(-1)  1111\r
+** keyboard    >IN  SourceID=(0)   2222\r
+** file        >IN  lineNumber filePos  SourceID=(fileID)\r
+*/\r
+               case ID_SAVE_INPUT:  /* FIXME - finish */\r
+                       {\r
+                       }\r
+                       endcase;\r
+\r
+               case ID_SP_FETCH:    /* ( -- sp , address of top of stack, sorta ) */\r
+                       PUSH_TOS;\r
+                       TOS = (cell)STKPTR;\r
+                       endcase;\r
+                       \r
+               case ID_SP_STORE:    /* ( sp -- , address of top of stack, sorta ) */\r
+                       STKPTR = (cell *) TOS;\r
+                       M_DROP;\r
+                       endcase;\r
+                       \r
+               case ID_STORE: /* ( n addr -- , write n to addr ) */\r
+#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
+                       if( IN_DICS( TOS ) )\r
+                       {\r
+                               WRITE_LONG_DIC((cell *)TOS,M_POP);\r
+                       }\r
+                       else\r
+                       {\r
+                               *((cell *)TOS) = M_POP;\r
+                       }\r
+#else\r
+                       *((cell *)TOS) = M_POP;\r
+#endif\r
+                       M_DROP;\r
+                       endcase;\r
+\r
+               case ID_SCAN: /* ( addr cnt char -- addr' cnt' ) */\r
+                       Scratch = M_POP; /* cnt */\r
+                       Temp = M_POP;    /* addr */\r
+                       TOS = ffScan( (char *) Temp, Scratch, (char) TOS, &CharPtr );\r
+                       M_PUSH((cell) CharPtr);\r
+                       endcase;\r
+                       \r
+#ifndef PF_NO_SHELL\r
+               case ID_SEMICOLON:\r
+                       SAVE_REGISTERS;\r
+                       Scratch = ffSemiColon();\r
+                       LOAD_REGISTERS;\r
+                       if( Scratch ) M_THROW( Scratch );\r
+                       endcase;\r
+#endif /* !PF_NO_SHELL */\r
+                       \r
+               case ID_SKIP: /* ( addr cnt char -- addr' cnt' ) */\r
+                       Scratch = M_POP; /* cnt */\r
+                       Temp = M_POP;    /* addr */\r
+                       TOS = ffSkip( (char *) Temp, Scratch, (char) TOS, &CharPtr );\r
+                       M_PUSH((cell) CharPtr);\r
+                       endcase;\r
+\r
+               case ID_SOURCE:  /* ( -- c-addr num ) */\r
+                       PUSH_TOS;\r
+                       M_PUSH( (cell) gCurrentTask->td_SourcePtr );\r
+                       TOS = (cell) gCurrentTask->td_SourceNum;\r
+                       endcase;\r
+                       \r
+               case ID_SOURCE_SET: /* ( c-addr num -- ) */\r
+                       gCurrentTask->td_SourcePtr = (char *) M_POP;\r
+                       gCurrentTask->td_SourceNum = TOS;\r
+                       M_DROP;\r
+                       endcase;\r
+                       \r
+               case ID_SOURCE_ID:\r
+                       PUSH_TOS;\r
+                       TOS = ffConvertStreamToSourceID( gCurrentTask->td_InputStream ) ;\r
+                       endcase;\r
+                       \r
+               case ID_SOURCE_ID_POP:\r
+                       PUSH_TOS;\r
+                       TOS = ffConvertStreamToSourceID( ffPopInputStream() ) ;\r
+                       endcase;\r
+                       \r
+               case ID_SOURCE_ID_PUSH:  /* ( source-id -- ) */\r
+                       TOS = (cell)ffConvertSourceIDToStream( TOS );\r
+                       Scratch = ffPushInputStream((FileStream *) TOS );\r
+                       if( Scratch )\r
+                       {\r
+                               M_THROW(Scratch);\r
+                       }\r
+                       else M_DROP;\r
+                       endcase;\r
+                       \r
+               case ID_SWAP:\r
+                       Scratch = TOS;\r
+                       TOS = *STKPTR;\r
+                       *STKPTR = Scratch;\r
+                       endcase;\r
+                       \r
+               case ID_TEST1:\r
+                       PUSH_TOS;\r
+                       M_PUSH( 0x11 );\r
+                       M_PUSH( 0x22 );\r
+                       TOS = 0x33;\r
+                       endcase;\r
+\r
+               case ID_TEST2:\r
+                       endcase;\r
+\r
+               case ID_THROW:  /* ( k*x err -- k*x | i*x err , jump to where CATCH was called ) */\r
+                       if(TOS)\r
+                       {\r
+                               M_THROW(TOS);\r
+                       }\r
+                       else M_DROP;\r
+                       endcase;\r
+\r
+#ifndef PF_NO_SHELL\r
+               case ID_TICK:\r
+                       PUSH_TOS;\r
+                       CharPtr = (char *) ffWord( (char) ' ' );\r
+                       TOS = ffFind( CharPtr, (ExecToken *) &Temp );\r
+                       if( TOS == 0 )\r
+                       {\r
+                               ERR("' could not find ");\r
+                               ioType( (char *) CharPtr+1, *CharPtr );\r
+                               M_THROW(-13);\r
+                       }\r
+                       else\r
+                       {\r
+                               TOS = Temp;\r
+                       }\r
+                       endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+                       \r
+               case ID_TIMES: BINARY_OP( * ); endcase;\r
+                       \r
+               case ID_TYPE:\r
+                       Scratch = M_POP; /* addr */\r
+                       ioType( (char *) Scratch, TOS );\r
+                       M_DROP;\r
+                       endcase;\r
+\r
+               case ID_TO_R:\r
+                       M_R_PUSH( TOS );\r
+                       M_DROP;\r
+                       endcase;\r
+\r
+               case ID_VAR_BASE: DO_VAR(gVarBase); endcase;\r
+               case ID_VAR_CODE_BASE: DO_VAR(gCurrentDictionary->dic_CodeBase); endcase;\r
+               case ID_VAR_CODE_LIMIT: DO_VAR(gCurrentDictionary->dic_CodeLimit); endcase;\r
+               case ID_VAR_CONTEXT: DO_VAR(gVarContext); endcase;\r
+               case ID_VAR_DP: DO_VAR(gCurrentDictionary->dic_CodePtr.Cell); endcase;\r
+               case ID_VAR_ECHO: DO_VAR(gVarEcho); endcase;\r
+               case ID_VAR_HEADERS_BASE: DO_VAR(gCurrentDictionary->dic_HeaderBase); endcase;\r
+               case ID_VAR_HEADERS_LIMIT: DO_VAR(gCurrentDictionary->dic_HeaderLimit); endcase;\r
+               case ID_VAR_HEADERS_PTR: DO_VAR(gCurrentDictionary->dic_HeaderPtr.Cell); endcase;\r
+               case ID_VAR_NUM_TIB: DO_VAR(gCurrentTask->td_SourceNum); endcase;\r
+               case ID_VAR_OUT: DO_VAR(gCurrentTask->td_OUT); endcase;\r
+               case ID_VAR_STATE: DO_VAR(gVarState); endcase;\r
+               case ID_VAR_TO_IN: DO_VAR(gCurrentTask->td_IN); endcase;\r
+               case ID_VAR_TRACE_FLAGS: DO_VAR(gVarTraceFlags); endcase;\r
+               case ID_VAR_TRACE_LEVEL: DO_VAR(gVarTraceLevel); endcase;\r
+               case ID_VAR_TRACE_STACK: DO_VAR(gVarTraceStack); endcase;\r
+               case ID_VAR_RETURN_CODE: DO_VAR(gVarReturnCode); endcase;\r
+\r
+               case ID_WORD:\r
+                       TOS = (cell) ffWord( (char) TOS );\r
+                       endcase;\r
+\r
+               case ID_WORD_FETCH: /* ( waddr -- w ) */\r
+#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
+                       if( IN_DICS( TOS ) )\r
+                       {\r
+                               TOS = (uint16) READ_SHORT_DIC((uint16 *)TOS);\r
+                       }\r
+                       else\r
+                       {\r
+                               TOS = *((uint16 *)TOS);\r
+                       }\r
+#else\r
+                       TOS = *((uint16 *)TOS);\r
+#endif\r
+                       endcase;\r
+\r
+               case ID_WORD_STORE: /* ( w waddr -- ) */\r
+                       \r
+#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
+                       if( IN_DICS( TOS ) )\r
+                       {\r
+                               WRITE_SHORT_DIC((uint16 *)TOS,(uint16)M_POP);\r
+                       }\r
+                       else\r
+                       {\r
+                               *((uint16 *)TOS) = (uint16) M_POP;\r
+                       }\r
+#else\r
+                       *((uint16 *)TOS) = (uint16) M_POP;\r
+#endif\r
+                       M_DROP;\r
+                       endcase;\r
+\r
+               case ID_XOR: BINARY_OP( ^ ); endcase;\r
+                               \r
+                               \r
+/* Branch is followed by an offset relative to address of offset. */\r
+               case ID_ZERO_BRANCH:\r
+DBUGX(("Before 0Branch: IP = 0x%x\n", InsPtr ));\r
+                       if( TOS == 0 )\r
+                       {\r
+                               M_BRANCH;\r
+                       }\r
+                       else\r
+                       {\r
+                               InsPtr++;      /* skip over offset */\r
+                       }\r
+                       M_DROP;\r
+DBUGX(("After 0Branch: IP = 0x%x\n", InsPtr ));\r
+                       endcase;\r
+                       \r
+               default:\r
+                       ERR("pfCatch: Unrecognised token = 0x");\r
+                       ffDotHex(Token);\r
+                       ERR(" at 0x");\r
+                       ffDotHex((int32) InsPtr);\r
+                       EMIT_CR;\r
+                       InsPtr = 0;\r
+                       endcase;\r
+               }\r
+               \r
+               if(InsPtr) Token = READ_LONG_DIC(InsPtr++);   /* Traverse to next token in secondary. */\r
+               \r
+#ifdef PF_DEBUG\r
+               M_DOTS;\r
+#endif\r
+\r
+#if 0\r
+               if( _CrtCheckMemory() == 0 )\r
+               {\r
+                       ERR("_CrtCheckMemory abort: InsPtr = 0x");\r
+                       ffDotHex((int)InsPtr);\r
+                       ERR("\n");\r
+               }\r
+#endif\r
+\r
+       } while( (InitialReturnStack - TORPTR) > 0 );\r
+\r
+       SAVE_REGISTERS;\r
+       \r
+       return ExceptionReturnCode;\r
+}\r
diff --git a/csrc/pf_io.c b/csrc/pf_io.c
new file mode 100644 (file)
index 0000000..3f57902
--- /dev/null
@@ -0,0 +1,216 @@
+/* @(#) pf_io.c 96/12/23 1.12 */\r
+/***************************************************************\r
+** I/O subsystem for PForth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 941004 PLB Extracted IO calls from pforth_main.c\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+\r
+\r
+/***************************************************************\r
+** Initialize I/O system.\r
+*/\r
+void ioInit( void )\r
+{\r
+       /* System dependant terminal initialization. */\r
+       sdTerminalInit();\r
+}\r
+void ioTerm( void )\r
+{\r
+       sdTerminalTerm();\r
+}\r
+\r
+/***************************************************************\r
+** Send single character to output stream.\r
+*/\r
+void ioEmit( char c )\r
+{\r
+       int32 Result;\r
+       \r
+       Result = sdTerminalOut(c);\r
+       if( Result < 0 ) EXIT(1);\r
+       \r
+       if( gCurrentTask )\r
+       {\r
+               if(c == '\n')\r
+               {\r
+                       gCurrentTask->td_OUT = 0;\r
+                       sdTerminalFlush();\r
+               }\r
+               else\r
+               {\r
+                       gCurrentTask->td_OUT++;\r
+               }\r
+       }\r
+}\r
+\r
+/***************************************************************\r
+** Send an entire string..\r
+*/\r
+void ioType( const char *s, int32 n )\r
+{\r
+       int32 i;\r
+\r
+       for( i=0; i<n; i++)\r
+       {\r
+               ioEmit ( *s++ );\r
+       }\r
+}\r
+\r
+/***************************************************************\r
+** Return single character from input device, always keyboard.\r
+*/\r
+cell ioKey( void )\r
+{\r
+       cell c;\r
+       sdEnableInput();\r
+       c = sdTerminalIn();\r
+       sdDisableInput();\r
+       return c;\r
+}\r
+\r
+/**************************************************************\r
+** Receive line from keyboard.\r
+** Return number of characters enterred.\r
+*/\r
+#define BACKSPACE  (8)\r
+#define DELETE     (0x7F)\r
+cell ioAccept( char *buffer, cell maxChars )\r
+{\r
+       int c;\r
+       int len;\r
+       char *p;\r
+\r
+DBUGX(("ioAccept(0x%x, 0x%x)\n", buffer, len ));\r
+       \r
+       sdEnableInput();\r
+\r
+       p = buffer;\r
+       len = 0;\r
+       while(len < maxChars)\r
+       {\r
+               c = sdTerminalIn();\r
+               switch(c)\r
+               {\r
+                       case '\r':\r
+                       case '\n':\r
+                               DBUGX(("EOL\n"));\r
+                               goto gotline;\r
+                               break;\r
+                               \r
+                       case BACKSPACE:\r
+                       case DELETE:\r
+                               if( len > 0 )  /* Don't go beyond beginning of line. */\r
+                               {\r
+                                       EMIT(BACKSPACE);\r
+                                       EMIT(' ');\r
+                                       EMIT(BACKSPACE);\r
+                                       p--;\r
+                                       len--;\r
+                               }\r
+                               break;\r
+                               \r
+                       default:\r
+                               sdTerminalEcho( (char) c );\r
+                               *p++ = (char) c;\r
+                               len++;\r
+                               break;\r
+               }\r
+               \r
+       }\r
+\r
+gotline:\r
+       sdDisableInput();\r
+\r
+/* NUL terminate line to simplify printing when debugging. */\r
+       if( len < maxChars ) p[len] = '\0';\r
+               \r
+       return len;\r
+}\r
+\r
+#define UNIMPLEMENTED(name) { MSG(name); MSG("is unimplemented!\n"); }\r
+\r
+\r
+/***********************************************************************************/\r
+/*********** File I/O **************************************************************/\r
+/***********************************************************************************/\r
+#ifdef PF_NO_FILEIO\r
+\r
+/* Provide stubs for standard file I/O */\r
+\r
+FileStream *PF_STDIN;\r
+FileStream *PF_STDOUT;\r
+\r
+int32  sdInputChar( FileStream *stream )\r
+{\r
+       UNIMPLEMENTED("sdInputChar");\r
+       TOUCH(stream);\r
+       return -1;\r
+}\r
+\r
+FileStream *sdOpenFile( const char *FileName, const char *Mode )\r
+{\r
+       UNIMPLEMENTED("sdOpenFile");\r
+       TOUCH(FileName);\r
+       TOUCH(Mode);\r
+       return NULL;\r
+}\r
+int32 sdFlushFile( FileStream * Stream  )\r
+{\r
+       TOUCH(Stream);\r
+       return 0;\r
+}\r
+int32 sdReadFile( void *ptr, int32 Size, int32 nItems, FileStream * Stream  ) \r
+{ \r
+       UNIMPLEMENTED("sdReadFile");\r
+       TOUCH(ptr);\r
+       TOUCH(Size);\r
+       TOUCH(nItems);\r
+       TOUCH(Stream);\r
+       return 0; \r
+}\r
+int32 sdWriteFile( void *ptr, int32 Size, int32 nItems, FileStream * Stream  )\r
+{ \r
+       UNIMPLEMENTED("sdWriteFile");\r
+       TOUCH(ptr);\r
+       TOUCH(Size);\r
+       TOUCH(nItems);\r
+       TOUCH(Stream);\r
+       return 0; \r
+}\r
+int32 sdSeekFile( FileStream * Stream, int32 Position, int32 Mode ) \r
+{ \r
+       UNIMPLEMENTED("sdSeekFile");\r
+       TOUCH(Stream);\r
+       TOUCH(Position);\r
+       TOUCH(Mode);\r
+       return 0; \r
+}\r
+int32 sdTellFile( FileStream * Stream ) \r
+{ \r
+       UNIMPLEMENTED("sdTellFile");\r
+       TOUCH(Stream);\r
+       return 0; \r
+}\r
+int32 sdCloseFile( FileStream * Stream ) \r
+{ \r
+       UNIMPLEMENTED("sdCloseFile");\r
+       TOUCH(Stream);\r
+       return 0; \r
+}\r
+#endif\r
+\r
diff --git a/csrc/pf_io.h b/csrc/pf_io.h
new file mode 100644 (file)
index 0000000..d4346cb
--- /dev/null
@@ -0,0 +1,155 @@
+/* @(#) pf_io.h 98/01/26 1.2 */\r
+#ifndef _pf_io_h\r
+#define _pf_io_h\r
+\r
+/***************************************************************\r
+** Include file for PForth IO\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#define PF_CHAR_XON    (0x11)\r
+#define PF_CHAR_XOFF   (0x13)   \r
+\r
+int  sdTerminalOut( char c );\r
+int  sdTerminalEcho( char c );\r
+int  sdTerminalFlush( void );\r
+int  sdTerminalIn( void );\r
+int  sdQueryTerminal( void );\r
+void sdTerminalInit( void );\r
+void sdTerminalTerm( void );\r
+\r
+void ioInit( void );\r
+void ioTerm( void );\r
+\r
+\r
+#ifdef PF_NO_CHARIO\r
+       void sdEnableInput( void );\r
+       void sdDisableInput( void );\r
+\r
+#else   /* PF_NO_CHARIO */\r
+       #ifdef PF_USER_CHARIO\r
+/* Get user prototypes or macros from include file.\r
+** API must match that defined above for the stubs.\r
+*/\r
+/* If your sdTerminalIn echos, define PF_KEY_ECHOS. */\r
+               #include PF_USER_CHARIO\r
+       #else\r
+               #define sdEnableInput()     /* sdTerminalOut( PF_CHAR_XON ) */\r
+               #define sdDisableInput()    /* sdTerminalOut( PF_CHAR_XOFF ) */\r
+               \r
+       #endif\r
+#endif   /* PF_NO_CHARIO */\r
+\r
+/* Define file access modes. */\r
+/* User can #undef and re#define using PF_USER_FILEIO if needed. */\r
+#define PF_FAM_READ_ONLY   (0)\r
+#define PF_FAM_READ_WRITE  (1)\r
+#define PF_FAM_WRITE_ONLY  (2)\r
+#define PF_FAM_BINARY_FLAG (8)\r
+\r
+#define PF_FAM_CREATE_WO      ("w")\r
+#define PF_FAM_CREATE_RW      ("w+")\r
+#define PF_FAM_OPEN_RO        ("r")\r
+#define PF_FAM_OPEN_RW        ("r+")\r
+#define PF_FAM_BIN_CREATE_WO  ("wb")\r
+#define PF_FAM_BIN_CREATE_RW  ("wb+")\r
+#define PF_FAM_BIN_OPEN_RO    ("rb")\r
+#define PF_FAM_BIN_OPEN_RW    ("rb+")\r
+\r
+#ifdef PF_NO_FILEIO\r
+\r
+       typedef void FileStream;\r
+\r
+       extern FileStream *PF_STDIN;\r
+       extern FileStream *PF_STDOUT;\r
+\r
+       #ifdef __cplusplus\r
+       extern "C" {\r
+       #endif\r
+       \r
+       /* Prototypes for stubs. */\r
+       FileStream *sdOpenFile( const char *FileName, const char *Mode );\r
+       int32 sdFlushFile( FileStream * Stream  );\r
+       int32 sdReadFile( void *ptr, int32 Size, int32 nItems, FileStream * Stream  );\r
+       int32 sdWriteFile( void *ptr, int32 Size, int32 nItems, FileStream * Stream  );\r
+       int32 sdSeekFile( FileStream * Stream, int32 Position, int32 Mode );\r
+       int32 sdTellFile( FileStream * Stream );\r
+       int32 sdCloseFile( FileStream * Stream );\r
+       int32 sdInputChar( FileStream *stream );\r
+       \r
+       #ifdef __cplusplus\r
+       }   \r
+       #endif\r
+       \r
+       #define  PF_SEEK_SET   (0)\r
+       #define  PF_SEEK_CUR   (1)\r
+       #define  PF_SEEK_END   (2)\r
+       /*\r
+       ** printf() is only used for debugging purposes.\r
+       ** It is not required for normal operation.\r
+       */\r
+       #define PRT(x) /* No printf(). */\r
+\r
+#else\r
+\r
+       #ifdef PF_USER_FILEIO\r
+/* Get user prototypes or macros from include file.\r
+** API must match that defined above for the stubs.\r
+*/\r
+               #include PF_USER_FILEIO\r
+               \r
+       #else\r
+               typedef FILE FileStream;\r
+\r
+               #define sdOpenFile      fopen\r
+               #define sdFlushFile     fflush\r
+               #define sdReadFile      fread\r
+               #define sdWriteFile     fwrite\r
+               #define sdSeekFile      fseek\r
+               #define sdTellFile      ftell\r
+               #define sdCloseFile     fclose\r
+               #define sdInputChar     fgetc\r
+               \r
+               #define PF_STDIN  ((FileStream *) stdin)\r
+               #define PF_STDOUT ((FileStream *) stdout)\r
+               \r
+               #define  PF_SEEK_SET   (0)\r
+               #define  PF_SEEK_CUR   (1)\r
+               #define  PF_SEEK_END   (2)\r
+               \r
+               /*\r
+               ** printf() is only used for debugging purposes.\r
+               ** It is not required for normal operation.\r
+               */\r
+               #define PRT(x) { printf x; sdFlushFile(PF_STDOUT); }\r
+       #endif\r
+\r
+#endif  /* PF_NO_FILEIO */\r
+\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+cell ioAccept( char *Target, cell n1 );\r
+cell ioKey( void);\r
+void ioEmit( char c );\r
+void ioType( const char *s, int32 n);\r
+\r
+#ifdef __cplusplus\r
+}   \r
+#endif\r
+\r
+#endif /* _pf_io_h */\r
diff --git a/csrc/pf_io_none.c b/csrc/pf_io_none.c
new file mode 100644 (file)
index 0000000..0c4d1b3
--- /dev/null
@@ -0,0 +1,49 @@
+/* $Id$ */\r
+/***************************************************************\r
+** I/O subsystem for PForth when NO CHARACTER I/O is supported.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 941004 PLB Extracted IO calls from pforth_main.c\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+\r
+\r
+#ifdef PF_NO_CHARIO\r
+int  sdTerminalOut( char c )\r
+{\r
+       TOUCH(c);\r
+       return 0;\r
+}\r
+int  sdTerminalEcho( char c )\r
+{\r
+       TOUCH(c);\r
+       return 0;\r
+}\r
+int  sdTerminalIn( void )\r
+{\r
+       return -1;\r
+}\r
+int  sdTerminalFlush( void )\r
+{\r
+       return -1;\r
+}\r
+void sdTerminalInit( void )\r
+{\r
+}\r
+void sdTerminalTerm( void )\r
+{\r
+}\r
+#endif\r
diff --git a/csrc/pf_main.c b/csrc/pf_main.c
new file mode 100644 (file)
index 0000000..9d8568d
--- /dev/null
@@ -0,0 +1,127 @@
+/* @(#) pf_main.c 98/01/26 1.2 */\r
+/***************************************************************\r
+** Forth based on 'C'\r
+**\r
+** main() routine that demonstrates how to call PForth as\r
+** a module from 'C' based application.\r
+** Customize this as needed for your application.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#if (defined(PF_NO_STDIO) || defined(PF_EMBEDDED))\r
+       #define NULL  ((void *) 0)\r
+       #define ERR(msg) /* { printf msg; } */\r
+#else\r
+       #include <stdio.h>\r
+       #define ERR(msg) { printf msg; }\r
+#endif\r
+\r
+#include "pforth.h"\r
+\r
+#ifndef PF_DEFAULT_DICTIONARY\r
+#define PF_DEFAULT_DICTIONARY "pforth.dic"\r
+#endif\r
+\r
+#ifdef __MWERKS__\r
+       #include <console.h>\r
+       #include <sioux.h>\r
+#endif\r
+\r
+#ifndef TRUE\r
+#define TRUE (1)\r
+#define FALSE (0)\r
+#endif\r
+\r
+#ifdef PF_EMBEDDED\r
+int main( void )\r
+{\r
+    char IfInit = 0; \r
+    const char *DicName = NULL;\r
+    const char *SourceName = NULL;\r
+    pfMessage("\npForth Embedded\n");\r
+    return pfDoForth( DicName, SourceName, IfInit);\r
+}\r
+#else\r
+\r
+int main( int argc, char **argv )\r
+{\r
+#ifdef PF_STATIC_DIC\r
+       const char *DicName = NULL;\r
+#else /* PF_STATIC_DIC */\r
+       const char *DicName = PF_DEFAULT_DICTIONARY;\r
+#endif /* !PF_STATIC_DIC */\r
+\r
+       const char *SourceName = NULL;\r
+       char IfInit = FALSE;\r
+       char *s;\r
+       int32 i;\r
+       int Result;\r
+\r
+/* For Metroworks on Mac */\r
+#ifdef __MWERKS__\r
+       argc = ccommand(&argv);\r
+#endif\r
+\r
+/* Parse command line. */\r
+       for( i=1; i<argc; i++ )\r
+       {\r
+               s = argv[i];\r
+\r
+               if( *s == '-' )\r
+               {\r
+                       char c;\r
+                       s++; /* past '-' */\r
+                       c = *s++;\r
+                       switch(c)\r
+                       {\r
+                       case 'i':\r
+                               IfInit = TRUE;\r
+                               DicName = NULL;\r
+                               break;\r
+                       case 'q':\r
+                               pfSetQuiet( TRUE );\r
+                               break;\r
+                       case 'd':\r
+                               if( *s != '\0' ) DicName = s;\r
+                               else DicName = PF_DEFAULT_DICTIONARY;\r
+                               break;\r
+                       default:\r
+                               ERR(("Unrecognized option!\n"));\r
+                               ERR(("pforth {-i} {-q} {-dfilename.dic} {sourcefilename}\n"));\r
+                               Result = 1;\r
+                               goto on_error;\r
+                               break;\r
+                       }\r
+               }\r
+               else\r
+               {\r
+                       SourceName = s;\r
+               }\r
+       }\r
+/* Force Init */\r
+#ifdef PF_INIT_MODE\r
+       IfInit = TRUE;\r
+       DicName = NULL;\r
+#endif\r
+\r
+       Result = pfDoForth( DicName, SourceName, IfInit);\r
+\r
+on_error:\r
+       return Result;\r
+}\r
+\r
+#endif  /* PF_EMBEDDED */\r
+\r
+\r
diff --git a/csrc/pf_mem.c b/csrc/pf_mem.c
new file mode 100644 (file)
index 0000000..9b941aa
--- /dev/null
@@ -0,0 +1,366 @@
+/***************************************************************\r
+** Memory allocator for systems that don't have real one.\r
+** This might be useful when bringing up a new computer with no OS.\r
+**\r
+** For PForth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+**\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+\r
+\r
+#ifdef PF_NO_MALLOC\r
+\r
+static char  *gMemPoolPtr;\r
+static uint32 gMemPoolSize;\r
+\r
+/* CUSTOM: Make the memory pool bigger if you want. */\r
+#ifndef PF_MEM_POOL_SIZE\r
+       #define PF_MEM_POOL_SIZE (0x100000)\r
+#endif\r
+\r
+#define PF_MEM_BLOCK_SIZE (16)\r
+\r
+#ifndef PF_MALLOC_ADDRESS\r
+       static char MemoryPool[PF_MEM_POOL_SIZE];\r
+       #define PF_MALLOC_ADDRESS MemoryPool\r
+#endif\r
+\r
+/**********************************************************\r
+** Doubly Linked List Tools\r
+**********************************************************/\r
+\r
+typedef struct DoublyLinkedListNode_s\r
+{\r
+       struct DoublyLinkedListNode_s *dlln_Next;\r
+       struct DoublyLinkedListNode_s *dlln_Previous;\r
+} DoublyLinkedListNode;\r
+\r
+typedef struct DoublyLinkedList_s\r
+{\r
+       DoublyLinkedListNode *dll_First;\r
+       DoublyLinkedListNode *dll_Null;\r
+       DoublyLinkedListNode *dll_Last;\r
+} DoublyLinkedList;\r
+\r
+#define dllPreviousNode(n) ((n)->dlln_Previous)\r
+#define dllNextNode(n) ((n)->dlln_Next)\r
+\r
+void dllSetupList( DoublyLinkedList *dll )\r
+{\r
+       dll->dll_First = &(dll->dll_Null);\r
+       dll->dll_Null = (DoublyLinkedListNode *) NULL;\r
+       dll->dll_Last = &(dll->dll_First);\r
+}\r
+\r
+void dllLinkNodes( DoublyLinkedListNode *Node0, DoublyLinkedListNode *Node1 )\r
+{\r
+       Node0->dlln_Next = Node1;\r
+       Node1->dlln_Previous = Node0;\r
+}\r
+\r
+void dllInsertNodeBefore( DoublyLinkedListNode *NewNodePtr,\r
+       DoublyLinkedListNode *NodeInListPtr )\r
+{\r
+       DoublyLinkedListNode *NodePreviousPtr = dllPreviousNode( NodeInListPtr );\r
+       dllLinkNodes( NodePreviousPtr, NewNodePtr );\r
+       dllLinkNodes( NewNodePtr, NodeInListPtr );\r
+}\r
+\r
+void dllInsertNodeAfter( DoublyLinkedListNode *NewNodePtr,\r
+       DoublyLinkedListNode *NodeInListPtr )\r
+{\r
+       DoublyLinkedListNode *NodeNextPtr = dllNextNode( NodeInListPtr );\r
+       dllLinkNodes( NodeInListPtr, NewNodePtr );\r
+       dllLinkNodes( NewNodePtr, NodeNextPtr );\r
+}\r
+\r
+void dllDumpNode( DoublyLinkedListNode *NodePtr )\r
+{\r
+       TOUCH(NodePtr);\r
+       DBUG(("  0x%x -> (0x%x) -> 0x%x\n",\r
+               dllPreviousNode( NodePtr ), NodePtr,\r
+               dllNextNode( NodePtr ) ));\r
+}\r
+\r
+int32 dllCheckNode( DoublyLinkedListNode *NodePtr )\r
+{\r
+       if( (NodePtr->dlln_Next->dlln_Previous != NodePtr) ||\r
+           (NodePtr->dlln_Previous->dlln_Next != NodePtr))\r
+       {\r
+               ERR("dllCheckNode: Bad Node!\n");\r
+               dllDumpNode( dllPreviousNode( NodePtr ) );\r
+               dllDumpNode( NodePtr );\r
+               dllDumpNode( dllNextNode( NodePtr ) );\r
+               return -1;\r
+       }\r
+       else\r
+       {\r
+               return 0;\r
+       }\r
+}\r
+void dllRemoveNode( DoublyLinkedListNode *NodePtr )\r
+{\r
+       if( dllCheckNode( NodePtr ) == 0 )\r
+       {\r
+               dllLinkNodes( dllPreviousNode( NodePtr ), dllNextNode( NodePtr ) );\r
+       }\r
+}\r
+\r
+void dllAddNodeToHead( DoublyLinkedList *ListPtr, DoublyLinkedListNode *NewNodePtr )\r
+{\r
+       dllInsertNodeBefore( NewNodePtr, ListPtr->dll_First );\r
+}\r
+\r
+void dllAddNodeToTail( DoublyLinkedList *ListPtr, DoublyLinkedListNode *NewNodePtr )\r
+{\r
+       dllInsertNodeAfter( NewNodePtr, ListPtr->dll_Last );\r
+}\r
+\r
+#define dllIsNodeInList( n ) (!((n)->dlln_Next == NULL) )\r
+#define dllIsLastNode( n ) ((n)->dlln_Next->dll_nNext == NULL )\r
+#define dllIsListEmpty( l ) ((l)->dll_First == ((DoublyLinkedListNode *) &((l)->dll_Null)) )\r
+#define dllFirstNode( l ) ((l)->dll_First)\r
+\r
+static DoublyLinkedList gMemList;\r
+\r
+typedef struct MemListNode\r
+{\r
+       DoublyLinkedListNode  mln_Node;\r
+       int32                 mln_Size;\r
+} MemListNode;\r
+\r
+#ifdef PF_DEBUG\r
+/***************************************************************\r
+** Dump memory list.\r
+*/\r
+void maDumpList( void )\r
+{\r
+       MemListNode *mln;\r
+       \r
+       MSG("PForth MemList\n");\r
+       \r
+       for( mln = (MemListNode *) dllFirstNode( &gMemList );\r
+            dllIsNodeInList( (DoublyLinkedListNode *) mln);\r
+                mln = (MemListNode *) dllNextNode( (DoublyLinkedListNode *) mln ) )\r
+       {\r
+               MSG("  Node at = 0x"); ffDotHex(mln);\r
+               MSG_NUM_H(", size = 0x", mln->mln_Size);\r
+       }\r
+}\r
+#endif\r
+\r
+\r
+/***************************************************************\r
+** Free mem of any size.\r
+*/\r
+static void pfFreeRawMem( char *Mem, int32 NumBytes )\r
+{\r
+       MemListNode *mln, *FreeNode;\r
+       MemListNode *AdjacentLower = NULL;\r
+       MemListNode *AdjacentHigher = NULL;\r
+       MemListNode *NextBiggest = NULL;\r
+       \r
+/* Allocate in whole blocks of 16 bytes */\r
+       DBUG(("\npfFreeRawMem( 0x%x, 0x%x )\n", Mem, NumBytes ));\r
+       NumBytes = (NumBytes + PF_MEM_BLOCK_SIZE - 1) & ~(PF_MEM_BLOCK_SIZE - 1);\r
+       DBUG(("\npfFreeRawMem: Align NumBytes to 0x%x\n", NumBytes ));\r
+       \r
+/* Check memory alignment. */\r
+       if( ( ((int32)Mem) & (PF_MEM_BLOCK_SIZE - 1)) != 0)\r
+       {\r
+               MSG_NUM_H("pfFreeRawMem: misaligned Mem = 0x", (int32) Mem );\r
+               return;\r
+       }\r
+       \r
+/* Scan list from low to high looking for various nodes. */\r
+       for( mln = (MemListNode *) dllFirstNode( &gMemList );\r
+            dllIsNodeInList( (DoublyLinkedListNode *) mln);\r
+                mln = (MemListNode *) dllNextNode( (DoublyLinkedListNode *) mln ) )\r
+       {\r
+               if( (((char *) mln) + mln->mln_Size) == Mem )\r
+               {\r
+                       AdjacentLower = mln;\r
+               }\r
+               else if( ((char *) mln) == ( Mem + NumBytes ))\r
+               {\r
+                       AdjacentHigher = mln;\r
+               }\r
+/* is this the next biggest node. */\r
+               else if( (NextBiggest == NULL) && (mln->mln_Size >= NumBytes) )\r
+               {\r
+                       NextBiggest = mln;\r
+               }\r
+       }\r
+       \r
+/* Check to see if we can merge nodes. */\r
+       if( AdjacentHigher )\r
+       {\r
+DBUG((" Merge (0x%x) -> 0x%x\n", Mem, AdjacentHigher ));\r
+               NumBytes += AdjacentHigher->mln_Size;\r
+               dllRemoveNode( (DoublyLinkedListNode *) AdjacentHigher );\r
+       }\r
+       if( AdjacentLower )\r
+       {\r
+DBUG((" Merge 0x%x -> (0x%x)\n", AdjacentLower, Mem ));\r
+               AdjacentLower->mln_Size += NumBytes;\r
+       }\r
+       else\r
+       {\r
+DBUG((" Link before 0x%x\n", NextBiggest ));\r
+               FreeNode = (MemListNode *) Mem;\r
+               FreeNode->mln_Size = NumBytes;\r
+               if( NextBiggest == NULL )\r
+               {\r
+/* Nothing bigger so add to end of list. */\r
+                       dllAddNodeToTail( &gMemList, (DoublyLinkedListNode *) FreeNode );\r
+               }\r
+               else\r
+               {\r
+/* Add this node before the next biggest one we found. */\r
+                       dllInsertNodeBefore( (DoublyLinkedListNode *) FreeNode,\r
+                               (DoublyLinkedListNode *) NextBiggest );\r
+               }\r
+       }\r
+       \r
+/*     maDumpList(); */\r
+}\r
+\r
+\r
+\r
+/***************************************************************\r
+** Setup memory list. Initialize allocator.\r
+*/\r
+static void pfInitMemBlock( void *addr, uint32 poolSize )\r
+{\r
+       char *AlignedMemory;\r
+       int32 AlignedSize;\r
+\r
+       pfDebugMessage("pfInitMemBlock()\n");\r
+/* Set globals. */\r
+       gMemPoolPtr = addr;\r
+       gMemPoolSize = poolSize;\r
+       \r
+       dllSetupList( &gMemList );\r
+       \r
+/* Adjust to next highest aligned memory location. */\r
+       AlignedMemory = (char *) ((((int32)gMemPoolPtr) + PF_MEM_BLOCK_SIZE - 1) &\r
+                         ~(PF_MEM_BLOCK_SIZE - 1));\r
+                                         \r
+/* Adjust size to reflect aligned memory. */\r
+       AlignedSize = gMemPoolSize - (AlignedMemory - gMemPoolPtr);\r
+       \r
+/* Align size of pool. */\r
+       AlignedSize = AlignedSize & ~(PF_MEM_BLOCK_SIZE - 1);\r
+       \r
+/* Free to pool. */\r
+       pfFreeRawMem( AlignedMemory, AlignedSize );\r
+       \r
+}\r
+\r
+/***************************************************************\r
+** Allocate mem from list of free nodes.\r
+*/\r
+static char *pfAllocRawMem( int32 NumBytes )\r
+{\r
+       char *Mem = NULL;\r
+       MemListNode *mln;\r
+       pfDebugMessage("pfAllocRawMem()\n");\r
+       \r
+       if( NumBytes <= 0 ) return NULL;\r
+       \r
+/* Allocate in whole blocks of 16 bytes */\r
+       NumBytes = (NumBytes + PF_MEM_BLOCK_SIZE - 1) & ~(PF_MEM_BLOCK_SIZE - 1);\r
+       \r
+       DBUG(("\npfAllocRawMem( 0x%x )\n", NumBytes ));\r
+       \r
+/* Scan list from low to high until we find a node big enough. */\r
+       for( mln = (MemListNode *) dllFirstNode( &gMemList );\r
+            dllIsNodeInList( (DoublyLinkedListNode *) mln);\r
+                mln = (MemListNode *) dllNextNode( (DoublyLinkedListNode *) mln ) )\r
+       {\r
+               if( mln->mln_Size >= NumBytes )\r
+               {\r
+                       int32 RemSize;\r
+\r
+                       Mem = (char *) mln;\r
+                       \r
+/* Remove this node from list. */\r
+                       dllRemoveNode( (DoublyLinkedListNode *) mln );\r
+                       \r
+/* Is there enough left in block to make it worth splitting? */\r
+                       RemSize = mln->mln_Size - NumBytes;\r
+                       if( RemSize >= PF_MEM_BLOCK_SIZE )\r
+                       {\r
+                               pfFreeRawMem( (Mem + NumBytes), RemSize );\r
+                       }\r
+                       break;\r
+               }\r
+                               \r
+       }\r
+/*     maDumpList(); */\r
+       DBUG(("Allocate mem at 0x%x.\n", Mem ));\r
+       return Mem;\r
+}\r
+\r
+/***************************************************************\r
+** Keep mem size at first cell.\r
+*/\r
+char *pfAllocMem( int32 NumBytes )\r
+{\r
+       int32 *IntMem;\r
+       \r
+       if( NumBytes <= 0 ) return NULL;\r
+       \r
+/* Allocate an extra cell for size. */\r
+       NumBytes += sizeof(int32);\r
+       \r
+       IntMem = (int32 *)pfAllocRawMem( NumBytes );\r
+       \r
+       if( IntMem != NULL ) *IntMem++ = NumBytes;\r
+       \r
+       return (char *) IntMem;\r
+}\r
+\r
+/***************************************************************\r
+** Free mem with mem size at first cell.\r
+*/\r
+void pfFreeMem( void *Mem )\r
+{\r
+       int32 *IntMem;\r
+       int32 NumBytes;\r
+       \r
+       if( Mem == NULL ) return;\r
+       \r
+/* Allocate an extra cell for size. */\r
+       IntMem = (int32 *) Mem;\r
+       IntMem--;\r
+       NumBytes = *IntMem;\r
+       \r
+       pfFreeRawMem( (char *) IntMem, NumBytes );\r
+       \r
+}\r
+\r
+void pfInitMemoryAllocator( void )\r
+{\r
+       pfInitMemBlock( PF_MALLOC_ADDRESS, PF_MEM_POOL_SIZE );\r
+}\r
+#else /* PF_NO_MALLOC */\r
+\r
+int not_an_empty_file;  /* Stops nasty compiler warnings when PF_NO_MALLOC not defined. */\r
+\r
+#endif /* PF_NO_MALLOC */\r
diff --git a/csrc/pf_mem.h b/csrc/pf_mem.h
new file mode 100644 (file)
index 0000000..9fdadc2
--- /dev/null
@@ -0,0 +1,47 @@
+/* @(#) pf_mem.h 98/01/26 1.3 */\r
+#ifndef _pf_mem_h\r
+#define _pf_mem_h\r
+\r
+/***************************************************************\r
+** Include file for PForth Fake Memory Allocator\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+***************************************************************/\r
+\r
+#ifdef PF_NO_MALLOC\r
+\r
+       #ifdef __cplusplus\r
+       extern "C" {\r
+       #endif\r
+\r
+       void  pfInitMemoryAllocator( void );\r
+       char *pfAllocMem( int32 NumBytes );\r
+       void  pfFreeMem( void *Mem );\r
+\r
+       #ifdef __cplusplus\r
+       }   \r
+       #endif\r
+\r
+#else\r
+\r
+       #ifdef PF_USER_MALLOC\r
+/* Get user prototypes or macros from include file.\r
+** API must match that defined above for the stubs.\r
+*/\r
+               #include PF_USER_MALLOC\r
+       #else\r
+               #define pfInitMemoryAllocator()\r
+               #define pfAllocMem malloc\r
+               #define pfFreeMem free\r
+       #endif\r
+       \r
+#endif /* PF_NO_MALLOC */\r
+\r
+#endif /* _pf_mem_h */\r
diff --git a/csrc/pf_save.c b/csrc/pf_save.c
new file mode 100644 (file)
index 0000000..410a2ae
--- /dev/null
@@ -0,0 +1,758 @@
+/* @(#) pf_save.c 98/01/26 1.3 */\r
+/***************************************************************\r
+** Save and Load Dictionary\r
+** for PForth based on 'C'\r
+**\r
+** Compile file based version or static data based version\r
+** depending on PF_NO_FILEIO switch.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 940225 PLB Fixed CodePtr save, was using NAMEREL instead of CODEREL\r
+**            This would only work if the relative location\r
+**            of names and code was the same when saved and reloaded.\r
+** 940228 PLB Added PF_NO_FILEIO version\r
+** 961204 PLB Added PF_STATIC_DIC\r
+** 000623 PLB Cast chars as uint32 before shifting for 16 bit systems.\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+\r
+/* If no File I/O, then force static dictionary. */\r
+#ifdef PF_NO_FILEIO\r
+       #ifndef PF_STATIC_DIC\r
+               #define PF_STATIC_DIC\r
+       #endif\r
+#endif\r
+\r
+#ifdef PF_STATIC_DIC\r
+       #include "pfdicdat.h"\r
+#endif\r
+\r
+/*\r
+Dictionary File Format based on IFF standard.\r
+The chunk IDs, sizes, and data values are all Big Endian in conformance with the IFF standard.\r
+The dictionaries may be big or little endian.\r
+       'FORM'\r
+       size\r
+       'P4TH'  -  Form Identifier\r
+\r
+Chunks\r
+       'P4DI'\r
+       size\r
+       struct DictionaryInfoChunk\r
+\r
+       'P4NM'\r
+       size\r
+       Name and Header portion of dictionary. (Big or Little Endian) (Optional)\r
+\r
+       'P4CD'\r
+       size\r
+       Code portion of dictionary. (Big or Little Endian) \r
+*/\r
+\r
+\r
+/***************************************************************/\r
+/* Endian-ness tools. */\r
+uint32 ReadLongBigEndian( const uint32 *addr )\r
+{\r
+       const unsigned char *bp = (const unsigned char *) addr;\r
+/* We must cast char to uint32 before shifting because\r
+** of systems with 16 bit ints. 000623 */\r
+       uint32 temp = ((uint32)bp[0])<<24;\r
+       temp |= ((uint32)bp[1])<<16;\r
+       temp |= ((uint32)bp[2])<<8;\r
+       temp |= ((uint32)bp[3]);\r
+       return temp;\r
+}\r
+/***************************************************************/\r
+uint16 ReadShortBigEndian( const uint16 *addr )\r
+{\r
+       const unsigned char *bp = (const unsigned char *) addr;\r
+       return (uint16) ((bp[0]<<8) | bp[1]);\r
+}\r
+\r
+/***************************************************************/\r
+uint32 ReadLongLittleEndian( const uint32 *addr )\r
+{\r
+       const unsigned char *bp = (const unsigned char *) addr;\r
+/* We must cast char to uint32 before shifting because\r
+** of systems with 16 bit ints. 000623 */\r
+       uint32 temp = ((uint32)bp[3])<<24;\r
+       temp |= ((uint32)bp[2])<<16;\r
+       temp |= ((uint32)bp[1])<<8;\r
+       temp |= ((uint32)bp[0]);\r
+       return temp;\r
+}\r
+/***************************************************************/\r
+uint16 ReadShortLittleEndian( const uint16 *addr )\r
+{\r
+       const unsigned char *bp = (const unsigned char *) addr;\r
+       return (uint16) ((bp[1]<<8) | bp[0]);\r
+}\r
+\r
+#ifdef PF_SUPPORT_FP\r
+\r
+/***************************************************************/\r
+static void ReverseCopyFloat( const PF_FLOAT *src, PF_FLOAT *dst );\r
+\r
+static void ReverseCopyFloat( const PF_FLOAT *src, PF_FLOAT *dst )\r
+{\r
+       int i;\r
+       unsigned char *d = (unsigned char *) dst;\r
+       const unsigned char *s = (const unsigned char *) src;\r
+\r
+       for( i=0; i<sizeof(PF_FLOAT); i++ )\r
+       {\r
+               d[i] = s[sizeof(PF_FLOAT) - 1 - i];\r
+       }\r
+}\r
+\r
+/***************************************************************/\r
+void WriteFloatBigEndian( PF_FLOAT *addr, PF_FLOAT data )\r
+{\r
+       if( IsHostLittleEndian() )\r
+       {\r
+               ReverseCopyFloat( &data, addr );\r
+       }\r
+       else\r
+       {\r
+               *addr = data;\r
+       }\r
+}\r
+\r
+/***************************************************************/\r
+PF_FLOAT ReadFloatBigEndian( const PF_FLOAT *addr )\r
+{\r
+       PF_FLOAT data;\r
+       if( IsHostLittleEndian() )\r
+       {\r
+               ReverseCopyFloat( addr, &data );\r
+               return data;\r
+       }\r
+       else\r
+       {\r
+               return *addr;\r
+       }\r
+}\r
+\r
+/***************************************************************/\r
+void WriteFloatLittleEndian( PF_FLOAT *addr, PF_FLOAT data )\r
+{\r
+       if( IsHostLittleEndian() )\r
+       {\r
+               *addr = data;\r
+       }\r
+       else\r
+       {\r
+               ReverseCopyFloat( &data, addr );\r
+       }\r
+}\r
+\r
+/***************************************************************/\r
+PF_FLOAT ReadFloatLittleEndian( const PF_FLOAT *addr )\r
+{\r
+       PF_FLOAT data;\r
+       if( IsHostLittleEndian() )\r
+       {\r
+               return *addr;\r
+       }\r
+       else\r
+       {\r
+               ReverseCopyFloat( addr, &data );\r
+               return data;\r
+       }\r
+}\r
+\r
+#endif /* PF_SUPPORT_FP */\r
+\r
+/***************************************************************/\r
+void WriteLongBigEndian( uint32 *addr, uint32 data )\r
+{\r
+       unsigned char *bp = (unsigned char *) addr;\r
+\r
+       bp[0] = (unsigned char) (data>>24);\r
+       bp[1] = (unsigned char) (data>>16);\r
+       bp[2] = (unsigned char) (data>>8);\r
+       bp[3] = (unsigned char) (data);\r
+}\r
+\r
+/***************************************************************/\r
+void WriteShortBigEndian( uint16 *addr, uint16 data )\r
+{\r
+       unsigned char *bp = (unsigned char *) addr;\r
+\r
+       bp[0] = (unsigned char) (data>>8);\r
+       bp[1] = (unsigned char) (data);\r
+}\r
+\r
+/***************************************************************/\r
+void WriteLongLittleEndian( uint32 *addr, uint32 data )\r
+{\r
+       unsigned char *bp = (unsigned char *) addr;\r
+\r
+       bp[0] = (unsigned char) (data);\r
+       bp[1] = (unsigned char) (data>>8);\r
+       bp[2] = (unsigned char) (data>>16);\r
+       bp[3] = (unsigned char) (data>>24);\r
+}\r
+/***************************************************************/\r
+void WriteShortLittleEndian( uint16 *addr, uint16 data )\r
+{\r
+       unsigned char *bp = (unsigned char *) addr;\r
+\r
+       bp[0] = (unsigned char) (data);\r
+       bp[1] = (unsigned char) (data>>8);\r
+}\r
+\r
+/***************************************************************/\r
+/* Return 1 if host CPU is Little Endian */\r
+int IsHostLittleEndian( void )\r
+{\r
+    static int gEndianCheck = 1;\r
+       unsigned char *bp = (unsigned char *) &gEndianCheck;\r
+       return (int) (*bp); /* Return byte pointed to by address. If LSB then == 1 */\r
+}\r
+\r
+#if defined(PF_NO_FILEIO) || defined(PF_NO_SHELL)\r
+\r
+int32 ffSaveForth( const char *FileName, ExecToken EntryPoint, int32 NameSize, int32 CodeSize)\r
+{\r
+       TOUCH(FileName);\r
+       TOUCH(EntryPoint);\r
+       TOUCH(NameSize);\r
+       TOUCH(CodeSize);\r
+\r
+       pfReportError("ffSaveForth", PF_ERR_NOT_SUPPORTED);\r
+       return -1;\r
+}\r
+\r
+#else /* PF_NO_FILEIO or PF_NO_SHELL */\r
+\r
+/***************************************************************/\r
+static int32 WriteLong( FileStream *fid, int32 Val )\r
+{\r
+       int32 numw;\r
+       uint32 pad;\r
+\r
+       WriteLongBigEndian(&pad,Val);\r
+       numw = sdWriteFile( (char *) &pad, 1, sizeof(int32), fid );\r
+       if( numw != sizeof(int32) ) return -1;\r
+       return 0;\r
+}\r
+\r
+/***************************************************************/\r
+static int32 WriteChunk( FileStream *fid, int32 ID, char *Data, int32 NumBytes )\r
+{\r
+       int32 numw;\r
+       int32 EvenNumW;\r
+\r
+       EvenNumW = EVENUP(NumBytes);\r
+\r
+       if( WriteLong( fid, ID ) < 0 ) goto error;\r
+       if( WriteLong( fid, EvenNumW ) < 0 ) goto error;\r
+\r
+       numw = sdWriteFile( Data, 1, EvenNumW, fid );\r
+       if( numw != EvenNumW ) goto error;\r
+       return 0;\r
+error:\r
+       pfReportError("WriteChunk", PF_ERR_WRITE_FILE);\r
+       return -1;\r
+}\r
+\r
+/****************************************************************\r
+** Save Dictionary in File.\r
+** If EntryPoint is NULL, save as development environment.\r
+** If EntryPoint is non-NULL, save as turnKey environment with no names.\r
+*/\r
+int32 ffSaveForth( const char *FileName, ExecToken EntryPoint, int32 NameSize, int32 CodeSize)\r
+{\r
+       FileStream *fid;\r
+       DictionaryInfoChunk SD;\r
+       int32 FormSize;\r
+       int32 NameChunkSize = 0;\r
+       int32 CodeChunkSize;\r
+       uint32 rhp, rcp;\r
+       uint32 *p;\r
+       int   i;\r
+\r
+       fid = sdOpenFile( FileName, "wb" );\r
+       if( fid == NULL )\r
+       {\r
+               pfReportError("pfSaveDictionary", PF_ERR_OPEN_FILE);\r
+               return -1;\r
+       }\r
+\r
+/* Save in uninitialized form. */\r
+       pfExecIfDefined("AUTO.TERM");\r
+\r
+/* Write FORM Header ---------------------------- */\r
+       if( WriteLong( fid, ID_FORM ) < 0 ) goto error;\r
+       if( WriteLong( fid, 0 ) < 0 ) goto error;\r
+       if( WriteLong( fid, ID_P4TH ) < 0 ) goto error;\r
+\r
+/* Write P4DI Dictionary Info  ------------------ */\r
+       SD.sd_Version = PF_FILE_VERSION;\r
+\r
+       rcp = ABS_TO_CODEREL(gCurrentDictionary->dic_CodePtr.Byte); /* 940225 */\r
+       SD.sd_RelCodePtr = rcp; \r
+       SD.sd_UserStackSize = sizeof(cell) * (gCurrentTask->td_StackBase - gCurrentTask->td_StackLimit);\r
+       SD.sd_ReturnStackSize = sizeof(cell) * (gCurrentTask->td_ReturnBase - gCurrentTask->td_ReturnLimit);\r
+       SD.sd_NumPrimitives = gNumPrimitives;  /* Must match compiled dictionary. */\r
+\r
+#ifdef PF_SUPPORT_FP\r
+       SD.sd_FloatSize = sizeof(PF_FLOAT);  /* Must match compiled dictionary. */\r
+#else\r
+       SD.sd_FloatSize = 0;\r
+#endif\r
+\r
+       SD.sd_Reserved = 0;\r
+\r
+/* Set bit that specifiec whether dictionary is BIG or LITTLE Endian. */\r
+       {\r
+#if defined(PF_BIG_ENDIAN_DIC)\r
+               int eflag = SD_F_BIG_ENDIAN_DIC;\r
+#elif defined(PF_LITTLE_ENDIAN_DIC)\r
+               int eflag = 0;\r
+#else\r
+               int eflag = IsHostLittleEndian() ? 0 : SD_F_BIG_ENDIAN_DIC;\r
+#endif\r
+               SD.sd_Flags = eflag;\r
+       }\r
+\r
+       if( EntryPoint )\r
+       {\r
+               SD.sd_EntryPoint = EntryPoint;  /* Turnkey! */\r
+       }\r
+       else\r
+       {\r
+               SD.sd_EntryPoint = 0;\r
+       }\r
+\r
+/* Do we save names? */\r
+       if( NameSize == 0 )\r
+       {\r
+               SD.sd_RelContext = 0;\r
+               SD.sd_RelHeaderPtr = 0;\r
+               SD.sd_NameSize = 0;\r
+       }\r
+       else\r
+       {\r
+/* Development mode. */\r
+               SD.sd_RelContext = ABS_TO_NAMEREL(gVarContext);\r
+               rhp = ABS_TO_NAMEREL(gCurrentDictionary->dic_HeaderPtr.Byte);\r
+               SD.sd_RelHeaderPtr = rhp;\r
+\r
+/* How much real name space is there? */\r
+               NameChunkSize = QUADUP(rhp);  /* Align */\r
+\r
+/* NameSize must be 0 or greater than NameChunkSize + 1K */\r
+               NameSize = QUADUP(NameSize);  /* Align */\r
+               if( NameSize > 0 )\r
+               {\r
+                       NameSize = MAX( NameSize, (NameChunkSize + 1024) );\r
+               }\r
+               SD.sd_NameSize = NameSize;\r
+       }\r
+\r
+/* How much real code is there? */\r
+       CodeChunkSize = QUADUP(rcp);\r
+       CodeSize = QUADUP(CodeSize);  /* Align */\r
+       CodeSize = MAX( CodeSize, (CodeChunkSize + 2048) );\r
+       SD.sd_CodeSize = CodeSize;\r
+\r
+       \r
+/* Convert all fields in structure from Native to BigEndian. */\r
+       p = (uint32 *) &SD;\r
+       for( i=0; i<((int)(sizeof(SD)/sizeof(int32))); i++ )\r
+       {\r
+               WriteLongBigEndian( &p[i], p[i] );\r
+       }\r
+\r
+       if( WriteChunk( fid, ID_P4DI, (char *) &SD, sizeof(DictionaryInfoChunk) ) < 0 ) goto error;\r
+\r
+/* Write Name Fields if NameSize non-zero ------- */\r
+       if( NameSize > 0 )\r
+       {\r
+               if( WriteChunk( fid, ID_P4NM, (char *) NAME_BASE,\r
+                       NameChunkSize ) < 0 ) goto error;\r
+       }\r
+\r
+/* Write Code Fields ---------------------------- */\r
+       if( WriteChunk( fid, ID_P4CD, (char *) CODE_BASE,\r
+               CodeChunkSize ) < 0 ) goto error;\r
+\r
+       FormSize = sdTellFile( fid ) - 8;\r
+       sdSeekFile( fid, 4, PF_SEEK_SET );\r
+       if( WriteLong( fid, FormSize ) < 0 ) goto error;\r
+\r
+       sdCloseFile( fid );\r
+\r
+\r
+\r
+/* Restore initialization. */\r
+\r
+       pfExecIfDefined("AUTO.INIT");\r
+\r
+       return 0;\r
+\r
+error:\r
+       sdSeekFile( fid, 0, PF_SEEK_SET );\r
+       WriteLong( fid, ID_BADF ); /* Mark file as bad. */\r
+       sdCloseFile( fid );\r
+\r
+/* Restore initialization. */\r
+\r
+       pfExecIfDefined("AUTO.INIT");\r
+\r
+       return -1;\r
+}\r
+\r
+#endif /* !PF_NO_FILEIO and !PF_NO_SHELL */\r
+\r
+\r
+#ifndef PF_NO_FILEIO\r
+\r
+/***************************************************************/\r
+static int32 ReadLong( FileStream *fid, int32 *ValPtr )\r
+{\r
+       int32 numr;\r
+       uint32 temp;\r
+\r
+       numr = sdReadFile( &temp, 1, sizeof(int32), fid );\r
+       if( numr != sizeof(int32) ) return -1;\r
+       *ValPtr = ReadLongBigEndian( &temp );\r
+       return 0;\r
+}\r
+\r
+/***************************************************************/\r
+PForthDictionary pfLoadDictionary( const char *FileName, ExecToken *EntryPointPtr )\r
+{\r
+       pfDictionary_t *dic = NULL;\r
+       FileStream *fid;\r
+       DictionaryInfoChunk *sd;\r
+       int32 ChunkID;\r
+       int32 ChunkSize;\r
+       int32 FormSize;\r
+       int32 BytesLeft;\r
+       int32 numr;\r
+       uint32 *p;\r
+       int   i;\r
+       int   isDicBigEndian;\r
+\r
+DBUG(("pfLoadDictionary( %s )\n", FileName ));\r
+\r
+/* Open file. */\r
+       fid = sdOpenFile( FileName, "rb" );\r
+       if( fid == NULL )\r
+       {\r
+               pfReportError("pfLoadDictionary", PF_ERR_OPEN_FILE);\r
+               goto xt_error;\r
+       }\r
+\r
+/* Read FORM, Size, ID */\r
+       if (ReadLong( fid, &ChunkID ) < 0) goto read_error;\r
+       if( ChunkID != ID_FORM )\r
+       {\r
+               pfReportError("pfLoadDictionary", PF_ERR_WRONG_FILE);\r
+               goto error;\r
+       }\r
+\r
+       if (ReadLong( fid, &FormSize ) < 0) goto read_error;\r
+       BytesLeft = FormSize;\r
+\r
+       if (ReadLong( fid, &ChunkID ) < 0) goto read_error;\r
+       BytesLeft -= 4;\r
+       if( ChunkID != ID_P4TH )\r
+       {\r
+               pfReportError("pfLoadDictionary", PF_ERR_BAD_FILE);\r
+               goto error;\r
+       }\r
+\r
+/* Scan and parse all chunks in file. */\r
+       while( BytesLeft > 0 )\r
+       {\r
+               if (ReadLong( fid, &ChunkID ) < 0) goto read_error;\r
+               if (ReadLong( fid, &ChunkSize ) < 0) goto read_error;\r
+               BytesLeft -= 8;\r
+\r
+               DBUG(("ChunkID = %4s, Size = %d\n", &ChunkID, ChunkSize ));\r
+\r
+               switch( ChunkID )\r
+               {\r
+               case ID_P4DI:\r
+                       sd = (DictionaryInfoChunk *) pfAllocMem( ChunkSize );\r
+                       if( sd == NULL ) goto nomem_error;\r
+\r
+                       numr = sdReadFile( sd, 1, ChunkSize, fid );\r
+                       if( numr != ChunkSize ) goto read_error;\r
+                       BytesLeft -= ChunkSize;\r
+                       \r
+/* Convert all fields in structure from BigEndian to Native. */\r
+                       p = (uint32 *) sd;\r
+                       for( i=0; i<((int)(sizeof(*sd)/sizeof(int32))); i++ )\r
+                       {\r
+                               p[i] = ReadLongBigEndian( &p[i] );\r
+                       }\r
+\r
+                       isDicBigEndian = sd->sd_Flags & SD_F_BIG_ENDIAN_DIC;\r
+\r
+                       if( !gVarQuiet )\r
+                       {\r
+                               MSG("pForth loading dictionary from file "); MSG(FileName);\r
+                                       EMIT_CR;\r
+                               MSG_NUM_D("     File format version is ", sd->sd_Version );\r
+                               MSG_NUM_D("     Name space size = ", sd->sd_NameSize );\r
+                               MSG_NUM_D("     Code space size = ", sd->sd_CodeSize );\r
+                               MSG_NUM_D("     Entry Point     = ", sd->sd_EntryPoint );\r
+                               MSG( (isDicBigEndian ? "     Big Endian Dictionary" :\r
+                                                      "     Little  Endian Dictionary") );\r
+                               if( isDicBigEndian == IsHostLittleEndian() ) MSG(" !!!!");\r
+                                       EMIT_CR;\r
+                       }\r
+\r
+                       if( sd->sd_Version > PF_FILE_VERSION )\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_VERSION_FUTURE );\r
+                               goto error;\r
+                       }\r
+                       if( sd->sd_Version < PF_EARLIEST_FILE_VERSION )\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_VERSION_PAST );\r
+                               goto error;\r
+                       }\r
+                       if( sd->sd_NumPrimitives > NUM_PRIMITIVES )\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_NOT_SUPPORTED );\r
+                               goto error;\r
+                       }\r
+\r
+/* Check to make sure that EndianNess of dictionary matches mode of pForth. */\r
+#if defined(PF_BIG_ENDIAN_DIC)\r
+                       if(isDicBigEndian == 0)\r
+#elif defined(PF_LITTLE_ENDIAN_DIC)\r
+                       if(isDicBigEndian == 1)\r
+#else\r
+                       if( isDicBigEndian == IsHostLittleEndian() )\r
+#endif\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_ENDIAN_CONFLICT );\r
+                               goto error;\r
+                       }\r
+\r
+/* Check for compatible float size. */\r
+#ifdef PF_SUPPORT_FP\r
+                       if( sd->sd_FloatSize != sizeof(PF_FLOAT) )\r
+#else\r
+                       if( sd->sd_FloatSize != 0 )\r
+#endif\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_FLOAT_CONFLICT );\r
+                               goto error;\r
+                       }\r
+\r
+                       dic = pfCreateDictionary( sd->sd_NameSize, sd->sd_CodeSize );\r
+                       if( dic == NULL ) goto nomem_error;\r
+                       gCurrentDictionary = dic;\r
+                       if( sd->sd_NameSize > 0 )\r
+                       {\r
+                               gVarContext = (char *) NAMEREL_TO_ABS(sd->sd_RelContext); /* Restore context. */\r
+                               gCurrentDictionary->dic_HeaderPtr.Byte = (uint8 *)\r
+                                       NAMEREL_TO_ABS(sd->sd_RelHeaderPtr);\r
+                       }\r
+                       else\r
+                       {\r
+                               gVarContext = 0;\r
+                               gCurrentDictionary->dic_HeaderPtr.Byte = NULL;\r
+                       }\r
+                       gCurrentDictionary->dic_CodePtr.Byte = (uint8 *) CODEREL_TO_ABS(sd->sd_RelCodePtr);\r
+                       gNumPrimitives = sd->sd_NumPrimitives;  /* Must match compiled dictionary. */\r
+/* Pass EntryPoint back to caller. */\r
+                       if( EntryPointPtr != NULL ) *EntryPointPtr = sd->sd_EntryPoint;\r
+                       pfFreeMem(sd);\r
+                       break;\r
+\r
+               case ID_P4NM:\r
+#ifdef PF_NO_SHELL\r
+                       pfReportError("pfLoadDictionary", PF_ERR_NO_SHELL );\r
+                       goto error;\r
+#else\r
+                       if( NAME_BASE == NULL )\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_NO_NAMES );\r
+                               goto error;\r
+                       }\r
+                       if( gCurrentDictionary == NULL )\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_BAD_FILE );\r
+                               goto error;\r
+                       }\r
+                       if( ChunkSize > NAME_SIZE )\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_TOO_BIG);\r
+                               goto error;\r
+                       }\r
+                       numr = sdReadFile( NAME_BASE, 1, ChunkSize, fid );\r
+                       if( numr != ChunkSize ) goto read_error;\r
+                       BytesLeft -= ChunkSize;\r
+#endif /* PF_NO_SHELL */\r
+                       break;\r
+\r
+               case ID_P4CD:\r
+                       if( gCurrentDictionary == NULL )\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_BAD_FILE );\r
+                               goto error;\r
+                       }\r
+                       if( ChunkSize > CODE_SIZE )\r
+                       {\r
+                               pfReportError("pfLoadDictionary", PF_ERR_TOO_BIG);\r
+                               goto error;\r
+                       }\r
+                       numr = sdReadFile( CODE_BASE, 1, ChunkSize, fid );\r
+                       if( numr != ChunkSize ) goto read_error;\r
+                       BytesLeft -= ChunkSize;\r
+                       break;\r
+\r
+               default:\r
+                       pfReportError("pfLoadDictionary", PF_ERR_BAD_FILE );\r
+                       sdSeekFile( fid, ChunkSize, PF_SEEK_CUR );\r
+                       break;\r
+               }\r
+       }\r
+\r
+       sdCloseFile( fid );\r
+\r
+       if( NAME_BASE != NULL)\r
+       {\r
+               int32 Result;\r
+/* Find special words in dictionary for global XTs. */\r
+               if( (Result = FindSpecialXTs()) < 0 )\r
+               {\r
+                       pfReportError("pfLoadDictionary: FindSpecialXTs", Result);\r
+                       goto error;\r
+               }\r
+       }\r
+\r
+DBUG(("pfLoadDictionary: return 0x%x\n", dic));\r
+       return (PForthDictionary) dic;\r
+\r
+nomem_error:\r
+       pfReportError("pfLoadDictionary", PF_ERR_NO_MEM);\r
+       sdCloseFile( fid );\r
+       return NULL;\r
+\r
+read_error:\r
+       pfReportError("pfLoadDictionary", PF_ERR_READ_FILE);\r
+error:\r
+       sdCloseFile( fid );\r
+xt_error:\r
+       return NULL;\r
+}\r
+\r
+#else\r
+\r
+PForthDictionary pfLoadDictionary( const char *FileName, ExecToken *EntryPointPtr )\r
+{\r
+       (void) FileName;\r
+       (void) EntryPointPtr;\r
+       return NULL;\r
+}\r
+#endif /* !PF_NO_FILEIO */\r
+\r
+\r
+\r
+/***************************************************************/\r
+PForthDictionary pfLoadStaticDictionary( void )\r
+{\r
+#ifdef PF_STATIC_DIC\r
+       int32 Result;\r
+       pfDictionary_t *dic;\r
+       int32 NewNameSize, NewCodeSize;\r
+       \r
+       if( IF_LITTLE_ENDIAN != IsHostLittleEndian() )\r
+       {\r
+               MSG( (IF_LITTLE_ENDIAN ?\r
+                            "Little Endian Dictionary on " :\r
+                                "Big Endian Dictionary on ") );\r
+               MSG( (IsHostLittleEndian() ?\r
+                            "Little Endian CPU" :\r
+                                "Big Endian CPU") );\r
+               EMIT_CR;\r
+       }\r
+       \r
+/* Check to make sure that EndianNess of dictionary matches mode of pForth. */\r
+#if defined(PF_BIG_ENDIAN_DIC)\r
+       if(IF_LITTLE_ENDIAN == 1)\r
+#elif defined(PF_LITTLE_ENDIAN_DIC)\r
+       if(IF_LITTLE_ENDIAN == 0)\r
+#else /* Code is native endian! */\r
+       if( IF_LITTLE_ENDIAN != IsHostLittleEndian() )\r
+#endif\r
+       {\r
+               pfReportError("pfLoadStaticDictionary", PF_ERR_ENDIAN_CONFLICT );\r
+               goto error;\r
+       }\r
+\r
+\r
+#ifndef PF_EXTRA_HEADERS\r
+       #define PF_EXTRA_HEADERS  (20000)\r
+#endif\r
+#ifndef PF_EXTRA_CODE\r
+       #define PF_EXTRA_CODE  (40000)\r
+#endif\r
+\r
+/* Copy static const data to allocated dictionaries. */\r
+       NewNameSize = sizeof(MinDicNames) + PF_EXTRA_HEADERS;\r
+       NewCodeSize = sizeof(MinDicCode) + PF_EXTRA_CODE;\r
+\r
+       DBUG_NUM_D( "static dic name size = ", NewNameSize );\r
+       DBUG_NUM_D( "static dic code size = ", NewCodeSize );\r
+       \r
+       gCurrentDictionary = dic = pfCreateDictionary( NewNameSize, NewCodeSize );\r
+       if( !dic ) goto nomem_error;\r
+\r
+       pfCopyMemory( dic->dic_HeaderBase, MinDicNames, sizeof(MinDicNames) );\r
+       pfCopyMemory( dic->dic_CodeBase, MinDicCode, sizeof(MinDicCode) );\r
+       DBUG("Static data copied to newly allocated dictionaries.\n");\r
+\r
+       dic->dic_CodePtr.Byte = (uint8 *) CODEREL_TO_ABS(CODEPTR);\r
+       gNumPrimitives = NUM_PRIMITIVES;\r
+\r
+       if( NAME_BASE != NULL)\r
+       {\r
+/* Setup name space. */\r
+               dic->dic_HeaderPtr.Byte = (uint8 *) NAMEREL_TO_ABS(HEADERPTR);\r
+               gVarContext = (char *) NAMEREL_TO_ABS(RELCONTEXT); /* Restore context. */\r
+\r
+/* Find special words in dictionary for global XTs. */\r
+               if( (Result = FindSpecialXTs()) < 0 )\r
+               {\r
+                       pfReportError("pfLoadStaticDictionary: FindSpecialXTs", Result);\r
+                       goto error;\r
+               }\r
+       }\r
+\r
+       return (PForthDictionary) dic;\r
+\r
+error:\r
+       return NULL;\r
+\r
+nomem_error:\r
+       pfReportError("pfLoadStaticDictionary", PF_ERR_NO_MEM);\r
+#endif /* PF_STATIC_DIC */\r
+\r
+       return NULL;\r
+}\r
+\r
diff --git a/csrc/pf_save.h b/csrc/pf_save.h
new file mode 100644 (file)
index 0000000..f4d1e7a
--- /dev/null
@@ -0,0 +1,91 @@
+/* @(#) pf_save.h 96/12/18 1.8 */\r
+#ifndef _pforth_save_h\r
+#define _pforth_save_h\r
+\r
+/***************************************************************\r
+** Include file for PForth SaveForth\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+**     941031  rdg             fix redefinition of MAKE_ID and EVENUP to be conditional\r
+**\r
+***************************************************************/\r
+\r
+\r
+typedef struct DictionaryInfoChunk\r
+{\r
+/* All fields are stored in BIG ENDIAN format for consistency in data files. */\r
+/* All fileds must be the same size as int32 for easy endian conversion. */\r
+       int32  sd_Version;\r
+       int32  sd_RelContext;      /* relative ptr to Dictionary Context */\r
+       int32  sd_RelHeaderPtr;    /* relative ptr to Dictionary Header Ptr */\r
+       int32  sd_RelCodePtr;      /* relative ptr to Dictionary Header Ptr */\r
+       ExecToken  sd_EntryPoint;  /* relative ptr to entry point or NULL */\r
+       int32  sd_UserStackSize;   /* in bytes */\r
+       int32  sd_ReturnStackSize; /* in bytes */\r
+       int32  sd_NameSize;        /* in bytes */\r
+       int32  sd_CodeSize;        /* in bytes */\r
+       int32  sd_NumPrimitives;   /* To distinguish between primitive and secondary. */\r
+       uint32 sd_Flags;\r
+       int32  sd_FloatSize;       /* In bytes. Must match code. 0 means no floats. */\r
+       uint32 sd_Reserved;\r
+} DictionaryInfoChunk;\r
+\r
+/* Bits in sd_Flags */\r
+#define SD_F_BIG_ENDIAN_DIC    (1<<0)\r
+\r
+#ifndef MAKE_ID\r
+#define MAKE_ID(a,b,c,d) ((((uint32)a)<<24)|(((uint32)b)<<16)|(((uint32)c)<<8)|((uint32)d))\r
+#endif\r
+\r
+#define ID_FORM MAKE_ID('F','O','R','M')\r
+#define ID_P4TH MAKE_ID('P','4','T','H')\r
+#define ID_P4DI MAKE_ID('P','4','D','I')\r
+#define ID_P4NM MAKE_ID('P','4','N','M')\r
+#define ID_P4CD MAKE_ID('P','4','C','D')\r
+#define ID_BADF MAKE_ID('B','A','D','F')\r
+\r
+#ifndef EVENUP\r
+#define EVENUP(n) ((n+1)&(~1))\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+int32 ffSaveForth( const char *FileName, ExecToken EntryPoint, int32 NameSize, int32 CodeSize );\r
+\r
+/* Endian-ness tools. */\r
+\r
+int    IsHostLittleEndian( void );\r
+uint32 ReadLongBigEndian( const uint32 *addr );\r
+uint16 ReadShortBigEndian( const uint16 *addr );\r
+uint32 ReadLongLittleEndian( const uint32 *addr );\r
+uint16 ReadShortLittleEndian( const uint16 *addr );\r
+void WriteLongBigEndian( uint32 *addr, uint32 data );\r
+void WriteShortBigEndian( uint16 *addr, uint16 data );\r
+void WriteLongLittleEndian( uint32 *addr, uint32 data );\r
+void WriteShortLittleEndian( uint16 *addr, uint16 data );\r
+\r
+#ifdef PF_SUPPORT_FP\r
+void WriteFloatBigEndian( PF_FLOAT *addr, PF_FLOAT data );\r
+PF_FLOAT ReadFloatBigEndian( const PF_FLOAT *addr );\r
+void WriteFloatLittleEndian( PF_FLOAT *addr, PF_FLOAT data );\r
+PF_FLOAT ReadFloatLittleEndian( const PF_FLOAT *addr );\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+}   \r
+#endif\r
+\r
+#endif /* _pforth_save_h */\r
diff --git a/csrc/pf_text.c b/csrc/pf_text.c
new file mode 100644 (file)
index 0000000..ebf5c48
--- /dev/null
@@ -0,0 +1,335 @@
+/* @(#) pf_text.c 98/01/26 1.3 */\r
+/***************************************************************\r
+** Text Strings for Error Messages\r
+** Various Text tools.\r
+**\r
+** For PForth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 19970702 PLB Fixed ConvertNumberToText for unsigned numbers.\r
+** 19980522 PLB Expand PAD for ConvertNumberToText so "-1 binary .s" doesn't crash.\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+\r
+#define PF_ENGLISH\r
+\r
+/*\r
+** Define array of error messages.\r
+** These are defined in one place to make it easier to translate them.\r
+*/\r
+#ifdef PF_ENGLISH\r
+/***************************************************************/\r
+void pfReportError( const char *FunctionName, Err ErrCode )\r
+{\r
+       const char *s;\r
+       \r
+       MSG("Error in ");\r
+       MSG(FunctionName);\r
+       MSG(" - ");\r
+       \r
+       switch(ErrCode & 0xFF)\r
+       {\r
+       case PF_ERR_NO_MEM & 0xFF:\r
+               s = "insufficient memory"; break;\r
+       case PF_ERR_TOO_BIG & 0xFF:\r
+               s = "data chunk too large"; break;\r
+       case PF_ERR_NUM_PARAMS & 0xFF:\r
+               s = "incorrect number of parameters"; break;\r
+       case PF_ERR_OPEN_FILE & 0xFF:\r
+               s = "could not open file"; break;\r
+       case PF_ERR_WRONG_FILE & 0xFF:\r
+               s = "wrong type of file format"; break;\r
+       case PF_ERR_BAD_FILE & 0xFF:\r
+               s = "badly formatted file"; break;\r
+       case PF_ERR_READ_FILE & 0xFF:\r
+               s = "file read failed"; break;\r
+       case PF_ERR_WRITE_FILE & 0xFF:\r
+               s = "file write failed"; break;\r
+       case PF_ERR_CORRUPT_DIC & 0xFF:\r
+               s = "corrupted dictionary"; break;\r
+       case PF_ERR_NOT_SUPPORTED & 0xFF:\r
+               s = "not supported in this version"; break;\r
+       case PF_ERR_VERSION_FUTURE & 0xFF:\r
+               s = "version from future"; break;\r
+       case PF_ERR_VERSION_PAST & 0xFF:\r
+               s = "version is obsolete. Rebuild new one."; break;\r
+       case PF_ERR_COLON_STACK & 0xFF:\r
+               s = "stack depth changed between : and ; . Probably unbalanced conditional"; break;\r
+       case PF_ERR_HEADER_ROOM & 0xFF:\r
+               s = "no room left in header space"; break;\r
+       case PF_ERR_CODE_ROOM & 0xFF:\r
+               s = "no room left in code space"; break;\r
+       case PF_ERR_NO_SHELL & 0xFF:\r
+               s = "attempt to use names in forth compiled with PF_NO_SHELL"; break;\r
+       case PF_ERR_NO_NAMES & 0xFF:\r
+               s = "dictionary has no names";  break;\r
+       case PF_ERR_OUT_OF_RANGE & 0xFF:\r
+               s = "parameter out of range";  break;\r
+       case PF_ERR_ENDIAN_CONFLICT & 0xFF:\r
+               s = "endian-ness of dictionary does not match code";  break;\r
+       case PF_ERR_FLOAT_CONFLICT & 0xFF:\r
+               s = "float support mismatch between .dic file and code";  break;\r
+       default:\r
+               s = "unrecognized error code!"; break;\r
+       }\r
+       MSG(s);\r
+       EMIT_CR;\r
+}\r
+\r
+void pfReportThrow( ThrowCode code )\r
+{\r
+       const char *s = NULL;\r
+       switch(code)\r
+       {\r
+       case THROW_ABORT:\r
+       case THROW_ABORT_QUOTE:\r
+               s = "ABORT"; break;\r
+       case THROW_STACK_OVERFLOW:\r
+               s = "Stack overflow!"; break;\r
+       case THROW_STACK_UNDERFLOW:\r
+               s = "Stack underflow!"; break;\r
+       case THROW_EXECUTING:\r
+               s = "Executing a compile-only word!"; break;\r
+       case THROW_FLOAT_STACK_UNDERFLOW:\r
+               s = "Float Stack underflow!"; break;\r
+       case THROW_UNDEFINED_WORD:\r
+               s = "Undefined word!"; break;\r
+       case THROW_PAIRS:\r
+               s = "Conditional control structure mismatch!"; break;\r
+       case THROW_BYE:\r
+       case THROW_QUIT:\r
+               break;\r
+       case THROW_SEMICOLON:\r
+               s = "Stack depth changed between : and ; . Probably unbalanced conditional!"; break;\r
+       case THROW_DEFERRED:\r
+               s = "Not a DEFERred word!"; break;\r
+       default:\r
+               s = "Unrecognized throw code!"; break;\r
+       }\r
+       \r
+       if( s )\r
+       {\r
+               MSG_NUM_D("THROW code = ", code );\r
+               MSG(s);\r
+               EMIT_CR;\r
+       }\r
+}\r
+#endif\r
+\r
+/**************************************************************\r
+** Copy a Forth String to a 'C' string.\r
+*/\r
+\r
+char *ForthStringToC( char *dst, const char *FString )\r
+{\r
+       int32 Len;\r
+\r
+       Len = (int32) *FString;\r
+       pfCopyMemory( dst, FString+1, Len );\r
+       dst[Len] = '\0';\r
+\r
+       return dst;\r
+}\r
+\r
+/**************************************************************\r
+** Copy a NUL terminated string to a Forth counted string.\r
+*/\r
+char *CStringToForth( char *dst, const char *CString )\r
+{\r
+       char *s;\r
+       int32 i;\r
+\r
+       s = dst+1;\r
+       for( i=0; *CString; i++ )\r
+       {\r
+               *s++ = *CString++;\r
+       }\r
+       *dst = (char ) i;\r
+       return dst;\r
+}\r
+\r
+/**************************************************************\r
+** Compare two test strings, case sensitive.\r
+** Return TRUE if they match.\r
+*/\r
+int32 ffCompareText( const char *s1, const char *s2, int32 len )\r
+{\r
+       int32 i, Result;\r
+       \r
+       Result = TRUE;\r
+       for( i=0; i<len; i++ )\r
+       {\r
+DBUGX(("ffCompareText: *s1 = 0x%x, *s2 = 0x%x\n", *s1, *s2 ));\r
+               if( *s1++ != *s2++ )\r
+               {\r
+                       Result = FALSE;\r
+                       break;\r
+               }\r
+       }\r
+DBUGX(("ffCompareText: return 0x%x\n", Result ));\r
+       return Result;\r
+}\r
+\r
+/**************************************************************\r
+** Compare two test strings, case INsensitive.\r
+** Return TRUE if they match.\r
+*/\r
+int32 ffCompareTextCaseN( const char *s1, const char *s2, int32 len )\r
+{\r
+       int32 i, Result;\r
+       char  c1,c2;\r
+       \r
+       Result = TRUE;\r
+       for( i=0; i<len; i++ )\r
+       {\r
+               c1 = pfCharToLower(*s1++);\r
+               c2 = pfCharToLower(*s2++);\r
+DBUGX(("ffCompareText: c1 = 0x%x, c2 = 0x%x\n", c1, c2 ));\r
+               if( c1 != c2 )\r
+               {\r
+                       Result = FALSE;\r
+                       break;\r
+               }\r
+       }\r
+DBUGX(("ffCompareText: return 0x%x\n", Result ));\r
+       return Result;\r
+}\r
+\r
+/**************************************************************\r
+** Compare two strings, case sensitive.\r
+** Return zero if they match, -1 if s1<s2, +1 is s1>s2;\r
+*/\r
+int32 ffCompare( const char *s1, int32 len1, const char *s2, int32 len2 )\r
+{\r
+       int32 i, result, n, diff;\r
+       \r
+       result = 0;\r
+       n = MIN(len1,len2);\r
+       for( i=0; i<n; i++ )\r
+       {\r
+               if( (diff = (*s2++ - *s1++)) != 0 )\r
+               {\r
+                       result = (diff > 0) ? -1 : 1 ;\r
+                       break;\r
+               }\r
+       }\r
+       if( result == 0 )  /* Match up to MIN(len1,len2) */\r
+       {\r
+               if( len1 < len2 )\r
+               {\r
+                       result = -1;\r
+               }\r
+               else if ( len1 > len2 )\r
+               {\r
+                       result = 1;\r
+               }\r
+       }\r
+       return result;\r
+}\r
+\r
+/***************************************************************\r
+** Convert number to text.\r
+*/\r
+#define CNTT_PAD_SIZE ((sizeof(int32)*8)+2)  /* PLB 19980522 - Expand PAD so "-1 binary .s" doesn't crash. */\r
+static char cnttPad[CNTT_PAD_SIZE];\r
+\r
+char *ConvertNumberToText( int32 Num, int32 Base, int32 IfSigned, int32 MinChars )\r
+{\r
+       int32 IfNegative = 0;\r
+       char *p,c;\r
+       uint32 NewNum, Rem, uNum;\r
+       int32 i = 0;\r
+       \r
+       uNum = Num;\r
+       if( IfSigned )\r
+       {\r
+/* Convert to positive and keep sign. */\r
+               if( Num < 0 )\r
+               {\r
+                       IfNegative = TRUE;\r
+                       uNum = -Num;\r
+               }\r
+       }\r
+       \r
+/* Point past end of Pad */\r
+       p = cnttPad + CNTT_PAD_SIZE;\r
+       *(--p) = (char) 0; /* NUL terminate */\r
+       \r
+       while( (i++<MinChars) || (uNum != 0) )\r
+       {\r
+               NewNum = uNum / Base;\r
+               Rem = uNum - (NewNum * Base);\r
+               c = (char) (( Rem < 10 ) ? (Rem + '0') : (Rem - 10 + 'A'));\r
+               *(--p) = c;\r
+               uNum = NewNum;\r
+       }\r
+       \r
+       if( IfSigned )\r
+       {\r
+               if( IfNegative ) *(--p) = '-';\r
+       }\r
+       return p;\r
+}\r
+\r
+/***************************************************************\r
+** Diagnostic routine that prints memory in table format.\r
+*/\r
+void DumpMemory( void *addr, int32 cnt)\r
+{\r
+       int32 ln, cn, nlines;\r
+       unsigned char *ptr, *cptr, c;\r
+\r
+       nlines = (cnt + 15) / 16;\r
+\r
+       ptr = (unsigned char *) addr;\r
+\r
+       EMIT_CR;\r
+       \r
+       for (ln=0; ln<nlines; ln++)\r
+       {\r
+               MSG( ConvertNumberToText( (int32) ptr, 16, FALSE, 8 ) );\r
+               MSG(": ");\r
+               cptr = ptr;\r
+               for (cn=0; cn<16; cn++)\r
+               {\r
+                       MSG( ConvertNumberToText( (int32) *cptr++, 16, FALSE, 2 ) );\r
+                       EMIT(' ');\r
+               }\r
+               EMIT(' ');\r
+               for (cn=0; cn<16; cn++)\r
+               {\r
+                       c = *ptr++;\r
+                       if ((c < ' ') || (c > '}')) c = '.';\r
+                       EMIT(c);\r
+               }\r
+               EMIT_CR;\r
+       }\r
+}\r
+\r
+\r
+/* Print name, mask off any dictionary bits. */\r
+void TypeName( const char *Name )\r
+{\r
+       const char *FirstChar;\r
+       int32 Len;\r
+       \r
+       FirstChar = Name+1;\r
+       Len = *Name & 0x1F;\r
+       \r
+       ioType( FirstChar, Len );\r
+}\r
+\r
+\r
diff --git a/csrc/pf_text.h b/csrc/pf_text.h
new file mode 100644 (file)
index 0000000..dfb4665
--- /dev/null
@@ -0,0 +1,68 @@
+/* @(#) pf_text.h 96/12/18 1.10 */\r
+#ifndef _pforth_text_h\r
+#define _pforth_text_h\r
+\r
+/***************************************************************\r
+** Include file for PForth Text\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#define PF_ERR_INDEX_MASK (0xFFFF)\r
+#define PF_ERR_BASE            (0x80000000)\r
+#define PF_ERR_NO_MEM          (PF_ERR_BASE |  0)\r
+#define PF_ERR_TOO_BIG         (PF_ERR_BASE |  2)\r
+#define PF_ERR_NUM_PARAMS      (PF_ERR_BASE |  3)\r
+#define PF_ERR_OPEN_FILE       (PF_ERR_BASE |  4)\r
+#define PF_ERR_WRONG_FILE      (PF_ERR_BASE |  5)\r
+#define PF_ERR_BAD_FILE        (PF_ERR_BASE |  6)\r
+#define PF_ERR_READ_FILE       (PF_ERR_BASE |  7)\r
+#define PF_ERR_WRITE_FILE      (PF_ERR_BASE |  8)\r
+#define PF_ERR_CORRUPT_DIC     (PF_ERR_BASE |  9)\r
+#define PF_ERR_NOT_SUPPORTED   (PF_ERR_BASE | 10)\r
+#define PF_ERR_VERSION_FUTURE  (PF_ERR_BASE | 11)\r
+#define PF_ERR_VERSION_PAST    (PF_ERR_BASE | 12)\r
+#define PF_ERR_COLON_STACK     (PF_ERR_BASE | 13)\r
+#define PF_ERR_HEADER_ROOM     (PF_ERR_BASE | 14)\r
+#define PF_ERR_CODE_ROOM       (PF_ERR_BASE | 15)\r
+#define PF_ERR_NO_SHELL        (PF_ERR_BASE | 16)\r
+#define PF_ERR_NO_NAMES        (PF_ERR_BASE | 17)\r
+#define PF_ERR_OUT_OF_RANGE    (PF_ERR_BASE | 18)\r
+#define PF_ERR_ENDIAN_CONFLICT (PF_ERR_BASE | 19)\r
+#define PF_ERR_FLOAT_CONFLICT  (PF_ERR_BASE | 20)\r
+/* If you add an error code here, also add a text message in "pf_text.c". */\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+void pfReportError( const char *FunctionName, Err ErrCode );\r
+void pfReportThrow( ThrowCode code );\r
+\r
+char  *ForthStringToC( char *dst, const char *FString );\r
+char  *CStringToForth( char *dst, const char *CString );\r
+\r
+int32 ffCompare( const char *s1, int32 len1, const char *s2, int32 len2 );\r
+int32 ffCompareText( const char *s1, const char *s2, int32 len );\r
+int32 ffCompareTextCaseN( const char *s1, const char *s2, int32 len );\r
+\r
+void  DumpMemory( void *addr, int32 cnt);\r
+char *ConvertNumberToText( int32 Num, int32 Base, int32 IfSigned, int32 MinChars );\r
+void  TypeName( const char *Name );\r
+\r
+#ifdef __cplusplus\r
+}   \r
+#endif\r
+\r
+#endif /* _pforth_text_h */\r
diff --git a/csrc/pf_types.h b/csrc/pf_types.h
new file mode 100644 (file)
index 0000000..e35417a
--- /dev/null
@@ -0,0 +1,52 @@
+/* @(#) pf_types.h 96/12/18 1.3 */\r
+#ifndef _pf_types_h\r
+#define _pf_types_h\r
+\r
+/***************************************************************\r
+** Type declarations for PForth, a Forth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+/***************************************************************\r
+** Type Declarations\r
+***************************************************************/\r
+\r
+#ifndef uint32\r
+       typedef unsigned long uint32;\r
+#endif\r
+#ifndef int16\r
+       typedef signed short int16;\r
+#endif\r
+#ifndef uint16\r
+       typedef unsigned short uint16;\r
+#endif\r
+#ifndef int8\r
+       typedef signed char int8;\r
+#endif\r
+#ifndef uint8\r
+       typedef unsigned char uint8;\r
+#endif\r
+#ifndef Err\r
+       typedef long Err;\r
+#endif\r
+\r
+typedef int32  cell;\r
+typedef uint32 ucell;\r
+typedef cell  *dicptr;\r
+\r
+typedef char  ForthString;\r
+typedef char *ForthStringPtr;\r
+\r
+#endif /* _pf_types_h */\r
diff --git a/csrc/pf_win32.h b/csrc/pf_win32.h
new file mode 100644 (file)
index 0000000..6b14ada
--- /dev/null
@@ -0,0 +1,41 @@
+/* @(#) pf_win32.h 98/01/26 1.2 */\r
+#ifndef _pf_win32_h\r
+#define _pf_win32_h\r
+\r
+#include <conio.h>\r
+\r
+/***************************************************************\r
+** WIN32 dependant include file for PForth, a Forth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+/* Include as PF_USER_INC2 for PCs */\r
+\r
+/* Modify some existing defines. */\r
+\r
+/*\r
+** The PC will insert LF characters into the dictionary files unless\r
+** we use "b" mode!\r
+*/\r
+#undef PF_FAM_CREATE\r
+#define PF_FAM_CREATE  ("wb+")\r
+\r
+#undef PF_FAM_OPEN_RO\r
+#define PF_FAM_OPEN_RO  ("rb")\r
+\r
+#undef PF_FAM_OPEN_RW\r
+#define PF_FAM_OPEN_RW  ("rb+")\r
+\r
+#endif /* _pf_win32_h */\r
diff --git a/csrc/pf_words.c b/csrc/pf_words.c
new file mode 100644 (file)
index 0000000..6b01fd8
--- /dev/null
@@ -0,0 +1,223 @@
+/* @(#) pf_words.c 96/12/18 1.10 */\r
+/***************************************************************\r
+** Forth words for PForth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+**\r
+**     941031  rdg             fix ffScan() to look for CRs and LFs\r
+**\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+\r
+\r
+/***************************************************************\r
+** Print number in current base to output stream.\r
+** This version does not handle double precision.\r
+*/\r
+void ffDot( int32 n )\r
+{\r
+       MSG( ConvertNumberToText( n, gVarBase, TRUE, 1 ) );\r
+       EMIT(' ');\r
+}\r
+\r
+/***************************************************************\r
+** Print number in current base to output stream.\r
+** This version does not handle double precision.\r
+*/\r
+void ffDotHex( int32 n )\r
+{\r
+       MSG( ConvertNumberToText( n, 16, FALSE, 1 ) );\r
+       EMIT(' ');\r
+}\r
+\r
+/* ( ... --- ... , print stack ) */\r
+void ffDotS( void )\r
+{\r
+       cell *sp;\r
+       int32 i, Depth;\r
+\r
+       MSG("Stack<");\r
+       MSG( ConvertNumberToText( gVarBase, 10, TRUE, 1 ) ); /* Print base in decimal. */\r
+       MSG("> ");\r
+       \r
+       Depth = gCurrentTask->td_StackBase - gCurrentTask->td_StackPtr;\r
+       sp = gCurrentTask->td_StackBase;\r
+       \r
+       if( Depth < 0 )\r
+       {\r
+               MSG("UNDERFLOW!");\r
+       }\r
+       else\r
+       {\r
+               for( i=0; i<Depth; i++ )\r
+               {\r
+/* Print as unsigned if not base 10. */\r
+                       MSG( ConvertNumberToText( *(--sp), gVarBase, (gVarBase == 10), 1 ) );\r
+                       EMIT(' ');\r
+               }\r
+       }\r
+       MSG("\n");\r
+}\r
+\r
+/* ( addr cnt char -- addr' cnt' , skip leading characters ) */\r
+cell ffSkip( char *AddrIn, cell Cnt, char c, char **AddrOut )\r
+{\r
+       char *s;\r
+       \r
+       s = AddrIn;\r
+\r
+       if( c == BLANK )\r
+       {\r
+               while( ( Cnt > 0 ) &&\r
+                       (( *s == BLANK) || ( *s == '\t')) )\r
+               {\r
+DBUGX(("ffSkip BLANK: %c, %d\n", *s, Cnt ));\r
+                       s++;\r
+                       Cnt--;\r
+               }\r
+       }\r
+       else\r
+       {\r
+               while(( Cnt > 0 ) && ( *s == c ))\r
+               {\r
+DBUGX(("ffSkip: %c=0x%x, %d\n", *s, Cnt ));\r
+               s++;\r
+               Cnt--;\r
+               }\r
+       }\r
+       *AddrOut = s;\r
+       return Cnt;\r
+}\r
+\r
+/* ( addr cnt char -- addr' cnt' , scan for char ) */\r
+cell ffScan( char *AddrIn, cell Cnt, char c, char **AddrOut )\r
+{\r
+       char *s;\r
+       \r
+       s = AddrIn;\r
+\r
+       if( c == BLANK )\r
+       {\r
+               while(( Cnt > 0 ) &&\r
+                       ( *s != BLANK) &&\r
+                       ( *s != '\r') &&\r
+                       ( *s != '\n') &&\r
+                       ( *s != '\t'))\r
+               {\r
+DBUGX(("ffScan BLANK: %c, %d\n", *s, Cnt ));\r
+                       s++;\r
+                       Cnt--;\r
+               }\r
+       }\r
+       else\r
+       {\r
+               while(( Cnt > 0 ) && ( *s != c ))\r
+               {\r
+DBUGX(("ffScan: %c, %d\n", *s, Cnt ));\r
+                       s++;\r
+                       Cnt--;\r
+               }\r
+       }\r
+       *AddrOut = s;\r
+       return Cnt;\r
+}\r
+\r
+/***************************************************************\r
+** Forth equivalent 'C' functions.\r
+***************************************************************/\r
+\r
+/* Convert a single digit to the corresponding hex number. */\r
+static cell HexDigitToNumber( char c )\r
+{      \r
+       if( (c >= '0') && (c <= '9') )\r
+       {\r
+               return( c - '0' );\r
+       }\r
+       else if ( (c >= 'A') && (c <= 'F') )\r
+       {\r
+               return( c - 'A' + 0x0A );\r
+       }\r
+       else\r
+       {\r
+               return -1;\r
+       }\r
+}\r
+\r
+/* Convert a string to the corresponding number using BASE. */\r
+cell ffNumberQ( const char *FWord, cell *Num )\r
+{\r
+       int32 Len, i, Accum=0, n, Sign=1;\r
+       const char *s;\r
+       \r
+/* get count */\r
+       Len = *FWord++;\r
+       s = FWord;\r
+\r
+/* process initial minus sign */\r
+       if( *s == '-' )\r
+       {\r
+               Sign = -1;\r
+               s++;\r
+               Len--;\r
+       }\r
+\r
+       for( i=0; i<Len; i++)\r
+       {\r
+               n = HexDigitToNumber( *s++ );\r
+               if( (n < 0) || (n >= gVarBase) )\r
+               {\r
+                       return NUM_TYPE_BAD;\r
+               }\r
+               \r
+               Accum = (Accum * gVarBase) + n;\r
+       }\r
+       *Num = Accum * Sign;\r
+       return NUM_TYPE_SINGLE;\r
+}\r
+\r
+/***************************************************************\r
+** Compiler Support\r
+***************************************************************/\r
+\r
+/* ( char -- c-addr , parse word ) */\r
+char * ffWord( char c )\r
+{\r
+       char *s1,*s2,*s3;\r
+       int32 n1, n2, n3;\r
+       int32 i, nc;\r
+\r
+       s1 = gCurrentTask->td_SourcePtr + gCurrentTask->td_IN;\r
+       n1 = gCurrentTask->td_SourceNum - gCurrentTask->td_IN;\r
+       n2 = ffSkip( s1, n1, c, &s2 );\r
+DBUGX(("ffWord: s2=%c, %d\n", *s2, n2 ));\r
+       n3 = ffScan( s2, n2, c, &s3 );\r
+DBUGX(("ffWord: s3=%c, %d\n", *s3, n3 ));\r
+       nc = n2-n3;\r
+       if (nc > 0)\r
+       {\r
+               gScratch[0] = (char) nc;\r
+               for( i=0; i<nc; i++ )\r
+               {\r
+                       gScratch[i+1] = pfCharToUpper( s2[i] );\r
+               }\r
+       }\r
+       else\r
+       {\r
+       \r
+               gScratch[0] = 0;\r
+       }\r
+       gCurrentTask->td_IN += (n1-n3) + 1;\r
+       return &gScratch[0];\r
+}\r
diff --git a/csrc/pf_words.h b/csrc/pf_words.h
new file mode 100644 (file)
index 0000000..2dc2e92
--- /dev/null
@@ -0,0 +1,36 @@
+/* @(#) pf_words.h 96/12/18 1.7 */\r
+#ifndef _pforth_words_h\r
+#define _pforth_words_h\r
+\r
+/***************************************************************\r
+** Include file for PForth Words\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+void ffDot( int32 n );\r
+void ffDotHex( int32 n );\r
+void ffDotS( void );\r
+cell ffSkip( char *AddrIn, cell Cnt, char c, char **AddrOut );\r
+cell ffScan( char *AddrIn, cell Cnt, char c, char **AddrOut );\r
+\r
+#ifdef __cplusplus\r
+}   \r
+#endif\r
+\r
+#endif /* _pforth_words_h */\r
diff --git a/csrc/pfcompfp.h b/csrc/pfcompfp.h
new file mode 100644 (file)
index 0000000..0d8d9d0
--- /dev/null
@@ -0,0 +1,78 @@
+/* @(#) pfcompfp.h 96/12/18 1.6 */\r
+/***************************************************************\r
+** Compile FP routines.\r
+** This file is included from "pf_compile.c"\r
+**\r
+** These routines could be left out of an execute only version.\r
+**\r
+** Author: Darren Gibbs, Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+**\r
+***************************************************************/\r
+\r
+\r
+#ifdef PF_SUPPORT_FP\r
+/* Core words */\r
+       CreateDicEntryC( ID_FP_D_TO_F, "D>F", 0 );\r
+       CreateDicEntryC( ID_FP_FSTORE, "F!", 0 );\r
+       CreateDicEntryC( ID_FP_FTIMES, "F*", 0 );\r
+       CreateDicEntryC( ID_FP_FPLUS, "F+", 0 );\r
+       CreateDicEntryC( ID_FP_FMINUS, "F-", 0 );\r
+       CreateDicEntryC( ID_FP_FSLASH, "F/", 0 );\r
+       CreateDicEntryC( ID_FP_F_ZERO_LESS_THAN, "F0<", 0 );\r
+       CreateDicEntryC( ID_FP_F_ZERO_EQUALS, "F0=", 0 );\r
+       CreateDicEntryC( ID_FP_F_LESS_THAN, "F<", 0 );\r
+       CreateDicEntryC( ID_FP_F_TO_D, "F>D", 0 );\r
+       CreateDicEntryC( ID_FP_FFETCH, "F@", 0 );\r
+       CreateDicEntryC( ID_FP_FDEPTH, "FDEPTH", 0 );\r
+       CreateDicEntryC( ID_FP_FDROP, "FDROP", 0 );\r
+       CreateDicEntryC( ID_FP_FDUP, "FDUP", 0 );\r
+       CreateDicEntryC( ID_FP_FLITERAL, "FLITERAL", FLAG_IMMEDIATE );\r
+       CreateDicEntryC( ID_FP_FLITERAL_P, "(FLITERAL)", 0 );\r
+       CreateDicEntryC( ID_FP_FLOAT_PLUS, "FLOAT+", 0 );\r
+       CreateDicEntryC( ID_FP_FLOATS, "FLOATS", 0 );\r
+       CreateDicEntryC( ID_FP_FLOOR, "FLOOR", 0 );\r
+       CreateDicEntryC( ID_FP_FMAX, "FMAX", 0 );\r
+       CreateDicEntryC( ID_FP_FMIN, "FMIN", 0 );\r
+       CreateDicEntryC( ID_FP_FNEGATE, "FNEGATE", 0 );\r
+       CreateDicEntryC( ID_FP_FOVER, "FOVER", 0 );\r
+       CreateDicEntryC( ID_FP_FROT, "FROT", 0 );\r
+       CreateDicEntryC( ID_FP_FROUND, "FROUND", 0 );\r
+       CreateDicEntryC( ID_FP_FSWAP, "FSWAP", 0 );\r
+       \r
+/* Extended words */\r
+       CreateDicEntryC( ID_FP_FSTAR_STAR, "F**", 0 );\r
+       CreateDicEntryC( ID_FP_FABS, "FABS", 0 );\r
+       CreateDicEntryC( ID_FP_FACOS, "FACOS", 0 );\r
+       CreateDicEntryC( ID_FP_FACOSH, "FACOSH", 0 );\r
+       CreateDicEntryC( ID_FP_FALOG, "FALOG", 0 );\r
+       CreateDicEntryC( ID_FP_FASIN, "FASIN", 0 );\r
+       CreateDicEntryC( ID_FP_FASINH, "FASINH", 0 );\r
+       CreateDicEntryC( ID_FP_FATAN, "FATAN", 0 );\r
+       CreateDicEntryC( ID_FP_FATAN2, "FATAN2", 0 );\r
+       CreateDicEntryC( ID_FP_FATANH, "FATANH", 0 );\r
+       CreateDicEntryC( ID_FP_FCOS, "FCOS", 0 );\r
+       CreateDicEntryC( ID_FP_FCOSH, "FCOSH", 0 );\r
+       CreateDicEntryC( ID_FP_FLN, "FLN", 0 );\r
+       CreateDicEntryC( ID_FP_FLNP1, "FLNP1", 0 );\r
+       CreateDicEntryC( ID_FP_FLOG, "FLOG", 0 );\r
+       CreateDicEntryC( ID_FP_FSIN, "FSIN", 0 );\r
+       CreateDicEntryC( ID_FP_FSINCOS, "FSINCOS", 0 );\r
+       CreateDicEntryC( ID_FP_FSINH, "FSINH", 0 );\r
+       CreateDicEntryC( ID_FP_FSQRT, "FSQRT", 0 );\r
+       CreateDicEntryC( ID_FP_FTAN, "FTAN", 0 );\r
+       CreateDicEntryC( ID_FP_FTANH, "FTANH", 0 );\r
+       CreateDicEntryC( ID_FP_FPICK, "FPICK", 0 );\r
+\r
+#endif\r
diff --git a/csrc/pfcompil.c b/csrc/pfcompil.c
new file mode 100644 (file)
index 0000000..0d3e33e
--- /dev/null
@@ -0,0 +1,1183 @@
+/* @(#) pfcompil.c 98/01/26 1.5 */\r
+/***************************************************************\r
+** Compiler for PForth based on 'C'\r
+**\r
+** These routines could be left out of an execute only version.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 941004 PLB Extracted IO calls from pforth_main.c\r
+** 950320 RDG Added underflow checking for FP stack\r
+***************************************************************/\r
+\r
+#include "pf_all.h"\r
+#include "pfcompil.h"\r
+\r
+#define ABORT_RETURN_CODE   (10)\r
+#define UINT32_MASK  ((sizeof(uint32)-1))\r
+\r
+/***************************************************************/\r
+/************** Static Prototypes ******************************/\r
+/***************************************************************/\r
+\r
+static void  ffStringColon( const ForthStringPtr FName );\r
+static int32 CheckRedefinition( const ForthStringPtr FName );\r
+static void  ffUnSmudge( void );\r
+static int32 FindAndCompile( const char *theWord );\r
+static int32 ffCheckDicRoom( void );\r
+\r
+#ifndef PF_NO_INIT\r
+       static void CreateDeferredC( ExecToken DefaultXT, const char *CName );\r
+#endif\r
+\r
+int32 NotCompiled( const char *FunctionName )\r
+{\r
+       MSG("Function ");\r
+       MSG(FunctionName);\r
+       MSG(" not compiled in this version of PForth.\n");\r
+       return -1;\r
+}\r
+\r
+#ifndef PF_NO_SHELL\r
+/***************************************************************\r
+** Create an entry in the Dictionary for the given ExecutionToken.\r
+** FName is name in Forth format.\r
+*/\r
+void CreateDicEntry( ExecToken XT, const ForthStringPtr FName, uint32 Flags )\r
+{\r
+       cfNameLinks *cfnl;\r
+\r
+       cfnl = (cfNameLinks *) gCurrentDictionary->dic_HeaderPtr.Byte;\r
+\r
+/* Set link to previous header, if any. */\r
+       if( gVarContext )\r
+       {\r
+               WRITE_LONG_DIC( &cfnl->cfnl_PreviousName, ABS_TO_NAMEREL( gVarContext ) );\r
+       }\r
+       else\r
+       {\r
+               cfnl->cfnl_PreviousName = 0;\r
+       }\r
+\r
+/* Put Execution token in header. */\r
+       WRITE_LONG_DIC( &cfnl->cfnl_ExecToken, XT );\r
+\r
+/* Advance Header Dictionary Pointer */\r
+       gCurrentDictionary->dic_HeaderPtr.Byte += sizeof(cfNameLinks);\r
+\r
+/* Laydown name. */\r
+       gVarContext = (char *) gCurrentDictionary->dic_HeaderPtr.Byte;\r
+       pfCopyMemory( gCurrentDictionary->dic_HeaderPtr.Byte, FName, (*FName)+1 );\r
+       gCurrentDictionary->dic_HeaderPtr.Byte += (*FName)+1;\r
+\r
+/* Set flags. */\r
+       *gVarContext |= (char) Flags;\r
+       \r
+/* Align to quad byte boundaries with zeroes. */\r
+       while( ((uint32) gCurrentDictionary->dic_HeaderPtr.Byte) & UINT32_MASK )\r
+       {\r
+               *gCurrentDictionary->dic_HeaderPtr.Byte++ = 0;\r
+       }\r
+}\r
+\r
+/***************************************************************\r
+** Convert name then create dictionary entry.\r
+*/\r
+void CreateDicEntryC( ExecToken XT, const char *CName, uint32 Flags )\r
+{\r
+       ForthString FName[40];\r
+       CStringToForth( FName, CName );\r
+       CreateDicEntry( XT, FName, Flags );\r
+}\r
+\r
+/***************************************************************\r
+** Convert absolute namefield address to previous absolute name\r
+** field address or NULL.\r
+*/\r
+const ForthString *NameToPrevious( const ForthString *NFA )\r
+{\r
+       cell RelNamePtr;\r
+       const cfNameLinks *cfnl;\r
+\r
+/* DBUG(("\nNameToPrevious: NFA = 0x%x\n", (int32) NFA)); */\r
+       cfnl = (const cfNameLinks *) ( ((const char *) NFA) - sizeof(cfNameLinks) );\r
+\r
+       RelNamePtr = READ_LONG_DIC((const cell *) (&cfnl->cfnl_PreviousName));\r
+/* DBUG(("\nNameToPrevious: RelNamePtr = 0x%x\n", (int32) RelNamePtr )); */\r
+       if( RelNamePtr )\r
+       {\r
+               return ( NAMEREL_TO_ABS( RelNamePtr ) );\r
+       }\r
+       else\r
+       {\r
+               return NULL;\r
+       }\r
+}\r
+/***************************************************************\r
+** Convert NFA to ExecToken.\r
+*/\r
+ExecToken NameToToken( const ForthString *NFA )\r
+{\r
+       const cfNameLinks *cfnl;\r
+\r
+/* Convert absolute namefield address to absolute link field address. */\r
+       cfnl = (const cfNameLinks *) ( ((const char *) NFA) - sizeof(cfNameLinks) );\r
+\r
+       return READ_LONG_DIC((const cell *) (&cfnl->cfnl_ExecToken));\r
+}\r
+\r
+/***************************************************************\r
+** Find XTs needed by compiler.\r
+*/\r
+int32 FindSpecialXTs( void )\r
+{\r
+       if( ffFindC( "(QUIT)", &gQuitP_XT ) == 0) goto nofind;\r
+       if( ffFindC( "NUMBER?", &gNumberQ_XT ) == 0) goto nofind;\r
+       if( ffFindC( "ACCEPT", &gAcceptP_XT ) == 0) goto nofind;\r
+DBUG(("gNumberQ_XT = 0x%x\n", gNumberQ_XT ));\r
+       return 0;\r
+       \r
+nofind:\r
+       ERR("FindSpecialXTs failed!\n");\r
+       return -1;\r
+}\r
+\r
+/***************************************************************\r
+** Build a dictionary from scratch.\r
+*/\r
+#ifndef PF_NO_INIT\r
+PForthDictionary pfBuildDictionary( int32 HeaderSize, int32 CodeSize )\r
+{\r
+       pfDictionary_t *dic;\r
+\r
+       dic = pfCreateDictionary( HeaderSize, CodeSize );\r
+       if( !dic ) goto nomem;\r
+\r
+       pfDebugMessage("pfBuildDictionary: Start adding dictionary entries.\n");\r
+       \r
+       gCurrentDictionary = dic;\r
+       gNumPrimitives = NUM_PRIMITIVES;\r
+\r
+       CreateDicEntryC( ID_EXIT, "EXIT", 0 );\r
+       pfDebugMessage("pfBuildDictionary: added EXIT\n");\r
+       CreateDicEntryC( ID_1MINUS, "1-", 0 );\r
+       pfDebugMessage("pfBuildDictionary: added 1-\n");\r
+       CreateDicEntryC( ID_1PLUS, "1+", 0 );\r
+       CreateDicEntryC( ID_2_R_FETCH, "2R@", 0 );\r
+       CreateDicEntryC( ID_2_R_FROM, "2R>", 0 );\r
+       CreateDicEntryC( ID_2_TO_R, "2>R", 0 );\r
+       CreateDicEntryC( ID_2DUP, "2DUP", 0 );\r
+       CreateDicEntryC( ID_2LITERAL, "2LITERAL", FLAG_IMMEDIATE );\r
+       CreateDicEntryC( ID_2LITERAL_P, "(2LITERAL)", 0 );\r
+       CreateDicEntryC( ID_2MINUS, "2-", 0 );\r
+       CreateDicEntryC( ID_2PLUS, "2+", 0 );\r
+       CreateDicEntryC( ID_2OVER, "2OVER", 0 );\r
+       CreateDicEntryC( ID_2SWAP, "2SWAP", 0 );\r
+       CreateDicEntryC( ID_ACCEPT_P, "(ACCEPT)", 0 );\r
+       CreateDeferredC( ID_ACCEPT_P, "ACCEPT" );\r
+       CreateDicEntryC( ID_ALITERAL, "ALITERAL", FLAG_IMMEDIATE );\r
+       CreateDicEntryC( ID_ALITERAL_P, "(ALITERAL)", 0 );\r
+       CreateDicEntryC( ID_ALLOCATE, "ALLOCATE", 0 );\r
+       pfDebugMessage("pfBuildDictionary: added ALLOCATE\n");\r
+       CreateDicEntryC( ID_ARSHIFT, "ARSHIFT", 0 );\r
+       CreateDicEntryC( ID_AND, "AND", 0 );\r
+       CreateDicEntryC( ID_BAIL, "BAIL", 0 );\r
+       CreateDicEntryC( ID_BRANCH, "BRANCH", 0 );\r
+       CreateDicEntryC( ID_BODY_OFFSET, "BODY_OFFSET", 0 );\r
+       CreateDicEntryC( ID_BYE, "BYE", 0 );\r
+       CreateDicEntryC( ID_CATCH, "CATCH", 0 );\r
+       CreateDicEntryC( ID_CFETCH, "C@", 0 );\r
+       CreateDicEntryC( ID_CMOVE, "CMOVE", 0 );\r
+       CreateDicEntryC( ID_CMOVE_UP, "CMOVE>", 0 );\r
+       CreateDicEntryC( ID_COLON, ":", 0 );\r
+       CreateDicEntryC( ID_COLON_P, "(:)", 0 );\r
+       CreateDicEntryC( ID_COMPARE, "COMPARE", 0 );\r
+       CreateDicEntryC( ID_COMP_EQUAL, "=", 0 );\r
+       CreateDicEntryC( ID_COMP_NOT_EQUAL, "<>", 0 );\r
+       CreateDicEntryC( ID_COMP_GREATERTHAN, ">", 0 );\r
+       CreateDicEntryC( ID_COMP_U_GREATERTHAN, "U>", 0 );\r
+       pfDebugMessage("pfBuildDictionary: added U>\n");\r
+       CreateDicEntryC( ID_COMP_LESSTHAN, "<", 0 );\r
+       CreateDicEntryC( ID_COMP_U_LESSTHAN, "U<", 0 );\r
+       CreateDicEntryC( ID_COMP_ZERO_EQUAL, "0=", 0 );\r
+       CreateDicEntryC( ID_COMP_ZERO_NOT_EQUAL, "0<>", 0 );\r
+       CreateDicEntryC( ID_COMP_ZERO_GREATERTHAN, "0>", 0 );\r
+       CreateDicEntryC( ID_COMP_ZERO_LESSTHAN, "0<", 0 );\r
+       CreateDicEntryC( ID_CR, "CR", 0 );\r
+       CreateDicEntryC( ID_CREATE, "CREATE", 0 );\r
+       CreateDicEntryC( ID_CREATE_P, "(CREATE)", 0 );\r
+       CreateDicEntryC( ID_D_PLUS, "D+", 0 );\r
+       CreateDicEntryC( ID_D_MINUS, "D-", 0 );\r
+       CreateDicEntryC( ID_D_UMSMOD, "UM/MOD", 0 );\r
+       CreateDicEntryC( ID_D_MUSMOD, "MU/MOD", 0 );\r
+       CreateDicEntryC( ID_D_MTIMES, "M*", 0 );\r
+       pfDebugMessage("pfBuildDictionary: added M*\n");\r
+       CreateDicEntryC( ID_D_UMTIMES, "UM*", 0 );\r
+       CreateDicEntryC( ID_DEFER, "DEFER", 0 );\r
+       CreateDicEntryC( ID_CSTORE, "C!", 0 );\r
+       CreateDicEntryC( ID_DEPTH, "DEPTH",  0 );\r
+       pfDebugMessage("pfBuildDictionary: added DEPTH\n");\r
+       CreateDicEntryC( ID_DIVIDE, "/", 0 );\r
+       CreateDicEntryC( ID_DOT, ".",  0 );\r
+       CreateDicEntryC( ID_DOTS, ".S",  0 );\r
+       pfDebugMessage("pfBuildDictionary: added .S\n");\r
+       CreateDicEntryC( ID_DO_P, "(DO)", 0 );\r
+       CreateDicEntryC( ID_DROP, "DROP", 0 );\r
+       CreateDicEntryC( ID_DUMP, "DUMP", 0 );\r
+       CreateDicEntryC( ID_DUP, "DUP",  0 );\r
+       CreateDicEntryC( ID_EMIT_P, "(EMIT)",  0 );\r
+       pfDebugMessage("pfBuildDictionary: added (EMIT)\n");\r
+       CreateDeferredC( ID_EMIT_P, "EMIT");\r
+       pfDebugMessage("pfBuildDictionary: added EMIT\n");\r
+       CreateDicEntryC( ID_EOL, "EOL",  0 );\r
+       CreateDicEntryC( ID_ERRORQ_P, "(?ERROR)",  0 );\r
+       CreateDicEntryC( ID_ERRORQ_P, "?ERROR",  0 );\r
+       CreateDicEntryC( ID_EXECUTE, "EXECUTE",  0 );\r
+       CreateDicEntryC( ID_FETCH, "@",  0 );\r
+       CreateDicEntryC( ID_FILL, "FILL", 0 );\r
+       CreateDicEntryC( ID_FIND, "FIND",  0 );\r
+       CreateDicEntryC( ID_FILE_CREATE, "CREATE-FILE",  0 );\r
+       CreateDicEntryC( ID_FILE_OPEN, "OPEN-FILE",  0 );\r
+       CreateDicEntryC( ID_FILE_CLOSE, "CLOSE-FILE",  0 );\r
+       CreateDicEntryC( ID_FILE_READ, "READ-FILE",  0 );\r
+       CreateDicEntryC( ID_FILE_SIZE, "FILE-SIZE",  0 );\r
+       CreateDicEntryC( ID_FILE_WRITE, "WRITE-FILE",  0 );\r
+       CreateDicEntryC( ID_FILE_POSITION, "FILE-POSITION",  0 );\r
+       CreateDicEntryC( ID_FILE_REPOSITION, "REPOSITION-FILE",  0 );\r
+       CreateDicEntryC( ID_FILE_RO, "R/O",  0 );\r
+       CreateDicEntryC( ID_FILE_RW, "R/W",  0 );\r
+       CreateDicEntryC( ID_FILE_WO, "W/O",  0 );\r
+       CreateDicEntryC( ID_FILE_BIN, "BIN",  0 );\r
+       CreateDicEntryC( ID_FINDNFA, "FINDNFA",  0 );\r
+       CreateDicEntryC( ID_FLUSHEMIT, "FLUSHEMIT",  0 );\r
+       CreateDicEntryC( ID_FREE, "FREE",  0 );\r
+#include "pfcompfp.h"\r
+       CreateDicEntryC( ID_HERE, "HERE",  0 );\r
+       CreateDicEntryC( ID_NUMBERQ_P, "(SNUMBER?)",  0 );\r
+       CreateDicEntryC( ID_I, "I",  0 );\r
+       CreateDicEntryC( ID_INTERPRET, "INTERPRET", 0 );\r
+       CreateDicEntryC( ID_J, "J",  0 );\r
+       CreateDicEntryC( ID_INCLUDE_FILE, "INCLUDE-FILE",  0 );\r
+       CreateDicEntryC( ID_KEY, "KEY",  0 );\r
+       CreateDicEntryC( ID_LEAVE_P, "(LEAVE)", 0 );\r
+       CreateDicEntryC( ID_LITERAL, "LITERAL", FLAG_IMMEDIATE );\r
+       CreateDicEntryC( ID_LITERAL_P, "(LITERAL)", 0 );\r
+       CreateDicEntryC( ID_LOADSYS, "LOADSYS", 0 );\r
+       CreateDicEntryC( ID_LOCAL_COMPILER, "LOCAL-COMPILER", 0 );\r
+       CreateDicEntryC( ID_LOCAL_ENTRY, "(LOCAL.ENTRY)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_EXIT, "(LOCAL.EXIT)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_FETCH, "(LOCAL@)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_FETCH_1, "(1_LOCAL@)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_FETCH_2, "(2_LOCAL@)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_FETCH_3, "(3_LOCAL@)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_FETCH_4, "(4_LOCAL@)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_FETCH_5, "(5_LOCAL@)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_FETCH_6, "(6_LOCAL@)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_FETCH_7, "(7_LOCAL@)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_FETCH_8, "(8_LOCAL@)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_STORE, "(LOCAL!)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_STORE_1, "(1_LOCAL!)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_STORE_2, "(2_LOCAL!)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_STORE_3, "(3_LOCAL!)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_STORE_4, "(4_LOCAL!)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_STORE_5, "(5_LOCAL!)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_STORE_6, "(6_LOCAL!)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_STORE_7, "(7_LOCAL!)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_STORE_8, "(8_LOCAL!)", 0 );\r
+       CreateDicEntryC( ID_LOCAL_PLUSSTORE, "(LOCAL+!)", 0 );\r
+       CreateDicEntryC( ID_LOOP_P, "(LOOP)", 0 );\r
+       CreateDicEntryC( ID_LSHIFT, "LSHIFT", 0 );\r
+       CreateDicEntryC( ID_MAX, "MAX", 0 );\r
+       CreateDicEntryC( ID_MIN, "MIN", 0 );\r
+       CreateDicEntryC( ID_MINUS, "-", 0 );\r
+       CreateDicEntryC( ID_NAME_TO_TOKEN, "NAME>", 0 );\r
+       CreateDicEntryC( ID_NAME_TO_PREVIOUS, "PREVNAME", 0 );\r
+       CreateDicEntryC( ID_NOOP, "NOOP", 0 );\r
+       CreateDeferredC( ID_NUMBERQ_P, "NUMBER?" );\r
+       CreateDicEntryC( ID_OR, "OR", 0 );\r
+       CreateDicEntryC( ID_OVER, "OVER", 0 );\r
+       pfDebugMessage("pfBuildDictionary: added OVER\n");\r
+       CreateDicEntryC( ID_PICK, "PICK",  0 );\r
+       CreateDicEntryC( ID_PLUS, "+",  0 );\r
+       CreateDicEntryC( ID_PLUSLOOP_P, "(+LOOP)", 0 );\r
+       CreateDicEntryC( ID_PLUS_STORE, "+!",  0 );\r
+       CreateDicEntryC( ID_QUIT_P, "(QUIT)",  0 );\r
+       CreateDeferredC( ID_QUIT_P, "QUIT" );\r
+       CreateDicEntryC( ID_QDO_P, "(?DO)", 0 );\r
+       CreateDicEntryC( ID_QDUP, "?DUP",  0 );\r
+       CreateDicEntryC( ID_QTERMINAL, "?TERMINAL",  0 );\r
+       CreateDicEntryC( ID_QTERMINAL, "KEY?",  0 );\r
+       CreateDicEntryC( ID_REFILL, "REFILL",  0 );\r
+       CreateDicEntryC( ID_RESIZE, "RESIZE",  0 );\r
+       CreateDicEntryC( ID_ROLL, "ROLL",  0 );\r
+       CreateDicEntryC( ID_ROT, "ROT",  0 );\r
+       CreateDicEntryC( ID_RSHIFT, "RSHIFT",  0 );\r
+       CreateDicEntryC( ID_R_DROP, "RDROP",  0 );\r
+       CreateDicEntryC( ID_R_FETCH, "R@",  0 );\r
+       CreateDicEntryC( ID_R_FROM, "R>",  0 );\r
+       CreateDicEntryC( ID_RP_FETCH, "RP@",  0 );\r
+       CreateDicEntryC( ID_RP_STORE, "RP!",  0 );\r
+       CreateDicEntryC( ID_SEMICOLON, ";",  FLAG_IMMEDIATE );\r
+       CreateDicEntryC( ID_SP_FETCH, "SP@",  0 );\r
+       CreateDicEntryC( ID_SP_STORE, "SP!",  0 );\r
+       CreateDicEntryC( ID_STORE, "!",  0 );\r
+       CreateDicEntryC( ID_SAVE_FORTH_P, "(SAVE-FORTH)",  0 );\r
+       CreateDicEntryC( ID_SCAN, "SCAN",  0 );\r
+       CreateDicEntryC( ID_SKIP, "SKIP",  0 );\r
+       CreateDicEntryC( ID_SOURCE, "SOURCE",  0 );\r
+       CreateDicEntryC( ID_SOURCE_SET, "SET-SOURCE",  0 );\r
+       CreateDicEntryC( ID_SOURCE_ID, "SOURCE-ID",  0 );\r
+       CreateDicEntryC( ID_SOURCE_ID_PUSH, "PUSH-SOURCE-ID",  0 );\r
+       CreateDicEntryC( ID_SOURCE_ID_POP, "POP-SOURCE-ID",  0 );\r
+       CreateDicEntryC( ID_SWAP, "SWAP",  0 );\r
+       CreateDicEntryC( ID_TEST1, "TEST1",  0 );\r
+       CreateDicEntryC( ID_TEST2, "TEST2",  0 );\r
+       CreateDicEntryC( ID_TICK, "'", 0 );\r
+       CreateDicEntryC( ID_TIMES, "*", 0 );\r
+       CreateDicEntryC( ID_THROW, "THROW", 0 );\r
+       CreateDicEntryC( ID_TO_R, ">R", 0 );\r
+       CreateDicEntryC( ID_TYPE, "TYPE", 0 );\r
+       CreateDicEntryC( ID_VAR_BASE, "BASE", 0 );\r
+       CreateDicEntryC( ID_VAR_CODE_BASE, "CODE-BASE", 0 );\r
+       CreateDicEntryC( ID_VAR_CODE_LIMIT, "CODE-LIMIT", 0 );\r
+       CreateDicEntryC( ID_VAR_CONTEXT, "CONTEXT", 0 );\r
+       CreateDicEntryC( ID_VAR_DP, "DP", 0 );\r
+       CreateDicEntryC( ID_VAR_ECHO, "ECHO", 0 );\r
+       CreateDicEntryC( ID_VAR_HEADERS_PTR, "HEADERS-PTR", 0 );\r
+       CreateDicEntryC( ID_VAR_HEADERS_BASE, "HEADERS-BASE", 0 );\r
+       CreateDicEntryC( ID_VAR_HEADERS_LIMIT, "HEADERS-LIMIT", 0 );\r
+       CreateDicEntryC( ID_VAR_NUM_TIB, "#TIB", 0 );\r
+       CreateDicEntryC( ID_VAR_RETURN_CODE, "RETURN-CODE", 0 );\r
+       CreateDicEntryC( ID_VAR_TRACE_FLAGS, "TRACE-FLAGS", 0 );\r
+       CreateDicEntryC( ID_VAR_TRACE_LEVEL, "TRACE-LEVEL", 0 );\r
+       CreateDicEntryC( ID_VAR_TRACE_STACK, "TRACE-STACK", 0 );\r
+       CreateDicEntryC( ID_VAR_OUT, "OUT", 0 );\r
+       CreateDicEntryC( ID_VAR_STATE, "STATE", 0 );\r
+       CreateDicEntryC( ID_VAR_TO_IN, ">IN", 0 );\r
+       CreateDicEntryC( ID_WORD, "WORD", 0 );\r
+       CreateDicEntryC( ID_WORD_FETCH, "W@", 0 );\r
+       CreateDicEntryC( ID_WORD_STORE, "W!", 0 );\r
+       CreateDicEntryC( ID_XOR, "XOR", 0 );\r
+       CreateDicEntryC( ID_ZERO_BRANCH, "0BRANCH", 0 );\r
+       \r
+       pfDebugMessage("pfBuildDictionary: FindSpecialXTs\n");\r
+       if( FindSpecialXTs() < 0 ) goto error;\r
+       \r
+       if( CompileCustomFunctions() < 0 ) goto error; /* Call custom 'C' call builder. */\r
+       \r
+#ifdef PF_DEBUG\r
+       DumpMemory( dic->dic_HeaderBase, 256 );\r
+       DumpMemory( dic->dic_CodeBase, 256 );\r
+#endif\r
+\r
+       pfDebugMessage("pfBuildDictionary: Finished adding dictionary entries.\n");\r
+       return (PForthDictionary) dic;\r
+       \r
+error:\r
+       pfDebugMessage("pfBuildDictionary: Error adding dictionary entries.\n");\r
+       pfDeleteDictionary( dic );\r
+       return NULL;\r
+       \r
+nomem:\r
+       return NULL;\r
+}\r
+#endif /* !PF_NO_INIT */\r
+\r
+/*\r
+** ( xt -- nfa 1 , x 0 , find NFA in dictionary from XT )\r
+** 1 for IMMEDIATE values\r
+*/\r
+cell ffTokenToName( ExecToken XT, const ForthString **NFAPtr )\r
+{\r
+       const ForthString *NameField;\r
+       int32 Searching = TRUE;\r
+       cell Result = 0;\r
+       ExecToken TempXT;\r
+       \r
+       NameField = gVarContext;\r
+DBUGX(("\ffCodeToName: gVarContext = 0x%x\n", gVarContext));\r
+\r
+       do\r
+       {\r
+               TempXT = NameToToken( NameField );\r
+               \r
+               if( TempXT == XT )\r
+               {\r
+DBUGX(("ffCodeToName: NFA = 0x%x\n", NameField));\r
+                       *NFAPtr = NameField ;\r
+                       Result = 1;\r
+                       Searching = FALSE;\r
+               }\r
+               else\r
+               {\r
+                       NameField = NameToPrevious( NameField );\r
+                       if( NameField == NULL )\r
+                       {\r
+                               *NFAPtr = 0;\r
+                               Searching = FALSE;\r
+                       }\r
+               }\r
+       } while ( Searching);\r
+       \r
+       return Result;\r
+}\r
+\r
+/*\r
+** ( $name -- $addr 0 | nfa -1 | nfa 1 , find NFA in dictionary )\r
+** 1 for IMMEDIATE values\r
+*/\r
+cell ffFindNFA( const ForthString *WordName, const ForthString **NFAPtr )\r
+{\r
+       const ForthString *WordChar;\r
+       uint8 WordLen;\r
+       const char *NameField, *NameChar;\r
+       int8 NameLen;\r
+       int32 Searching = TRUE;\r
+       cell Result = 0;\r
+       \r
+       WordLen = (uint8) ((uint32)*WordName & 0x1F);\r
+       WordChar = WordName+1;\r
+       \r
+       NameField = gVarContext;\r
+DBUG(("\nffFindNFA: WordLen = %d, WordName = %*s\n", WordLen, WordLen, WordChar ));\r
+DBUG(("\nffFindNFA: gVarContext = 0x%x\n", gVarContext));\r
+       do\r
+       {\r
+               NameLen = (uint8) ((uint32)(*NameField) & MASK_NAME_SIZE);\r
+               NameChar = NameField+1;\r
+/* DBUG(("   %c\n", (*NameField & FLAG_SMUDGE) ? 'S' : 'V' )); */\r
+               if(     ((*NameField & FLAG_SMUDGE) == 0) &&\r
+                       (NameLen == WordLen) &&\r
+                       ffCompareTextCaseN( NameChar, WordChar, WordLen ) ) /* FIXME - slow */\r
+               {\r
+DBUG(("ffFindNFA: found it at NFA = 0x%x\n", NameField));\r
+                       *NFAPtr = NameField ;\r
+                       Result = ((*NameField) & FLAG_IMMEDIATE) ? 1 : -1;\r
+                       Searching = FALSE;\r
+               }\r
+               else\r
+               {\r
+                       NameField = NameToPrevious( NameField );\r
+                       if( NameField == NULL )\r
+                       {\r
+                               *NFAPtr = WordName;\r
+                               Searching = FALSE;\r
+                       }\r
+               }\r
+       } while ( Searching);\r
+DBUG(("ffFindNFA: returns 0x%x\n", Result));\r
+       return Result;\r
+}\r
+\r
+\r
+/***************************************************************\r
+** ( $name -- $name 0 | xt -1 | xt 1 )\r
+** 1 for IMMEDIATE values\r
+*/\r
+cell ffFind( const ForthString *WordName, ExecToken *pXT )\r
+{\r
+       const ForthString *NFA;\r
+       int32 Result;\r
+       \r
+       Result = ffFindNFA( WordName, &NFA );\r
+DBUG(("ffFind: %8s at 0x%x\n", WordName+1, NFA)); /* WARNING, not NUL terminated. %Q */\r
+       if( Result )\r
+       {\r
+               *pXT = NameToToken( NFA );\r
+       }\r
+       else\r
+       {\r
+               *pXT = (ExecToken) WordName;\r
+       }\r
+\r
+       return Result;\r
+}\r
+\r
+/****************************************************************\r
+** Find name when passed 'C' string.\r
+*/\r
+cell ffFindC( const char *WordName, ExecToken *pXT )\r
+{\r
+DBUG(("ffFindC: %s\n", WordName ));\r
+       CStringToForth( gScratch, WordName );\r
+       return ffFind( gScratch, pXT );\r
+}\r
+\r
+\r
+/***********************************************************/\r
+/********* Compiling New Words *****************************/\r
+/***********************************************************/\r
+#define DIC_SAFETY_MARGIN  (400)\r
+\r
+/*************************************************************\r
+**  Check for dictionary overflow. \r
+*/\r
+static int32 ffCheckDicRoom( void )\r
+{\r
+       int32 RoomLeft;\r
+       RoomLeft = gCurrentDictionary->dic_HeaderLimit -\r
+                  gCurrentDictionary->dic_HeaderPtr.Byte;\r
+       if( RoomLeft < DIC_SAFETY_MARGIN )\r
+       {\r
+               pfReportError("ffCheckDicRoom", PF_ERR_HEADER_ROOM);\r
+               return PF_ERR_HEADER_ROOM;\r
+       }\r
+\r
+       RoomLeft = gCurrentDictionary->dic_CodeLimit -\r
+                  gCurrentDictionary->dic_CodePtr.Byte;\r
+       if( RoomLeft < DIC_SAFETY_MARGIN )\r
+       {\r
+               pfReportError("ffCheckDicRoom", PF_ERR_CODE_ROOM);\r
+               return PF_ERR_CODE_ROOM;\r
+       }\r
+       return 0;\r
+}\r
+\r
+/*************************************************************\r
+**  Create a dictionary entry given a string name. \r
+*/\r
+void ffCreateSecondaryHeader( const ForthStringPtr FName)\r
+{\r
+       pfDebugMessage("ffCreateSecondaryHeader()\n");\r
+/* Check for dictionary overflow. */\r
+       if( ffCheckDicRoom() ) return;\r
+\r
+       pfDebugMessage("ffCreateSecondaryHeader: CheckRedefinition()\n");\r
+       CheckRedefinition( FName );\r
+/* Align CODE_HERE */\r
+       CODE_HERE = (cell *)( (((uint32)CODE_HERE) + UINT32_MASK) & ~UINT32_MASK);\r
+       CreateDicEntry( (ExecToken) ABS_TO_CODEREL(CODE_HERE), FName, FLAG_SMUDGE );\r
+DBUG(("ffCreateSecondaryHeader, XT = 0x%x, Name = %8s\n"));\r
+}\r
+\r
+/*************************************************************\r
+** Begin compiling a secondary word.\r
+*/\r
+static void ffStringColon( const ForthStringPtr FName)\r
+{\r
+       ffCreateSecondaryHeader( FName );\r
+       gVarState = 1;\r
+}\r
+\r
+/*************************************************************\r
+** Read the next ExecToken from the Source and create a word.\r
+*/\r
+void ffColon( void )\r
+{\r
+       char *FName;\r
+       \r
+       gDepthAtColon = DATA_STACK_DEPTH;\r
+       \r
+       FName = ffWord( BLANK );\r
+       if( *FName > 0 )\r
+       {\r
+               ffStringColon( FName );\r
+       }\r
+}\r
+\r
+/*************************************************************\r
+** Check to see if name is already in dictionary.\r
+*/\r
+static int32 CheckRedefinition( const ForthStringPtr FName )\r
+{\r
+       int32 flag;\r
+       ExecToken XT;\r
+       \r
+       flag = ffFind( FName, &XT);\r
+       if ( flag && !gVarQuiet)\r
+       {\r
+               ioType( FName+1, (int32) *FName );\r
+               MSG( " redefined.\n" ); // FIXME - allow user to run off this warning.\r
+       }\r
+       return flag;\r
+}\r
+\r
+void ffStringCreate( char *FName)\r
+{\r
+       ffCreateSecondaryHeader( FName );\r
+       \r
+       CODE_COMMA( ID_CREATE_P );\r
+       CODE_COMMA( ID_EXIT );\r
+       ffFinishSecondary();\r
+       \r
+}\r
+\r
+/* Read the next ExecToken from the Source and create a word. */\r
+void ffCreate( void )\r
+{\r
+       char *FName;\r
+       \r
+       FName = ffWord( BLANK );\r
+       if( *FName > 0 )\r
+       {\r
+               ffStringCreate( FName );\r
+       }\r
+}\r
+\r
+void ffStringDefer( const ForthStringPtr FName, ExecToken DefaultXT )\r
+{\r
+       pfDebugMessage("ffStringDefer()\n");\r
+       ffCreateSecondaryHeader( FName );\r
+       \r
+       CODE_COMMA( ID_DEFER_P );\r
+       CODE_COMMA( DefaultXT );\r
+       \r
+       ffFinishSecondary();\r
+       \r
+}\r
+#ifndef PF_NO_INIT\r
+/* Convert name then create deferred dictionary entry. */\r
+static void CreateDeferredC( ExecToken DefaultXT, const char *CName )\r
+{\r
+       char FName[40];\r
+       CStringToForth( FName, CName );\r
+       ffStringDefer( FName, DefaultXT );\r
+}\r
+#endif\r
+\r
+/* Read the next token from the Source and create a word. */\r
+void ffDefer( void )\r
+{\r
+       char *FName;\r
+       \r
+       FName = ffWord( BLANK );\r
+       if( *FName > 0 )\r
+       {\r
+               ffStringDefer( FName, ID_QUIT_P );\r
+       }\r
+}\r
+\r
+/* Unsmudge the word to make it visible. */\r
+void ffUnSmudge( void )\r
+{\r
+       *gVarContext &= ~FLAG_SMUDGE;\r
+}\r
+\r
+/* Implement ; */\r
+ThrowCode ffSemiColon( void )\r
+{\r
+       ThrowCode exception = 0;\r
+       gVarState = 0;\r
+       \r
+       if( (gDepthAtColon != DATA_STACK_DEPTH) &&\r
+           (gDepthAtColon != DEPTH_AT_COLON_INVALID) ) /* Ignore if no ':' */\r
+       {\r
+               exception = THROW_SEMICOLON;\r
+       }\r
+       else\r
+       {\r
+               ffFinishSecondary();\r
+       }\r
+       gDepthAtColon = DEPTH_AT_COLON_INVALID;\r
+       return exception;\r
+}\r
+\r
+/* Finish the definition of a Forth word. */\r
+void ffFinishSecondary( void )\r
+{\r
+       CODE_COMMA( ID_EXIT );\r
+       ffUnSmudge();\r
+}\r
+\r
+/**************************************************************/\r
+/* Used to pull a number from the dictionary to the stack */\r
+void ff2Literal( cell dHi, cell dLo )\r
+{\r
+       CODE_COMMA( ID_2LITERAL_P );\r
+       CODE_COMMA( dHi );\r
+       CODE_COMMA( dLo );\r
+}\r
+void ffALiteral( cell Num )\r
+{\r
+       CODE_COMMA( ID_ALITERAL_P );\r
+       CODE_COMMA( Num );\r
+}\r
+void ffLiteral( cell Num )\r
+{\r
+       CODE_COMMA( ID_LITERAL_P );\r
+       CODE_COMMA( Num );\r
+}\r
+\r
+#ifdef PF_SUPPORT_FP\r
+void ffFPLiteral( PF_FLOAT fnum )\r
+{\r
+       /* Hack for Metrowerks complier which won't compile the \r
+        * original expression. \r
+        */\r
+       PF_FLOAT  *temp;\r
+       cell      *dicPtr;\r
+\r
+/* Make sure that literal float data is float aligned. */\r
+       dicPtr = CODE_HERE + 1;\r
+       while( (((uint32) dicPtr++) & (sizeof(PF_FLOAT) - 1)) != 0)\r
+       {\r
+               DBUG((" comma NOOP to align FPLiteral\n"));\r
+               CODE_COMMA( ID_NOOP );\r
+       }\r
+       CODE_COMMA( ID_FP_FLITERAL_P );\r
+\r
+       temp = (PF_FLOAT *)CODE_HERE;\r
+       WRITE_FLOAT_DIC(temp,fnum);   /* Write to dictionary. */\r
+       temp++;\r
+       CODE_HERE = (cell *) temp;\r
+}\r
+#endif /* PF_SUPPORT_FP */\r
+\r
+/**************************************************************/\r
+ThrowCode FindAndCompile( const char *theWord )\r
+{\r
+       int32 Flag;\r
+       ExecToken XT;\r
+       cell Num;\r
+       ThrowCode exception = 0;\r
+       \r
+       Flag = ffFind( theWord, &XT);\r
+DBUG(("FindAndCompile: theWord = %8s, XT = 0x%x, Flag = %d\n", theWord, XT, Flag ));\r
+\r
+/* Is it a normal word ? */\r
+       if( Flag == -1 )\r
+       {\r
+               if( gVarState )  /* compiling? */\r
+               {\r
+                       CODE_COMMA( XT );\r
+               }\r
+               else\r
+               {\r
+                       exception = pfCatch( XT );\r
+               }\r
+       }\r
+       else if ( Flag == 1 ) /* or is it IMMEDIATE ? */\r
+       {\r
+DBUG(("FindAndCompile: IMMEDIATE, theWord = 0x%x\n", theWord ));\r
+               exception = pfCatch( XT );\r
+       }\r
+       else /* try to interpret it as a number. */\r
+       {\r
+/* Call deferred NUMBER? */\r
+               int32 NumResult;\r
+               \r
+DBUG(("FindAndCompile: not found, try number?\n" ));\r
+               PUSH_DATA_STACK( theWord );   /* Push text of number */\r
+               exception = pfCatch( gNumberQ_XT );\r
+               if( exception ) goto error;\r
+               \r
+DBUG(("FindAndCompile: after number?\n" ));\r
+               NumResult = POP_DATA_STACK;  /* Success? */\r
+               switch( NumResult )\r
+               {\r
+               case NUM_TYPE_SINGLE:\r
+                       if( gVarState )  /* compiling? */\r
+                       {\r
+                               Num = POP_DATA_STACK;\r
+                               ffLiteral( Num );\r
+                       }\r
+                       break;\r
+                       \r
+               case NUM_TYPE_DOUBLE:\r
+                       if( gVarState )  /* compiling? */\r
+                       {\r
+                               Num = POP_DATA_STACK;  /* get hi portion */\r
+                               ff2Literal( Num, POP_DATA_STACK );\r
+                       }\r
+                       break;\r
+\r
+#ifdef PF_SUPPORT_FP\r
+               case NUM_TYPE_FLOAT:\r
+                       if( gVarState )  /* compiling? */\r
+                       {\r
+                               ffFPLiteral( *gCurrentTask->td_FloatStackPtr++ );\r
+                       }\r
+                       break;\r
+#endif\r
+\r
+               case NUM_TYPE_BAD:\r
+               default:\r
+                       ioType( theWord+1, *theWord );\r
+                       MSG( "  ? - unrecognized word!\n" );\r
+                       exception = THROW_UNDEFINED_WORD;\r
+                       break;\r
+               \r
+               }\r
+       }\r
+error:\r
+       return exception;\r
+}\r
+\r
+/**************************************************************\r
+** Forth outer interpreter.  Parses words from Source.\r
+** Executes them or compiles them based on STATE.\r
+*/\r
+ThrowCode ffInterpret( void )\r
+{\r
+       int32 flag;\r
+       char *theWord;\r
+       ThrowCode exception = 0;\r
+       \r
+/* Is there any text left in Source ? */\r
+       while( gCurrentTask->td_IN < (gCurrentTask->td_SourceNum) )\r
+       {\r
+       \r
+               pfDebugMessage("ffInterpret: calling ffWord(()\n");\r
+               theWord = ffWord( BLANK );\r
+               DBUG(("ffInterpret: theWord = 0x%x, Len = %d\n", theWord, *theWord ));\r
+               \r
+               if( *theWord > 0 )\r
+               {\r
+                       flag = 0;\r
+                       if( gLocalCompiler_XT )\r
+                       {\r
+                               PUSH_DATA_STACK( theWord );   /* Push word. */\r
+                               exception = pfCatch( gLocalCompiler_XT );\r
+                               if( exception ) goto error;\r
+                               flag = POP_DATA_STACK;  /* Compiled local? */\r
+                       }\r
+                       if( flag == 0 )\r
+                       {\r
+                               exception = FindAndCompile( theWord );\r
+                               if( exception ) goto error;\r
+                       }\r
+               }\r
+\r
+               DBUG(("ffInterpret: IN=%d, SourceNum=%d\n", gCurrentTask->td_IN,\r
+                       gCurrentTask->td_SourceNum ) );\r
+       }\r
+       DBUG(("ffInterpret: CHECK_ABORT = %d\n", CHECK_ABORT));\r
+error:\r
+       return exception;\r
+}\r
+               \r
+/**************************************************************/\r
+ThrowCode ffOK( void )\r
+{\r
+       int32 exception = 0;\r
+/* Check for stack underflow.   %Q what about overflows? */\r
+       if( (gCurrentTask->td_StackBase - gCurrentTask->td_StackPtr) < 0 )\r
+       {\r
+               exception = THROW_STACK_UNDERFLOW;\r
+       }\r
+#ifdef PF_SUPPORT_FP  /* Check floating point stack too! */\r
+       else if((gCurrentTask->td_FloatStackBase - gCurrentTask->td_FloatStackPtr) < 0)\r
+       {\r
+               exception = THROW_FLOAT_STACK_UNDERFLOW;\r
+       }\r
+#endif\r
+       else if( gCurrentTask->td_InputStream == PF_STDIN)\r
+       {\r
+               if( !gVarState )  /* executing? */\r
+               {\r
+                       if( !gVarQuiet )\r
+                       {\r
+                               MSG( "   ok\n" );\r
+                               if(gVarTraceStack) ffDotS();\r
+                       }\r
+                       else\r
+                       {\r
+                               EMIT_CR;\r
+                       }\r
+               }\r
+       }\r
+       return exception;\r
+}\r
+\r
+/***************************************************************\r
+** Cleanup Include stack by popping and closing files.\r
+***************************************************************/\r
+void pfHandleIncludeError( void )\r
+{\r
+       FileStream *cur;\r
+       \r
+       while( (cur = ffPopInputStream()) != PF_STDIN)\r
+       {\r
+               DBUG(("ffCleanIncludeStack: closing 0x%x\n", cur ));\r
+               sdCloseFile(cur);\r
+       }\r
+}\r
+\r
+/***************************************************************\r
+** Interpret input in a loop.\r
+***************************************************************/\r
+ThrowCode ffOuterInterpreterLoop( void )\r
+{\r
+       int32 exception = 0;\r
+       do\r
+       {\r
+               exception = ffRefill();\r
+               if(exception <= 0) break;\r
+\r
+               exception = ffInterpret();\r
+               if( exception == 0 )\r
+               {\r
+                       exception = ffOK();\r
+               }\r
+\r
+       } while( exception == 0 );\r
+       return exception;\r
+}\r
+\r
+/***************************************************************\r
+** Include a file\r
+***************************************************************/\r
+\r
+ThrowCode ffIncludeFile( FileStream *InputFile )\r
+{\r
+       ThrowCode exception;\r
+       \r
+/* Push file stream. */\r
+       exception = ffPushInputStream( InputFile );\r
+       if( exception < 0 ) return exception;\r
+\r
+/* Run outer interpreter for stream. */\r
+       exception = ffOuterInterpreterLoop();\r
+       if( exception )\r
+       {       \r
+               int i;\r
+/* Report line number and nesting level. */\r
+               MSG("INCLUDE error on line #"); ffDot(gCurrentTask->td_LineNumber);\r
+               MSG(", level = ");  ffDot(gIncludeIndex );\r
+               EMIT_CR\r
+       \r
+/* Dump line of error and show offset in line for >IN */\r
+               for( i=0; i<gCurrentTask->td_SourceNum; i++ )\r
+               {\r
+                       char c = gCurrentTask->td_SourcePtr[i];\r
+                       if( c == '\t' ) c = ' ';\r
+                       EMIT(c);\r
+               }\r
+               EMIT_CR;\r
+               for( i=0; i<(gCurrentTask->td_IN - 1); i++ ) EMIT('^');\r
+               EMIT_CR;\r
+       }\r
+\r
+/* Pop file stream. */\r
+       ffPopInputStream();\r
+       \r
+       return exception;\r
+}\r
+\r
+#endif /* !PF_NO_SHELL */\r
+\r
+/***************************************************************\r
+** Save current input stream on stack, use this new one.\r
+***************************************************************/\r
+Err ffPushInputStream( FileStream *InputFile )\r
+{\r
+       cell Result = 0;\r
+       IncludeFrame *inf;\r
+       \r
+/* Push current input state onto special include stack. */\r
+       if( gIncludeIndex < MAX_INCLUDE_DEPTH )\r
+       {\r
+               inf = &gIncludeStack[gIncludeIndex++];\r
+               inf->inf_FileID = gCurrentTask->td_InputStream;\r
+               inf->inf_IN = gCurrentTask->td_IN;\r
+               inf->inf_LineNumber = gCurrentTask->td_LineNumber;\r
+               inf->inf_SourceNum = gCurrentTask->td_SourceNum;\r
+/* Copy TIB plus any NUL terminator into saved area. */\r
+               if( (inf->inf_SourceNum > 0) && (inf->inf_SourceNum < (TIB_SIZE-1)) )\r
+               {\r
+                       pfCopyMemory( inf->inf_SaveTIB, gCurrentTask->td_TIB, inf->inf_SourceNum+1 );\r
+               }\r
+\r
+/* Set new current input. */\r
+               DBUG(( "ffPushInputStream: InputFile = 0x%x\n", InputFile ));\r
+               gCurrentTask->td_InputStream = InputFile;\r
+               gCurrentTask->td_LineNumber = 0;\r
+       }\r
+       else\r
+       {\r
+               ERR("ffPushInputStream: max depth exceeded.\n");\r
+               return -1;\r
+       }\r
+       \r
+       \r
+       return Result;\r
+}\r
+\r
+/***************************************************************\r
+** Go back to reading previous stream.\r
+** Just return gCurrentTask->td_InputStream upon underflow.\r
+***************************************************************/\r
+FileStream *ffPopInputStream( void )\r
+{\r
+       IncludeFrame *inf;\r
+       FileStream *Result;\r
+       \r
+DBUG(("ffPopInputStream: gIncludeIndex = %d\n", gIncludeIndex));\r
+       Result = gCurrentTask->td_InputStream;\r
+       \r
+/* Restore input state. */\r
+       if( gIncludeIndex > 0 )\r
+       {\r
+               inf = &gIncludeStack[--gIncludeIndex];\r
+               gCurrentTask->td_InputStream = inf->inf_FileID;\r
+               DBUG(("ffPopInputStream: stream = 0x%x\n", gCurrentTask->td_InputStream ));\r
+               gCurrentTask->td_IN = inf->inf_IN;\r
+               gCurrentTask->td_LineNumber = inf->inf_LineNumber;\r
+               gCurrentTask->td_SourceNum = inf->inf_SourceNum;\r
+/* Copy TIB plus any NUL terminator into saved area. */\r
+               if( (inf->inf_SourceNum > 0) && (inf->inf_SourceNum < (TIB_SIZE-1)) )\r
+               {\r
+                       pfCopyMemory( gCurrentTask->td_TIB, inf->inf_SaveTIB, inf->inf_SourceNum+1 );\r
+               }\r
+\r
+       }\r
+DBUG(("ffPopInputStream: return = 0x%x\n", Result ));\r
+\r
+       return Result;\r
+}\r
+\r
+/***************************************************************\r
+** Convert file pointer to value consistent with SOURCE-ID.\r
+***************************************************************/\r
+cell ffConvertStreamToSourceID( FileStream *Stream )\r
+{\r
+       cell Result;\r
+       if(Stream == PF_STDIN)\r
+       {\r
+               Result = 0;\r
+       }\r
+       else if(Stream == NULL)\r
+       {\r
+               Result = -1;\r
+       }\r
+       else\r
+       {\r
+               Result = (cell) Stream;\r
+       }\r
+       return Result;\r
+}\r
+\r
+/***************************************************************\r
+** Convert file pointer to value consistent with SOURCE-ID.\r
+***************************************************************/\r
+FileStream * ffConvertSourceIDToStream( cell id )\r
+{\r
+       FileStream *stream;\r
+       \r
+       if( id == 0 )\r
+       {\r
+               stream = PF_STDIN;\r
+       }\r
+       else if( id == -1 )\r
+       {\r
+               stream = NULL;\r
+       }\r
+       else \r
+       {\r
+               stream = (FileStream *) id;\r
+       }\r
+       return stream;\r
+}\r
+\r
+/**************************************************************\r
+** Receive line from input stream.\r
+** Return length, or -1 for EOF.\r
+*/\r
+#define BACKSPACE  (8)\r
+static cell readLineFromStream( char *buffer, cell maxChars, FileStream *stream )\r
+{\r
+       int   c;\r
+       int   len;\r
+       char *p;\r
+       static int lastChar = 0;\r
+       int   done = 0;\r
+\r
+DBUGX(("readLineFromStream(0x%x, 0x%x, 0x%x)\n", buffer, len, stream ));\r
+       p = buffer;\r
+       len = 0;\r
+       while( (len < maxChars) && !done )\r
+       {\r
+               c = sdInputChar(stream);\r
+               switch(c)\r
+               {\r
+                       case EOF:\r
+                               DBUG(("EOF\n"));\r
+                               done = 1;\r
+                               if( len <= 0 ) len = -1;\r
+                               break;\r
+                               \r
+                       case '\n':\r
+                               DBUGX(("EOL=\\n\n"));\r
+                               if( lastChar != '\r' ) done = 1;\r
+                               break;\r
+                               \r
+                       case '\r':\r
+                               DBUGX(("EOL=\\r\n"));\r
+                               done = 1;\r
+                               break;\r
+                               \r
+                       default:\r
+                               *p++ = (char) c;\r
+                               len++;\r
+                               break;\r
+               }\r
+               lastChar = c;\r
+       }\r
+\r
+/* NUL terminate line to simplify printing when debugging. */\r
+       if( (len >= 0) && (len < maxChars) ) p[len] = '\0';\r
+               \r
+       return len;\r
+}\r
+\r
+/**************************************************************\r
+** ( -- , fill Source from current stream )\r
+** Return 1 if successful, 0 for EOF, or a negative error.\r
+*/\r
+cell ffRefill( void )\r
+{\r
+       cell Num;\r
+       cell Result = 1;\r
+\r
+/* reset >IN for parser */\r
+       gCurrentTask->td_IN = 0;\r
+\r
+/* get line from current stream */\r
+       if( gCurrentTask->td_InputStream == PF_STDIN )\r
+       {\r
+       /* ACCEPT is deferred so we call it through the dictionary. */\r
+               PUSH_DATA_STACK( gCurrentTask->td_SourcePtr );\r
+               PUSH_DATA_STACK( TIB_SIZE );\r
+               pfCatch( gAcceptP_XT );\r
+               Num = POP_DATA_STACK;\r
+               if( Num < 0 )\r
+               {\r
+                       Result = Num;\r
+                       goto error;\r
+               }\r
+       }\r
+       else\r
+       {\r
+               Num = readLineFromStream( gCurrentTask->td_SourcePtr, TIB_SIZE,\r
+                       gCurrentTask->td_InputStream );\r
+               if( Num == EOF )\r
+               {\r
+                       Result = 0;\r
+                       Num = 0;\r
+               }\r
+       }\r
+\r
+       gCurrentTask->td_SourceNum = Num;\r
+       gCurrentTask->td_LineNumber++;  /* Bump for include. */\r
+       \r
+/* echo input if requested */\r
+       if( gVarEcho && ( Num > 0))\r
+       {\r
+               ioType( gCurrentTask->td_SourcePtr, gCurrentTask->td_SourceNum );\r
+               EMIT_CR;\r
+       }\r
+       \r
+error:\r
+       return Result;\r
+}\r
diff --git a/csrc/pfcompil.h b/csrc/pfcompil.h
new file mode 100644 (file)
index 0000000..cdb7785
--- /dev/null
@@ -0,0 +1,73 @@
+/* @(#) pfcompil.h 96/12/18 1.11 */\r
+\r
+#ifndef _pforth_compile_h\r
+#define _pforth_compile_h\r
+\r
+/***************************************************************\r
+** Include file for PForth Compiler\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+Err   ffPushInputStream( FileStream *InputFile );\r
+ExecToken NameToToken( const ForthString *NFA );\r
+FileStream * ffConvertSourceIDToStream( cell id );\r
+FileStream *ffPopInputStream( void );\r
+cell  ffConvertStreamToSourceID( FileStream *Stream );\r
+cell  ffFind( const ForthString *WordName, ExecToken *pXT );\r
+cell  ffFindC( const char *WordName, ExecToken *pXT );\r
+cell  ffFindNFA( const ForthString *WordName, const ForthString **NFAPtr );\r
+cell  ffNumberQ( const char *FWord, cell *Num );\r
+cell  ffRefill( void );\r
+cell  ffTokenToName( ExecToken XT, const ForthString **NFAPtr );\r
+cell *NameToCode( ForthString *NFA );\r
+PForthDictionary pfBuildDictionary( int32 HeaderSize, int32 CodeSize );\r
+char *ffWord( char c );\r
+const ForthString *NameToPrevious( const ForthString *NFA );\r
+int32 FindSpecialCFAs( void );\r
+int32 FindSpecialXTs( void );\r
+int32 NotCompiled( const char *FunctionName );\r
+void  CreateDicEntry( ExecToken XT, const ForthStringPtr FName, uint32 Flags );\r
+void  CreateDicEntryC( ExecToken XT, const char *CName, uint32 Flags );\r
+void  ff2Literal( cell dHi, cell dLo );\r
+void  ffALiteral( cell Num );\r
+void  ffColon( void );\r
+void  ffCreate( void );\r
+void  ffCreateSecondaryHeader( const ForthStringPtr FName);\r
+void  ffDefer( void );\r
+void  ffFinishSecondary( void );\r
+void  ffLiteral( cell Num );\r
+void  ffStringCreate( ForthStringPtr FName);\r
+void  ffStringDefer( const ForthStringPtr FName, ExecToken DefaultXT );\r
+void  pfHandleIncludeError( void );\r
+\r
+ThrowCode ffSemiColon( void );\r
+ThrowCode ffOK( void );\r
+ThrowCode ffInterpret( void );\r
+ThrowCode ffOuterInterpreterLoop( void );\r
+ThrowCode ffIncludeFile( FileStream *InputFile );\r
+\r
+#ifdef PF_SUPPORT_FP\r
+void ffFPLiteral( PF_FLOAT fnum );\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+}   \r
+#endif\r
+\r
+#endif /* _pforth_compile_h */\r
diff --git a/csrc/pfcustom.c b/csrc/pfcustom.c
new file mode 100644 (file)
index 0000000..7aa8ff4
--- /dev/null
@@ -0,0 +1,121 @@
+/* @(#) pfcustom.c 98/01/26 1.3 */\r
+\r
+#ifndef PF_USER_CUSTOM\r
+\r
+/***************************************************************\r
+** Call Custom Functions for pForth\r
+**\r
+** Create a file similar to this and compile it into pForth\r
+** by setting -DPF_USER_CUSTOM="mycustom.c"\r
+**\r
+** Using this, you could, for example, call X11 from Forth.\r
+** See "pf_cglue.c" for more information.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+\r
+#include "pf_all.h"\r
+\r
+static int32 CTest0( int32 Val );\r
+static void CTest1( int32 Val1, cell Val2 );\r
+\r
+/****************************************************************\r
+** Step 1: Put your own special glue routines here\r
+**     or link them in from another file or library.\r
+****************************************************************/\r
+static int32 CTest0( int32 Val )\r
+{\r
+       MSG_NUM_D("CTest0: Val = ", Val);\r
+       return Val+1;\r
+}\r
+\r
+static void CTest1( int32 Val1, cell Val2 )\r
+{\r
+\r
+       MSG("CTest1: Val1 = "); ffDot(Val1);\r
+       MSG_NUM_D(", Val2 = ", Val2);\r
+}\r
+\r
+/****************************************************************\r
+** Step 2: Create CustomFunctionTable.\r
+**     Do not change the name of CustomFunctionTable!\r
+**     It is used by the pForth kernel.\r
+****************************************************************/\r
+\r
+#ifdef PF_NO_GLOBAL_INIT\r
+/******************\r
+** If your loader does not support global initialization, then you\r
+** must define PF_NO_GLOBAL_INIT and provide a function to fill\r
+** the table. Some embedded system loaders require this!\r
+** Do not change the name of LoadCustomFunctionTable()!\r
+** It is called by the pForth kernel.\r
+*/\r
+#define NUM_CUSTOM_FUNCTIONS  (2)\r
+CFunc0 CustomFunctionTable[NUM_CUSTOM_FUNCTIONS];\r
+\r
+Err LoadCustomFunctionTable( void )\r
+{\r
+       CustomFunctionTable[0] = CTest0;\r
+       CustomFunctionTable[1] = CTest1;\r
+       return 0;\r
+}\r
+\r
+#else\r
+/******************\r
+** If your loader supports global initialization (most do.) then just\r
+** create the table like this.\r
+*/\r
+void *CustomFunctionTable[] =\r
+{\r
+       (CFunc0) CTest0,\r
+       (CFunc0) CTest1\r
+};     \r
+#endif\r
+\r
+/****************************************************************\r
+** Step 3: Add custom functions to the dictionary.\r
+**     Do not change the name of CompileCustomFunctions!\r
+**     It is called by the pForth kernel.\r
+****************************************************************/\r
+\r
+#if (!defined(PF_NO_INIT)) && (!defined(PF_NO_SHELL))\r
+Err CompileCustomFunctions( void )\r
+{\r
+       Err err;\r
+       int i = 0;\r
+/* Compile Forth words that call your custom functions.\r
+** Make sure order of functions matches that in LoadCustomFunctionTable().\r
+** Parameters are: Name in UPPER CASE, Function, Index, Mode, NumParams\r
+*/\r
+       err = CreateGlueToC( "CTEST0", i++, C_RETURNS_VALUE, 1 );\r
+       if( err < 0 ) return err;\r
+       err = CreateGlueToC( "CTEST1", i++, C_RETURNS_VOID, 2 );\r
+       if( err < 0 ) return err;\r
+       \r
+       return 0;\r
+}\r
+#else\r
+Err CompileCustomFunctions( void ) { return 0; }\r
+#endif\r
+\r
+/****************************************************************\r
+** Step 4: Recompile using compiler option PF_USER_CUSTOM\r
+**         and link with your code.\r
+**         Then rebuild the Forth using "pforth -i system.fth"\r
+**         Test:   10 Ctest0 ( should print message then '11' )\r
+****************************************************************/\r
+\r
+#endif  /* PF_USER_CUSTOM */\r
+\r
diff --git a/csrc/pfdicdat.h b/csrc/pfdicdat.h
new file mode 100644 (file)
index 0000000..e652652
--- /dev/null
@@ -0,0 +1,3760 @@
+/* This file generated by the Forth command SDAD */
+#define HEADERPTR  (0x00004484)
+#define RELCONTEXT  (0x0000447C)
+#define CODEPTR  (0x0000A5B4)
+#define IF_LITTLE_ENDIAN  (0x00000001)
+static const uint8 MinDicNames[] = {
+/* 0x00000000: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x45,0x58,0x49,0x54,0x00,0x00,0x00,
+/* 0x00000010: */ 0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x31,0x2D,0x00,0x18,0x00,0x00,0x00,
+/* 0x00000020: */ 0x02,0x00,0x00,0x00,0x02,0x31,0x2B,0x00,0x24,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,
+/* 0x00000030: */ 0x03,0x32,0x52,0x40,0x30,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x03,0x32,0x52,0x3E,
+/* 0x00000040: */ 0x3C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x03,0x32,0x3E,0x52,0x48,0x00,0x00,0x00,
+/* 0x00000050: */ 0x03,0x00,0x00,0x00,0x04,0x32,0x44,0x55,0x50,0x00,0x00,0x00,0x54,0x00,0x00,0x00,
+/* 0x00000060: */ 0x04,0x00,0x00,0x00,0x48,0x32,0x4C,0x49,0x54,0x45,0x52,0x41,0x4C,0x00,0x00,0x00,
+/* 0x00000070: */ 0x64,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x0A,0x28,0x32,0x4C,0x49,0x54,0x45,0x52,
+/* 0x00000080: */ 0x41,0x4C,0x29,0x00,0x78,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x02,0x32,0x2D,0x00,
+/* 0x00000090: */ 0x8C,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x02,0x32,0x2B,0x00,0x98,0x00,0x00,0x00,
+/* 0x000000A0: */ 0x07,0x00,0x00,0x00,0x05,0x32,0x4F,0x56,0x45,0x52,0x00,0x00,0xA4,0x00,0x00,0x00,
+/* 0x000000B0: */ 0x09,0x00,0x00,0x00,0x05,0x32,0x53,0x57,0x41,0x50,0x00,0x00,0xB4,0x00,0x00,0x00,
+/* 0x000000C0: */ 0x0D,0x00,0x00,0x00,0x08,0x28,0x41,0x43,0x43,0x45,0x50,0x54,0x29,0x00,0x00,0x00,
+/* 0x000000D0: */ 0xC4,0x00,0x00,0x00,0x04,0x01,0x00,0x00,0x06,0x41,0x43,0x43,0x45,0x50,0x54,0x00,
+/* 0x000000E0: */ 0xD8,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x48,0x41,0x4C,0x49,0x54,0x45,0x52,0x41,
+/* 0x000000F0: */ 0x4C,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x0A,0x28,0x41,0x4C,
+/* 0x00000100: */ 0x49,0x54,0x45,0x52,0x41,0x4C,0x29,0x00,0xFC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00000110: */ 0x08,0x41,0x4C,0x4C,0x4F,0x43,0x41,0x54,0x45,0x00,0x00,0x00,0x10,0x01,0x00,0x00,
+/* 0x00000120: */ 0x12,0x00,0x00,0x00,0x07,0x41,0x52,0x53,0x48,0x49,0x46,0x54,0x24,0x01,0x00,0x00,
+/* 0x00000130: */ 0x11,0x00,0x00,0x00,0x03,0x41,0x4E,0x44,0x34,0x01,0x00,0x00,0x13,0x00,0x00,0x00,
+/* 0x00000140: */ 0x04,0x42,0x41,0x49,0x4C,0x00,0x00,0x00,0x40,0x01,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00000150: */ 0x06,0x42,0x52,0x41,0x4E,0x43,0x48,0x00,0x50,0x01,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00000160: */ 0x0B,0x42,0x4F,0x44,0x59,0x5F,0x4F,0x46,0x46,0x53,0x45,0x54,0x60,0x01,0x00,0x00,
+/* 0x00000170: */ 0x16,0x00,0x00,0x00,0x03,0x42,0x59,0x45,0x74,0x01,0x00,0x00,0xBD,0x00,0x00,0x00,
+/* 0x00000180: */ 0x05,0x43,0x41,0x54,0x43,0x48,0x00,0x00,0x80,0x01,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00000190: */ 0x02,0x43,0x40,0x00,0x90,0x01,0x00,0x00,0x19,0x00,0x00,0x00,0x05,0x43,0x4D,0x4F,
+/* 0x000001A0: */ 0x56,0x45,0x00,0x00,0x9C,0x01,0x00,0x00,0x1A,0x00,0x00,0x00,0x06,0x43,0x4D,0x4F,
+/* 0x000001B0: */ 0x56,0x45,0x3E,0x00,0xAC,0x01,0x00,0x00,0x1B,0x00,0x00,0x00,0x01,0x3A,0x00,0x00,
+/* 0x000001C0: */ 0xBC,0x01,0x00,0x00,0x1C,0x00,0x00,0x00,0x03,0x28,0x3A,0x29,0xC8,0x01,0x00,0x00,
+/* 0x000001D0: */ 0x1D,0x00,0x00,0x00,0x07,0x43,0x4F,0x4D,0x50,0x41,0x52,0x45,0xD4,0x01,0x00,0x00,
+/* 0x000001E0: */ 0x1E,0x00,0x00,0x00,0x01,0x3D,0x00,0x00,0xE4,0x01,0x00,0x00,0x21,0x00,0x00,0x00,
+/* 0x000001F0: */ 0x02,0x3C,0x3E,0x00,0xF0,0x01,0x00,0x00,0x1F,0x00,0x00,0x00,0x01,0x3E,0x00,0x00,
+/* 0x00000200: */ 0xFC,0x01,0x00,0x00,0x22,0x00,0x00,0x00,0x02,0x55,0x3E,0x00,0x08,0x02,0x00,0x00,
+/* 0x00000210: */ 0x20,0x00,0x00,0x00,0x01,0x3C,0x00,0x00,0x14,0x02,0x00,0x00,0x23,0x00,0x00,0x00,
+/* 0x00000220: */ 0x02,0x55,0x3C,0x00,0x20,0x02,0x00,0x00,0x24,0x00,0x00,0x00,0x02,0x30,0x3D,0x00,
+/* 0x00000230: */ 0x2C,0x02,0x00,0x00,0x27,0x00,0x00,0x00,0x03,0x30,0x3C,0x3E,0x38,0x02,0x00,0x00,
+/* 0x00000240: */ 0x25,0x00,0x00,0x00,0x02,0x30,0x3E,0x00,0x44,0x02,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00000250: */ 0x02,0x30,0x3C,0x00,0x50,0x02,0x00,0x00,0x28,0x00,0x00,0x00,0x02,0x43,0x52,0x00,
+/* 0x00000260: */ 0x5C,0x02,0x00,0x00,0x29,0x00,0x00,0x00,0x06,0x43,0x52,0x45,0x41,0x54,0x45,0x00,
+/* 0x00000270: */ 0x68,0x02,0x00,0x00,0x2A,0x00,0x00,0x00,0x08,0x28,0x43,0x52,0x45,0x41,0x54,0x45,
+/* 0x00000280: */ 0x29,0x00,0x00,0x00,0x78,0x02,0x00,0x00,0x39,0x00,0x00,0x00,0x02,0x44,0x2B,0x00,
+/* 0x00000290: */ 0x8C,0x02,0x00,0x00,0x36,0x00,0x00,0x00,0x02,0x44,0x2D,0x00,0x98,0x02,0x00,0x00,
+/* 0x000002A0: */ 0x3A,0x00,0x00,0x00,0x06,0x55,0x4D,0x2F,0x4D,0x4F,0x44,0x00,0xA4,0x02,0x00,0x00,
+/* 0x000002B0: */ 0x38,0x00,0x00,0x00,0x06,0x4D,0x55,0x2F,0x4D,0x4F,0x44,0x00,0xB4,0x02,0x00,0x00,
+/* 0x000002C0: */ 0x37,0x00,0x00,0x00,0x02,0x4D,0x2A,0x00,0xC4,0x02,0x00,0x00,0x3B,0x00,0x00,0x00,
+/* 0x000002D0: */ 0x03,0x55,0x4D,0x2A,0xD0,0x02,0x00,0x00,0x2C,0x00,0x00,0x00,0x05,0x44,0x45,0x46,
+/* 0x000002E0: */ 0x45,0x52,0x00,0x00,0xDC,0x02,0x00,0x00,0x2B,0x00,0x00,0x00,0x02,0x43,0x21,0x00,
+/* 0x000002F0: */ 0xEC,0x02,0x00,0x00,0x2E,0x00,0x00,0x00,0x05,0x44,0x45,0x50,0x54,0x48,0x00,0x00,
+/* 0x00000300: */ 0xF8,0x02,0x00,0x00,0x2F,0x00,0x00,0x00,0x01,0x2F,0x00,0x00,0x08,0x03,0x00,0x00,
+/* 0x00000310: */ 0x30,0x00,0x00,0x00,0x01,0x2E,0x00,0x00,0x14,0x03,0x00,0x00,0x31,0x00,0x00,0x00,
+/* 0x00000320: */ 0x02,0x2E,0x53,0x00,0x20,0x03,0x00,0x00,0x32,0x00,0x00,0x00,0x04,0x28,0x44,0x4F,
+/* 0x00000330: */ 0x29,0x00,0x00,0x00,0x2C,0x03,0x00,0x00,0x33,0x00,0x00,0x00,0x04,0x44,0x52,0x4F,
+/* 0x00000340: */ 0x50,0x00,0x00,0x00,0x3C,0x03,0x00,0x00,0x34,0x00,0x00,0x00,0x04,0x44,0x55,0x4D,
+/* 0x00000350: */ 0x50,0x00,0x00,0x00,0x4C,0x03,0x00,0x00,0x35,0x00,0x00,0x00,0x03,0x44,0x55,0x50,
+/* 0x00000360: */ 0x5C,0x03,0x00,0x00,0x3D,0x00,0x00,0x00,0x06,0x28,0x45,0x4D,0x49,0x54,0x29,0x00,
+/* 0x00000370: */ 0x68,0x03,0x00,0x00,0x10,0x01,0x00,0x00,0x04,0x45,0x4D,0x49,0x54,0x00,0x00,0x00,
+/* 0x00000380: */ 0x78,0x03,0x00,0x00,0x3E,0x00,0x00,0x00,0x03,0x45,0x4F,0x4C,0x88,0x03,0x00,0x00,
+/* 0x00000390: */ 0x3F,0x00,0x00,0x00,0x08,0x28,0x3F,0x45,0x52,0x52,0x4F,0x52,0x29,0x00,0x00,0x00,
+/* 0x000003A0: */ 0x94,0x03,0x00,0x00,0x3F,0x00,0x00,0x00,0x06,0x3F,0x45,0x52,0x52,0x4F,0x52,0x00,
+/* 0x000003B0: */ 0xA8,0x03,0x00,0x00,0x40,0x00,0x00,0x00,0x07,0x45,0x58,0x45,0x43,0x55,0x54,0x45,
+/* 0x000003C0: */ 0xB8,0x03,0x00,0x00,0x41,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0xC8,0x03,0x00,0x00,
+/* 0x000003D0: */ 0x4C,0x00,0x00,0x00,0x04,0x46,0x49,0x4C,0x4C,0x00,0x00,0x00,0xD4,0x03,0x00,0x00,
+/* 0x000003E0: */ 0x4D,0x00,0x00,0x00,0x04,0x46,0x49,0x4E,0x44,0x00,0x00,0x00,0xE4,0x03,0x00,0x00,
+/* 0x000003F0: */ 0x43,0x00,0x00,0x00,0x0B,0x43,0x52,0x45,0x41,0x54,0x45,0x2D,0x46,0x49,0x4C,0x45,
+/* 0x00000400: */ 0xF4,0x03,0x00,0x00,0x44,0x00,0x00,0x00,0x09,0x4F,0x50,0x45,0x4E,0x2D,0x46,0x49,
+/* 0x00000410: */ 0x4C,0x45,0x00,0x00,0x08,0x04,0x00,0x00,0x42,0x00,0x00,0x00,0x0A,0x43,0x4C,0x4F,
+/* 0x00000420: */ 0x53,0x45,0x2D,0x46,0x49,0x4C,0x45,0x00,0x1C,0x04,0x00,0x00,0x46,0x00,0x00,0x00,
+/* 0x00000430: */ 0x09,0x52,0x45,0x41,0x44,0x2D,0x46,0x49,0x4C,0x45,0x00,0x00,0x30,0x04,0x00,0x00,
+/* 0x00000440: */ 0x4A,0x00,0x00,0x00,0x09,0x46,0x49,0x4C,0x45,0x2D,0x53,0x49,0x5A,0x45,0x00,0x00,
+/* 0x00000450: */ 0x44,0x04,0x00,0x00,0x4B,0x00,0x00,0x00,0x0A,0x57,0x52,0x49,0x54,0x45,0x2D,0x46,
+/* 0x00000460: */ 0x49,0x4C,0x45,0x00,0x58,0x04,0x00,0x00,0x45,0x00,0x00,0x00,0x0D,0x46,0x49,0x4C,
+/* 0x00000470: */ 0x45,0x2D,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x00,0x00,0x6C,0x04,0x00,0x00,
+/* 0x00000480: */ 0x47,0x00,0x00,0x00,0x0F,0x52,0x45,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x2D,
+/* 0x00000490: */ 0x46,0x49,0x4C,0x45,0x84,0x04,0x00,0x00,0x48,0x00,0x00,0x00,0x03,0x52,0x2F,0x4F,
+/* 0x000004A0: */ 0x9C,0x04,0x00,0x00,0x49,0x00,0x00,0x00,0x03,0x52,0x2F,0x57,0xA8,0x04,0x00,0x00,
+/* 0x000004B0: */ 0x4E,0x00,0x00,0x00,0x07,0x46,0x49,0x4E,0x44,0x4E,0x46,0x41,0xB4,0x04,0x00,0x00,
+/* 0x000004C0: */ 0x4F,0x00,0x00,0x00,0x09,0x46,0x4C,0x55,0x53,0x48,0x45,0x4D,0x49,0x54,0x00,0x00,
+/* 0x000004D0: */ 0xC4,0x04,0x00,0x00,0x50,0x00,0x00,0x00,0x04,0x46,0x52,0x45,0x45,0x00,0x00,0x00,
+/* 0x000004E0: */ 0xD8,0x04,0x00,0x00,0xD1,0x00,0x00,0x00,0x03,0x44,0x3E,0x46,0xE8,0x04,0x00,0x00,
+/* 0x000004F0: */ 0xD2,0x00,0x00,0x00,0x02,0x46,0x21,0x00,0xF4,0x04,0x00,0x00,0xD3,0x00,0x00,0x00,
+/* 0x00000500: */ 0x02,0x46,0x2A,0x00,0x00,0x05,0x00,0x00,0xD4,0x00,0x00,0x00,0x02,0x46,0x2B,0x00,
+/* 0x00000510: */ 0x0C,0x05,0x00,0x00,0xD5,0x00,0x00,0x00,0x02,0x46,0x2D,0x00,0x18,0x05,0x00,0x00,
+/* 0x00000520: */ 0xD6,0x00,0x00,0x00,0x02,0x46,0x2F,0x00,0x24,0x05,0x00,0x00,0xD7,0x00,0x00,0x00,
+/* 0x00000530: */ 0x03,0x46,0x30,0x3C,0x30,0x05,0x00,0x00,0xD8,0x00,0x00,0x00,0x03,0x46,0x30,0x3D,
+/* 0x00000540: */ 0x3C,0x05,0x00,0x00,0xD9,0x00,0x00,0x00,0x02,0x46,0x3C,0x00,0x48,0x05,0x00,0x00,
+/* 0x00000550: */ 0xDA,0x00,0x00,0x00,0x03,0x46,0x3E,0x44,0x54,0x05,0x00,0x00,0xDB,0x00,0x00,0x00,
+/* 0x00000560: */ 0x02,0x46,0x40,0x00,0x60,0x05,0x00,0x00,0xDC,0x00,0x00,0x00,0x06,0x46,0x44,0x45,
+/* 0x00000570: */ 0x50,0x54,0x48,0x00,0x6C,0x05,0x00,0x00,0xDD,0x00,0x00,0x00,0x05,0x46,0x44,0x52,
+/* 0x00000580: */ 0x4F,0x50,0x00,0x00,0x7C,0x05,0x00,0x00,0xDE,0x00,0x00,0x00,0x04,0x46,0x44,0x55,
+/* 0x00000590: */ 0x50,0x00,0x00,0x00,0x8C,0x05,0x00,0x00,0xDF,0x00,0x00,0x00,0x48,0x46,0x4C,0x49,
+/* 0x000005A0: */ 0x54,0x45,0x52,0x41,0x4C,0x00,0x00,0x00,0x9C,0x05,0x00,0x00,0xE0,0x00,0x00,0x00,
+/* 0x000005B0: */ 0x0A,0x28,0x46,0x4C,0x49,0x54,0x45,0x52,0x41,0x4C,0x29,0x00,0xB0,0x05,0x00,0x00,
+/* 0x000005C0: */ 0xE1,0x00,0x00,0x00,0x06,0x46,0x4C,0x4F,0x41,0x54,0x2B,0x00,0xC4,0x05,0x00,0x00,
+/* 0x000005D0: */ 0xE2,0x00,0x00,0x00,0x06,0x46,0x4C,0x4F,0x41,0x54,0x53,0x00,0xD4,0x05,0x00,0x00,
+/* 0x000005E0: */ 0xE3,0x00,0x00,0x00,0x05,0x46,0x4C,0x4F,0x4F,0x52,0x00,0x00,0xE4,0x05,0x00,0x00,
+/* 0x000005F0: */ 0xE4,0x00,0x00,0x00,0x04,0x46,0x4D,0x41,0x58,0x00,0x00,0x00,0xF4,0x05,0x00,0x00,
+/* 0x00000600: */ 0xE5,0x00,0x00,0x00,0x04,0x46,0x4D,0x49,0x4E,0x00,0x00,0x00,0x04,0x06,0x00,0x00,
+/* 0x00000610: */ 0xE6,0x00,0x00,0x00,0x07,0x46,0x4E,0x45,0x47,0x41,0x54,0x45,0x14,0x06,0x00,0x00,
+/* 0x00000620: */ 0xE7,0x00,0x00,0x00,0x05,0x46,0x4F,0x56,0x45,0x52,0x00,0x00,0x24,0x06,0x00,0x00,
+/* 0x00000630: */ 0xE8,0x00,0x00,0x00,0x04,0x46,0x52,0x4F,0x54,0x00,0x00,0x00,0x34,0x06,0x00,0x00,
+/* 0x00000640: */ 0xE9,0x00,0x00,0x00,0x06,0x46,0x52,0x4F,0x55,0x4E,0x44,0x00,0x44,0x06,0x00,0x00,
+/* 0x00000650: */ 0xEA,0x00,0x00,0x00,0x05,0x46,0x53,0x57,0x41,0x50,0x00,0x00,0x54,0x06,0x00,0x00,
+/* 0x00000660: */ 0xEB,0x00,0x00,0x00,0x03,0x46,0x2A,0x2A,0x64,0x06,0x00,0x00,0xEC,0x00,0x00,0x00,
+/* 0x00000670: */ 0x04,0x46,0x41,0x42,0x53,0x00,0x00,0x00,0x70,0x06,0x00,0x00,0xED,0x00,0x00,0x00,
+/* 0x00000680: */ 0x05,0x46,0x41,0x43,0x4F,0x53,0x00,0x00,0x80,0x06,0x00,0x00,0xEE,0x00,0x00,0x00,
+/* 0x00000690: */ 0x06,0x46,0x41,0x43,0x4F,0x53,0x48,0x00,0x90,0x06,0x00,0x00,0xEF,0x00,0x00,0x00,
+/* 0x000006A0: */ 0x05,0x46,0x41,0x4C,0x4F,0x47,0x00,0x00,0xA0,0x06,0x00,0x00,0xF0,0x00,0x00,0x00,
+/* 0x000006B0: */ 0x05,0x46,0x41,0x53,0x49,0x4E,0x00,0x00,0xB0,0x06,0x00,0x00,0xF1,0x00,0x00,0x00,
+/* 0x000006C0: */ 0x06,0x46,0x41,0x53,0x49,0x4E,0x48,0x00,0xC0,0x06,0x00,0x00,0xF2,0x00,0x00,0x00,
+/* 0x000006D0: */ 0x05,0x46,0x41,0x54,0x41,0x4E,0x00,0x00,0xD0,0x06,0x00,0x00,0xF3,0x00,0x00,0x00,
+/* 0x000006E0: */ 0x06,0x46,0x41,0x54,0x41,0x4E,0x32,0x00,0xE0,0x06,0x00,0x00,0xF4,0x00,0x00,0x00,
+/* 0x000006F0: */ 0x06,0x46,0x41,0x54,0x41,0x4E,0x48,0x00,0xF0,0x06,0x00,0x00,0xF5,0x00,0x00,0x00,
+/* 0x00000700: */ 0x04,0x46,0x43,0x4F,0x53,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0xF6,0x00,0x00,0x00,
+/* 0x00000710: */ 0x05,0x46,0x43,0x4F,0x53,0x48,0x00,0x00,0x10,0x07,0x00,0x00,0xF7,0x00,0x00,0x00,
+/* 0x00000720: */ 0x03,0x46,0x4C,0x4E,0x20,0x07,0x00,0x00,0xF8,0x00,0x00,0x00,0x05,0x46,0x4C,0x4E,
+/* 0x00000730: */ 0x50,0x31,0x00,0x00,0x2C,0x07,0x00,0x00,0xF9,0x00,0x00,0x00,0x04,0x46,0x4C,0x4F,
+/* 0x00000740: */ 0x47,0x00,0x00,0x00,0x3C,0x07,0x00,0x00,0xFA,0x00,0x00,0x00,0x04,0x46,0x53,0x49,
+/* 0x00000750: */ 0x4E,0x00,0x00,0x00,0x4C,0x07,0x00,0x00,0xFB,0x00,0x00,0x00,0x07,0x46,0x53,0x49,
+/* 0x00000760: */ 0x4E,0x43,0x4F,0x53,0x5C,0x07,0x00,0x00,0xFC,0x00,0x00,0x00,0x05,0x46,0x53,0x49,
+/* 0x00000770: */ 0x4E,0x48,0x00,0x00,0x6C,0x07,0x00,0x00,0xFD,0x00,0x00,0x00,0x05,0x46,0x53,0x51,
+/* 0x00000780: */ 0x52,0x54,0x00,0x00,0x7C,0x07,0x00,0x00,0xFE,0x00,0x00,0x00,0x04,0x46,0x54,0x41,
+/* 0x00000790: */ 0x4E,0x00,0x00,0x00,0x8C,0x07,0x00,0x00,0xFF,0x00,0x00,0x00,0x05,0x46,0x54,0x41,
+/* 0x000007A0: */ 0x4E,0x48,0x00,0x00,0x9C,0x07,0x00,0x00,0x00,0x01,0x00,0x00,0x05,0x46,0x50,0x49,
+/* 0x000007B0: */ 0x43,0x4B,0x00,0x00,0xAC,0x07,0x00,0x00,0x51,0x00,0x00,0x00,0x04,0x48,0x45,0x52,
+/* 0x000007C0: */ 0x45,0x00,0x00,0x00,0xBC,0x07,0x00,0x00,0x52,0x00,0x00,0x00,0x0A,0x28,0x53,0x4E,
+/* 0x000007D0: */ 0x55,0x4D,0x42,0x45,0x52,0x3F,0x29,0x00,0xCC,0x07,0x00,0x00,0x53,0x00,0x00,0x00,
+/* 0x000007E0: */ 0x01,0x49,0x00,0x00,0xE0,0x07,0x00,0x00,0xBF,0x00,0x00,0x00,0x09,0x49,0x4E,0x54,
+/* 0x000007F0: */ 0x45,0x52,0x50,0x52,0x45,0x54,0x00,0x00,0xEC,0x07,0x00,0x00,0x55,0x00,0x00,0x00,
+/* 0x00000800: */ 0x01,0x4A,0x00,0x00,0x00,0x08,0x00,0x00,0x54,0x00,0x00,0x00,0x0C,0x49,0x4E,0x43,
+/* 0x00000810: */ 0x4C,0x55,0x44,0x45,0x2D,0x46,0x49,0x4C,0x45,0x00,0x00,0x00,0x0C,0x08,0x00,0x00,
+/* 0x00000820: */ 0x56,0x00,0x00,0x00,0x03,0x4B,0x45,0x59,0x24,0x08,0x00,0x00,0x57,0x00,0x00,0x00,
+/* 0x00000830: */ 0x07,0x28,0x4C,0x45,0x41,0x56,0x45,0x29,0x30,0x08,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x00000840: */ 0x47,0x4C,0x49,0x54,0x45,0x52,0x41,0x4C,0x40,0x08,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000850: */ 0x09,0x28,0x4C,0x49,0x54,0x45,0x52,0x41,0x4C,0x29,0x00,0x00,0x50,0x08,0x00,0x00,
+/* 0x00000860: */ 0x5A,0x00,0x00,0x00,0x07,0x4C,0x4F,0x41,0x44,0x53,0x59,0x53,0x64,0x08,0x00,0x00,
+/* 0x00000870: */ 0x5B,0x00,0x00,0x00,0x0E,0x4C,0x4F,0x43,0x41,0x4C,0x2D,0x43,0x4F,0x4D,0x50,0x49,
+/* 0x00000880: */ 0x4C,0x45,0x52,0x00,0x74,0x08,0x00,0x00,0x5C,0x00,0x00,0x00,0x0D,0x28,0x4C,0x4F,
+/* 0x00000890: */ 0x43,0x41,0x4C,0x2E,0x45,0x4E,0x54,0x52,0x59,0x29,0x00,0x00,0x8C,0x08,0x00,0x00,
+/* 0x000008A0: */ 0x5D,0x00,0x00,0x00,0x0C,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x2E,0x45,0x58,0x49,0x54,
+/* 0x000008B0: */ 0x29,0x00,0x00,0x00,0xA4,0x08,0x00,0x00,0x5E,0x00,0x00,0x00,0x08,0x28,0x4C,0x4F,
+/* 0x000008C0: */ 0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,0xBC,0x08,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000008D0: */ 0x0A,0x28,0x31,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0xD0,0x08,0x00,0x00,
+/* 0x000008E0: */ 0x60,0x00,0x00,0x00,0x0A,0x28,0x32,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,
+/* 0x000008F0: */ 0xE4,0x08,0x00,0x00,0x61,0x00,0x00,0x00,0x0A,0x28,0x33,0x5F,0x4C,0x4F,0x43,0x41,
+/* 0x00000900: */ 0x4C,0x40,0x29,0x00,0xF8,0x08,0x00,0x00,0x62,0x00,0x00,0x00,0x0A,0x28,0x34,0x5F,
+/* 0x00000910: */ 0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x0C,0x09,0x00,0x00,0x63,0x00,0x00,0x00,
+/* 0x00000920: */ 0x0A,0x28,0x35,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x20,0x09,0x00,0x00,
+/* 0x00000930: */ 0x64,0x00,0x00,0x00,0x0A,0x28,0x36,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,
+/* 0x00000940: */ 0x34,0x09,0x00,0x00,0x65,0x00,0x00,0x00,0x0A,0x28,0x37,0x5F,0x4C,0x4F,0x43,0x41,
+/* 0x00000950: */ 0x4C,0x40,0x29,0x00,0x48,0x09,0x00,0x00,0x66,0x00,0x00,0x00,0x0A,0x28,0x38,0x5F,
+/* 0x00000960: */ 0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x5C,0x09,0x00,0x00,0x68,0x00,0x00,0x00,
+/* 0x00000970: */ 0x08,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0x70,0x09,0x00,0x00,
+/* 0x00000980: */ 0x69,0x00,0x00,0x00,0x0A,0x28,0x31,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,
+/* 0x00000990: */ 0x84,0x09,0x00,0x00,0x6A,0x00,0x00,0x00,0x0A,0x28,0x32,0x5F,0x4C,0x4F,0x43,0x41,
+/* 0x000009A0: */ 0x4C,0x21,0x29,0x00,0x98,0x09,0x00,0x00,0x6B,0x00,0x00,0x00,0x0A,0x28,0x33,0x5F,
+/* 0x000009B0: */ 0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0xAC,0x09,0x00,0x00,0x6C,0x00,0x00,0x00,
+/* 0x000009C0: */ 0x0A,0x28,0x34,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0xC0,0x09,0x00,0x00,
+/* 0x000009D0: */ 0x6D,0x00,0x00,0x00,0x0A,0x28,0x35,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,
+/* 0x000009E0: */ 0xD4,0x09,0x00,0x00,0x6E,0x00,0x00,0x00,0x0A,0x28,0x36,0x5F,0x4C,0x4F,0x43,0x41,
+/* 0x000009F0: */ 0x4C,0x21,0x29,0x00,0xE8,0x09,0x00,0x00,0x6F,0x00,0x00,0x00,0x0A,0x28,0x37,0x5F,
+/* 0x00000A00: */ 0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0xFC,0x09,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x00000A10: */ 0x0A,0x28,0x38,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x10,0x0A,0x00,0x00,
+/* 0x00000A20: */ 0x67,0x00,0x00,0x00,0x09,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x2B,0x21,0x29,0x00,0x00,
+/* 0x00000A30: */ 0x24,0x0A,0x00,0x00,0x71,0x00,0x00,0x00,0x06,0x28,0x4C,0x4F,0x4F,0x50,0x29,0x00,
+/* 0x00000A40: */ 0x38,0x0A,0x00,0x00,0x72,0x00,0x00,0x00,0x06,0x4C,0x53,0x48,0x49,0x46,0x54,0x00,
+/* 0x00000A50: */ 0x48,0x0A,0x00,0x00,0x73,0x00,0x00,0x00,0x03,0x4D,0x41,0x58,0x58,0x0A,0x00,0x00,
+/* 0x00000A60: */ 0x74,0x00,0x00,0x00,0x03,0x4D,0x49,0x4E,0x64,0x0A,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000A70: */ 0x01,0x2D,0x00,0x00,0x70,0x0A,0x00,0x00,0x77,0x00,0x00,0x00,0x05,0x4E,0x41,0x4D,
+/* 0x00000A80: */ 0x45,0x3E,0x00,0x00,0x7C,0x0A,0x00,0x00,0x76,0x00,0x00,0x00,0x08,0x50,0x52,0x45,
+/* 0x00000A90: */ 0x56,0x4E,0x41,0x4D,0x45,0x00,0x00,0x00,0x8C,0x0A,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00000AA0: */ 0x04,0x4E,0x4F,0x4F,0x50,0x00,0x00,0x00,0xA0,0x0A,0x00,0x00,0x1C,0x01,0x00,0x00,
+/* 0x00000AB0: */ 0x07,0x4E,0x55,0x4D,0x42,0x45,0x52,0x3F,0xB0,0x0A,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00000AC0: */ 0x02,0x4F,0x52,0x00,0xC0,0x0A,0x00,0x00,0x7B,0x00,0x00,0x00,0x04,0x4F,0x56,0x45,
+/* 0x00000AD0: */ 0x52,0x00,0x00,0x00,0xCC,0x0A,0x00,0x00,0x7C,0x00,0x00,0x00,0x04,0x50,0x49,0x43,
+/* 0x00000AE0: */ 0x4B,0x00,0x00,0x00,0xDC,0x0A,0x00,0x00,0x7D,0x00,0x00,0x00,0x01,0x2B,0x00,0x00,
+/* 0x00000AF0: */ 0xEC,0x0A,0x00,0x00,0x7E,0x00,0x00,0x00,0x07,0x28,0x2B,0x4C,0x4F,0x4F,0x50,0x29,
+/* 0x00000B00: */ 0xF8,0x0A,0x00,0x00,0x7F,0x00,0x00,0x00,0x02,0x2B,0x21,0x00,0x08,0x0B,0x00,0x00,
+/* 0x00000B10: */ 0x83,0x00,0x00,0x00,0x06,0x28,0x51,0x55,0x49,0x54,0x29,0x00,0x14,0x0B,0x00,0x00,
+/* 0x00000B20: */ 0x28,0x01,0x00,0x00,0x04,0x51,0x55,0x49,0x54,0x00,0x00,0x00,0x24,0x0B,0x00,0x00,
+/* 0x00000B30: */ 0x80,0x00,0x00,0x00,0x05,0x28,0x3F,0x44,0x4F,0x29,0x00,0x00,0x34,0x0B,0x00,0x00,
+/* 0x00000B40: */ 0x81,0x00,0x00,0x00,0x04,0x3F,0x44,0x55,0x50,0x00,0x00,0x00,0x44,0x0B,0x00,0x00,
+/* 0x00000B50: */ 0x82,0x00,0x00,0x00,0x09,0x3F,0x54,0x45,0x52,0x4D,0x49,0x4E,0x41,0x4C,0x00,0x00,
+/* 0x00000B60: */ 0x54,0x0B,0x00,0x00,0x82,0x00,0x00,0x00,0x04,0x4B,0x45,0x59,0x3F,0x00,0x00,0x00,
+/* 0x00000B70: */ 0x68,0x0B,0x00,0x00,0x84,0x00,0x00,0x00,0x06,0x52,0x45,0x46,0x49,0x4C,0x4C,0x00,
+/* 0x00000B80: */ 0x78,0x0B,0x00,0x00,0x85,0x00,0x00,0x00,0x06,0x52,0x45,0x53,0x49,0x5A,0x45,0x00,
+/* 0x00000B90: */ 0x88,0x0B,0x00,0x00,0x87,0x00,0x00,0x00,0x04,0x52,0x4F,0x4C,0x4C,0x00,0x00,0x00,
+/* 0x00000BA0: */ 0x98,0x0B,0x00,0x00,0x88,0x00,0x00,0x00,0x03,0x52,0x4F,0x54,0xA8,0x0B,0x00,0x00,
+/* 0x00000BB0: */ 0x8B,0x00,0x00,0x00,0x06,0x52,0x53,0x48,0x49,0x46,0x54,0x00,0xB4,0x0B,0x00,0x00,
+/* 0x00000BC0: */ 0x8C,0x00,0x00,0x00,0x05,0x52,0x44,0x52,0x4F,0x50,0x00,0x00,0xC4,0x0B,0x00,0x00,
+/* 0x00000BD0: */ 0x8D,0x00,0x00,0x00,0x02,0x52,0x40,0x00,0xD4,0x0B,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00000BE0: */ 0x02,0x52,0x3E,0x00,0xE0,0x0B,0x00,0x00,0x89,0x00,0x00,0x00,0x03,0x52,0x50,0x40,
+/* 0x00000BF0: */ 0xEC,0x0B,0x00,0x00,0x8A,0x00,0x00,0x00,0x03,0x52,0x50,0x21,0xF8,0x0B,0x00,0x00,
+/* 0x00000C00: */ 0x92,0x00,0x00,0x00,0x41,0x3B,0x00,0x00,0x04,0x0C,0x00,0x00,0x99,0x00,0x00,0x00,
+/* 0x00000C10: */ 0x03,0x53,0x50,0x40,0x10,0x0C,0x00,0x00,0x9A,0x00,0x00,0x00,0x03,0x53,0x50,0x21,
+/* 0x00000C20: */ 0x1C,0x0C,0x00,0x00,0x9B,0x00,0x00,0x00,0x01,0x21,0x00,0x00,0x28,0x0C,0x00,0x00,
+/* 0x00000C30: */ 0x8F,0x00,0x00,0x00,0x0C,0x28,0x53,0x41,0x56,0x45,0x2D,0x46,0x4F,0x52,0x54,0x48,
+/* 0x00000C40: */ 0x29,0x00,0x00,0x00,0x34,0x0C,0x00,0x00,0x91,0x00,0x00,0x00,0x04,0x53,0x43,0x41,
+/* 0x00000C50: */ 0x4E,0x00,0x00,0x00,0x4C,0x0C,0x00,0x00,0x93,0x00,0x00,0x00,0x04,0x53,0x4B,0x49,
+/* 0x00000C60: */ 0x50,0x00,0x00,0x00,0x5C,0x0C,0x00,0x00,0x94,0x00,0x00,0x00,0x06,0x53,0x4F,0x55,
+/* 0x00000C70: */ 0x52,0x43,0x45,0x00,0x6C,0x0C,0x00,0x00,0x98,0x00,0x00,0x00,0x0A,0x53,0x45,0x54,
+/* 0x00000C80: */ 0x2D,0x53,0x4F,0x55,0x52,0x43,0x45,0x00,0x7C,0x0C,0x00,0x00,0x95,0x00,0x00,0x00,
+/* 0x00000C90: */ 0x09,0x53,0x4F,0x55,0x52,0x43,0x45,0x2D,0x49,0x44,0x00,0x00,0x90,0x0C,0x00,0x00,
+/* 0x00000CA0: */ 0x97,0x00,0x00,0x00,0x0E,0x50,0x55,0x53,0x48,0x2D,0x53,0x4F,0x55,0x52,0x43,0x45,
+/* 0x00000CB0: */ 0x2D,0x49,0x44,0x00,0xA4,0x0C,0x00,0x00,0x96,0x00,0x00,0x00,0x0D,0x50,0x4F,0x50,
+/* 0x00000CC0: */ 0x2D,0x53,0x4F,0x55,0x52,0x43,0x45,0x2D,0x49,0x44,0x00,0x00,0xBC,0x0C,0x00,0x00,
+/* 0x00000CD0: */ 0x9C,0x00,0x00,0x00,0x04,0x53,0x57,0x41,0x50,0x00,0x00,0x00,0xD4,0x0C,0x00,0x00,
+/* 0x00000CE0: */ 0x9D,0x00,0x00,0x00,0x05,0x54,0x45,0x53,0x54,0x31,0x00,0x00,0xE4,0x0C,0x00,0x00,
+/* 0x00000CF0: */ 0x9E,0x00,0x00,0x00,0x05,0x54,0x45,0x53,0x54,0x32,0x00,0x00,0xF4,0x0C,0x00,0x00,
+/* 0x00000D00: */ 0xA0,0x00,0x00,0x00,0x01,0x27,0x00,0x00,0x04,0x0D,0x00,0x00,0xA1,0x00,0x00,0x00,
+/* 0x00000D10: */ 0x01,0x2A,0x00,0x00,0x10,0x0D,0x00,0x00,0xBE,0x00,0x00,0x00,0x05,0x54,0x48,0x52,
+/* 0x00000D20: */ 0x4F,0x57,0x00,0x00,0x1C,0x0D,0x00,0x00,0xA2,0x00,0x00,0x00,0x02,0x3E,0x52,0x00,
+/* 0x00000D30: */ 0x2C,0x0D,0x00,0x00,0xA3,0x00,0x00,0x00,0x04,0x54,0x59,0x50,0x45,0x00,0x00,0x00,
+/* 0x00000D40: */ 0x38,0x0D,0x00,0x00,0xA5,0x00,0x00,0x00,0x04,0x42,0x41,0x53,0x45,0x00,0x00,0x00,
+/* 0x00000D50: */ 0x48,0x0D,0x00,0x00,0xA6,0x00,0x00,0x00,0x09,0x43,0x4F,0x44,0x45,0x2D,0x42,0x41,
+/* 0x00000D60: */ 0x53,0x45,0x00,0x00,0x58,0x0D,0x00,0x00,0xA7,0x00,0x00,0x00,0x0A,0x43,0x4F,0x44,
+/* 0x00000D70: */ 0x45,0x2D,0x4C,0x49,0x4D,0x49,0x54,0x00,0x6C,0x0D,0x00,0x00,0xA8,0x00,0x00,0x00,
+/* 0x00000D80: */ 0x07,0x43,0x4F,0x4E,0x54,0x45,0x58,0x54,0x80,0x0D,0x00,0x00,0xA9,0x00,0x00,0x00,
+/* 0x00000D90: */ 0x02,0x44,0x50,0x00,0x90,0x0D,0x00,0x00,0xAA,0x00,0x00,0x00,0x04,0x45,0x43,0x48,
+/* 0x00000DA0: */ 0x4F,0x00,0x00,0x00,0x9C,0x0D,0x00,0x00,0xAD,0x00,0x00,0x00,0x0B,0x48,0x45,0x41,
+/* 0x00000DB0: */ 0x44,0x45,0x52,0x53,0x2D,0x50,0x54,0x52,0xAC,0x0D,0x00,0x00,0xAB,0x00,0x00,0x00,
+/* 0x00000DC0: */ 0x0C,0x48,0x45,0x41,0x44,0x45,0x52,0x53,0x2D,0x42,0x41,0x53,0x45,0x00,0x00,0x00,
+/* 0x00000DD0: */ 0xC0,0x0D,0x00,0x00,0xAC,0x00,0x00,0x00,0x0D,0x48,0x45,0x41,0x44,0x45,0x52,0x53,
+/* 0x00000DE0: */ 0x2D,0x4C,0x49,0x4D,0x49,0x54,0x00,0x00,0xD8,0x0D,0x00,0x00,0xAE,0x00,0x00,0x00,
+/* 0x00000DF0: */ 0x04,0x23,0x54,0x49,0x42,0x00,0x00,0x00,0xF0,0x0D,0x00,0x00,0xB0,0x00,0x00,0x00,
+/* 0x00000E00: */ 0x0B,0x52,0x45,0x54,0x55,0x52,0x4E,0x2D,0x43,0x4F,0x44,0x45,0x00,0x0E,0x00,0x00,
+/* 0x00000E10: */ 0xB4,0x00,0x00,0x00,0x0B,0x54,0x52,0x41,0x43,0x45,0x2D,0x46,0x4C,0x41,0x47,0x53,
+/* 0x00000E20: */ 0x14,0x0E,0x00,0x00,0xB5,0x00,0x00,0x00,0x0B,0x54,0x52,0x41,0x43,0x45,0x2D,0x4C,
+/* 0x00000E30: */ 0x45,0x56,0x45,0x4C,0x28,0x0E,0x00,0x00,0xB6,0x00,0x00,0x00,0x0B,0x54,0x52,0x41,
+/* 0x00000E40: */ 0x43,0x45,0x2D,0x53,0x54,0x41,0x43,0x4B,0x3C,0x0E,0x00,0x00,0xAF,0x00,0x00,0x00,
+/* 0x00000E50: */ 0x03,0x4F,0x55,0x54,0x50,0x0E,0x00,0x00,0xB2,0x00,0x00,0x00,0x05,0x53,0x54,0x41,
+/* 0x00000E60: */ 0x54,0x45,0x00,0x00,0x5C,0x0E,0x00,0x00,0xB3,0x00,0x00,0x00,0x03,0x3E,0x49,0x4E,
+/* 0x00000E70: */ 0x6C,0x0E,0x00,0x00,0xB8,0x00,0x00,0x00,0x04,0x57,0x4F,0x52,0x44,0x00,0x00,0x00,
+/* 0x00000E80: */ 0x78,0x0E,0x00,0x00,0xB9,0x00,0x00,0x00,0x02,0x57,0x40,0x00,0x88,0x0E,0x00,0x00,
+/* 0x00000E90: */ 0xBA,0x00,0x00,0x00,0x02,0x57,0x21,0x00,0x94,0x0E,0x00,0x00,0xBB,0x00,0x00,0x00,
+/* 0x00000EA0: */ 0x03,0x58,0x4F,0x52,0xA0,0x0E,0x00,0x00,0xBC,0x00,0x00,0x00,0x07,0x30,0x42,0x52,
+/* 0x00000EB0: */ 0x41,0x4E,0x43,0x48,0xAC,0x0E,0x00,0x00,0x34,0x01,0x00,0x00,0x06,0x43,0x54,0x45,
+/* 0x00000EC0: */ 0x53,0x54,0x30,0x00,0xBC,0x0E,0x00,0x00,0x40,0x01,0x00,0x00,0x06,0x43,0x54,0x45,
+/* 0x00000ED0: */ 0x53,0x54,0x31,0x00,0xCC,0x0E,0x00,0x00,0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,
+/* 0x00000EE0: */ 0x3A,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x66,0x74,0x68,0x00,0xDC,0x0E,0x00,0x00,
+/* 0x00000EF0: */ 0x4C,0x01,0x00,0x00,0x0B,0x46,0x49,0x52,0x53,0x54,0x5F,0x43,0x4F,0x4C,0x4F,0x4E,
+/* 0x00000F00: */ 0xF4,0x0E,0x00,0x00,0x50,0x01,0x00,0x00,0x06,0x4C,0x41,0x54,0x45,0x53,0x54,0x00,
+/* 0x00000F10: */ 0x08,0x0F,0x00,0x00,0x5C,0x01,0x00,0x00,0x0E,0x46,0x4C,0x41,0x47,0x5F,0x49,0x4D,
+/* 0x00000F20: */ 0x4D,0x45,0x44,0x49,0x41,0x54,0x45,0x00,0x18,0x0F,0x00,0x00,0x68,0x01,0x00,0x00,
+/* 0x00000F30: */ 0x09,0x49,0x4D,0x4D,0x45,0x44,0x49,0x41,0x54,0x45,0x00,0x00,0x30,0x0F,0x00,0x00,
+/* 0x00000F40: */ 0x88,0x01,0x00,0x00,0x41,0x28,0x00,0x00,0x44,0x0F,0x00,0x00,0x9C,0x01,0x00,0x00,
+/* 0x00000F50: */ 0x41,0x5C,0x00,0x00,0x50,0x0F,0x00,0x00,0xAC,0x01,0x00,0x00,0x05,0x43,0x4F,0x55,
+/* 0x00000F60: */ 0x4E,0x54,0x00,0x00,0x5C,0x0F,0x00,0x00,0xC0,0x01,0x00,0x00,0x02,0x4F,0x4E,0x00,
+/* 0x00000F70: */ 0x6C,0x0F,0x00,0x00,0xD4,0x01,0x00,0x00,0x03,0x4F,0x46,0x46,0x78,0x0F,0x00,0x00,
+/* 0x00000F80: */ 0xE8,0x01,0x00,0x00,0x04,0x43,0x45,0x4C,0x4C,0x00,0x00,0x00,0x84,0x0F,0x00,0x00,
+/* 0x00000F90: */ 0xF4,0x01,0x00,0x00,0x05,0x43,0x45,0x4C,0x4C,0x2B,0x00,0x00,0x94,0x0F,0x00,0x00,
+/* 0x00000FA0: */ 0x00,0x02,0x00,0x00,0x05,0x43,0x45,0x4C,0x4C,0x2D,0x00,0x00,0xA4,0x0F,0x00,0x00,
+/* 0x00000FB0: */ 0x0C,0x02,0x00,0x00,0x05,0x43,0x45,0x4C,0x4C,0x53,0x00,0x00,0xB4,0x0F,0x00,0x00,
+/* 0x00000FC0: */ 0x1C,0x02,0x00,0x00,0x05,0x43,0x48,0x41,0x52,0x2B,0x00,0x00,0xC4,0x0F,0x00,0x00,
+/* 0x00000FD0: */ 0x24,0x02,0x00,0x00,0x45,0x43,0x48,0x41,0x52,0x53,0x00,0x00,0xD4,0x0F,0x00,0x00,
+/* 0x00000FE0: */ 0x28,0x02,0x00,0x00,0x04,0x2D,0x52,0x4F,0x54,0x00,0x00,0x00,0xE4,0x0F,0x00,0x00,
+/* 0x00000FF0: */ 0x34,0x02,0x00,0x00,0x04,0x33,0x44,0x55,0x50,0x00,0x00,0x00,0xF4,0x0F,0x00,0x00,
+/* 0x00001000: */ 0x5C,0x02,0x00,0x00,0x05,0x32,0x44,0x52,0x4F,0x50,0x00,0x00,0x04,0x10,0x00,0x00,
+/* 0x00001010: */ 0x68,0x02,0x00,0x00,0x03,0x4E,0x49,0x50,0x14,0x10,0x00,0x00,0x74,0x02,0x00,0x00,
+/* 0x00001020: */ 0x04,0x54,0x55,0x43,0x4B,0x00,0x00,0x00,0x20,0x10,0x00,0x00,0x80,0x02,0x00,0x00,
+/* 0x00001030: */ 0x02,0x3C,0x3D,0x00,0x30,0x10,0x00,0x00,0x8C,0x02,0x00,0x00,0x02,0x3E,0x3D,0x00,
+/* 0x00001040: */ 0x3C,0x10,0x00,0x00,0x98,0x02,0x00,0x00,0x06,0x49,0x4E,0x56,0x45,0x52,0x54,0x00,
+/* 0x00001050: */ 0x48,0x10,0x00,0x00,0xA8,0x02,0x00,0x00,0x03,0x4E,0x4F,0x54,0x58,0x10,0x00,0x00,
+/* 0x00001060: */ 0xB0,0x02,0x00,0x00,0x06,0x4E,0x45,0x47,0x41,0x54,0x45,0x00,0x64,0x10,0x00,0x00,
+/* 0x00001070: */ 0xC4,0x02,0x00,0x00,0x07,0x44,0x4E,0x45,0x47,0x41,0x54,0x45,0x74,0x10,0x00,0x00,
+/* 0x00001080: */ 0xE0,0x02,0x00,0x00,0x03,0x49,0x44,0x2E,0x84,0x10,0x00,0x00,0xF8,0x02,0x00,0x00,
+/* 0x00001090: */ 0x07,0x44,0x45,0x43,0x49,0x4D,0x41,0x4C,0x90,0x10,0x00,0x00,0x0C,0x03,0x00,0x00,
+/* 0x000010A0: */ 0x05,0x4F,0x43,0x54,0x41,0x4C,0x00,0x00,0xA0,0x10,0x00,0x00,0x20,0x03,0x00,0x00,
+/* 0x000010B0: */ 0x03,0x48,0x45,0x58,0xB0,0x10,0x00,0x00,0x34,0x03,0x00,0x00,0x06,0x42,0x49,0x4E,
+/* 0x000010C0: */ 0x41,0x52,0x59,0x00,0xBC,0x10,0x00,0x00,0x48,0x03,0x00,0x00,0x03,0x50,0x41,0x44,
+/* 0x000010D0: */ 0xCC,0x10,0x00,0x00,0x5C,0x03,0x00,0x00,0x05,0x24,0x4D,0x4F,0x56,0x45,0x00,0x00,
+/* 0x000010E0: */ 0xD8,0x10,0x00,0x00,0x70,0x03,0x00,0x00,0x07,0x42,0x45,0x54,0x57,0x45,0x45,0x4E,
+/* 0x000010F0: */ 0xE8,0x10,0x00,0x00,0x98,0x03,0x00,0x00,0x41,0x5B,0x00,0x00,0xF8,0x10,0x00,0x00,
+/* 0x00001100: */ 0xAC,0x03,0x00,0x00,0x01,0x5D,0x00,0x00,0x04,0x11,0x00,0x00,0xC0,0x03,0x00,0x00,
+/* 0x00001110: */ 0x07,0x45,0x56,0x45,0x4E,0x2D,0x55,0x50,0x10,0x11,0x00,0x00,0xD8,0x03,0x00,0x00,
+/* 0x00001120: */ 0x07,0x41,0x4C,0x49,0x47,0x4E,0x45,0x44,0x20,0x11,0x00,0x00,0xF4,0x03,0x00,0x00,
+/* 0x00001130: */ 0x05,0x41,0x4C,0x49,0x47,0x4E,0x00,0x00,0x30,0x11,0x00,0x00,0x0C,0x04,0x00,0x00,
+/* 0x00001140: */ 0x05,0x41,0x4C,0x4C,0x4F,0x54,0x00,0x00,0x40,0x11,0x00,0x00,0x18,0x04,0x00,0x00,
+/* 0x00001150: */ 0x02,0x43,0x2C,0x00,0x50,0x11,0x00,0x00,0x34,0x04,0x00,0x00,0x02,0x57,0x2C,0x00,
+/* 0x00001160: */ 0x5C,0x11,0x00,0x00,0x64,0x04,0x00,0x00,0x01,0x2C,0x00,0x00,0x68,0x11,0x00,0x00,
+/* 0x00001170: */ 0x7C,0x04,0x00,0x00,0x0A,0x4E,0x3E,0x4E,0x45,0x58,0x54,0x4C,0x49,0x4E,0x4B,0x00,
+/* 0x00001180: */ 0x74,0x11,0x00,0x00,0xA0,0x04,0x00,0x00,0x08,0x4E,0x41,0x4D,0x45,0x42,0x41,0x53,
+/* 0x00001190: */ 0x45,0x00,0x00,0x00,0x88,0x11,0x00,0x00,0xAC,0x04,0x00,0x00,0x08,0x43,0x4F,0x44,
+/* 0x000011A0: */ 0x45,0x42,0x41,0x53,0x45,0x00,0x00,0x00,0x9C,0x11,0x00,0x00,0xB8,0x04,0x00,0x00,
+/* 0x000011B0: */ 0x09,0x4E,0x41,0x4D,0x45,0x4C,0x49,0x4D,0x49,0x54,0x00,0x00,0xB0,0x11,0x00,0x00,
+/* 0x000011C0: */ 0xC4,0x04,0x00,0x00,0x09,0x43,0x4F,0x44,0x45,0x4C,0x49,0x4D,0x49,0x54,0x00,0x00,
+/* 0x000011D0: */ 0xC4,0x11,0x00,0x00,0xD0,0x04,0x00,0x00,0x09,0x4E,0x41,0x4D,0x45,0x42,0x41,0x53,
+/* 0x000011E0: */ 0x45,0x2B,0x00,0x00,0xD8,0x11,0x00,0x00,0xDC,0x04,0x00,0x00,0x05,0x3E,0x43,0x4F,
+/* 0x000011F0: */ 0x44,0x45,0x00,0x00,0xEC,0x11,0x00,0x00,0xE8,0x04,0x00,0x00,0x05,0x43,0x4F,0x44,
+/* 0x00001200: */ 0x45,0x3E,0x00,0x00,0xFC,0x11,0x00,0x00,0xF4,0x04,0x00,0x00,0x06,0x4E,0x3E,0x4C,
+/* 0x00001210: */ 0x49,0x4E,0x4B,0x00,0x0C,0x12,0x00,0x00,0x04,0x05,0x00,0x00,0x05,0x3E,0x42,0x4F,
+/* 0x00001220: */ 0x44,0x59,0x00,0x00,0x1C,0x12,0x00,0x00,0x14,0x05,0x00,0x00,0x05,0x42,0x4F,0x44,
+/* 0x00001230: */ 0x59,0x3E,0x00,0x00,0x2C,0x12,0x00,0x00,0x24,0x05,0x00,0x00,0x08,0x55,0x53,0x45,
+/* 0x00001240: */ 0x2D,0x3E,0x52,0x45,0x4C,0x00,0x00,0x00,0x3C,0x12,0x00,0x00,0x30,0x05,0x00,0x00,
+/* 0x00001250: */ 0x08,0x52,0x45,0x4C,0x2D,0x3E,0x55,0x53,0x45,0x00,0x00,0x00,0x50,0x12,0x00,0x00,
+/* 0x00001260: */ 0x3C,0x05,0x00,0x00,0x02,0x58,0x40,0x00,0x64,0x12,0x00,0x00,0x44,0x05,0x00,0x00,
+/* 0x00001270: */ 0x02,0x58,0x21,0x00,0x70,0x12,0x00,0x00,0x4C,0x05,0x00,0x00,0x08,0x43,0x4F,0x4D,
+/* 0x00001280: */ 0x50,0x49,0x4C,0x45,0x2C,0x00,0x00,0x00,0x7C,0x12,0x00,0x00,0x54,0x05,0x00,0x00,
+/* 0x00001290: */ 0x49,0x5B,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x5D,0x00,0x00,0x90,0x12,0x00,0x00,
+/* 0x000012A0: */ 0x60,0x05,0x00,0x00,0x09,0x28,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x29,0x00,0x00,
+/* 0x000012B0: */ 0xA4,0x12,0x00,0x00,0x74,0x05,0x00,0x00,0x47,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,
+/* 0x000012C0: */ 0xB8,0x12,0x00,0x00,0x80,0x05,0x00,0x00,0x07,0x3A,0x4E,0x4F,0x4E,0x41,0x4D,0x45,
+/* 0x000012D0: */ 0xC8,0x12,0x00,0x00,0x94,0x05,0x00,0x00,0x09,0x45,0x52,0x52,0x5F,0x41,0x42,0x4F,
+/* 0x000012E0: */ 0x52,0x54,0x00,0x00,0xD8,0x12,0x00,0x00,0xA0,0x05,0x00,0x00,0x0D,0x45,0x52,0x52,
+/* 0x000012F0: */ 0x5F,0x45,0x58,0x45,0x43,0x55,0x54,0x49,0x4E,0x47,0x00,0x00,0xEC,0x12,0x00,0x00,
+/* 0x00001300: */ 0xAC,0x05,0x00,0x00,0x09,0x45,0x52,0x52,0x5F,0x50,0x41,0x49,0x52,0x53,0x00,0x00,
+/* 0x00001310: */ 0x04,0x13,0x00,0x00,0xB8,0x05,0x00,0x00,0x09,0x45,0x52,0x52,0x5F,0x44,0x45,0x46,
+/* 0x00001320: */ 0x45,0x52,0x00,0x00,0x18,0x13,0x00,0x00,0xC4,0x05,0x00,0x00,0x05,0x41,0x42,0x4F,
+/* 0x00001330: */ 0x52,0x54,0x00,0x00,0x2C,0x13,0x00,0x00,0xD0,0x05,0x00,0x00,0x0F,0x43,0x4F,0x4E,
+/* 0x00001340: */ 0x44,0x49,0x54,0x49,0x4F,0x4E,0x41,0x4C,0x5F,0x4B,0x45,0x59,0x3C,0x13,0x00,0x00,
+/* 0x00001350: */ 0xDC,0x05,0x00,0x00,0x0A,0x3F,0x43,0x4F,0x4E,0x44,0x49,0x54,0x49,0x4F,0x4E,0x00,
+/* 0x00001360: */ 0x54,0x13,0x00,0x00,0xF0,0x05,0x00,0x00,0x05,0x3E,0x4D,0x41,0x52,0x4B,0x00,0x00,
+/* 0x00001370: */ 0x68,0x13,0x00,0x00,0x04,0x06,0x00,0x00,0x08,0x3E,0x52,0x45,0x53,0x4F,0x4C,0x56,
+/* 0x00001380: */ 0x45,0x00,0x00,0x00,0x78,0x13,0x00,0x00,0x1C,0x06,0x00,0x00,0x05,0x3C,0x4D,0x41,
+/* 0x00001390: */ 0x52,0x4B,0x00,0x00,0x8C,0x13,0x00,0x00,0x24,0x06,0x00,0x00,0x08,0x3C,0x52,0x45,
+/* 0x000013A0: */ 0x53,0x4F,0x4C,0x56,0x45,0x00,0x00,0x00,0x9C,0x13,0x00,0x00,0x34,0x06,0x00,0x00,
+/* 0x000013B0: */ 0x05,0x3F,0x43,0x4F,0x4D,0x50,0x00,0x00,0xB0,0x13,0x00,0x00,0x4C,0x06,0x00,0x00,
+/* 0x000013C0: */ 0x06,0x3F,0x50,0x41,0x49,0x52,0x53,0x00,0xC0,0x13,0x00,0x00,0x5C,0x06,0x00,0x00,
+/* 0x000013D0: */ 0x42,0x49,0x46,0x00,0xD0,0x13,0x00,0x00,0x78,0x06,0x00,0x00,0x44,0x54,0x48,0x45,
+/* 0x000013E0: */ 0x4E,0x00,0x00,0x00,0xDC,0x13,0x00,0x00,0x88,0x06,0x00,0x00,0x45,0x42,0x45,0x47,
+/* 0x000013F0: */ 0x49,0x4E,0x00,0x00,0xEC,0x13,0x00,0x00,0x98,0x06,0x00,0x00,0x45,0x41,0x47,0x41,
+/* 0x00001400: */ 0x49,0x4E,0x00,0x00,0xFC,0x13,0x00,0x00,0xB4,0x06,0x00,0x00,0x45,0x55,0x4E,0x54,
+/* 0x00001410: */ 0x49,0x4C,0x00,0x00,0x0C,0x14,0x00,0x00,0xD0,0x06,0x00,0x00,0x45,0x41,0x48,0x45,
+/* 0x00001420: */ 0x41,0x44,0x00,0x00,0x1C,0x14,0x00,0x00,0xE8,0x06,0x00,0x00,0x44,0x45,0x4C,0x53,
+/* 0x00001430: */ 0x45,0x00,0x00,0x00,0x2C,0x14,0x00,0x00,0xF8,0x06,0x00,0x00,0x45,0x57,0x48,0x49,
+/* 0x00001440: */ 0x4C,0x45,0x00,0x00,0x3C,0x14,0x00,0x00,0x04,0x07,0x00,0x00,0x46,0x52,0x45,0x50,
+/* 0x00001450: */ 0x45,0x41,0x54,0x00,0x4C,0x14,0x00,0x00,0x10,0x07,0x00,0x00,0x43,0x5B,0x27,0x5D,
+/* 0x00001460: */ 0x5C,0x14,0x00,0x00,0x20,0x07,0x00,0x00,0x07,0x28,0x44,0x4F,0x45,0x53,0x3E,0x29,
+/* 0x00001470: */ 0x68,0x14,0x00,0x00,0x3C,0x07,0x00,0x00,0x45,0x44,0x4F,0x45,0x53,0x3E,0x00,0x00,
+/* 0x00001480: */ 0x78,0x14,0x00,0x00,0x78,0x07,0x00,0x00,0x08,0x56,0x41,0x52,0x49,0x41,0x42,0x4C,
+/* 0x00001490: */ 0x45,0x00,0x00,0x00,0x88,0x14,0x00,0x00,0x8C,0x07,0x00,0x00,0x09,0x32,0x56,0x41,
+/* 0x000014A0: */ 0x52,0x49,0x41,0x42,0x4C,0x45,0x00,0x00,0x9C,0x14,0x00,0x00,0xAC,0x07,0x00,0x00,
+/* 0x000014B0: */ 0x08,0x43,0x4F,0x4E,0x53,0x54,0x41,0x4E,0x54,0x00,0x00,0x00,0xB0,0x14,0x00,0x00,
+/* 0x000014C0: */ 0xCC,0x07,0x00,0x00,0x02,0x2D,0x31,0x00,0xC4,0x14,0x00,0x00,0xDC,0x07,0x00,0x00,
+/* 0x000014D0: */ 0x02,0x2D,0x32,0x00,0xD0,0x14,0x00,0x00,0xEC,0x07,0x00,0x00,0x02,0x32,0x21,0x00,
+/* 0x000014E0: */ 0xDC,0x14,0x00,0x00,0x04,0x08,0x00,0x00,0x02,0x32,0x40,0x00,0xE8,0x14,0x00,0x00,
+/* 0x000014F0: */ 0x1C,0x08,0x00,0x00,0x03,0x41,0x42,0x53,0xF4,0x14,0x00,0x00,0x34,0x08,0x00,0x00,
+/* 0x00001500: */ 0x04,0x44,0x41,0x42,0x53,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x4C,0x08,0x00,0x00,
+/* 0x00001510: */ 0x03,0x53,0x3E,0x44,0x10,0x15,0x00,0x00,0x74,0x08,0x00,0x00,0x03,0x44,0x3E,0x53,
+/* 0x00001520: */ 0x1C,0x15,0x00,0x00,0x7C,0x08,0x00,0x00,0x04,0x2F,0x4D,0x4F,0x44,0x00,0x00,0x00,
+/* 0x00001530: */ 0x28,0x15,0x00,0x00,0x90,0x08,0x00,0x00,0x03,0x4D,0x4F,0x44,0x38,0x15,0x00,0x00,
+/* 0x00001540: */ 0x9C,0x08,0x00,0x00,0x02,0x32,0x2A,0x00,0x44,0x15,0x00,0x00,0xAC,0x08,0x00,0x00,
+/* 0x00001550: */ 0x02,0x32,0x2F,0x00,0x50,0x15,0x00,0x00,0xBC,0x08,0x00,0x00,0x03,0x44,0x32,0x2A,
+/* 0x00001560: */ 0x5C,0x15,0x00,0x00,0xE4,0x08,0x00,0x00,0x05,0x46,0x41,0x4C,0x53,0x45,0x00,0x00,
+/* 0x00001570: */ 0x68,0x15,0x00,0x00,0xF4,0x08,0x00,0x00,0x04,0x54,0x52,0x55,0x45,0x00,0x00,0x00,
+/* 0x00001580: */ 0x78,0x15,0x00,0x00,0x04,0x09,0x00,0x00,0x02,0x42,0x4C,0x00,0x88,0x15,0x00,0x00,
+/* 0x00001590: */ 0x14,0x09,0x00,0x00,0x0B,0x49,0x46,0x2E,0x55,0x53,0x45,0x2D,0x3E,0x52,0x45,0x4C,
+/* 0x000015A0: */ 0x94,0x15,0x00,0x00,0x28,0x09,0x00,0x00,0x0B,0x49,0x46,0x2E,0x52,0x45,0x4C,0x2D,
+/* 0x000015B0: */ 0x3E,0x55,0x53,0x45,0xA8,0x15,0x00,0x00,0x3C,0x09,0x00,0x00,0x02,0x41,0x21,0x00,
+/* 0x000015C0: */ 0xBC,0x15,0x00,0x00,0x50,0x09,0x00,0x00,0x02,0x41,0x40,0x00,0xC8,0x15,0x00,0x00,
+/* 0x000015D0: */ 0x5C,0x09,0x00,0x00,0x02,0x41,0x2C,0x00,0xD4,0x15,0x00,0x00,0x68,0x09,0x00,0x00,
+/* 0x000015E0: */ 0x06,0x3A,0x53,0x54,0x41,0x43,0x4B,0x00,0xE0,0x15,0x00,0x00,0x94,0x09,0x00,0x00,
+/* 0x000015F0: */ 0x06,0x3E,0x53,0x54,0x41,0x43,0x4B,0x00,0xF0,0x15,0x00,0x00,0xB8,0x09,0x00,0x00,
+/* 0x00001600: */ 0x06,0x53,0x54,0x41,0x43,0x4B,0x3E,0x00,0x00,0x16,0x00,0x00,0xDC,0x09,0x00,0x00,
+/* 0x00001610: */ 0x06,0x53,0x54,0x41,0x43,0x4B,0x40,0x00,0x10,0x16,0x00,0x00,0xF4,0x09,0x00,0x00,
+/* 0x00001620: */ 0x0A,0x53,0x54,0x41,0x43,0x4B,0x2E,0x50,0x49,0x43,0x4B,0x00,0x20,0x16,0x00,0x00,
+/* 0x00001630: */ 0x18,0x0A,0x00,0x00,0x06,0x53,0x54,0x41,0x43,0x4B,0x50,0x00,0x34,0x16,0x00,0x00,
+/* 0x00001640: */ 0x28,0x0A,0x00,0x00,0x07,0x30,0x53,0x54,0x41,0x43,0x4B,0x50,0x44,0x16,0x00,0x00,
+/* 0x00001650: */ 0x3C,0x0A,0x00,0x00,0x06,0x55,0x53,0x54,0x41,0x43,0x4B,0x00,0x54,0x16,0x00,0x00,
+/* 0x00001660: */ 0xD4,0x0A,0x00,0x00,0x03,0x3E,0x55,0x53,0x64,0x16,0x00,0x00,0xE0,0x0A,0x00,0x00,
+/* 0x00001670: */ 0x03,0x55,0x53,0x3E,0x70,0x16,0x00,0x00,0xEC,0x0A,0x00,0x00,0x03,0x55,0x53,0x40,
+/* 0x00001680: */ 0x7C,0x16,0x00,0x00,0xF8,0x0A,0x00,0x00,0x04,0x30,0x55,0x53,0x50,0x00,0x00,0x00,
+/* 0x00001690: */ 0x88,0x16,0x00,0x00,0x04,0x0B,0x00,0x00,0x07,0x44,0x4F,0x5F,0x46,0x4C,0x41,0x47,
+/* 0x000016A0: */ 0x98,0x16,0x00,0x00,0x14,0x0B,0x00,0x00,0x0A,0x4C,0x45,0x41,0x56,0x45,0x5F,0x46,
+/* 0x000016B0: */ 0x4C,0x41,0x47,0x00,0xA8,0x16,0x00,0x00,0x24,0x0B,0x00,0x00,0x08,0x3F,0x44,0x4F,
+/* 0x000016C0: */ 0x5F,0x46,0x4C,0x41,0x47,0x00,0x00,0x00,0xBC,0x16,0x00,0x00,0x34,0x0B,0x00,0x00,
+/* 0x000016D0: */ 0x42,0x44,0x4F,0x00,0xD0,0x16,0x00,0x00,0x58,0x0B,0x00,0x00,0x43,0x3F,0x44,0x4F,
+/* 0x000016E0: */ 0xDC,0x16,0x00,0x00,0x98,0x0B,0x00,0x00,0x45,0x4C,0x45,0x41,0x56,0x45,0x00,0x00,
+/* 0x000016F0: */ 0xE8,0x16,0x00,0x00,0xC4,0x0B,0x00,0x00,0x0C,0x4C,0x4F,0x4F,0x50,0x2D,0x46,0x4F,
+/* 0x00001700: */ 0x52,0x57,0x41,0x52,0x44,0x00,0x00,0x00,0xF8,0x16,0x00,0x00,0x4C,0x0C,0x00,0x00,
+/* 0x00001710: */ 0x09,0x4C,0x4F,0x4F,0x50,0x2D,0x42,0x41,0x43,0x4B,0x00,0x00,0x10,0x17,0x00,0x00,
+/* 0x00001720: */ 0x78,0x0C,0x00,0x00,0x44,0x4C,0x4F,0x4F,0x50,0x00,0x00,0x00,0x24,0x17,0x00,0x00,
+/* 0x00001730: */ 0x90,0x0C,0x00,0x00,0x45,0x2B,0x4C,0x4F,0x4F,0x50,0x00,0x00,0x34,0x17,0x00,0x00,
+/* 0x00001740: */ 0xA8,0x0C,0x00,0x00,0x06,0x55,0x4E,0x4C,0x4F,0x4F,0x50,0x00,0x44,0x17,0x00,0x00,
+/* 0x00001750: */ 0xBC,0x0C,0x00,0x00,0x47,0x52,0x45,0x43,0x55,0x52,0x53,0x45,0x54,0x17,0x00,0x00,
+/* 0x00001760: */ 0xCC,0x0C,0x00,0x00,0x05,0x53,0x50,0x41,0x43,0x45,0x00,0x00,0x64,0x17,0x00,0x00,
+/* 0x00001770: */ 0xD8,0x0C,0x00,0x00,0x06,0x53,0x50,0x41,0x43,0x45,0x53,0x00,0x74,0x17,0x00,0x00,
+/* 0x00001780: */ 0x10,0x0D,0x00,0x00,0x03,0x30,0x53,0x50,0x84,0x17,0x00,0x00,0x34,0x0D,0x00,0x00,
+/* 0x00001790: */ 0x08,0x3E,0x4E,0x45,0x57,0x4C,0x49,0x4E,0x45,0x00,0x00,0x00,0x90,0x17,0x00,0x00,
+/* 0x000017A0: */ 0x50,0x0D,0x00,0x00,0x0B,0x43,0x48,0x45,0x43,0x4B,0x2E,0x44,0x45,0x46,0x45,0x52,
+/* 0x000017B0: */ 0xA4,0x17,0x00,0x00,0x78,0x0D,0x00,0x00,0x03,0x3E,0x49,0x53,0xB8,0x17,0x00,0x00,
+/* 0x000017C0: */ 0x88,0x0D,0x00,0x00,0x04,0x28,0x49,0x53,0x29,0x00,0x00,0x00,0xC4,0x17,0x00,0x00,
+/* 0x000017D0: */ 0x94,0x0D,0x00,0x00,0x42,0x49,0x53,0x00,0xD4,0x17,0x00,0x00,0xD0,0x0D,0x00,0x00,
+/* 0x000017E0: */ 0x08,0x28,0x57,0x48,0x41,0x54,0x27,0x53,0x29,0x00,0x00,0x00,0xE0,0x17,0x00,0x00,
+/* 0x000017F0: */ 0xDC,0x0D,0x00,0x00,0x46,0x57,0x48,0x41,0x54,0x27,0x53,0x00,0xF4,0x17,0x00,0x00,
+/* 0x00001800: */ 0x18,0x0E,0x00,0x00,0x07,0x2F,0x53,0x54,0x52,0x49,0x4E,0x47,0x04,0x18,0x00,0x00,
+/* 0x00001810: */ 0x38,0x0E,0x00,0x00,0x05,0x50,0x4C,0x41,0x43,0x45,0x00,0x00,0x14,0x18,0x00,0x00,
+/* 0x00001820: */ 0x54,0x0E,0x00,0x00,0x0A,0x50,0x41,0x52,0x53,0x45,0x2D,0x57,0x4F,0x52,0x44,0x00,
+/* 0x00001830: */ 0x24,0x18,0x00,0x00,0xB4,0x0E,0x00,0x00,0x05,0x50,0x41,0x52,0x53,0x45,0x00,0x00,
+/* 0x00001840: */ 0x38,0x18,0x00,0x00,0x00,0x0F,0x00,0x00,0x05,0x4C,0x57,0x4F,0x52,0x44,0x00,0x00,
+/* 0x00001850: */ 0x48,0x18,0x00,0x00,0x14,0x0F,0x00,0x00,0x45,0x41,0x53,0x43,0x49,0x49,0x00,0x00,
+/* 0x00001860: */ 0x58,0x18,0x00,0x00,0x3C,0x0F,0x00,0x00,0x04,0x43,0x48,0x41,0x52,0x00,0x00,0x00,
+/* 0x00001870: */ 0x68,0x18,0x00,0x00,0x50,0x0F,0x00,0x00,0x46,0x5B,0x43,0x48,0x41,0x52,0x5D,0x00,
+/* 0x00001880: */ 0x78,0x18,0x00,0x00,0x5C,0x0F,0x00,0x00,0x05,0x24,0x54,0x59,0x50,0x45,0x00,0x00,
+/* 0x00001890: */ 0x88,0x18,0x00,0x00,0x68,0x0F,0x00,0x00,0x05,0x27,0x57,0x4F,0x52,0x44,0x00,0x00,
+/* 0x000018A0: */ 0x98,0x18,0x00,0x00,0x70,0x0F,0x00,0x00,0x04,0x45,0x56,0x45,0x4E,0x00,0x00,0x00,
+/* 0x000018B0: */ 0xA8,0x18,0x00,0x00,0x88,0x0F,0x00,0x00,0x04,0x28,0x43,0x22,0x29,0x00,0x00,0x00,
+/* 0x000018C0: */ 0xB8,0x18,0x00,0x00,0xA4,0x0F,0x00,0x00,0x04,0x28,0x53,0x22,0x29,0x00,0x00,0x00,
+/* 0x000018D0: */ 0xC8,0x18,0x00,0x00,0xC0,0x0F,0x00,0x00,0x04,0x28,0x2E,0x22,0x29,0x00,0x00,0x00,
+/* 0x000018E0: */ 0xD8,0x18,0x00,0x00,0xE0,0x0F,0x00,0x00,0x02,0x22,0x2C,0x00,0xE8,0x18,0x00,0x00,
+/* 0x000018F0: */ 0xFC,0x0F,0x00,0x00,0x02,0x2C,0x22,0x00,0xF4,0x18,0x00,0x00,0x10,0x10,0x00,0x00,
+/* 0x00001900: */ 0x42,0x2E,0x28,0x00,0x00,0x19,0x00,0x00,0x24,0x10,0x00,0x00,0x42,0x2E,0x22,0x00,
+/* 0x00001910: */ 0x0C,0x19,0x00,0x00,0x60,0x10,0x00,0x00,0x42,0x2E,0x27,0x00,0x18,0x19,0x00,0x00,
+/* 0x00001920: */ 0xA8,0x10,0x00,0x00,0x42,0x43,0x22,0x00,0x24,0x19,0x00,0x00,0xEC,0x10,0x00,0x00,
+/* 0x00001930: */ 0x42,0x53,0x22,0x00,0x30,0x19,0x00,0x00,0x34,0x11,0x00,0x00,0x41,0x22,0x00,0x00,
+/* 0x00001940: */ 0x3C,0x19,0x00,0x00,0x3C,0x11,0x00,0x00,0x42,0x50,0x22,0x00,0x48,0x19,0x00,0x00,
+/* 0x00001950: */ 0x44,0x11,0x00,0x00,0x42,0x22,0x22,0x00,0x54,0x19,0x00,0x00,0x8C,0x11,0x00,0x00,
+/* 0x00001960: */ 0x48,0x53,0x4C,0x49,0x54,0x45,0x52,0x41,0x4C,0x00,0x00,0x00,0x60,0x19,0x00,0x00,
+/* 0x00001970: */ 0xA0,0x11,0x00,0x00,0x07,0x24,0x41,0x50,0x50,0x45,0x4E,0x44,0x74,0x19,0x00,0x00,
+/* 0x00001980: */ 0xE0,0x11,0x00,0x00,0x48,0x50,0x4F,0x53,0x54,0x50,0x4F,0x4E,0x45,0x00,0x00,0x00,
+/* 0x00001990: */ 0x84,0x19,0x00,0x00,0x54,0x12,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x49,0x4E,
+/* 0x000019A0: */ 0x49,0x54,0x00,0x00,0x98,0x19,0x00,0x00,0x58,0x12,0x00,0x00,0x09,0x41,0x55,0x54,
+/* 0x000019B0: */ 0x4F,0x2E,0x54,0x45,0x52,0x4D,0x00,0x00,0xAC,0x19,0x00,0x00,0x5C,0x12,0x00,0x00,
+/* 0x000019C0: */ 0x0D,0x54,0x52,0x41,0x43,0x45,0x2D,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,0x00,0x00,
+/* 0x000019D0: */ 0xC0,0x19,0x00,0x00,0x6C,0x12,0x00,0x00,0x12,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,
+/* 0x000019E0: */ 0x2E,0x4D,0x41,0x52,0x4B,0x2E,0x53,0x54,0x41,0x52,0x54,0x00,0xD8,0x19,0x00,0x00,
+/* 0x000019F0: */ 0xA0,0x12,0x00,0x00,0x10,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,0x2E,0x4D,0x41,0x52,
+/* 0x00001A00: */ 0x4B,0x2E,0x45,0x4E,0x44,0x00,0x00,0x00,0xF4,0x19,0x00,0x00,0xBC,0x12,0x00,0x00,
+/* 0x00001A10: */ 0x08,0x24,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,0x00,0x00,0x00,0x10,0x1A,0x00,0x00,
+/* 0x00001A20: */ 0x38,0x14,0x00,0x00,0x11,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,0x2D,0x53,0x41,0x56,
+/* 0x00001A30: */ 0x45,0x2D,0x4E,0x41,0x4D,0x45,0x00,0x00,0x24,0x1A,0x00,0x00,0xC4,0x14,0x00,0x00,
+/* 0x00001A40: */ 0x07,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,0x40,0x1A,0x00,0x00,0xE0,0x14,0x00,0x00,
+/* 0x00001A50: */ 0x02,0x52,0x49,0x00,0x50,0x1A,0x00,0x00,0xEC,0x14,0x00,0x00,0x08,0x49,0x4E,0x43,
+/* 0x00001A60: */ 0x4C,0x55,0x44,0x45,0x3F,0x00,0x00,0x00,0x5C,0x1A,0x00,0x00,0x24,0x15,0x00,0x00,
+/* 0x00001A70: */ 0x0C,0x48,0x45,0x41,0x44,0x45,0x52,0x53,0x2D,0x53,0x49,0x5A,0x45,0x00,0x00,0x00,
+/* 0x00001A80: */ 0x70,0x1A,0x00,0x00,0x34,0x15,0x00,0x00,0x09,0x43,0x4F,0x44,0x45,0x2D,0x53,0x49,
+/* 0x00001A90: */ 0x5A,0x45,0x00,0x00,0x88,0x1A,0x00,0x00,0x44,0x15,0x00,0x00,0x09,0x41,0x55,0x54,
+/* 0x00001AA0: */ 0x4F,0x2E,0x49,0x4E,0x49,0x54,0x00,0x00,0x9C,0x1A,0x00,0x00,0x74,0x15,0x00,0x00,
+/* 0x00001AB0: */ 0x0A,0x53,0x41,0x56,0x45,0x2D,0x46,0x4F,0x52,0x54,0x48,0x00,0xB0,0x1A,0x00,0x00,
+/* 0x00001AC0: */ 0xF8,0x15,0x00,0x00,0x07,0x54,0x55,0x52,0x4E,0x4B,0x45,0x59,0xC4,0x1A,0x00,0x00,
+/* 0x00001AD0: */ 0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,0x3A,0x6C,0x6F,0x61,0x64,0x70,0x34,0x74,
+/* 0x00001AE0: */ 0x68,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0xD4,0x1A,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00001AF0: */ 0x0E,0x3A,0x3A,0x3A,0x3A,0x66,0x6F,0x72,0x67,0x65,0x74,0x2E,0x66,0x74,0x68,0x00,
+/* 0x00001B00: */ 0xF0,0x1A,0x00,0x00,0x44,0x16,0x00,0x00,0x06,0x52,0x46,0x45,0x4E,0x43,0x45,0x00,
+/* 0x00001B10: */ 0x08,0x1B,0x00,0x00,0x54,0x16,0x00,0x00,0x06,0x46,0x52,0x45,0x45,0x5A,0x45,0x00,
+/* 0x00001B20: */ 0x18,0x1B,0x00,0x00,0x64,0x16,0x00,0x00,0x0A,0x46,0x4F,0x52,0x47,0x45,0x54,0x2E,
+/* 0x00001B30: */ 0x4E,0x46,0x41,0x00,0x28,0x1B,0x00,0x00,0x98,0x16,0x00,0x00,0x0D,0x56,0x45,0x52,
+/* 0x00001B40: */ 0x49,0x46,0x59,0x2E,0x46,0x4F,0x52,0x47,0x45,0x54,0x00,0x00,0x3C,0x1B,0x00,0x00,
+/* 0x00001B50: */ 0xF4,0x16,0x00,0x00,0x08,0x28,0x46,0x4F,0x52,0x47,0x45,0x54,0x29,0x00,0x00,0x00,
+/* 0x00001B60: */ 0x54,0x1B,0x00,0x00,0x44,0x17,0x00,0x00,0x0B,0x4C,0x41,0x53,0x54,0x2D,0x46,0x4F,
+/* 0x00001B70: */ 0x52,0x47,0x45,0x54,0x68,0x1B,0x00,0x00,0x54,0x17,0x00,0x00,0x0C,0x49,0x46,0x2E,
+/* 0x00001B80: */ 0x46,0x4F,0x52,0x47,0x4F,0x54,0x54,0x45,0x4E,0x00,0x00,0x00,0x7C,0x1B,0x00,0x00,
+/* 0x00001B90: */ 0xE0,0x17,0x00,0x00,0x08,0x5B,0x46,0x4F,0x52,0x47,0x45,0x54,0x5D,0x00,0x00,0x00,
+/* 0x00001BA0: */ 0x94,0x1B,0x00,0x00,0x58,0x18,0x00,0x00,0x06,0x46,0x4F,0x52,0x47,0x45,0x54,0x00,
+/* 0x00001BB0: */ 0xA8,0x1B,0x00,0x00,0xB0,0x18,0x00,0x00,0x04,0x41,0x4E,0x45,0x57,0x00,0x00,0x00,
+/* 0x00001BC0: */ 0xB8,0x1B,0x00,0x00,0xF0,0x18,0x00,0x00,0x06,0x4D,0x41,0x52,0x4B,0x45,0x52,0x00,
+/* 0x00001BD0: */ 0xC8,0x1B,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x00001BE0: */ 0xD8,0x1B,0x00,0x00,0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,0x3A,0x6E,0x75,0x6D,
+/* 0x00001BF0: */ 0x62,0x65,0x72,0x69,0x6F,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0xE8,0x1B,0x00,0x00,
+/* 0x00001C00: */ 0x28,0x19,0x00,0x00,0x11,0x54,0x41,0x53,0x4B,0x2D,0x4E,0x55,0x4D,0x42,0x45,0x52,
+/* 0x00001C10: */ 0x49,0x4F,0x2E,0x46,0x54,0x48,0x00,0x00,0x04,0x1C,0x00,0x00,0x38,0x19,0x00,0x00,
+/* 0x00001C20: */ 0x05,0x44,0x49,0x47,0x49,0x54,0x00,0x00,0x20,0x1C,0x00,0x00,0x38,0x1A,0x00,0x00,
+/* 0x00001C30: */ 0x07,0x3E,0x4E,0x55,0x4D,0x42,0x45,0x52,0x30,0x1C,0x00,0x00,0xE4,0x1A,0x00,0x00,
+/* 0x00001C40: */ 0x07,0x43,0x4F,0x4E,0x56,0x45,0x52,0x54,0x40,0x1C,0x00,0x00,0xF8,0x1A,0x00,0x00,
+/* 0x00001C50: */ 0x0C,0x4E,0x55,0x4D,0x5F,0x54,0x59,0x50,0x45,0x5F,0x42,0x41,0x44,0x00,0x00,0x00,
+/* 0x00001C60: */ 0x50,0x1C,0x00,0x00,0x08,0x1B,0x00,0x00,0x0F,0x4E,0x55,0x4D,0x5F,0x54,0x59,0x50,
+/* 0x00001C70: */ 0x45,0x5F,0x53,0x49,0x4E,0x47,0x4C,0x45,0x68,0x1C,0x00,0x00,0x18,0x1B,0x00,0x00,
+/* 0x00001C80: */ 0x0F,0x4E,0x55,0x4D,0x5F,0x54,0x59,0x50,0x45,0x5F,0x44,0x4F,0x55,0x42,0x4C,0x45,
+/* 0x00001C90: */ 0x80,0x1C,0x00,0x00,0x28,0x1B,0x00,0x00,0x0B,0x28,0x28,0x4E,0x55,0x4D,0x42,0x45,
+/* 0x00001CA0: */ 0x52,0x3F,0x29,0x29,0x98,0x1C,0x00,0x00,0x1C,0x1C,0x00,0x00,0x09,0x28,0x4E,0x55,
+/* 0x00001CB0: */ 0x4D,0x42,0x45,0x52,0x3F,0x29,0x00,0x00,0xAC,0x1C,0x00,0x00,0x28,0x1C,0x00,0x00,
+/* 0x00001CC0: */ 0x03,0x48,0x4C,0x44,0xC0,0x1C,0x00,0x00,0x38,0x1C,0x00,0x00,0x04,0x48,0x4F,0x4C,
+/* 0x00001CD0: */ 0x44,0x00,0x00,0x00,0xCC,0x1C,0x00,0x00,0x54,0x1C,0x00,0x00,0x02,0x3C,0x23,0x00,
+/* 0x00001CE0: */ 0xDC,0x1C,0x00,0x00,0x64,0x1C,0x00,0x00,0x02,0x23,0x3E,0x00,0xE8,0x1C,0x00,0x00,
+/* 0x00001CF0: */ 0x80,0x1C,0x00,0x00,0x04,0x53,0x49,0x47,0x4E,0x00,0x00,0x00,0xF4,0x1C,0x00,0x00,
+/* 0x00001D00: */ 0x9C,0x1C,0x00,0x00,0x01,0x23,0x00,0x00,0x04,0x1D,0x00,0x00,0xE4,0x1C,0x00,0x00,
+/* 0x00001D10: */ 0x02,0x23,0x53,0x00,0x10,0x1D,0x00,0x00,0x00,0x1D,0x00,0x00,0x05,0x28,0x55,0x44,
+/* 0x00001D20: */ 0x2E,0x29,0x00,0x00,0x1C,0x1D,0x00,0x00,0x10,0x1D,0x00,0x00,0x03,0x55,0x44,0x2E,
+/* 0x00001D30: */ 0x2C,0x1D,0x00,0x00,0x20,0x1D,0x00,0x00,0x04,0x55,0x44,0x2E,0x52,0x00,0x00,0x00,
+/* 0x00001D40: */ 0x38,0x1D,0x00,0x00,0x40,0x1D,0x00,0x00,0x04,0x28,0x44,0x2E,0x29,0x00,0x00,0x00,
+/* 0x00001D50: */ 0x48,0x1D,0x00,0x00,0x60,0x1D,0x00,0x00,0x02,0x44,0x2E,0x00,0x58,0x1D,0x00,0x00,
+/* 0x00001D60: */ 0x70,0x1D,0x00,0x00,0x03,0x44,0x2E,0x52,0x64,0x1D,0x00,0x00,0x90,0x1D,0x00,0x00,
+/* 0x00001D70: */ 0x04,0x28,0x55,0x2E,0x29,0x00,0x00,0x00,0x70,0x1D,0x00,0x00,0xA0,0x1D,0x00,0x00,
+/* 0x00001D80: */ 0x02,0x55,0x2E,0x00,0x80,0x1D,0x00,0x00,0xB0,0x1D,0x00,0x00,0x03,0x55,0x2E,0x52,
+/* 0x00001D90: */ 0x8C,0x1D,0x00,0x00,0xD0,0x1D,0x00,0x00,0x03,0x28,0x2E,0x29,0x98,0x1D,0x00,0x00,
+/* 0x00001DA0: */ 0xF8,0x1D,0x00,0x00,0x01,0x2E,0x00,0x00,0xA4,0x1D,0x00,0x00,0x08,0x1E,0x00,0x00,
+/* 0x00001DB0: */ 0x02,0x2E,0x52,0x00,0xB0,0x1D,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00001DC0: */ 0x3B,0x00,0x00,0x00,0xBC,0x1D,0x00,0x00,0x78,0x00,0x00,0x00,0x0D,0x3A,0x3A,0x3A,
+/* 0x00001DD0: */ 0x3A,0x6D,0x69,0x73,0x63,0x31,0x2E,0x66,0x74,0x68,0x00,0x00,0xCC,0x1D,0x00,0x00,
+/* 0x00001DE0: */ 0x28,0x1E,0x00,0x00,0x0E,0x54,0x41,0x53,0x4B,0x2D,0x4D,0x49,0x53,0x43,0x31,0x2E,
+/* 0x00001DF0: */ 0x46,0x54,0x48,0x00,0xE4,0x1D,0x00,0x00,0x38,0x1E,0x00,0x00,0x02,0x3E,0x3E,0x00,
+/* 0x00001E00: */ 0xFC,0x1D,0x00,0x00,0x40,0x1E,0x00,0x00,0x02,0x3C,0x3C,0x00,0x08,0x1E,0x00,0x00,
+/* 0x00001E10: */ 0x48,0x1E,0x00,0x00,0x05,0x43,0x45,0x4C,0x4C,0x2A,0x00,0x00,0x14,0x1E,0x00,0x00,
+/* 0x00001E20: */ 0x58,0x1E,0x00,0x00,0x0A,0x28,0x57,0x41,0x52,0x4E,0x49,0x4E,0x47,0x22,0x29,0x00,
+/* 0x00001E30: */ 0x24,0x1E,0x00,0x00,0x7C,0x1E,0x00,0x00,0x48,0x57,0x41,0x52,0x4E,0x49,0x4E,0x47,
+/* 0x00001E40: */ 0x22,0x00,0x00,0x00,0x38,0x1E,0x00,0x00,0xAC,0x1E,0x00,0x00,0x08,0x28,0x41,0x42,
+/* 0x00001E50: */ 0x4F,0x52,0x54,0x22,0x29,0x00,0x00,0x00,0x4C,0x1E,0x00,0x00,0xD8,0x1E,0x00,0x00,
+/* 0x00001E60: */ 0x46,0x41,0x42,0x4F,0x52,0x54,0x22,0x00,0x60,0x1E,0x00,0x00,0x08,0x1F,0x00,0x00,
+/* 0x00001E70: */ 0x06,0x3F,0x50,0x41,0x55,0x53,0x45,0x00,0x70,0x1E,0x00,0x00,0x84,0x1F,0x00,0x00,
+/* 0x00001E80: */ 0x05,0x23,0x43,0x4F,0x4C,0x53,0x00,0x00,0x80,0x1E,0x00,0x00,0x94,0x1F,0x00,0x00,
+/* 0x00001E90: */ 0x03,0x43,0x52,0x3F,0x90,0x1E,0x00,0x00,0xCC,0x1F,0x00,0x00,0x03,0x43,0x4C,0x53,
+/* 0x00001EA0: */ 0x9C,0x1E,0x00,0x00,0xF0,0x1F,0x00,0x00,0x04,0x50,0x41,0x47,0x45,0x00,0x00,0x00,
+/* 0x00001EB0: */ 0xA8,0x1E,0x00,0x00,0xF8,0x1F,0x00,0x00,0x41,0x24,0x00,0x00,0xB8,0x1E,0x00,0x00,
+/* 0x00001EC0: */ 0x64,0x20,0x00,0x00,0x03,0x2E,0x48,0x58,0xC4,0x1E,0x00,0x00,0xA0,0x20,0x00,0x00,
+/* 0x00001ED0: */ 0x09,0x54,0x41,0x42,0x2D,0x57,0x49,0x44,0x54,0x48,0x00,0x00,0xD0,0x1E,0x00,0x00,
+/* 0x00001EE0: */ 0xB0,0x20,0x00,0x00,0x03,0x54,0x41,0x42,0xE4,0x1E,0x00,0x00,0xDC,0x20,0x00,0x00,
+/* 0x00001EF0: */ 0x05,0x57,0x4F,0x52,0x44,0x53,0x00,0x00,0xF0,0x1E,0x00,0x00,0x44,0x21,0x00,0x00,
+/* 0x00001F00: */ 0x05,0x56,0x4C,0x49,0x53,0x54,0x00,0x00,0x00,0x1F,0x00,0x00,0x4C,0x21,0x00,0x00,
+/* 0x00001F10: */ 0x0B,0x43,0x4C,0x4F,0x53,0x45,0x53,0x54,0x2D,0x4E,0x46,0x41,0x10,0x1F,0x00,0x00,
+/* 0x00001F20: */ 0x5C,0x21,0x00,0x00,0x0A,0x43,0x4C,0x4F,0x53,0x45,0x53,0x54,0x2D,0x58,0x54,0x00,
+/* 0x00001F30: */ 0x24,0x1F,0x00,0x00,0x6C,0x21,0x00,0x00,0x05,0x3E,0x4E,0x41,0x4D,0x45,0x00,0x00,
+/* 0x00001F40: */ 0x38,0x1F,0x00,0x00,0x58,0x22,0x00,0x00,0x08,0x40,0x45,0x58,0x45,0x43,0x55,0x54,
+/* 0x00001F50: */ 0x45,0x00,0x00,0x00,0x48,0x1F,0x00,0x00,0x70,0x22,0x00,0x00,0x07,0x54,0x4F,0x4C,
+/* 0x00001F60: */ 0x4F,0x57,0x45,0x52,0x5C,0x1F,0x00,0x00,0xBC,0x22,0x00,0x00,0x08,0x45,0x56,0x41,
+/* 0x00001F70: */ 0x4C,0x55,0x41,0x54,0x45,0x00,0x00,0x00,0x6C,0x1F,0x00,0x00,0x18,0x23,0x00,0x00,
+/* 0x00001F80: */ 0x02,0x5C,0x53,0x00,0x80,0x1F,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00001F90: */ 0x3B,0x00,0x00,0x00,0x8C,0x1F,0x00,0x00,0x78,0x00,0x00,0x00,0x0C,0x3A,0x3A,0x3A,
+/* 0x00001FA0: */ 0x3A,0x63,0x61,0x73,0x65,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0x9C,0x1F,0x00,0x00,
+/* 0x00001FB0: */ 0x38,0x23,0x00,0x00,0x09,0x54,0x41,0x53,0x4B,0x2D,0x43,0x41,0x53,0x45,0x00,0x00,
+/* 0x00001FC0: */ 0xB4,0x1F,0x00,0x00,0x48,0x23,0x00,0x00,0x0A,0x43,0x41,0x53,0x45,0x2D,0x44,0x45,
+/* 0x00001FD0: */ 0x50,0x54,0x48,0x00,0xC8,0x1F,0x00,0x00,0x58,0x23,0x00,0x00,0x08,0x4F,0x46,0x2D,
+/* 0x00001FE0: */ 0x44,0x45,0x50,0x54,0x48,0x00,0x00,0x00,0xDC,0x1F,0x00,0x00,0x68,0x23,0x00,0x00,
+/* 0x00001FF0: */ 0x44,0x43,0x41,0x53,0x45,0x00,0x00,0x00,0xF0,0x1F,0x00,0x00,0xA0,0x23,0x00,0x00,
+/* 0x00002000: */ 0x43,0x3F,0x4F,0x46,0x00,0x20,0x00,0x00,0xD4,0x23,0x00,0x00,0x42,0x4F,0x46,0x00,
+/* 0x00002010: */ 0x0C,0x20,0x00,0x00,0xF8,0x23,0x00,0x00,0x0A,0x28,0x52,0x41,0x4E,0x47,0x45,0x4F,
+/* 0x00002020: */ 0x46,0x3F,0x29,0x00,0x18,0x20,0x00,0x00,0x2C,0x24,0x00,0x00,0x47,0x52,0x41,0x4E,
+/* 0x00002030: */ 0x47,0x45,0x4F,0x46,0x2C,0x20,0x00,0x00,0x40,0x24,0x00,0x00,0x45,0x45,0x4E,0x44,
+/* 0x00002040: */ 0x4F,0x46,0x00,0x00,0x3C,0x20,0x00,0x00,0x54,0x24,0x00,0x00,0x47,0x45,0x4E,0x44,
+/* 0x00002050: */ 0x43,0x41,0x53,0x45,0x4C,0x20,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00002060: */ 0x3B,0x00,0x00,0x00,0x5C,0x20,0x00,0x00,0x78,0x00,0x00,0x00,0x0F,0x3A,0x3A,0x3A,
+/* 0x00002070: */ 0x3A,0x73,0x74,0x72,0x69,0x6E,0x67,0x73,0x2E,0x66,0x74,0x68,0x6C,0x20,0x00,0x00,
+/* 0x00002080: */ 0xD0,0x24,0x00,0x00,0x10,0x54,0x41,0x53,0x4B,0x2D,0x53,0x54,0x52,0x49,0x4E,0x47,
+/* 0x00002090: */ 0x53,0x2E,0x46,0x54,0x48,0x00,0x00,0x00,0x84,0x20,0x00,0x00,0xE0,0x24,0x00,0x00,
+/* 0x000020A0: */ 0x09,0x2D,0x54,0x52,0x41,0x49,0x4C,0x49,0x4E,0x47,0x00,0x00,0xA0,0x20,0x00,0x00,
+/* 0x000020B0: */ 0x2C,0x25,0x00,0x00,0x06,0x24,0x41,0x52,0x52,0x41,0x59,0x00,0xB4,0x20,0x00,0x00,
+/* 0x000020C0: */ 0x7C,0x25,0x00,0x00,0x02,0x24,0x3D,0x00,0xC4,0x20,0x00,0x00,0x04,0x26,0x00,0x00,
+/* 0x000020D0: */ 0x05,0x54,0x45,0x58,0x54,0x3D,0x00,0x00,0xD0,0x20,0x00,0x00,0x88,0x26,0x00,0x00,
+/* 0x000020E0: */ 0x06,0x54,0x45,0x58,0x54,0x3D,0x3F,0x00,0xE0,0x20,0x00,0x00,0x94,0x26,0x00,0x00,
+/* 0x000020F0: */ 0x07,0x24,0x4D,0x41,0x54,0x43,0x48,0x3F,0xF0,0x20,0x00,0x00,0xA8,0x26,0x00,0x00,
+/* 0x00002100: */ 0x05,0x49,0x4E,0x44,0x45,0x58,0x00,0x00,0x00,0x21,0x00,0x00,0x38,0x27,0x00,0x00,
+/* 0x00002110: */ 0x0C,0x24,0x41,0x50,0x50,0x45,0x4E,0x44,0x2E,0x43,0x48,0x41,0x52,0x00,0x00,0x00,
+/* 0x00002120: */ 0x10,0x21,0x00,0x00,0x60,0x27,0x00,0x00,0x06,0x28,0x24,0x52,0x4F,0x4D,0x29,0x00,
+/* 0x00002130: */ 0x28,0x21,0x00,0x00,0x90,0x27,0x00,0x00,0x04,0x24,0x52,0x4F,0x4D,0x00,0x00,0x00,
+/* 0x00002140: */ 0x38,0x21,0x00,0x00,0xAC,0x27,0x00,0x00,0x07,0x54,0x45,0x58,0x54,0x52,0x4F,0x4D,
+/* 0x00002150: */ 0x48,0x21,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x00002160: */ 0x58,0x21,0x00,0x00,0x78,0x00,0x00,0x00,0x0F,0x3A,0x3A,0x3A,0x3A,0x70,0x72,0x69,
+/* 0x00002170: */ 0x76,0x61,0x74,0x65,0x2E,0x66,0x74,0x68,0x68,0x21,0x00,0x00,0xCC,0x27,0x00,0x00,
+/* 0x00002180: */ 0x10,0x54,0x41,0x53,0x4B,0x2D,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x2E,0x46,0x54,
+/* 0x00002190: */ 0x48,0x00,0x00,0x00,0x80,0x21,0x00,0x00,0xDC,0x27,0x00,0x00,0x0D,0x50,0x52,0x49,
+/* 0x000021A0: */ 0x56,0x41,0x54,0x45,0x2D,0x53,0x54,0x41,0x52,0x54,0x00,0x00,0x9C,0x21,0x00,0x00,
+/* 0x000021B0: */ 0xEC,0x27,0x00,0x00,0x0C,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x2D,0x53,0x54,0x4F,
+/* 0x000021C0: */ 0x50,0x00,0x00,0x00,0xB4,0x21,0x00,0x00,0xFC,0x27,0x00,0x00,0x0B,0x46,0x4C,0x41,
+/* 0x000021D0: */ 0x47,0x5F,0x53,0x4D,0x55,0x44,0x47,0x45,0xCC,0x21,0x00,0x00,0x0C,0x28,0x00,0x00,
+/* 0x000021E0: */ 0x08,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x7B,0x00,0x00,0x00,0xE0,0x21,0x00,0x00,
+/* 0x000021F0: */ 0x2C,0x28,0x00,0x00,0x08,0x7D,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x00,0x00,0x00,
+/* 0x00002200: */ 0xF4,0x21,0x00,0x00,0x64,0x28,0x00,0x00,0x09,0x50,0x52,0x49,0x56,0x41,0x54,0x49,
+/* 0x00002210: */ 0x5A,0x45,0x00,0x00,0x08,0x22,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00002220: */ 0x3B,0x00,0x00,0x00,0x1C,0x22,0x00,0x00,0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,
+/* 0x00002230: */ 0x3A,0x61,0x6E,0x73,0x69,0x6C,0x6F,0x63,0x73,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,
+/* 0x00002240: */ 0x2C,0x22,0x00,0x00,0x20,0x29,0x00,0x00,0x11,0x54,0x41,0x53,0x4B,0x2D,0x41,0x4E,
+/* 0x00002250: */ 0x53,0x49,0x4C,0x4F,0x43,0x53,0x2E,0x46,0x54,0x48,0x00,0x00,0x48,0x22,0x00,0x00,
+/* 0x00002260: */ 0x30,0x29,0x00,0x00,0x2B,0x4C,0x56,0x5F,0x4D,0x41,0x58,0x5F,0x56,0x41,0x52,0x53,
+/* 0x00002270: */ 0x64,0x22,0x00,0x00,0x40,0x29,0x00,0x00,0x2C,0x4C,0x56,0x5F,0x4D,0x41,0x58,0x5F,
+/* 0x00002280: */ 0x43,0x48,0x41,0x52,0x53,0x00,0x00,0x00,0x78,0x22,0x00,0x00,0x50,0x29,0x00,0x00,
+/* 0x00002290: */ 0x28,0x4C,0x56,0x2D,0x4E,0x41,0x4D,0x45,0x53,0x00,0x00,0x00,0x90,0x22,0x00,0x00,
+/* 0x000022A0: */ 0x70,0x2B,0x00,0x00,0x29,0x4C,0x56,0x2D,0x23,0x4E,0x41,0x4D,0x45,0x53,0x00,0x00,
+/* 0x000022B0: */ 0xA4,0x22,0x00,0x00,0x80,0x2B,0x00,0x00,0x28,0x4C,0x56,0x2E,0x4D,0x41,0x54,0x43,
+/* 0x000022C0: */ 0x48,0x00,0x00,0x00,0xB8,0x22,0x00,0x00,0xE0,0x2B,0x00,0x00,0x30,0x4C,0x56,0x2E,
+/* 0x000022D0: */ 0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x2E,0x46,0x45,0x54,0x43,0x48,0x00,0x00,0x00,
+/* 0x000022E0: */ 0xCC,0x22,0x00,0x00,0x80,0x2D,0x00,0x00,0x30,0x4C,0x56,0x2E,0x43,0x4F,0x4D,0x50,
+/* 0x000022F0: */ 0x49,0x4C,0x45,0x2E,0x53,0x54,0x4F,0x52,0x45,0x00,0x00,0x00,0xE8,0x22,0x00,0x00,
+/* 0x00002300: */ 0x20,0x2F,0x00,0x00,0x30,0x4C,0x56,0x2E,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x2E,
+/* 0x00002310: */ 0x4C,0x4F,0x43,0x41,0x4C,0x00,0x00,0x00,0x04,0x23,0x00,0x00,0x48,0x2F,0x00,0x00,
+/* 0x00002320: */ 0x2A,0x4C,0x56,0x2E,0x43,0x4C,0x45,0x41,0x4E,0x55,0x50,0x00,0x20,0x23,0x00,0x00,
+/* 0x00002330: */ 0x68,0x2F,0x00,0x00,0x29,0x4C,0x56,0x2E,0x46,0x49,0x4E,0x49,0x53,0x48,0x00,0x00,
+/* 0x00002340: */ 0x34,0x23,0x00,0x00,0x80,0x2F,0x00,0x00,0x28,0x4C,0x56,0x2E,0x53,0x45,0x54,0x55,
+/* 0x00002350: */ 0x50,0x00,0x00,0x00,0x48,0x23,0x00,0x00,0x94,0x2F,0x00,0x00,0x27,0x4C,0x56,0x2E,
+/* 0x00002360: */ 0x54,0x45,0x52,0x4D,0x5C,0x23,0x00,0x00,0xCC,0x2F,0x00,0x00,0x07,0x28,0x4C,0x4F,
+/* 0x00002370: */ 0x43,0x41,0x4C,0x29,0x6C,0x23,0x00,0x00,0x2C,0x31,0x00,0x00,0x05,0x56,0x41,0x4C,
+/* 0x00002380: */ 0x55,0x45,0x00,0x00,0x7C,0x23,0x00,0x00,0x78,0x31,0x00,0x00,0x42,0x54,0x4F,0x00,
+/* 0x00002390: */ 0x8C,0x23,0x00,0x00,0x10,0x32,0x00,0x00,0x42,0x2D,0x3E,0x00,0x98,0x23,0x00,0x00,
+/* 0x000023A0: */ 0x18,0x32,0x00,0x00,0x43,0x2B,0x2D,0x3E,0xA4,0x23,0x00,0x00,0xBC,0x32,0x00,0x00,
+/* 0x000023B0: */ 0x01,0x3A,0x00,0x00,0xB0,0x23,0x00,0x00,0xC8,0x32,0x00,0x00,0x41,0x3B,0x00,0x00,
+/* 0x000023C0: */ 0xBC,0x23,0x00,0x00,0xD4,0x32,0x00,0x00,0x44,0x45,0x58,0x49,0x54,0x00,0x00,0x00,
+/* 0x000023D0: */ 0xC8,0x23,0x00,0x00,0xE8,0x32,0x00,0x00,0x45,0x44,0x4F,0x45,0x53,0x3E,0x00,0x00,
+/* 0x000023E0: */ 0xD8,0x23,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x000023F0: */ 0xE8,0x23,0x00,0x00,0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,0x3A,0x6C,0x6F,0x63,
+/* 0x00002400: */ 0x61,0x6C,0x73,0x2E,0x66,0x74,0x68,0x00,0xF8,0x23,0x00,0x00,0xF4,0x32,0x00,0x00,
+/* 0x00002410: */ 0x0F,0x54,0x41,0x53,0x4B,0x2D,0x4C,0x4F,0x43,0x41,0x4C,0x53,0x2E,0x46,0x54,0x48,
+/* 0x00002420: */ 0x10,0x24,0x00,0x00,0x04,0x33,0x00,0x00,0x2D,0x4C,0x4F,0x43,0x2D,0x54,0x45,0x4D,
+/* 0x00002430: */ 0x50,0x2D,0x4D,0x4F,0x44,0x45,0x00,0x00,0x28,0x24,0x00,0x00,0x14,0x33,0x00,0x00,
+/* 0x00002440: */ 0x30,0x4C,0x4F,0x43,0x2D,0x43,0x4F,0x4D,0x4D,0x45,0x4E,0x54,0x2D,0x4D,0x4F,0x44,
+/* 0x00002450: */ 0x45,0x00,0x00,0x00,0x40,0x24,0x00,0x00,0x24,0x33,0x00,0x00,0x28,0x4C,0x4F,0x43,
+/* 0x00002460: */ 0x2D,0x44,0x4F,0x4E,0x45,0x00,0x00,0x00,0x5C,0x24,0x00,0x00,0x34,0x33,0x00,0x00,
+/* 0x00002470: */ 0x41,0x7B,0x00,0x00,0x70,0x24,0x00,0x00,0x2C,0x35,0x00,0x00,0x04,0x54,0x4C,0x56,
+/* 0x00002480: */ 0x31,0x00,0x00,0x00,0x7C,0x24,0x00,0x00,0x5C,0x35,0x00,0x00,0x04,0x54,0x4C,0x56,
+/* 0x00002490: */ 0x32,0x00,0x00,0x00,0x8C,0x24,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x000024A0: */ 0x3B,0x00,0x00,0x00,0x9C,0x24,0x00,0x00,0x78,0x00,0x00,0x00,0x0C,0x3A,0x3A,0x3A,
+/* 0x000024B0: */ 0x3A,0x6D,0x61,0x74,0x68,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0xAC,0x24,0x00,0x00,
+/* 0x000024C0: */ 0xB0,0x35,0x00,0x00,0x0D,0x54,0x41,0x53,0x4B,0x2D,0x4D,0x41,0x54,0x48,0x2E,0x46,
+/* 0x000024D0: */ 0x54,0x48,0x00,0x00,0xC4,0x24,0x00,0x00,0xC0,0x35,0x00,0x00,0x06,0x46,0x4D,0x2F,
+/* 0x000024E0: */ 0x4D,0x4F,0x44,0x00,0xDC,0x24,0x00,0x00,0x00,0x37,0x00,0x00,0x06,0x53,0x4D,0x2F,
+/* 0x000024F0: */ 0x52,0x45,0x4D,0x00,0xEC,0x24,0x00,0x00,0xC4,0x37,0x00,0x00,0x04,0x2F,0x4D,0x4F,
+/* 0x00002500: */ 0x44,0x00,0x00,0x00,0xFC,0x24,0x00,0x00,0xD8,0x37,0x00,0x00,0x03,0x4D,0x4F,0x44,
+/* 0x00002510: */ 0x0C,0x25,0x00,0x00,0xE4,0x37,0x00,0x00,0x05,0x2A,0x2F,0x4D,0x4F,0x44,0x00,0x00,
+/* 0x00002520: */ 0x18,0x25,0x00,0x00,0xF8,0x37,0x00,0x00,0x02,0x2A,0x2F,0x00,0x28,0x25,0x00,0x00,
+/* 0x00002530: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x34,0x25,0x00,0x00,
+/* 0x00002540: */ 0x78,0x00,0x00,0x00,0x0D,0x3A,0x3A,0x3A,0x3A,0x6D,0x69,0x73,0x63,0x32,0x2E,0x66,
+/* 0x00002550: */ 0x74,0x68,0x00,0x00,0x44,0x25,0x00,0x00,0x04,0x38,0x00,0x00,0x0E,0x54,0x41,0x53,
+/* 0x00002560: */ 0x4B,0x2D,0x4D,0x49,0x53,0x43,0x32,0x2E,0x46,0x54,0x48,0x00,0x5C,0x25,0x00,0x00,
+/* 0x00002570: */ 0x14,0x38,0x00,0x00,0x42,0x27,0x4E,0x00,0x74,0x25,0x00,0x00,0x54,0x38,0x00,0x00,
+/* 0x00002580: */ 0x08,0x3F,0x4C,0x49,0x54,0x45,0x52,0x41,0x4C,0x00,0x00,0x00,0x80,0x25,0x00,0x00,
+/* 0x00002590: */ 0x6C,0x38,0x00,0x00,0x42,0x27,0x43,0x00,0x94,0x25,0x00,0x00,0x78,0x38,0x00,0x00,
+/* 0x000025A0: */ 0x08,0x49,0x46,0x2D,0x44,0x45,0x42,0x55,0x47,0x00,0x00,0x00,0xA0,0x25,0x00,0x00,
+/* 0x000025B0: */ 0x88,0x38,0x00,0x00,0x0A,0x4D,0x53,0x45,0x43,0x2D,0x44,0x45,0x4C,0x41,0x59,0x00,
+/* 0x000025C0: */ 0xB4,0x25,0x00,0x00,0x98,0x38,0x00,0x00,0x04,0x4D,0x53,0x45,0x43,0x00,0x00,0x00,
+/* 0x000025D0: */ 0xC8,0x25,0x00,0x00,0xCC,0x38,0x00,0x00,0x05,0x53,0x48,0x49,0x46,0x54,0x00,0x00,
+/* 0x000025E0: */ 0xD8,0x25,0x00,0x00,0xF4,0x38,0x00,0x00,0x09,0x52,0x41,0x4E,0x44,0x2D,0x53,0x45,
+/* 0x000025F0: */ 0x45,0x44,0x00,0x00,0xE8,0x25,0x00,0x00,0x04,0x39,0x00,0x00,0x06,0x52,0x41,0x4E,
+/* 0x00002600: */ 0x44,0x4F,0x4D,0x00,0xFC,0x25,0x00,0x00,0x40,0x39,0x00,0x00,0x06,0x43,0x48,0x4F,
+/* 0x00002610: */ 0x4F,0x53,0x45,0x00,0x0C,0x26,0x00,0x00,0x58,0x39,0x00,0x00,0x07,0x57,0x43,0x48,
+/* 0x00002620: */ 0x4F,0x4F,0x53,0x45,0x1C,0x26,0x00,0x00,0x6C,0x39,0x00,0x00,0x05,0x32,0x53,0x4F,
+/* 0x00002630: */ 0x52,0x54,0x00,0x00,0x2C,0x26,0x00,0x00,0x84,0x39,0x00,0x00,0x06,0x2D,0x32,0x53,
+/* 0x00002640: */ 0x4F,0x52,0x54,0x00,0x3C,0x26,0x00,0x00,0x9C,0x39,0x00,0x00,0x06,0x42,0x41,0x52,
+/* 0x00002650: */ 0x52,0x41,0x59,0x00,0x4C,0x26,0x00,0x00,0xBC,0x39,0x00,0x00,0x06,0x57,0x41,0x52,
+/* 0x00002660: */ 0x52,0x41,0x59,0x00,0x5C,0x26,0x00,0x00,0xE8,0x39,0x00,0x00,0x05,0x41,0x52,0x52,
+/* 0x00002670: */ 0x41,0x59,0x00,0x00,0x6C,0x26,0x00,0x00,0x14,0x3A,0x00,0x00,0x04,0x2E,0x42,0x49,
+/* 0x00002680: */ 0x4E,0x00,0x00,0x00,0x7C,0x26,0x00,0x00,0x34,0x3A,0x00,0x00,0x04,0x2E,0x44,0x45,
+/* 0x00002690: */ 0x43,0x00,0x00,0x00,0x8C,0x26,0x00,0x00,0x54,0x3A,0x00,0x00,0x04,0x2E,0x48,0x45,
+/* 0x000026A0: */ 0x58,0x00,0x00,0x00,0x9C,0x26,0x00,0x00,0x74,0x3A,0x00,0x00,0x04,0x42,0x2D,0x3E,
+/* 0x000026B0: */ 0x53,0x00,0x00,0x00,0xAC,0x26,0x00,0x00,0xB0,0x3A,0x00,0x00,0x04,0x57,0x2D,0x3E,
+/* 0x000026C0: */ 0x53,0x00,0x00,0x00,0xBC,0x26,0x00,0x00,0xEC,0x3A,0x00,0x00,0x06,0x57,0x49,0x54,
+/* 0x000026D0: */ 0x48,0x49,0x4E,0x00,0xCC,0x26,0x00,0x00,0x54,0x3B,0x00,0x00,0x04,0x4D,0x4F,0x56,
+/* 0x000026E0: */ 0x45,0x00,0x00,0x00,0xDC,0x26,0x00,0x00,0x88,0x3B,0x00,0x00,0x05,0x45,0x52,0x41,
+/* 0x000026F0: */ 0x53,0x45,0x00,0x00,0xEC,0x26,0x00,0x00,0xB4,0x3B,0x00,0x00,0x05,0x42,0x4C,0x41,
+/* 0x00002700: */ 0x4E,0x4B,0x00,0x00,0xFC,0x26,0x00,0x00,0xDC,0x3B,0x00,0x00,0x05,0x51,0x55,0x45,
+/* 0x00002710: */ 0x52,0x59,0x00,0x00,0x0C,0x27,0x00,0x00,0xE8,0x3B,0x00,0x00,0x04,0x53,0x50,0x41,
+/* 0x00002720: */ 0x4E,0x00,0x00,0x00,0x1C,0x27,0x00,0x00,0xF8,0x3B,0x00,0x00,0x06,0x45,0x58,0x50,
+/* 0x00002730: */ 0x45,0x43,0x54,0x00,0x2C,0x27,0x00,0x00,0x08,0x3C,0x00,0x00,0x03,0x54,0x49,0x42,
+/* 0x00002740: */ 0x3C,0x27,0x00,0x00,0x14,0x3C,0x00,0x00,0x06,0x55,0x4E,0x55,0x53,0x45,0x44,0x00,
+/* 0x00002750: */ 0x48,0x27,0x00,0x00,0x24,0x3C,0x00,0x00,0x03,0x4D,0x41,0x50,0x58,0x27,0x00,0x00,
+/* 0x00002760: */ 0x00,0x3F,0x00,0x00,0x06,0x53,0x45,0x41,0x52,0x43,0x48,0x00,0x64,0x27,0x00,0x00,
+/* 0x00002770: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x74,0x27,0x00,0x00,
+/* 0x00002780: */ 0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,0x3A,0x63,0x6F,0x6E,0x64,0x63,0x6F,0x6D,
+/* 0x00002790: */ 0x70,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0x84,0x27,0x00,0x00,0x14,0x40,0x00,0x00,
+/* 0x000027A0: */ 0x11,0x54,0x41,0x53,0x4B,0x2D,0x43,0x4F,0x4E,0x44,0x43,0x4F,0x4D,0x50,0x2E,0x46,
+/* 0x000027B0: */ 0x54,0x48,0x00,0x00,0xA0,0x27,0x00,0x00,0x24,0x40,0x00,0x00,0x46,0x5B,0x45,0x4C,
+/* 0x000027C0: */ 0x53,0x45,0x5D,0x00,0xBC,0x27,0x00,0x00,0x0C,0x41,0x00,0x00,0x44,0x5B,0x49,0x46,
+/* 0x000027D0: */ 0x5D,0x00,0x00,0x00,0xCC,0x27,0x00,0x00,0x20,0x41,0x00,0x00,0x46,0x5B,0x54,0x48,
+/* 0x000027E0: */ 0x45,0x4E,0x5D,0x00,0xDC,0x27,0x00,0x00,0x24,0x41,0x00,0x00,0x47,0x45,0x58,0x49,
+/* 0x000027F0: */ 0x53,0x54,0x53,0x3F,0xEC,0x27,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00002800: */ 0x3B,0x00,0x00,0x00,0xFC,0x27,0x00,0x00,0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,
+/* 0x00002810: */ 0x3A,0x66,0x6C,0x6F,0x61,0x74,0x73,0x2E,0x66,0x74,0x68,0x00,0x0C,0x28,0x00,0x00,
+/* 0x00002820: */ 0x3C,0x41,0x00,0x00,0x0F,0x54,0x41,0x53,0x4B,0x2D,0x46,0x4C,0x4F,0x41,0x54,0x53,
+/* 0x00002830: */ 0x2E,0x46,0x54,0x48,0x24,0x28,0x00,0x00,0x4C,0x41,0x00,0x00,0x08,0x46,0x41,0x4C,
+/* 0x00002840: */ 0x49,0x47,0x4E,0x45,0x44,0x00,0x00,0x00,0x3C,0x28,0x00,0x00,0x84,0x41,0x00,0x00,
+/* 0x00002850: */ 0x06,0x46,0x41,0x4C,0x49,0x47,0x4E,0x00,0x50,0x28,0x00,0x00,0x9C,0x41,0x00,0x00,
+/* 0x00002860: */ 0x0E,0x46,0x50,0x2D,0x43,0x52,0x45,0x41,0x54,0x45,0x2D,0x53,0x49,0x5A,0x45,0x00,
+/* 0x00002870: */ 0x60,0x28,0x00,0x00,0xA8,0x41,0x00,0x00,0x0B,0x43,0x52,0x45,0x41,0x54,0x45,0x5F,
+/* 0x00002880: */ 0x53,0x49,0x5A,0x45,0x78,0x28,0x00,0x00,0xB8,0x41,0x00,0x00,0x0D,0x46,0x41,0x4C,
+/* 0x00002890: */ 0x49,0x47,0x4E,0x2E,0x43,0x52,0x45,0x41,0x54,0x45,0x00,0x00,0x8C,0x28,0x00,0x00,
+/* 0x000028A0: */ 0xE0,0x41,0x00,0x00,0x07,0x46,0x43,0x52,0x45,0x41,0x54,0x45,0xA4,0x28,0x00,0x00,
+/* 0x000028B0: */ 0xEC,0x41,0x00,0x00,0x09,0x46,0x56,0x41,0x52,0x49,0x41,0x42,0x4C,0x45,0x00,0x00,
+/* 0x000028C0: */ 0xB4,0x28,0x00,0x00,0x04,0x42,0x00,0x00,0x09,0x46,0x43,0x4F,0x4E,0x53,0x54,0x41,
+/* 0x000028D0: */ 0x4E,0x54,0x00,0x00,0xC8,0x28,0x00,0x00,0x38,0x42,0x00,0x00,0x04,0x46,0x30,0x53,
+/* 0x000028E0: */ 0x50,0x00,0x00,0x00,0xDC,0x28,0x00,0x00,0x68,0x42,0x00,0x00,0x03,0x53,0x3E,0x46,
+/* 0x000028F0: */ 0xEC,0x28,0x00,0x00,0x74,0x42,0x00,0x00,0x03,0x46,0x3E,0x53,0xF8,0x28,0x00,0x00,
+/* 0x00002900: */ 0x80,0x42,0x00,0x00,0x0B,0x28,0x46,0x2E,0x45,0x58,0x41,0x43,0x54,0x4C,0x59,0x29,
+/* 0x00002910: */ 0x04,0x29,0x00,0x00,0x8C,0x43,0x00,0x00,0x02,0x46,0x7E,0x00,0x18,0x29,0x00,0x00,
+/* 0x00002920: */ 0x24,0x44,0x00,0x00,0x08,0x46,0x56,0x41,0x52,0x2D,0x52,0x45,0x50,0x00,0x00,0x00,
+/* 0x00002930: */ 0x24,0x29,0x00,0x00,0x38,0x44,0x00,0x00,0x09,0x52,0x45,0x50,0x52,0x45,0x53,0x45,
+/* 0x00002940: */ 0x4E,0x54,0x00,0x00,0x38,0x29,0x00,0x00,0xCC,0x45,0x00,0x00,0x0C,0x46,0x50,0x2D,
+/* 0x00002950: */ 0x50,0x52,0x45,0x43,0x49,0x53,0x49,0x4F,0x4E,0x00,0x00,0x00,0x4C,0x29,0x00,0x00,
+/* 0x00002960: */ 0xDC,0x45,0x00,0x00,0x10,0x46,0x50,0x5F,0x50,0x52,0x45,0x43,0x49,0x53,0x49,0x4F,
+/* 0x00002970: */ 0x4E,0x5F,0x4D,0x41,0x58,0x00,0x00,0x00,0x64,0x29,0x00,0x00,0xEC,0x45,0x00,0x00,
+/* 0x00002980: */ 0x09,0x50,0x52,0x45,0x43,0x49,0x53,0x49,0x4F,0x4E,0x00,0x00,0x80,0x29,0x00,0x00,
+/* 0x00002990: */ 0xF8,0x45,0x00,0x00,0x0D,0x53,0x45,0x54,0x2D,0x50,0x52,0x45,0x43,0x49,0x53,0x49,
+/* 0x000029A0: */ 0x4F,0x4E,0x00,0x00,0x94,0x29,0x00,0x00,0x0C,0x46,0x00,0x00,0x11,0x46,0x50,0x5F,
+/* 0x000029B0: */ 0x52,0x45,0x50,0x52,0x45,0x53,0x45,0x4E,0x54,0x5F,0x53,0x49,0x5A,0x45,0x00,0x00,
+/* 0x000029C0: */ 0xAC,0x29,0x00,0x00,0x1C,0x46,0x00,0x00,0x0E,0x46,0x50,0x5F,0x4F,0x55,0x54,0x50,
+/* 0x000029D0: */ 0x55,0x54,0x5F,0x53,0x49,0x5A,0x45,0x00,0xC8,0x29,0x00,0x00,0x2C,0x46,0x00,0x00,
+/* 0x000029E0: */ 0x10,0x46,0x50,0x2D,0x52,0x45,0x50,0x52,0x45,0x53,0x45,0x4E,0x54,0x2D,0x50,0x41,
+/* 0x000029F0: */ 0x44,0x00,0x00,0x00,0xE0,0x29,0x00,0x00,0x58,0x46,0x00,0x00,0x0D,0x46,0x50,0x2D,
+/* 0x00002A00: */ 0x4F,0x55,0x54,0x50,0x55,0x54,0x2D,0x50,0x41,0x44,0x00,0x00,0xFC,0x29,0x00,0x00,
+/* 0x00002A10: */ 0xA4,0x46,0x00,0x00,0x0D,0x46,0x50,0x2D,0x4F,0x55,0x54,0x50,0x55,0x54,0x2D,0x50,
+/* 0x00002A20: */ 0x54,0x52,0x00,0x00,0x14,0x2A,0x00,0x00,0xB4,0x46,0x00,0x00,0x07,0x46,0x50,0x2E,
+/* 0x00002A30: */ 0x48,0x4F,0x4C,0x44,0x2C,0x2A,0x00,0x00,0x04,0x47,0x00,0x00,0x09,0x46,0x50,0x2E,
+/* 0x00002A40: */ 0x41,0x50,0x50,0x45,0x4E,0x44,0x00,0x00,0x3C,0x2A,0x00,0x00,0x54,0x47,0x00,0x00,
+/* 0x00002A50: */ 0x17,0x46,0x50,0x2E,0x53,0x54,0x52,0x49,0x50,0x2E,0x54,0x52,0x41,0x49,0x4C,0x49,
+/* 0x00002A60: */ 0x4E,0x47,0x2E,0x5A,0x45,0x52,0x4F,0x53,0x50,0x2A,0x00,0x00,0xA4,0x47,0x00,0x00,
+/* 0x00002A70: */ 0x0F,0x46,0x50,0x2E,0x41,0x50,0x50,0x45,0x4E,0x44,0x2E,0x5A,0x45,0x52,0x4F,0x53,
+/* 0x00002A80: */ 0x70,0x2A,0x00,0x00,0xD8,0x47,0x00,0x00,0x0F,0x46,0x50,0x2E,0x4D,0x4F,0x56,0x45,
+/* 0x00002A90: */ 0x2E,0x44,0x45,0x43,0x49,0x4D,0x41,0x4C,0x88,0x2A,0x00,0x00,0x44,0x48,0x00,0x00,
+/* 0x00002AA0: */ 0x06,0x28,0x45,0x58,0x50,0x2E,0x29,0x00,0xA0,0x2A,0x00,0x00,0x98,0x48,0x00,0x00,
+/* 0x00002AB0: */ 0x0C,0x46,0x50,0x2E,0x52,0x45,0x50,0x52,0x45,0x53,0x45,0x4E,0x54,0x00,0x00,0x00,
+/* 0x00002AC0: */ 0xB0,0x2A,0x00,0x00,0x9C,0x48,0x00,0x00,0x05,0x28,0x46,0x53,0x2E,0x29,0x00,0x00,
+/* 0x00002AD0: */ 0xC8,0x2A,0x00,0x00,0x38,0x49,0x00,0x00,0x03,0x46,0x53,0x2E,0xD8,0x2A,0x00,0x00,
+/* 0x00002AE0: */ 0x48,0x49,0x00,0x00,0x05,0x28,0x46,0x45,0x2E,0x29,0x00,0x00,0xE4,0x2A,0x00,0x00,
+/* 0x00002AF0: */ 0x24,0x4A,0x00,0x00,0x03,0x46,0x45,0x2E,0xF4,0x2A,0x00,0x00,0x34,0x4A,0x00,0x00,
+/* 0x00002B00: */ 0x05,0x28,0x46,0x47,0x2E,0x29,0x00,0x00,0x00,0x2B,0x00,0x00,0x64,0x4B,0x00,0x00,
+/* 0x00002B10: */ 0x03,0x46,0x47,0x2E,0x10,0x2B,0x00,0x00,0x74,0x4B,0x00,0x00,0x04,0x28,0x46,0x2E,
+/* 0x00002B20: */ 0x29,0x00,0x00,0x00,0x1C,0x2B,0x00,0x00,0xD4,0x4C,0x00,0x00,0x02,0x46,0x2E,0x00,
+/* 0x00002B30: */ 0x2C,0x2B,0x00,0x00,0xE4,0x4C,0x00,0x00,0x03,0x46,0x2E,0x53,0x38,0x2B,0x00,0x00,
+/* 0x00002B40: */ 0x54,0x4D,0x00,0x00,0x0C,0x46,0x50,0x2D,0x52,0x45,0x51,0x55,0x49,0x52,0x45,0x2D,
+/* 0x00002B50: */ 0x45,0x00,0x00,0x00,0x44,0x2B,0x00,0x00,0x64,0x4D,0x00,0x00,0x06,0x3E,0x46,0x4C,
+/* 0x00002B60: */ 0x4F,0x41,0x54,0x00,0x5C,0x2B,0x00,0x00,0x00,0x50,0x00,0x00,0x0E,0x4E,0x55,0x4D,
+/* 0x00002B70: */ 0x5F,0x54,0x59,0x50,0x45,0x5F,0x46,0x4C,0x4F,0x41,0x54,0x00,0x6C,0x2B,0x00,0x00,
+/* 0x00002B80: */ 0x10,0x50,0x00,0x00,0x0C,0x28,0x46,0x50,0x2E,0x4E,0x55,0x4D,0x42,0x45,0x52,0x3F,
+/* 0x00002B90: */ 0x29,0x00,0x00,0x00,0x84,0x2B,0x00,0x00,0x3C,0x50,0x00,0x00,0x0E,0x46,0x50,0x2E,
+/* 0x00002BA0: */ 0x4F,0x4C,0x44,0x2E,0x4E,0x55,0x4D,0x42,0x45,0x52,0x3F,0x00,0x9C,0x2B,0x00,0x00,
+/* 0x00002BB0: */ 0x48,0x50,0x00,0x00,0x0A,0x46,0x50,0x2D,0x49,0x46,0x2D,0x49,0x4E,0x49,0x54,0x00,
+/* 0x00002BC0: */ 0xB4,0x2B,0x00,0x00,0x58,0x50,0x00,0x00,0x07,0x46,0x50,0x2E,0x54,0x45,0x52,0x4D,
+/* 0x00002BD0: */ 0xC8,0x2B,0x00,0x00,0x8C,0x50,0x00,0x00,0x07,0x46,0x50,0x2E,0x49,0x4E,0x49,0x54,
+/* 0x00002BE0: */ 0xD8,0x2B,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x00002BF0: */ 0xE8,0x2B,0x00,0x00,0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,0x3A,0x6D,0x65,0x6D,
+/* 0x00002C00: */ 0x62,0x65,0x72,0x2E,0x66,0x74,0x68,0x00,0xF8,0x2B,0x00,0x00,0x08,0x51,0x00,0x00,
+/* 0x00002C10: */ 0x0F,0x54,0x41,0x53,0x4B,0x2D,0x4D,0x45,0x4D,0x42,0x45,0x52,0x2E,0x46,0x54,0x48,
+/* 0x00002C20: */ 0x10,0x2C,0x00,0x00,0x18,0x51,0x00,0x00,0x09,0x46,0x49,0x4E,0x44,0x2E,0x42,0x4F,
+/* 0x00002C30: */ 0x44,0x59,0x00,0x00,0x28,0x2C,0x00,0x00,0x48,0x51,0x00,0x00,0x08,0x4F,0x42,0x2D,
+/* 0x00002C40: */ 0x53,0x54,0x41,0x54,0x45,0x00,0x00,0x00,0x3C,0x2C,0x00,0x00,0x58,0x51,0x00,0x00,
+/* 0x00002C50: */ 0x10,0x4F,0x42,0x2D,0x43,0x55,0x52,0x52,0x45,0x4E,0x54,0x2D,0x43,0x4C,0x41,0x53,
+/* 0x00002C60: */ 0x53,0x00,0x00,0x00,0x50,0x2C,0x00,0x00,0x68,0x51,0x00,0x00,0x0C,0x4F,0x42,0x5F,
+/* 0x00002C70: */ 0x44,0x45,0x46,0x5F,0x43,0x4C,0x41,0x53,0x53,0x00,0x00,0x00,0x6C,0x2C,0x00,0x00,
+/* 0x00002C80: */ 0x78,0x51,0x00,0x00,0x0D,0x4F,0x42,0x5F,0x44,0x45,0x46,0x5F,0x53,0x54,0x52,0x55,
+/* 0x00002C90: */ 0x43,0x54,0x00,0x00,0x84,0x2C,0x00,0x00,0x88,0x51,0x00,0x00,0x0E,0x4F,0x42,0x5F,
+/* 0x00002CA0: */ 0x4F,0x46,0x46,0x53,0x45,0x54,0x5F,0x53,0x49,0x5A,0x45,0x00,0x9C,0x2C,0x00,0x00,
+/* 0x00002CB0: */ 0x98,0x51,0x00,0x00,0x0A,0x4F,0x42,0x2E,0x4F,0x46,0x46,0x53,0x45,0x54,0x40,0x00,
+/* 0x00002CC0: */ 0xB4,0x2C,0x00,0x00,0xA0,0x51,0x00,0x00,0x0A,0x4F,0x42,0x2E,0x4F,0x46,0x46,0x53,
+/* 0x00002CD0: */ 0x45,0x54,0x2C,0x00,0xC8,0x2C,0x00,0x00,0xA8,0x51,0x00,0x00,0x08,0x4F,0x42,0x2E,
+/* 0x00002CE0: */ 0x53,0x49,0x5A,0x45,0x40,0x00,0x00,0x00,0xDC,0x2C,0x00,0x00,0xB8,0x51,0x00,0x00,
+/* 0x00002CF0: */ 0x08,0x4F,0x42,0x2E,0x53,0x49,0x5A,0x45,0x2C,0x00,0x00,0x00,0xF0,0x2C,0x00,0x00,
+/* 0x00002D00: */ 0xC0,0x51,0x00,0x00,0x0E,0x4F,0x42,0x2E,0x4D,0x41,0x4B,0x45,0x2E,0x4D,0x45,0x4D,
+/* 0x00002D10: */ 0x42,0x45,0x52,0x00,0x04,0x2D,0x00,0x00,0x48,0x52,0x00,0x00,0x06,0x55,0x4E,0x49,
+/* 0x00002D20: */ 0x4F,0x4E,0x7B,0x00,0x1C,0x2D,0x00,0x00,0x58,0x52,0x00,0x00,0x07,0x7D,0x55,0x4E,
+/* 0x00002D30: */ 0x49,0x4F,0x4E,0x7B,0x2C,0x2D,0x00,0x00,0x70,0x52,0x00,0x00,0x06,0x7D,0x55,0x4E,
+/* 0x00002D40: */ 0x49,0x4F,0x4E,0x00,0x3C,0x2D,0x00,0x00,0xBC,0x52,0x00,0x00,0x09,0x4F,0x42,0x2E,
+/* 0x00002D50: */ 0x4D,0x45,0x4D,0x42,0x45,0x52,0x00,0x00,0x4C,0x2D,0x00,0x00,0xE4,0x52,0x00,0x00,
+/* 0x00002D60: */ 0x09,0x4F,0x42,0x2E,0x46,0x49,0x4E,0x44,0x49,0x54,0x00,0x00,0x60,0x2D,0x00,0x00,
+/* 0x00002D70: */ 0x38,0x53,0x00,0x00,0x08,0x4F,0x42,0x2E,0x53,0x54,0x41,0x54,0x53,0x00,0x00,0x00,
+/* 0x00002D80: */ 0x74,0x2D,0x00,0x00,0x4C,0x53,0x00,0x00,0x09,0x4F,0x42,0x2E,0x53,0x54,0x41,0x54,
+/* 0x00002D90: */ 0x53,0x3F,0x00,0x00,0x88,0x2D,0x00,0x00,0x58,0x53,0x00,0x00,0x48,0x53,0x49,0x5A,
+/* 0x00002DA0: */ 0x45,0x4F,0x46,0x28,0x29,0x00,0x00,0x00,0x9C,0x2D,0x00,0x00,0x68,0x53,0x00,0x00,
+/* 0x00002DB0: */ 0x05,0x42,0x59,0x54,0x45,0x53,0x00,0x00,0xB0,0x2D,0x00,0x00,0xB8,0x53,0x00,0x00,
+/* 0x00002DC0: */ 0x04,0x42,0x59,0x54,0x45,0x00,0x00,0x00,0xC0,0x2D,0x00,0x00,0xC4,0x53,0x00,0x00,
+/* 0x00002DD0: */ 0x05,0x53,0x48,0x4F,0x52,0x54,0x00,0x00,0xD0,0x2D,0x00,0x00,0xD0,0x53,0x00,0x00,
+/* 0x00002DE0: */ 0x04,0x4C,0x4F,0x4E,0x47,0x00,0x00,0x00,0xE0,0x2D,0x00,0x00,0xDC,0x53,0x00,0x00,
+/* 0x00002DF0: */ 0x05,0x55,0x42,0x59,0x54,0x45,0x00,0x00,0xF0,0x2D,0x00,0x00,0xEC,0x53,0x00,0x00,
+/* 0x00002E00: */ 0x06,0x55,0x53,0x48,0x4F,0x52,0x54,0x00,0x00,0x2E,0x00,0x00,0xFC,0x53,0x00,0x00,
+/* 0x00002E10: */ 0x04,0x41,0x50,0x54,0x52,0x00,0x00,0x00,0x10,0x2E,0x00,0x00,0x04,0x54,0x00,0x00,
+/* 0x00002E20: */ 0x04,0x52,0x50,0x54,0x52,0x00,0x00,0x00,0x20,0x2E,0x00,0x00,0x14,0x54,0x00,0x00,
+/* 0x00002E30: */ 0x05,0x55,0x4C,0x4F,0x4E,0x47,0x00,0x00,0x30,0x2E,0x00,0x00,0x1C,0x54,0x00,0x00,
+/* 0x00002E40: */ 0x06,0x53,0x54,0x52,0x55,0x43,0x54,0x00,0x40,0x2E,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00002E50: */ 0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x50,0x2E,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00002E60: */ 0x10,0x3A,0x3A,0x3A,0x3A,0x63,0x5F,0x73,0x74,0x72,0x75,0x63,0x74,0x2E,0x66,0x74,
+/* 0x00002E70: */ 0x68,0x00,0x00,0x00,0x60,0x2E,0x00,0x00,0x28,0x54,0x00,0x00,0x0D,0x54,0x41,0x53,
+/* 0x00002E80: */ 0x4B,0x2D,0x43,0x5F,0x53,0x54,0x52,0x55,0x43,0x54,0x00,0x00,0x7C,0x2E,0x00,0x00,
+/* 0x00002E90: */ 0x38,0x54,0x00,0x00,0x09,0x3C,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,0x3E,0x00,0x00,
+/* 0x00002EA0: */ 0x94,0x2E,0x00,0x00,0x64,0x54,0x00,0x00,0x07,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,
+/* 0x00002EB0: */ 0xA8,0x2E,0x00,0x00,0xF4,0x54,0x00,0x00,0x07,0x3B,0x53,0x54,0x52,0x55,0x43,0x54,
+/* 0x00002EC0: */ 0xB8,0x2E,0x00,0x00,0x88,0x55,0x00,0x00,0x42,0x2E,0x2E,0x00,0xC8,0x2E,0x00,0x00,
+/* 0x00002ED0: */ 0xCC,0x55,0x00,0x00,0x06,0x28,0x53,0x2B,0x43,0x21,0x29,0x00,0xD4,0x2E,0x00,0x00,
+/* 0x00002EE0: */ 0xD8,0x55,0x00,0x00,0x06,0x28,0x53,0x2B,0x57,0x21,0x29,0x00,0xE4,0x2E,0x00,0x00,
+/* 0x00002EF0: */ 0xE4,0x55,0x00,0x00,0x05,0x28,0x53,0x2B,0x21,0x29,0x00,0x00,0xF4,0x2E,0x00,0x00,
+/* 0x00002F00: */ 0xF0,0x55,0x00,0x00,0x08,0x28,0x53,0x2B,0x52,0x45,0x4C,0x21,0x29,0x00,0x00,0x00,
+/* 0x00002F10: */ 0x04,0x2F,0x00,0x00,0x08,0x56,0x00,0x00,0x0E,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,
+/* 0x00002F20: */ 0x2B,0x21,0x42,0x59,0x54,0x45,0x53,0x00,0x18,0x2F,0x00,0x00,0x4C,0x57,0x00,0x00,
+/* 0x00002F30: */ 0x06,0x21,0x42,0x59,0x54,0x45,0x53,0x00,0x30,0x2F,0x00,0x00,0x20,0x58,0x00,0x00,
+/* 0x00002F40: */ 0x04,0x28,0x53,0x21,0x29,0x00,0x00,0x00,0x40,0x2F,0x00,0x00,0x50,0x58,0x00,0x00,
+/* 0x00002F50: */ 0x42,0x53,0x21,0x00,0x50,0x2F,0x00,0x00,0x5C,0x58,0x00,0x00,0x06,0x40,0x42,0x59,
+/* 0x00002F60: */ 0x54,0x45,0x53,0x00,0x5C,0x2F,0x00,0x00,0x74,0x59,0x00,0x00,0x07,0x28,0x53,0x2B,
+/* 0x00002F70: */ 0x55,0x43,0x40,0x29,0x6C,0x2F,0x00,0x00,0x80,0x59,0x00,0x00,0x07,0x28,0x53,0x2B,
+/* 0x00002F80: */ 0x55,0x57,0x40,0x29,0x7C,0x2F,0x00,0x00,0x8C,0x59,0x00,0x00,0x05,0x28,0x53,0x2B,
+/* 0x00002F90: */ 0x40,0x29,0x00,0x00,0x8C,0x2F,0x00,0x00,0x98,0x59,0x00,0x00,0x08,0x28,0x53,0x2B,
+/* 0x00002FA0: */ 0x52,0x45,0x4C,0x40,0x29,0x00,0x00,0x00,0x9C,0x2F,0x00,0x00,0xA8,0x59,0x00,0x00,
+/* 0x00002FB0: */ 0x06,0x28,0x53,0x2B,0x43,0x40,0x29,0x00,0xB0,0x2F,0x00,0x00,0xB8,0x59,0x00,0x00,
+/* 0x00002FC0: */ 0x06,0x28,0x53,0x2B,0x57,0x40,0x29,0x00,0xC0,0x2F,0x00,0x00,0xC8,0x59,0x00,0x00,
+/* 0x00002FD0: */ 0x0E,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x2B,0x40,0x42,0x59,0x54,0x45,0x53,0x00,
+/* 0x00002FE0: */ 0xD0,0x2F,0x00,0x00,0x0C,0x5B,0x00,0x00,0x04,0x28,0x53,0x40,0x29,0x00,0x00,0x00,
+/* 0x00002FF0: */ 0xE8,0x2F,0x00,0x00,0x3C,0x5B,0x00,0x00,0x42,0x53,0x40,0x00,0xF8,0x2F,0x00,0x00,
+/* 0x00003000: */ 0x48,0x5B,0x00,0x00,0x04,0x46,0x4C,0x50,0x54,0x00,0x00,0x00,0x04,0x30,0x00,0x00,
+/* 0x00003010: */ 0x5C,0x5B,0x00,0x00,0x06,0x28,0x53,0x2B,0x46,0x21,0x29,0x00,0x14,0x30,0x00,0x00,
+/* 0x00003020: */ 0x68,0x5B,0x00,0x00,0x06,0x28,0x53,0x2B,0x46,0x40,0x29,0x00,0x24,0x30,0x00,0x00,
+/* 0x00003030: */ 0x74,0x5B,0x00,0x00,0x43,0x46,0x53,0x21,0x34,0x30,0x00,0x00,0xD4,0x5B,0x00,0x00,
+/* 0x00003040: */ 0x43,0x46,0x53,0x40,0x40,0x30,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00003050: */ 0x3B,0x00,0x00,0x00,0x4C,0x30,0x00,0x00,0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,
+/* 0x00003060: */ 0x3A,0x73,0x6D,0x61,0x72,0x74,0x5F,0x69,0x66,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,
+/* 0x00003070: */ 0x5C,0x30,0x00,0x00,0x34,0x5C,0x00,0x00,0x11,0x54,0x41,0x53,0x4B,0x2D,0x53,0x4D,
+/* 0x00003080: */ 0x41,0x52,0x54,0x5F,0x49,0x46,0x2E,0x46,0x54,0x48,0x00,0x00,0x78,0x30,0x00,0x00,
+/* 0x00003090: */ 0x44,0x5C,0x00,0x00,0x07,0x53,0x4D,0x49,0x46,0x2D,0x58,0x54,0x94,0x30,0x00,0x00,
+/* 0x000030A0: */ 0x54,0x5C,0x00,0x00,0x0A,0x53,0x4D,0x49,0x46,0x2D,0x44,0x45,0x50,0x54,0x48,0x00,
+/* 0x000030B0: */ 0xA4,0x30,0x00,0x00,0x64,0x5C,0x00,0x00,0x05,0x53,0x4D,0x49,0x46,0x7B,0x00,0x00,
+/* 0x000030C0: */ 0xB8,0x30,0x00,0x00,0xB0,0x5C,0x00,0x00,0x05,0x7D,0x53,0x4D,0x49,0x46,0x00,0x00,
+/* 0x000030D0: */ 0xC8,0x30,0x00,0x00,0x20,0x5D,0x00,0x00,0x42,0x49,0x46,0x00,0xD8,0x30,0x00,0x00,
+/* 0x000030E0: */ 0x2C,0x5D,0x00,0x00,0x42,0x44,0x4F,0x00,0xE4,0x30,0x00,0x00,0x38,0x5D,0x00,0x00,
+/* 0x000030F0: */ 0x43,0x3F,0x44,0x4F,0xF0,0x30,0x00,0x00,0x44,0x5D,0x00,0x00,0x45,0x42,0x45,0x47,
+/* 0x00003100: */ 0x49,0x4E,0x00,0x00,0xFC,0x30,0x00,0x00,0x50,0x5D,0x00,0x00,0x44,0x54,0x48,0x45,
+/* 0x00003110: */ 0x4E,0x00,0x00,0x00,0x0C,0x31,0x00,0x00,0x5C,0x5D,0x00,0x00,0x46,0x52,0x45,0x50,
+/* 0x00003120: */ 0x45,0x41,0x54,0x00,0x1C,0x31,0x00,0x00,0x68,0x5D,0x00,0x00,0x45,0x55,0x4E,0x54,
+/* 0x00003130: */ 0x49,0x4C,0x00,0x00,0x2C,0x31,0x00,0x00,0x74,0x5D,0x00,0x00,0x44,0x4C,0x4F,0x4F,
+/* 0x00003140: */ 0x50,0x00,0x00,0x00,0x3C,0x31,0x00,0x00,0x80,0x5D,0x00,0x00,0x45,0x2B,0x4C,0x4F,
+/* 0x00003150: */ 0x4F,0x50,0x00,0x00,0x4C,0x31,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00003160: */ 0x3B,0x00,0x00,0x00,0x5C,0x31,0x00,0x00,0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,
+/* 0x00003170: */ 0x3A,0x66,0x69,0x6C,0x65,0x66,0x69,0x6E,0x64,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,
+/* 0x00003180: */ 0x6C,0x31,0x00,0x00,0x8C,0x5D,0x00,0x00,0x11,0x54,0x41,0x53,0x4B,0x2D,0x46,0x49,
+/* 0x00003190: */ 0x4C,0x45,0x46,0x49,0x4E,0x44,0x2E,0x46,0x54,0x48,0x00,0x00,0x88,0x31,0x00,0x00,
+/* 0x000031A0: */ 0x9C,0x5D,0x00,0x00,0x04,0x4F,0x44,0x44,0x40,0x00,0x00,0x00,0xA4,0x31,0x00,0x00,
+/* 0x000031B0: */ 0xFC,0x5D,0x00,0x00,0x0D,0x46,0x3F,0x2E,0x53,0x45,0x41,0x52,0x43,0x48,0x2E,0x4E,
+/* 0x000031C0: */ 0x46,0x41,0x00,0x00,0xB4,0x31,0x00,0x00,0x94,0x5F,0x00,0x00,0x0C,0x46,0x49,0x4E,
+/* 0x000031D0: */ 0x44,0x4E,0x46,0x41,0x2E,0x46,0x52,0x4F,0x4D,0x00,0x00,0x00,0xCC,0x31,0x00,0x00,
+/* 0x000031E0: */ 0xD4,0x5F,0x00,0x00,0x05,0x46,0x49,0x4C,0x45,0x3F,0x00,0x00,0xE4,0x31,0x00,0x00,
+/* 0x000031F0: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0xF4,0x31,0x00,0x00,
+/* 0x00003200: */ 0x78,0x00,0x00,0x00,0x0B,0x3A,0x3A,0x3A,0x3A,0x73,0x65,0x65,0x2E,0x66,0x74,0x68,
+/* 0x00003210: */ 0x04,0x32,0x00,0x00,0xD8,0x60,0x00,0x00,0x0C,0x54,0x41,0x53,0x4B,0x2D,0x53,0x45,
+/* 0x00003220: */ 0x45,0x2E,0x46,0x54,0x48,0x00,0x00,0x00,0x18,0x32,0x00,0x00,0xE8,0x60,0x00,0x00,
+/* 0x00003230: */ 0x03,0x2E,0x58,0x54,0x30,0x32,0x00,0x00,0x20,0x61,0x00,0x00,0x09,0x42,0x59,0x54,
+/* 0x00003240: */ 0x45,0x5F,0x43,0x4F,0x44,0x45,0x00,0x00,0x3C,0x32,0x00,0x00,0x30,0x61,0x00,0x00,
+/* 0x00003250: */ 0x05,0x43,0x4F,0x44,0x45,0x40,0x00,0x00,0x50,0x32,0x00,0x00,0x38,0x61,0x00,0x00,
+/* 0x00003260: */ 0x09,0x43,0x4F,0x44,0x45,0x5F,0x43,0x45,0x4C,0x4C,0x00,0x00,0x60,0x32,0x00,0x00,
+/* 0x00003270: */ 0x48,0x61,0x00,0x00,0x69,0x53,0x45,0x45,0x5F,0x4C,0x45,0x56,0x45,0x4C,0x00,0x00,
+/* 0x00003280: */ 0x74,0x32,0x00,0x00,0x58,0x61,0x00,0x00,0x68,0x53,0x45,0x45,0x5F,0x41,0x44,0x44,
+/* 0x00003290: */ 0x52,0x00,0x00,0x00,0x88,0x32,0x00,0x00,0x68,0x61,0x00,0x00,0x67,0x53,0x45,0x45,
+/* 0x000032A0: */ 0x5F,0x4F,0x55,0x54,0x9C,0x32,0x00,0x00,0x78,0x61,0x00,0x00,0x2D,0x53,0x45,0x45,
+/* 0x000032B0: */ 0x2E,0x49,0x4E,0x44,0x45,0x4E,0x54,0x2E,0x42,0x59,0x00,0x00,0xAC,0x32,0x00,0x00,
+/* 0x000032C0: */ 0xA4,0x61,0x00,0x00,0x26,0x53,0x45,0x45,0x2E,0x43,0x52,0x00,0xC4,0x32,0x00,0x00,
+/* 0x000032D0: */ 0xE8,0x61,0x00,0x00,0x2B,0x53,0x45,0x45,0x2E,0x4E,0x45,0x57,0x4C,0x49,0x4E,0x45,
+/* 0x000032E0: */ 0xD4,0x32,0x00,0x00,0x08,0x62,0x00,0x00,0x27,0x53,0x45,0x45,0x2E,0x43,0x52,0x3F,
+/* 0x000032F0: */ 0xE8,0x32,0x00,0x00,0x30,0x62,0x00,0x00,0x28,0x53,0x45,0x45,0x2E,0x4F,0x55,0x54,
+/* 0x00003300: */ 0x2B,0x00,0x00,0x00,0xF8,0x32,0x00,0x00,0x48,0x62,0x00,0x00,0x2B,0x53,0x45,0x45,
+/* 0x00003310: */ 0x2E,0x41,0x44,0x56,0x41,0x4E,0x43,0x45,0x0C,0x33,0x00,0x00,0x5C,0x62,0x00,0x00,
+/* 0x00003320: */ 0x2E,0x53,0x45,0x45,0x2E,0x47,0x45,0x54,0x2E,0x49,0x4E,0x4C,0x49,0x4E,0x45,0x00,
+/* 0x00003330: */ 0x20,0x33,0x00,0x00,0x70,0x62,0x00,0x00,0x2E,0x53,0x45,0x45,0x2E,0x47,0x45,0x54,
+/* 0x00003340: */ 0x2E,0x54,0x41,0x52,0x47,0x45,0x54,0x00,0x38,0x33,0x00,0x00,0x94,0x62,0x00,0x00,
+/* 0x00003350: */ 0x2C,0x53,0x45,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,0x4C,0x49,0x54,0x00,0x00,0x00,
+/* 0x00003360: */ 0x50,0x33,0x00,0x00,0xA8,0x62,0x00,0x00,0x2D,0x53,0x45,0x45,0x2E,0x53,0x48,0x4F,
+/* 0x00003370: */ 0x57,0x2E,0x46,0x4C,0x49,0x54,0x00,0x00,0x68,0x33,0x00,0x00,0xDC,0x62,0x00,0x00,
+/* 0x00003380: */ 0x2D,0x53,0x45,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,0x41,0x4C,0x49,0x54,0x00,0x00,
+/* 0x00003390: */ 0x80,0x33,0x00,0x00,0xF8,0x62,0x00,0x00,0x2F,0x53,0x45,0x45,0x2E,0x53,0x48,0x4F,
+/* 0x000033A0: */ 0x57,0x2E,0x53,0x54,0x52,0x49,0x4E,0x47,0x98,0x33,0x00,0x00,0x2C,0x63,0x00,0x00,
+/* 0x000033B0: */ 0x2F,0x53,0x45,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,0x54,0x41,0x52,0x47,0x45,0x54,
+/* 0x000033C0: */ 0xB0,0x33,0x00,0x00,0x3C,0x63,0x00,0x00,0x2A,0x53,0x45,0x45,0x2E,0x42,0x52,0x41,
+/* 0x000033D0: */ 0x4E,0x43,0x48,0x00,0xC8,0x33,0x00,0x00,0xB4,0x63,0x00,0x00,0x2B,0x53,0x45,0x45,
+/* 0x000033E0: */ 0x2E,0x30,0x42,0x52,0x41,0x4E,0x43,0x48,0xDC,0x33,0x00,0x00,0x1C,0x64,0x00,0x00,
+/* 0x000033F0: */ 0x26,0x53,0x45,0x45,0x2E,0x58,0x54,0x00,0xF0,0x33,0x00,0x00,0x58,0x67,0x00,0x00,
+/* 0x00003400: */ 0x25,0x28,0x53,0x45,0x45,0x29,0x00,0x00,0x00,0x34,0x00,0x00,0x70,0x68,0x00,0x00,
+/* 0x00003410: */ 0x03,0x53,0x45,0x45,0x10,0x34,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00003420: */ 0x3B,0x00,0x00,0x00,0x1C,0x34,0x00,0x00,0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,
+/* 0x00003430: */ 0x3A,0x77,0x6F,0x72,0x64,0x73,0x6C,0x69,0x6B,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,
+/* 0x00003440: */ 0x2C,0x34,0x00,0x00,0xD8,0x68,0x00,0x00,0x11,0x54,0x41,0x53,0x4B,0x2D,0x57,0x4F,
+/* 0x00003450: */ 0x52,0x44,0x53,0x4C,0x49,0x4B,0x2E,0x46,0x54,0x48,0x00,0x00,0x48,0x34,0x00,0x00,
+/* 0x00003460: */ 0xE8,0x68,0x00,0x00,0x12,0x50,0x41,0x52,0x54,0x49,0x41,0x4C,0x2E,0x4D,0x41,0x54,
+/* 0x00003470: */ 0x43,0x48,0x2E,0x4E,0x41,0x4D,0x45,0x00,0x64,0x34,0x00,0x00,0x14,0x69,0x00,0x00,
+/* 0x00003480: */ 0x0A,0x57,0x4F,0x52,0x44,0x53,0x2E,0x4C,0x49,0x4B,0x45,0x00,0x80,0x34,0x00,0x00,
+/* 0x00003490: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x94,0x34,0x00,0x00,
+/* 0x000034A0: */ 0x78,0x00,0x00,0x00,0x0D,0x3A,0x3A,0x3A,0x3A,0x74,0x72,0x61,0x63,0x65,0x2E,0x66,
+/* 0x000034B0: */ 0x74,0x68,0x00,0x00,0xA4,0x34,0x00,0x00,0x6C,0x69,0x00,0x00,0x0E,0x54,0x41,0x53,
+/* 0x000034C0: */ 0x4B,0x2D,0x54,0x52,0x41,0x43,0x45,0x2E,0x46,0x54,0x48,0x00,0xBC,0x34,0x00,0x00,
+/* 0x000034D0: */ 0x7C,0x69,0x00,0x00,0x0F,0x53,0x50,0x41,0x43,0x45,0x2E,0x54,0x4F,0x2E,0x43,0x4F,
+/* 0x000034E0: */ 0x4C,0x55,0x4D,0x4E,0xD4,0x34,0x00,0x00,0x90,0x69,0x00,0x00,0x0D,0x49,0x53,0x2E,
+/* 0x000034F0: */ 0x50,0x52,0x49,0x4D,0x49,0x54,0x49,0x56,0x45,0x3F,0x00,0x00,0xEC,0x34,0x00,0x00,
+/* 0x00003500: */ 0xA0,0x69,0x00,0x00,0x48,0x54,0x52,0x41,0x43,0x45,0x5F,0x49,0x50,0x00,0x00,0x00,
+/* 0x00003510: */ 0x04,0x35,0x00,0x00,0xB0,0x69,0x00,0x00,0x4B,0x54,0x52,0x41,0x43,0x45,0x5F,0x4C,
+/* 0x00003520: */ 0x45,0x56,0x45,0x4C,0x18,0x35,0x00,0x00,0xC0,0x69,0x00,0x00,0x4F,0x54,0x52,0x41,
+/* 0x00003530: */ 0x43,0x45,0x5F,0x4C,0x45,0x56,0x45,0x4C,0x5F,0x4D,0x41,0x58,0x2C,0x35,0x00,0x00,
+/* 0x00003540: */ 0xD0,0x69,0x00,0x00,0x31,0x54,0x52,0x41,0x43,0x45,0x5F,0x52,0x45,0x54,0x55,0x52,
+/* 0x00003550: */ 0x4E,0x5F,0x53,0x49,0x5A,0x45,0x00,0x00,0x44,0x35,0x00,0x00,0xE0,0x69,0x00,0x00,
+/* 0x00003560: */ 0x32,0x54,0x52,0x41,0x43,0x45,0x2D,0x52,0x45,0x54,0x55,0x52,0x4E,0x2D,0x53,0x54,
+/* 0x00003570: */ 0x41,0x43,0x4B,0x00,0x60,0x35,0x00,0x00,0xFC,0x6B,0x00,0x00,0x29,0x54,0x52,0x41,
+/* 0x00003580: */ 0x43,0x45,0x2D,0x52,0x53,0x50,0x00,0x00,0x7C,0x35,0x00,0x00,0x0C,0x6C,0x00,0x00,
+/* 0x00003590: */ 0x28,0x54,0x52,0x41,0x43,0x45,0x2E,0x3E,0x52,0x00,0x00,0x00,0x90,0x35,0x00,0x00,
+/* 0x000035A0: */ 0x2C,0x6C,0x00,0x00,0x28,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x3E,0x00,0x00,0x00,
+/* 0x000035B0: */ 0xA4,0x35,0x00,0x00,0x50,0x6C,0x00,0x00,0x28,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,
+/* 0x000035C0: */ 0x40,0x00,0x00,0x00,0xB8,0x35,0x00,0x00,0x64,0x6C,0x00,0x00,0x2B,0x54,0x52,0x41,
+/* 0x000035D0: */ 0x43,0x45,0x2E,0x52,0x50,0x49,0x43,0x4B,0xCC,0x35,0x00,0x00,0x80,0x6C,0x00,0x00,
+/* 0x000035E0: */ 0x29,0x54,0x52,0x41,0x43,0x45,0x2E,0x30,0x52,0x50,0x00,0x00,0xE0,0x35,0x00,0x00,
+/* 0x000035F0: */ 0xA4,0x6C,0x00,0x00,0x2B,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x44,0x52,0x4F,0x50,
+/* 0x00003600: */ 0xF4,0x35,0x00,0x00,0xB4,0x6C,0x00,0x00,0x2C,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,
+/* 0x00003610: */ 0x43,0x48,0x45,0x43,0x4B,0x00,0x00,0x00,0x08,0x36,0x00,0x00,0x3C,0x6D,0x00,0x00,
+/* 0x00003620: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x5F,0x53,0x54,0x41,0x54,0x45,0x5F,0x53,0x49,0x5A,
+/* 0x00003630: */ 0x45,0x00,0x00,0x00,0x20,0x36,0x00,0x00,0x4C,0x6D,0x00,0x00,0x2D,0x54,0x52,0x41,
+/* 0x00003640: */ 0x43,0x45,0x2D,0x53,0x54,0x41,0x54,0x45,0x2D,0x31,0x00,0x00,0x3C,0x36,0x00,0x00,
+/* 0x00003650: */ 0x80,0x6D,0x00,0x00,0x2D,0x54,0x52,0x41,0x43,0x45,0x2D,0x53,0x54,0x41,0x54,0x45,
+/* 0x00003660: */ 0x2D,0x32,0x00,0x00,0x54,0x36,0x00,0x00,0xB4,0x6D,0x00,0x00,0x2F,0x54,0x52,0x41,
+/* 0x00003670: */ 0x43,0x45,0x2D,0x53,0x54,0x41,0x54,0x45,0x2D,0x50,0x54,0x52,0x6C,0x36,0x00,0x00,
+/* 0x00003680: */ 0xC4,0x6D,0x00,0x00,0x2C,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,0x41,0x56,0x45,0x2B,
+/* 0x00003690: */ 0x2B,0x00,0x00,0x00,0x84,0x36,0x00,0x00,0xE4,0x6D,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x000036A0: */ 0x43,0x45,0x2E,0x53,0x41,0x56,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0x00,0x00,0x00,
+/* 0x000036B0: */ 0x9C,0x36,0x00,0x00,0x00,0x6E,0x00,0x00,0x31,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,
+/* 0x000036C0: */ 0x41,0x56,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0x31,0x00,0x00,0xB8,0x36,0x00,0x00,
+/* 0x000036D0: */ 0x14,0x6E,0x00,0x00,0x31,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,0x41,0x56,0x45,0x2E,
+/* 0x000036E0: */ 0x53,0x54,0x41,0x54,0x45,0x32,0x00,0x00,0xD4,0x36,0x00,0x00,0x28,0x6E,0x00,0x00,
+/* 0x000036F0: */ 0x2F,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x45,0x53,0x54,0x4F,0x52,0x45,0x2B,0x2B,
+/* 0x00003700: */ 0xF0,0x36,0x00,0x00,0x4C,0x6E,0x00,0x00,0x33,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,
+/* 0x00003710: */ 0x45,0x53,0x54,0x4F,0x52,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0x08,0x37,0x00,0x00,
+/* 0x00003720: */ 0x68,0x6E,0x00,0x00,0x34,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x45,0x53,0x54,0x4F,
+/* 0x00003730: */ 0x52,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0x31,0x00,0x00,0x00,0x24,0x37,0x00,0x00,
+/* 0x00003740: */ 0x7C,0x6E,0x00,0x00,0x34,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x45,0x53,0x54,0x4F,
+/* 0x00003750: */ 0x52,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0x32,0x00,0x00,0x00,0x44,0x37,0x00,0x00,
+/* 0x00003760: */ 0x90,0x6E,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2D,0x4C,0x4F,0x43,0x41,0x4C,
+/* 0x00003770: */ 0x53,0x2D,0x50,0x54,0x52,0x00,0x00,0x00,0x64,0x37,0x00,0x00,0xA0,0x6E,0x00,0x00,
+/* 0x00003780: */ 0x33,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x2E,0x45,0x4E,
+/* 0x00003790: */ 0x54,0x52,0x59,0x29,0x80,0x37,0x00,0x00,0x2C,0x6F,0x00,0x00,0x32,0x54,0x52,0x41,
+/* 0x000037A0: */ 0x43,0x45,0x2E,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x2E,0x45,0x58,0x49,0x54,0x29,0x00,
+/* 0x000037B0: */ 0x9C,0x37,0x00,0x00,0x4C,0x6F,0x00,0x00,0x2E,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x000037C0: */ 0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0xB8,0x37,0x00,0x00,0x68,0x6F,0x00,0x00,
+/* 0x000037D0: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x31,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,
+/* 0x000037E0: */ 0x29,0x00,0x00,0x00,0xD0,0x37,0x00,0x00,0x78,0x6F,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x000037F0: */ 0x43,0x45,0x2E,0x28,0x32,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,
+/* 0x00003800: */ 0xEC,0x37,0x00,0x00,0x88,0x6F,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x00003810: */ 0x33,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,0x08,0x38,0x00,0x00,
+/* 0x00003820: */ 0x98,0x6F,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x34,0x5F,0x4C,0x4F,
+/* 0x00003830: */ 0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,0x24,0x38,0x00,0x00,0xA8,0x6F,0x00,0x00,
+/* 0x00003840: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x35,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,
+/* 0x00003850: */ 0x29,0x00,0x00,0x00,0x40,0x38,0x00,0x00,0xB8,0x6F,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x00003860: */ 0x43,0x45,0x2E,0x28,0x36,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,
+/* 0x00003870: */ 0x5C,0x38,0x00,0x00,0xC8,0x6F,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x00003880: */ 0x37,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,0x78,0x38,0x00,0x00,
+/* 0x00003890: */ 0xD8,0x6F,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x38,0x5F,0x4C,0x4F,
+/* 0x000038A0: */ 0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,0x94,0x38,0x00,0x00,0xE8,0x6F,0x00,0x00,
+/* 0x000038B0: */ 0x2E,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,
+/* 0x000038C0: */ 0xB0,0x38,0x00,0x00,0x04,0x70,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x000038D0: */ 0x31,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0xC8,0x38,0x00,0x00,
+/* 0x000038E0: */ 0x14,0x70,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x32,0x5F,0x4C,0x4F,
+/* 0x000038F0: */ 0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0xE4,0x38,0x00,0x00,0x24,0x70,0x00,0x00,
+/* 0x00003900: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x33,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,
+/* 0x00003910: */ 0x29,0x00,0x00,0x00,0x00,0x39,0x00,0x00,0x34,0x70,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x00003920: */ 0x43,0x45,0x2E,0x28,0x34,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,
+/* 0x00003930: */ 0x1C,0x39,0x00,0x00,0x44,0x70,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x00003940: */ 0x35,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0x38,0x39,0x00,0x00,
+/* 0x00003950: */ 0x54,0x70,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x36,0x5F,0x4C,0x4F,
+/* 0x00003960: */ 0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0x54,0x39,0x00,0x00,0x64,0x70,0x00,0x00,
+/* 0x00003970: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x37,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,
+/* 0x00003980: */ 0x29,0x00,0x00,0x00,0x70,0x39,0x00,0x00,0x74,0x70,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x00003990: */ 0x43,0x45,0x2E,0x28,0x38,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,
+/* 0x000039A0: */ 0x8C,0x39,0x00,0x00,0x84,0x70,0x00,0x00,0x2F,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x000039B0: */ 0x4C,0x4F,0x43,0x41,0x4C,0x2B,0x21,0x29,0xA8,0x39,0x00,0x00,0xA0,0x70,0x00,0x00,
+/* 0x000039C0: */ 0x2B,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x3F,0x44,0x4F,0x29,0xC0,0x39,0x00,0x00,
+/* 0x000039D0: */ 0x08,0x71,0x00,0x00,0x2C,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x4C,0x4F,0x4F,0x50,
+/* 0x000039E0: */ 0x29,0x00,0x00,0x00,0xD4,0x39,0x00,0x00,0x8C,0x71,0x00,0x00,0x2D,0x54,0x52,0x41,
+/* 0x000039F0: */ 0x43,0x45,0x2E,0x28,0x2B,0x4C,0x4F,0x4F,0x50,0x29,0x00,0x00,0xEC,0x39,0x00,0x00,
+/* 0x00003A00: */ 0x70,0x72,0x00,0x00,0x2E,0x54,0x52,0x41,0x43,0x45,0x2E,0x43,0x48,0x45,0x43,0x4B,
+/* 0x00003A10: */ 0x2E,0x49,0x50,0x00,0x04,0x3A,0x00,0x00,0xDC,0x72,0x00,0x00,0x2D,0x54,0x52,0x41,
+/* 0x00003A20: */ 0x43,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,0x49,0x50,0x00,0x00,0x1C,0x3A,0x00,0x00,
+/* 0x00003A30: */ 0x24,0x73,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,
+/* 0x00003A40: */ 0x53,0x54,0x41,0x43,0x4B,0x00,0x00,0x00,0x34,0x3A,0x00,0x00,0xFC,0x73,0x00,0x00,
+/* 0x00003A50: */ 0x2F,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,0x4E,0x45,0x58,0x54,
+/* 0x00003A60: */ 0x50,0x3A,0x00,0x00,0x38,0x76,0x00,0x00,0x32,0x54,0x52,0x41,0x43,0x45,0x2E,0x44,
+/* 0x00003A70: */ 0x4F,0x2E,0x50,0x52,0x49,0x4D,0x49,0x54,0x49,0x56,0x45,0x00,0x68,0x3A,0x00,0x00,
+/* 0x00003A80: */ 0xBC,0x7E,0x00,0x00,0x2D,0x54,0x52,0x41,0x43,0x45,0x2E,0x44,0x4F,0x2E,0x4E,0x45,
+/* 0x00003A90: */ 0x58,0x54,0x00,0x00,0x84,0x3A,0x00,0x00,0xD0,0x7F,0x00,0x00,0x2A,0x54,0x52,0x41,
+/* 0x00003AA0: */ 0x43,0x45,0x2E,0x4E,0x45,0x58,0x54,0x00,0x9C,0x3A,0x00,0x00,0x54,0x80,0x00,0x00,
+/* 0x00003AB0: */ 0x05,0x54,0x52,0x41,0x43,0x45,0x00,0x00,0xB0,0x3A,0x00,0x00,0x00,0x81,0x00,0x00,
+/* 0x00003AC0: */ 0x01,0x53,0x00,0x00,0xC0,0x3A,0x00,0x00,0x38,0x81,0x00,0x00,0x02,0x53,0x44,0x00,
+/* 0x00003AD0: */ 0xCC,0x3A,0x00,0x00,0x74,0x81,0x00,0x00,0x02,0x53,0x4D,0x00,0xD8,0x3A,0x00,0x00,
+/* 0x00003AE0: */ 0xC4,0x81,0x00,0x00,0x0A,0x54,0x52,0x41,0x43,0x45,0x2E,0x55,0x53,0x45,0x52,0x00,
+/* 0x00003AF0: */ 0xE4,0x3A,0x00,0x00,0xD0,0x81,0x00,0x00,0x02,0x47,0x44,0x00,0xF8,0x3A,0x00,0x00,
+/* 0x00003B00: */ 0x74,0x83,0x00,0x00,0x01,0x47,0x00,0x00,0x04,0x3B,0x00,0x00,0x84,0x83,0x00,0x00,
+/* 0x00003B10: */ 0x0A,0x54,0x52,0x41,0x43,0x45,0x2E,0x48,0x45,0x4C,0x50,0x00,0x10,0x3B,0x00,0x00,
+/* 0x00003B20: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x24,0x3B,0x00,0x00,
+/* 0x00003B30: */ 0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,0x3A,0x74,0x65,0x72,0x6D,0x69,0x6F,0x2E,
+/* 0x00003B40: */ 0x66,0x74,0x68,0x00,0x34,0x3B,0x00,0x00,0xE8,0x84,0x00,0x00,0x0F,0x54,0x41,0x53,
+/* 0x00003B50: */ 0x4B,0x2D,0x54,0x45,0x52,0x4D,0x49,0x4F,0x2E,0x46,0x54,0x48,0x4C,0x3B,0x00,0x00,
+/* 0x00003B60: */ 0xF8,0x84,0x00,0x00,0x0F,0x41,0x53,0x43,0x49,0x49,0x5F,0x42,0x41,0x43,0x4B,0x53,
+/* 0x00003B70: */ 0x50,0x41,0x43,0x45,0x64,0x3B,0x00,0x00,0x08,0x85,0x00,0x00,0x0C,0x41,0x53,0x43,
+/* 0x00003B80: */ 0x49,0x49,0x5F,0x44,0x45,0x4C,0x45,0x54,0x45,0x00,0x00,0x00,0x7C,0x3B,0x00,0x00,
+/* 0x00003B90: */ 0x18,0x85,0x00,0x00,0x0C,0x41,0x53,0x43,0x49,0x49,0x5F,0x45,0x53,0x43,0x41,0x50,
+/* 0x00003BA0: */ 0x45,0x00,0x00,0x00,0x94,0x3B,0x00,0x00,0x28,0x85,0x00,0x00,0x0C,0x41,0x53,0x43,
+/* 0x00003BB0: */ 0x49,0x49,0x5F,0x43,0x54,0x52,0x4C,0x5F,0x41,0x00,0x00,0x00,0xAC,0x3B,0x00,0x00,
+/* 0x00003BC0: */ 0x38,0x85,0x00,0x00,0x0C,0x41,0x53,0x43,0x49,0x49,0x5F,0x43,0x54,0x52,0x4C,0x5F,
+/* 0x00003BD0: */ 0x45,0x00,0x00,0x00,0xC4,0x3B,0x00,0x00,0x48,0x85,0x00,0x00,0x0C,0x41,0x53,0x43,
+/* 0x00003BE0: */ 0x49,0x49,0x5F,0x43,0x54,0x52,0x4C,0x5F,0x58,0x00,0x00,0x00,0xDC,0x3B,0x00,0x00,
+/* 0x00003BF0: */ 0x58,0x85,0x00,0x00,0x04,0x45,0x53,0x43,0x5B,0x00,0x00,0x00,0xF4,0x3B,0x00,0x00,
+/* 0x00003C00: */ 0x70,0x85,0x00,0x00,0x03,0x43,0x4C,0x53,0x04,0x3C,0x00,0x00,0x80,0x85,0x00,0x00,
+/* 0x00003C10: */ 0x0D,0x54,0x49,0x4F,0x2E,0x42,0x41,0x43,0x4B,0x57,0x41,0x52,0x44,0x53,0x00,0x00,
+/* 0x00003C20: */ 0x10,0x3C,0x00,0x00,0xBC,0x85,0x00,0x00,0x0C,0x54,0x49,0x4F,0x2E,0x46,0x4F,0x52,
+/* 0x00003C30: */ 0x57,0x41,0x52,0x44,0x53,0x00,0x00,0x00,0x28,0x3C,0x00,0x00,0xF8,0x85,0x00,0x00,
+/* 0x00003C40: */ 0x0D,0x54,0x49,0x4F,0x2E,0x45,0x52,0x41,0x53,0x45,0x2E,0x45,0x4F,0x4C,0x00,0x00,
+/* 0x00003C50: */ 0x40,0x3C,0x00,0x00,0x0C,0x86,0x00,0x00,0x04,0x42,0x45,0x4C,0x4C,0x00,0x00,0x00,
+/* 0x00003C60: */ 0x58,0x3C,0x00,0x00,0x1C,0x86,0x00,0x00,0x09,0x42,0x41,0x43,0x4B,0x53,0x50,0x41,
+/* 0x00003C70: */ 0x43,0x45,0x00,0x00,0x68,0x3C,0x00,0x00,0x3C,0x86,0x00,0x00,0x08,0x53,0x48,0x4F,
+/* 0x00003C80: */ 0x57,0x4B,0x45,0x59,0x53,0x00,0x00,0x00,0x7C,0x3C,0x00,0x00,0x78,0x86,0x00,0x00,
+/* 0x00003C90: */ 0x02,0x41,0x5A,0x00,0x90,0x3C,0x00,0x00,0xA4,0x86,0x00,0x00,0x0A,0x54,0x45,0x53,
+/* 0x00003CA0: */ 0x54,0x2E,0x42,0x41,0x43,0x4B,0x31,0x00,0x9C,0x3C,0x00,0x00,0xC8,0x86,0x00,0x00,
+/* 0x00003CB0: */ 0x0A,0x54,0x45,0x53,0x54,0x2E,0x42,0x41,0x43,0x4B,0x32,0x00,0xB0,0x3C,0x00,0x00,
+/* 0x00003CC0: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0xC4,0x3C,0x00,0x00,
+/* 0x00003CD0: */ 0x78,0x00,0x00,0x00,0x0F,0x3A,0x3A,0x3A,0x3A,0x68,0x69,0x73,0x74,0x6F,0x72,0x79,
+/* 0x00003CE0: */ 0x2E,0x66,0x74,0x68,0xD4,0x3C,0x00,0x00,0x00,0x87,0x00,0x00,0x10,0x54,0x41,0x53,
+/* 0x00003CF0: */ 0x4B,0x2D,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x2E,0x46,0x54,0x48,0x00,0x00,0x00,
+/* 0x00003D00: */ 0xEC,0x3C,0x00,0x00,0x10,0x87,0x00,0x00,0x0F,0x4B,0x48,0x5F,0x48,0x49,0x53,0x54,
+/* 0x00003D10: */ 0x4F,0x52,0x59,0x5F,0x53,0x49,0x5A,0x45,0x08,0x3D,0x00,0x00,0x20,0x87,0x00,0x00,
+/* 0x00003D20: */ 0x0A,0x4B,0x48,0x2D,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x00,0x20,0x3D,0x00,0x00,
+/* 0x00003D30: */ 0x2C,0x8F,0x00,0x00,0x06,0x4B,0x48,0x2D,0x45,0x4E,0x44,0x00,0x34,0x3D,0x00,0x00,
+/* 0x00003D40: */ 0x3C,0x8F,0x00,0x00,0x08,0x4C,0x49,0x4E,0x45,0x4E,0x55,0x4D,0x40,0x00,0x00,0x00,
+/* 0x00003D50: */ 0x44,0x3D,0x00,0x00,0x64,0x8F,0x00,0x00,0x08,0x4C,0x49,0x4E,0x45,0x4E,0x55,0x4D,
+/* 0x00003D60: */ 0x21,0x00,0x00,0x00,0x58,0x3D,0x00,0x00,0x88,0x8F,0x00,0x00,0x07,0x4B,0x48,0x2D,
+/* 0x00003D70: */ 0x4C,0x4F,0x4F,0x4B,0x6C,0x3D,0x00,0x00,0x98,0x8F,0x00,0x00,0x06,0x4B,0x48,0x2D,
+/* 0x00003D80: */ 0x4D,0x41,0x58,0x00,0x7C,0x3D,0x00,0x00,0xA8,0x8F,0x00,0x00,0x0A,0x4B,0x48,0x2D,
+/* 0x00003D90: */ 0x43,0x4F,0x55,0x4E,0x54,0x45,0x52,0x00,0x8C,0x3D,0x00,0x00,0xB8,0x8F,0x00,0x00,
+/* 0x00003DA0: */ 0x07,0x4B,0x48,0x2D,0x53,0x50,0x41,0x4E,0xA0,0x3D,0x00,0x00,0xC8,0x8F,0x00,0x00,
+/* 0x00003DB0: */ 0x0D,0x4B,0x48,0x2D,0x4D,0x41,0x54,0x43,0x48,0x2D,0x53,0x50,0x41,0x4E,0x00,0x00,
+/* 0x00003DC0: */ 0xB0,0x3D,0x00,0x00,0xD8,0x8F,0x00,0x00,0x09,0x4B,0x48,0x2D,0x43,0x55,0x52,0x53,
+/* 0x00003DD0: */ 0x4F,0x52,0x00,0x00,0xC8,0x3D,0x00,0x00,0xE8,0x8F,0x00,0x00,0x0A,0x4B,0x48,0x2D,
+/* 0x00003DE0: */ 0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x00,0xDC,0x3D,0x00,0x00,0xF8,0x8F,0x00,0x00,
+/* 0x00003DF0: */ 0x09,0x4B,0x48,0x2D,0x49,0x4E,0x53,0x49,0x44,0x45,0x00,0x00,0xF0,0x3D,0x00,0x00,
+/* 0x00003E00: */ 0x08,0x90,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x4D,0x41,0x4B,0x45,0x2E,0x52,0x4F,0x4F,
+/* 0x00003E10: */ 0x4D,0x00,0x00,0x00,0x04,0x3E,0x00,0x00,0x3C,0x90,0x00,0x00,0x0E,0x4B,0x48,0x2E,
+/* 0x00003E20: */ 0x4E,0x45,0x57,0x45,0x53,0x54,0x2E,0x4C,0x49,0x4E,0x45,0x00,0x1C,0x3E,0x00,0x00,
+/* 0x00003E30: */ 0x48,0x90,0x00,0x00,0x09,0x4B,0x48,0x2E,0x52,0x45,0x57,0x49,0x4E,0x44,0x00,0x00,
+/* 0x00003E40: */ 0x34,0x3E,0x00,0x00,0x5C,0x90,0x00,0x00,0x0F,0x4B,0x48,0x2E,0x43,0x55,0x52,0x52,
+/* 0x00003E50: */ 0x45,0x4E,0x54,0x2E,0x41,0x44,0x44,0x52,0x48,0x3E,0x00,0x00,0x70,0x90,0x00,0x00,
+/* 0x00003E60: */ 0x0F,0x4B,0x48,0x2E,0x43,0x55,0x52,0x52,0x45,0x4E,0x54,0x2E,0x4C,0x49,0x4E,0x45,
+/* 0x00003E70: */ 0x60,0x3E,0x00,0x00,0x7C,0x90,0x00,0x00,0x0A,0x4B,0x48,0x2E,0x43,0x4F,0x4D,0x50,
+/* 0x00003E80: */ 0x41,0x52,0x45,0x00,0x78,0x3E,0x00,0x00,0x8C,0x90,0x00,0x00,0x0B,0x4B,0x48,0x2E,
+/* 0x00003E90: */ 0x4E,0x55,0x4D,0x2E,0x41,0x44,0x44,0x52,0x8C,0x3E,0x00,0x00,0x98,0x90,0x00,0x00,
+/* 0x00003EA0: */ 0x0E,0x4B,0x48,0x2E,0x43,0x55,0x52,0x52,0x45,0x4E,0x54,0x2E,0x4E,0x55,0x4D,0x00,
+/* 0x00003EB0: */ 0xA0,0x3E,0x00,0x00,0xA4,0x90,0x00,0x00,0x09,0x4B,0x48,0x2E,0x41,0x44,0x44,0x52,
+/* 0x00003EC0: */ 0x2B,0x2B,0x00,0x00,0xB8,0x3E,0x00,0x00,0xBC,0x90,0x00,0x00,0x09,0x4B,0x48,0x2E,
+/* 0x00003ED0: */ 0x41,0x44,0x44,0x52,0x2D,0x2D,0x00,0x00,0xCC,0x3E,0x00,0x00,0xDC,0x90,0x00,0x00,
+/* 0x00003EE0: */ 0x10,0x4B,0x48,0x2E,0x45,0x4E,0x44,0x43,0x4F,0x55,0x4E,0x54,0x2E,0x41,0x44,0x44,
+/* 0x00003EF0: */ 0x52,0x00,0x00,0x00,0xE0,0x3E,0x00,0x00,0xE8,0x90,0x00,0x00,0x0B,0x4B,0x48,0x2E,
+/* 0x00003F00: */ 0x41,0x44,0x44,0x2E,0x4C,0x49,0x4E,0x45,0xFC,0x3E,0x00,0x00,0xCC,0x91,0x00,0x00,
+/* 0x00003F10: */ 0x0E,0x4B,0x48,0x2E,0x42,0x41,0x43,0x4B,0x55,0x50,0x2E,0x4C,0x49,0x4E,0x45,0x00,
+/* 0x00003F20: */ 0x10,0x3F,0x00,0x00,0x50,0x92,0x00,0x00,0x0F,0x4B,0x48,0x2E,0x46,0x4F,0x52,0x57,
+/* 0x00003F30: */ 0x41,0x52,0x44,0x2E,0x4C,0x49,0x4E,0x45,0x28,0x3F,0x00,0x00,0x88,0x92,0x00,0x00,
+/* 0x00003F40: */ 0x0E,0x4B,0x48,0x2E,0x4F,0x4C,0x44,0x45,0x53,0x54,0x2E,0x4C,0x49,0x4E,0x45,0x00,
+/* 0x00003F50: */ 0x40,0x3F,0x00,0x00,0xB0,0x92,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x46,0x49,0x4E,0x44,
+/* 0x00003F60: */ 0x2E,0x4C,0x49,0x4E,0x45,0x00,0x00,0x00,0x58,0x3F,0x00,0x00,0x1C,0x93,0x00,0x00,
+/* 0x00003F70: */ 0x09,0x4B,0x48,0x2D,0x42,0x55,0x46,0x46,0x45,0x52,0x00,0x00,0x70,0x3F,0x00,0x00,
+/* 0x00003F80: */ 0x28,0x93,0x00,0x00,0x09,0x4B,0x48,0x2E,0x52,0x45,0x54,0x55,0x52,0x4E,0x00,0x00,
+/* 0x00003F90: */ 0x84,0x3F,0x00,0x00,0x48,0x93,0x00,0x00,0x0F,0x4B,0x48,0x2E,0x52,0x45,0x50,0x4C,
+/* 0x00003FA0: */ 0x41,0x43,0x45,0x2E,0x4C,0x49,0x4E,0x45,0x98,0x3F,0x00,0x00,0x80,0x93,0x00,0x00,
+/* 0x00003FB0: */ 0x0C,0x4B,0x48,0x2E,0x47,0x45,0x54,0x2E,0x4D,0x41,0x54,0x43,0x48,0x00,0x00,0x00,
+/* 0x00003FC0: */ 0xB0,0x3F,0x00,0x00,0xEC,0x93,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x46,0x41,0x52,0x2E,
+/* 0x00003FD0: */ 0x52,0x49,0x47,0x48,0x54,0x00,0x00,0x00,0xC8,0x3F,0x00,0x00,0x34,0x94,0x00,0x00,
+/* 0x00003FE0: */ 0x0B,0x4B,0x48,0x2E,0x46,0x41,0x52,0x2E,0x4C,0x45,0x46,0x54,0xE0,0x3F,0x00,0x00,
+/* 0x00003FF0: */ 0x44,0x94,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x47,0x45,0x54,0x2E,0x4F,0x4C,0x44,0x45,
+/* 0x00004000: */ 0x52,0x00,0x00,0x00,0xF4,0x3F,0x00,0x00,0x70,0x94,0x00,0x00,0x0C,0x4B,0x48,0x2E,
+/* 0x00004010: */ 0x47,0x45,0x54,0x2E,0x4E,0x45,0x57,0x45,0x52,0x00,0x00,0x00,0x0C,0x40,0x00,0x00,
+/* 0x00004020: */ 0xA4,0x94,0x00,0x00,0x0D,0x4B,0x48,0x2E,0x43,0x4C,0x45,0x41,0x52,0x2E,0x4C,0x49,
+/* 0x00004030: */ 0x4E,0x45,0x00,0x00,0x24,0x40,0x00,0x00,0xC4,0x94,0x00,0x00,0x0B,0x4B,0x48,0x2E,
+/* 0x00004040: */ 0x47,0x4F,0x2E,0x52,0x49,0x47,0x48,0x54,0x3C,0x40,0x00,0x00,0x00,0x95,0x00,0x00,
+/* 0x00004050: */ 0x0A,0x4B,0x48,0x2E,0x47,0x4F,0x2E,0x4C,0x45,0x46,0x54,0x00,0x50,0x40,0x00,0x00,
+/* 0x00004060: */ 0x30,0x95,0x00,0x00,0x0A,0x4B,0x48,0x2E,0x52,0x45,0x46,0x52,0x45,0x53,0x48,0x00,
+/* 0x00004070: */ 0x64,0x40,0x00,0x00,0x78,0x95,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x42,0x41,0x43,0x4B,
+/* 0x00004080: */ 0x53,0x50,0x41,0x43,0x45,0x00,0x00,0x00,0x78,0x40,0x00,0x00,0x08,0x96,0x00,0x00,
+/* 0x00004090: */ 0x09,0x4B,0x48,0x2E,0x44,0x45,0x4C,0x45,0x54,0x45,0x00,0x00,0x90,0x40,0x00,0x00,
+/* 0x000040A0: */ 0x78,0x96,0x00,0x00,0x15,0x4B,0x48,0x2E,0x48,0x41,0x4E,0x44,0x4C,0x45,0x2E,0x57,
+/* 0x000040B0: */ 0x49,0x4E,0x44,0x4F,0x57,0x53,0x2E,0x4B,0x45,0x59,0x00,0x00,0xA4,0x40,0x00,0x00,
+/* 0x000040C0: */ 0xF8,0x97,0x00,0x00,0x12,0x4B,0x48,0x2E,0x48,0x41,0x4E,0x44,0x4C,0x45,0x2E,0x41,
+/* 0x000040D0: */ 0x4E,0x53,0x49,0x2E,0x4B,0x45,0x59,0x00,0xC4,0x40,0x00,0x00,0xA0,0x98,0x00,0x00,
+/* 0x000040E0: */ 0x0E,0x4B,0x48,0x2E,0x53,0x50,0x45,0x43,0x49,0x41,0x4C,0x2E,0x4B,0x45,0x59,0x00,
+/* 0x000040F0: */ 0xE0,0x40,0x00,0x00,0x08,0x9A,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x53,0x4D,0x41,0x52,
+/* 0x00004100: */ 0x54,0x2E,0x4B,0x45,0x59,0x00,0x00,0x00,0xF8,0x40,0x00,0x00,0x2C,0x9A,0x00,0x00,
+/* 0x00004110: */ 0x0A,0x4B,0x48,0x2E,0x49,0x4E,0x53,0x43,0x48,0x41,0x52,0x00,0x10,0x41,0x00,0x00,
+/* 0x00004120: */ 0xF8,0x9A,0x00,0x00,0x04,0x45,0x4F,0x4C,0x3F,0x00,0x00,0x00,0x24,0x41,0x00,0x00,
+/* 0x00004130: */ 0x20,0x9B,0x00,0x00,0x0A,0x4B,0x48,0x2E,0x47,0x45,0x54,0x4C,0x49,0x4E,0x45,0x00,
+/* 0x00004140: */ 0x34,0x41,0x00,0x00,0xE8,0x9B,0x00,0x00,0x09,0x4B,0x48,0x2E,0x41,0x43,0x43,0x45,
+/* 0x00004150: */ 0x50,0x54,0x00,0x00,0x48,0x41,0x00,0x00,0x28,0x9C,0x00,0x00,0x0C,0x54,0x45,0x53,
+/* 0x00004160: */ 0x54,0x2E,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x00,0x00,0x00,0x5C,0x41,0x00,0x00,
+/* 0x00004170: */ 0x6C,0x9C,0x00,0x00,0x08,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x23,0x00,0x00,0x00,
+/* 0x00004180: */ 0x74,0x41,0x00,0x00,0xC4,0x9C,0x00,0x00,0x07,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,
+/* 0x00004190: */ 0x88,0x41,0x00,0x00,0x04,0x9D,0x00,0x00,0x02,0x58,0x58,0x00,0x98,0x41,0x00,0x00,
+/* 0x000041A0: */ 0x20,0x9D,0x00,0x00,0x0D,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x2E,0x52,0x45,0x53,
+/* 0x000041B0: */ 0x45,0x54,0x00,0x00,0xA4,0x41,0x00,0x00,0x38,0x9D,0x00,0x00,0x0A,0x48,0x49,0x53,
+/* 0x000041C0: */ 0x54,0x4F,0x52,0x59,0x2E,0x4F,0x4E,0x00,0xBC,0x41,0x00,0x00,0x74,0x9D,0x00,0x00,
+/* 0x000041D0: */ 0x0B,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x2E,0x4F,0x46,0x46,0xD0,0x41,0x00,0x00,
+/* 0x000041E0: */ 0xAC,0x9D,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x49,0x4E,0x49,0x54,0x00,0x00,
+/* 0x000041F0: */ 0xE4,0x41,0x00,0x00,0xB8,0x9D,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x54,0x45,
+/* 0x00004200: */ 0x52,0x4D,0x00,0x00,0xF8,0x41,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00004210: */ 0x3B,0x00,0x00,0x00,0x0C,0x42,0x00,0x00,0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,
+/* 0x00004220: */ 0x3A,0x73,0x61,0x76,0x65,0x64,0x69,0x63,0x64,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,
+/* 0x00004230: */ 0x1C,0x42,0x00,0x00,0xCC,0x9D,0x00,0x00,0x15,0x54,0x41,0x53,0x4B,0x2D,0x53,0x41,
+/* 0x00004240: */ 0x56,0x45,0x5F,0x44,0x49,0x43,0x5F,0x41,0x53,0x5F,0x44,0x41,0x54,0x41,0x00,0x00,
+/* 0x00004250: */ 0x38,0x42,0x00,0x00,0xDC,0x9D,0x00,0x00,0x10,0x53,0x44,0x41,0x44,0x5F,0x4E,0x41,
+/* 0x00004260: */ 0x4D,0x45,0x53,0x5F,0x45,0x58,0x54,0x52,0x41,0x00,0x00,0x00,0x58,0x42,0x00,0x00,
+/* 0x00004270: */ 0xEC,0x9D,0x00,0x00,0x0F,0x53,0x44,0x41,0x44,0x5F,0x43,0x4F,0x44,0x45,0x5F,0x45,
+/* 0x00004280: */ 0x58,0x54,0x52,0x41,0x74,0x42,0x00,0x00,0xFC,0x9D,0x00,0x00,0x10,0x53,0x44,0x41,
+/* 0x00004290: */ 0x44,0x5F,0x42,0x55,0x46,0x46,0x45,0x52,0x5F,0x53,0x49,0x5A,0x45,0x00,0x00,0x00,
+/* 0x000042A0: */ 0x8C,0x42,0x00,0x00,0x0C,0x9E,0x00,0x00,0x0B,0x53,0x44,0x41,0x44,0x2D,0x42,0x55,
+/* 0x000042B0: */ 0x46,0x46,0x45,0x52,0xA8,0x42,0x00,0x00,0x18,0x9F,0x00,0x00,0x11,0x53,0x44,0x41,
+/* 0x000042C0: */ 0x44,0x2D,0x42,0x55,0x46,0x46,0x45,0x52,0x2D,0x49,0x4E,0x44,0x45,0x58,0x00,0x00,
+/* 0x000042D0: */ 0xBC,0x42,0x00,0x00,0x28,0x9F,0x00,0x00,0x0F,0x53,0x44,0x41,0x44,0x2D,0x42,0x55,
+/* 0x000042E0: */ 0x46,0x46,0x45,0x52,0x2D,0x46,0x49,0x44,0xD8,0x42,0x00,0x00,0x38,0x9F,0x00,0x00,
+/* 0x000042F0: */ 0x0A,0x53,0x44,0x41,0x44,0x2E,0x46,0x4C,0x55,0x53,0x48,0x00,0xF0,0x42,0x00,0x00,
+/* 0x00004300: */ 0x64,0x9F,0x00,0x00,0x09,0x53,0x44,0x41,0x44,0x2E,0x45,0x4D,0x49,0x54,0x00,0x00,
+/* 0x00004310: */ 0x04,0x43,0x00,0x00,0xC4,0x9F,0x00,0x00,0x09,0x53,0x44,0x41,0x44,0x2E,0x54,0x59,
+/* 0x00004320: */ 0x50,0x45,0x00,0x00,0x18,0x43,0x00,0x00,0xF0,0x9F,0x00,0x00,0x0A,0x24,0x53,0x44,
+/* 0x00004330: */ 0x41,0x44,0x2E,0x4C,0x49,0x4E,0x45,0x00,0x2C,0x43,0x00,0x00,0x04,0xA0,0x00,0x00,
+/* 0x00004340: */ 0x05,0x28,0x55,0x38,0x2E,0x29,0x00,0x00,0x40,0x43,0x00,0x00,0x38,0xA0,0x00,0x00,
+/* 0x00004350: */ 0x05,0x28,0x55,0x32,0x2E,0x29,0x00,0x00,0x50,0x43,0x00,0x00,0x54,0xA0,0x00,0x00,
+/* 0x00004360: */ 0x0A,0x53,0x44,0x41,0x44,0x2E,0x43,0x4C,0x4F,0x53,0x45,0x00,0x60,0x43,0x00,0x00,
+/* 0x00004370: */ 0xA4,0xA0,0x00,0x00,0x09,0x53,0x44,0x41,0x44,0x2E,0x4F,0x50,0x45,0x4E,0x00,0x00,
+/* 0x00004380: */ 0x74,0x43,0x00,0x00,0x18,0xA1,0x00,0x00,0x0D,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,
+/* 0x00004390: */ 0x4D,0x50,0x2E,0x48,0x45,0x58,0x00,0x00,0x88,0x43,0x00,0x00,0x60,0xA1,0x00,0x00,
+/* 0x000043A0: */ 0x0E,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,0x4D,0x50,0x2E,0x48,0x45,0x58,0x2C,0x00,
+/* 0x000043B0: */ 0xA0,0x43,0x00,0x00,0x80,0xA1,0x00,0x00,0x12,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,
+/* 0x000043C0: */ 0x4D,0x50,0x2E,0x48,0x45,0x58,0x2E,0x42,0x59,0x54,0x45,0x00,0xB8,0x43,0x00,0x00,
+/* 0x000043D0: */ 0xC8,0xA1,0x00,0x00,0x13,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,0x4D,0x50,0x2E,0x48,
+/* 0x000043E0: */ 0x45,0x58,0x2E,0x42,0x59,0x54,0x45,0x2C,0xD4,0x43,0x00,0x00,0xDC,0xA1,0x00,0x00,
+/* 0x000043F0: */ 0x0E,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,0x4D,0x50,0x2E,0x44,0x41,0x54,0x41,0x00,
+/* 0x00004400: */ 0xF0,0x43,0x00,0x00,0x20,0xA3,0x00,0x00,0x0B,0x53,0x44,0x41,0x44,0x2E,0x44,0x45,
+/* 0x00004410: */ 0x46,0x49,0x4E,0x45,0x08,0x44,0x00,0x00,0x74,0xA3,0x00,0x00,0x11,0x49,0x53,0x2E,
+/* 0x00004420: */ 0x4C,0x49,0x54,0x54,0x4C,0x45,0x2E,0x45,0x4E,0x44,0x49,0x41,0x4E,0x3F,0x00,0x00,
+/* 0x00004430: */ 0x1C,0x44,0x00,0x00,0x90,0xA3,0x00,0x00,0x04,0x53,0x44,0x41,0x44,0x00,0x00,0x00,
+/* 0x00004440: */ 0x38,0x44,0x00,0x00,0x88,0xA5,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x49,0x4E,
+/* 0x00004450: */ 0x49,0x54,0x00,0x00,0x48,0x44,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00004460: */ 0x3B,0x00,0x00,0x00,0x5C,0x44,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00004470: */ 0x3B,0x00,0x00,0x00,0x6C,0x44,0x00,0x00,0xB0,0xA5,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00004480: */ 0x3B,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,
+};
+static const uint8 MinDicCode[] = {
+/* 0x00000000: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000010: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000020: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000030: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000040: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000050: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000060: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000070: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000080: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000090: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000000A0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000000B0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000000C0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000000D0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000000E0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000000F0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000100: */ 0x5A,0x5A,0x5A,0x5A,0x2D,0x00,0x00,0x00,0xE8,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000110: */ 0x2D,0x00,0x00,0x00,0x3D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,
+/* 0x00000120: */ 0x10,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0x83,0x00,0x00,0x00,
+/* 0x00000130: */ 0x00,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0x00,
+/* 0x00000140: */ 0x17,0x00,0x00,0x00,0x01,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000150: */ 0xA8,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000160: */ 0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x01,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000170: */ 0x18,0x00,0x00,0x00,0x5C,0x01,0x00,0x00,0x7A,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00000180: */ 0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x00000190: */ 0xB8,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,
+/* 0x000001A0: */ 0xB8,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000001B0: */ 0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000001C0: */ 0x59,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000001D0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000001E0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
+/* 0x000001F0: */ 0x00,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000200: */ 0xE8,0x01,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000210: */ 0x02,0x00,0x00,0x00,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00000220: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+/* 0x00000230: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,
+/* 0x00000240: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000250: */ 0x02,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00000260: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00000270: */ 0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000280: */ 0x1F,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00000290: */ 0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
+/* 0x000002A0: */ 0xBB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000002B0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000002C0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000002D0: */ 0x00,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000002E0: */ 0xAC,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x000002F0: */ 0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,
+/* 0x00000300: */ 0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000310: */ 0x08,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000320: */ 0x59,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00000330: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x00000340: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000350: */ 0x80,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00000360: */ 0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000370: */ 0xA2,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00000380: */ 0xA2,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00000390: */ 0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000003A0: */ 0xB2,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000003B0: */ 0x01,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000003C0: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x000003D0: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x000003E0: */ 0x7D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x11,0x00,0x00,0x00,
+/* 0x000003F0: */ 0x00,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xD8,0x03,0x00,0x00,
+/* 0x00000400: */ 0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,
+/* 0x00000410: */ 0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x00000420: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00000430: */ 0x00,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,
+/* 0x00000440: */ 0x35,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xBA,0x00,0x00,0x00,
+/* 0x00000450: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00000460: */ 0x00,0x00,0x00,0x00,0xF4,0x03,0x00,0x00,0x51,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00000470: */ 0xE8,0x01,0x00,0x00,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000480: */ 0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x00000490: */ 0x02,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xD8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000004A0: */ 0xAB,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x00,0x00,0x00,
+/* 0x000004B0: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000004C0: */ 0x00,0x00,0x00,0x00,0xA7,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000004D0: */ 0xA0,0x04,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,
+/* 0x000004E0: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000004F0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000500: */ 0x00,0x00,0x00,0x00,0xDC,0x04,0x00,0x00,0x14,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00000510: */ 0x00,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xE8,0x04,0x00,0x00,
+/* 0x00000520: */ 0x00,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000530: */ 0xAC,0x04,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00000540: */ 0x00,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x04,0x00,0x00,
+/* 0x00000550: */ 0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000560: */ 0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x00000570: */ 0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x60,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000580: */ 0xF4,0x03,0x00,0x00,0x51,0x00,0x00,0x00,0xE8,0x04,0x00,0x00,0xAC,0x03,0x00,0x00,
+/* 0x00000590: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x000005A0: */ 0x59,0x00,0x00,0x00,0xF2,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000005B0: */ 0xEA,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFE,0xFE,0xFF,0xFF,
+/* 0x000005C0: */ 0x00,0x00,0x00,0x00,0x94,0x05,0x00,0x00,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000005D0: */ 0x59,0x00,0x00,0x00,0x51,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0x05,0x00,0x00,
+/* 0x000005E0: */ 0x75,0x00,0x00,0x00,0xAC,0x05,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000005F0: */ 0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x04,0x00,0x00,
+/* 0x00000600: */ 0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000610: */ 0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,
+/* 0x00000620: */ 0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x64,0x04,0x00,0x00,
+/* 0x00000630: */ 0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00000640: */ 0xA0,0x05,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000650: */ 0xAC,0x05,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x06,0x00,0x00,
+/* 0x00000660: */ 0x59,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0xD0,0x05,0x00,0x00,
+/* 0x00000670: */ 0xF0,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xDC,0x05,0x00,0x00,
+/* 0x00000680: */ 0x04,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x06,0x00,0x00,0xD0,0x05,0x00,0x00,
+/* 0x00000690: */ 0x1C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000006A0: */ 0x4C,0x05,0x00,0x00,0x9C,0x00,0x00,0x00,0xDC,0x05,0x00,0x00,0x24,0x06,0x00,0x00,
+/* 0x000006B0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x000006C0: */ 0x9C,0x00,0x00,0x00,0xDC,0x05,0x00,0x00,0x24,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000006D0: */ 0x59,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0xD0,0x05,0x00,0x00,
+/* 0x000006E0: */ 0xF0,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0x06,0x00,0x00,0x09,0x00,0x00,0x00,
+/* 0x000006F0: */ 0x78,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x06,0x00,0x00,0x09,0x00,0x00,0x00,
+/* 0x00000700: */ 0x00,0x00,0x00,0x00,0x98,0x06,0x00,0x00,0x78,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000710: */ 0x34,0x06,0x00,0x00,0xA0,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000720: */ 0x50,0x01,0x00,0x00,0x77,0x00,0x00,0x00,0xDC,0x04,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x00000730: */ 0x7D,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000740: */ 0x00,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x00,0x02,0x00,0x00,
+/* 0x00000750: */ 0x59,0x00,0x00,0x00,0x20,0x07,0x00,0x00,0x4C,0x05,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00000760: */ 0x92,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00000770: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000780: */ 0x00,0x00,0x00,0x00,0x64,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x00000790: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x04,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000007A0: */ 0x00,0x00,0x00,0x00,0x64,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x000007B0: */ 0x64,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x20,0x07,0x00,0x00,
+/* 0x000007C0: */ 0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x000007D0: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x2A,0x00,0x00,0x00,
+/* 0x000007E0: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0x9C,0x00,0x00,0x00,
+/* 0x000007F0: */ 0x7B,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xF4,0x01,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00000800: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xF4,0x01,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00000810: */ 0x9C,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000820: */ 0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,
+/* 0x00000830: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00000840: */ 0x08,0x00,0x00,0x00,0xC4,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000850: */ 0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,
+/* 0x00000860: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000870: */ 0x00,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00000880: */ 0x4C,0x08,0x00,0x00,0x8E,0x00,0x00,0x00,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000890: */ 0x7C,0x08,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000008A0: */ 0x01,0x00,0x00,0x00,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000008B0: */ 0x01,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x08,0x00,0x00,
+/* 0x000008C0: */ 0x7B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,
+/* 0x000008D0: */ 0x7A,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x9C,0x08,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000008E0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000008F0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000900: */ 0xFF,0xFF,0xFF,0xFF,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000910: */ 0x20,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00000920: */ 0x24,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00000930: */ 0x08,0x00,0x00,0x00,0x30,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00000940: */ 0x14,0x09,0x00,0x00,0x8E,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000950: */ 0x41,0x00,0x00,0x00,0x28,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x09,0x00,0x00,
+/* 0x00000960: */ 0x64,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000970: */ 0x02,0x00,0x00,0x00,0x0C,0x02,0x00,0x00,0x64,0x04,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000980: */ 0x64,0x04,0x00,0x00,0x0C,0x02,0x00,0x00,0xF4,0x01,0x00,0x00,0x0C,0x04,0x00,0x00,
+/* 0x00000990: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x000009A0: */ 0xF4,0x01,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000009B0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000009C0: */ 0x00,0x02,0x00,0x00,0x03,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000009D0: */ 0x7D,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000009E0: */ 0x41,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x7D,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000009F0: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x02,0x00,0x00,
+/* 0x00000A00: */ 0x7D,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x0C,0x02,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000A10: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00000A20: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00000A30: */ 0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00000A40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00000A50: */ 0x28,0x78,0x58,0x00,0x03,0x00,0x00,0x00,0x24,0x78,0x58,0x00,0x05,0x00,0x00,0x00,
+/* 0x00000A60: */ 0xE4,0x14,0x58,0x00,0x05,0x00,0x00,0x00,0x28,0x15,0x58,0x00,0x04,0x00,0x00,0x00,
+/* 0x00000A70: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000A80: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000A90: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000AA0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000AB0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000AC0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000AD0: */ 0x5A,0x5A,0x5A,0x5A,0x3C,0x0A,0x00,0x00,0x94,0x09,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000AE0: */ 0x3C,0x0A,0x00,0x00,0xB8,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x0A,0x00,0x00,
+/* 0x00000AF0: */ 0xDC,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x0A,0x00,0x00,0x28,0x0A,0x00,0x00,
+/* 0x00000B00: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000B10: */ 0x03,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000B20: */ 0x04,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000B30: */ 0x05,0x00,0x00,0x00,0x34,0x06,0x00,0x00,0x59,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00000B40: */ 0x4C,0x05,0x00,0x00,0x51,0x00,0x00,0x00,0xD4,0x0A,0x00,0x00,0x04,0x0B,0x00,0x00,
+/* 0x00000B50: */ 0xD4,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x06,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000B60: */ 0x80,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000B70: */ 0x00,0x00,0x00,0x00,0x64,0x04,0x00,0x00,0x51,0x00,0x00,0x00,0xD4,0x0A,0x00,0x00,
+/* 0x00000B80: */ 0x04,0x0B,0x00,0x00,0xD4,0x0A,0x00,0x00,0xD4,0x0A,0x00,0x00,0x24,0x0B,0x00,0x00,
+/* 0x00000B90: */ 0xD4,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x57,0x00,0x00,0x00,
+/* 0x00000BA0: */ 0x4C,0x05,0x00,0x00,0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000BB0: */ 0x64,0x04,0x00,0x00,0xD4,0x0A,0x00,0x00,0x14,0x0B,0x00,0x00,0xD4,0x0A,0x00,0x00,
+/* 0x00000BC0: */ 0x00,0x00,0x00,0x00,0xEC,0x0A,0x00,0x00,0x14,0x0B,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00000BD0: */ 0xEC,0x0A,0x00,0x00,0x24,0x0B,0x00,0x00,0x1E,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00000BE0: */ 0xBC,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0xE0,0x0A,0x00,0x00,0x14,0x0B,0x00,0x00,
+/* 0x00000BF0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xE0,0x0A,0x00,0x00,
+/* 0x00000C00: */ 0x51,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xF4,0x01,0x00,0x00,
+/* 0x00000C10: */ 0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00000C20: */ 0xE0,0x0A,0x00,0x00,0x35,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00000C30: */ 0x75,0x00,0x00,0x00,0xF4,0x01,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00000C40: */ 0x15,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xE0,0x0A,0x00,0x00,
+/* 0x00000C50: */ 0x04,0x0B,0x00,0x00,0x4C,0x06,0x00,0x00,0xE0,0x0A,0x00,0x00,0x51,0x00,0x00,0x00,
+/* 0x00000C60: */ 0x75,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x00000C70: */ 0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x00000C80: */ 0x4C,0x05,0x00,0x00,0xC4,0x0B,0x00,0x00,0x4C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000C90: */ 0x59,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0xC4,0x0B,0x00,0x00,
+/* 0x00000CA0: */ 0x4C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,
+/* 0x00000CB0: */ 0x8C,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x01,0x00,0x00,
+/* 0x00000CC0: */ 0x77,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,
+/* 0x00000CD0: */ 0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x02,0x00,0x00,
+/* 0x00000CE0: */ 0x74,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x00,0x00,0x00,
+/* 0x00000CF0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00000D00: */ 0xCC,0x0C,0x00,0x00,0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x00000D10: */ 0x2E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00000D20: */ 0x10,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,
+/* 0x00000D30: */ 0x00,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x25,0x00,0x00,0x00,
+/* 0x00000D40: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000D50: */ 0xDC,0x04,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x10,0x01,0x00,0x00,
+/* 0x00000D60: */ 0xDC,0x04,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xB8,0x05,0x00,0x00,
+/* 0x00000D70: */ 0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDC,0x04,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x00000D80: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x0D,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00000D90: */ 0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x50,0x0D,0x00,0x00,
+/* 0x00000DA0: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00000DB0: */ 0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x88,0x0D,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x00000DC0: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x88,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000DD0: */ 0x78,0x0D,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,
+/* 0x00000DE0: */ 0x35,0x00,0x00,0x00,0x50,0x0D,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00000DF0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000E00: */ 0xD0,0x0D,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00000E10: */ 0xD0,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x74,0x00,0x00,0x00,
+/* 0x00000E20: */ 0x88,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x28,0x02,0x00,0x00,
+/* 0x00000E30: */ 0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x02,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00000E40: */ 0x9C,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00000E50: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0x74,0x02,0x00,0x00,
+/* 0x00000E60: */ 0xB3,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x18,0x0E,0x00,0x00,0x8D,0x00,0x00,0x00,
+/* 0x00000E70: */ 0x93,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00000E80: */ 0x91,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000E90: */ 0x88,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x27,0x00,0x00,0x00,
+/* 0x00000EA0: */ 0x7D,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00000EB0: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,
+/* 0x00000EC0: */ 0x41,0x00,0x00,0x00,0x18,0x0E,0x00,0x00,0x7B,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00000ED0: */ 0x8E,0x00,0x00,0x00,0x91,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00000EE0: */ 0x75,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x27,0x00,0x00,0x00,
+/* 0x00000EF0: */ 0x75,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000F00: */ 0x54,0x0E,0x00,0x00,0x51,0x00,0x00,0x00,0x38,0x0E,0x00,0x00,0x51,0x00,0x00,0x00,
+/* 0x00000F10: */ 0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB4,0x0E,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00000F20: */ 0x18,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00000F30: */ 0x08,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,
+/* 0x00000F40: */ 0xB4,0x0E,0x00,0x00,0x33,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000F50: */ 0x3C,0x0F,0x00,0x00,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00000F60: */ 0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000F70: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x00000F80: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000F90: */ 0xAC,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0xD8,0x03,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00000FA0: */ 0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00000FB0: */ 0x7D,0x00,0x00,0x00,0xD8,0x03,0x00,0x00,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000FC0: */ 0x8E,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0x03,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00000FD0: */ 0xD8,0x03,0x00,0x00,0xA2,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000FE0: */ 0x74,0x02,0x00,0x00,0x68,0x0F,0x00,0x00,0x38,0x0E,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00000FF0: */ 0x0C,0x04,0x00,0x00,0xF4,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001000: */ 0x22,0x00,0x00,0x00,0xB4,0x0E,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001010: */ 0x59,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0xB4,0x0E,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00001020: */ 0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001030: */ 0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x00001040: */ 0xFC,0x0F,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001050: */ 0x22,0x00,0x00,0x00,0xB4,0x0E,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001060: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00001070: */ 0x59,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x4C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001080: */ 0x27,0x00,0x00,0x00,0xB4,0x0E,0x00,0x00,0xE0,0x0F,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001090: */ 0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0xB4,0x0E,0x00,0x00,
+/* 0x000010A0: */ 0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000010B0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x000010C0: */ 0x4C,0x05,0x00,0x00,0xFC,0x0F,0x00,0x00,0x15,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000010D0: */ 0x59,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xB4,0x0E,0x00,0x00,0x48,0x03,0x00,0x00,
+/* 0x000010E0: */ 0x38,0x0E,0x00,0x00,0x48,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x000010F0: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001100: */ 0xA4,0x0F,0x00,0x00,0x4C,0x05,0x00,0x00,0xFC,0x0F,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001110: */ 0x20,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xB4,0x0E,0x00,0x00,
+/* 0x00001120: */ 0x48,0x03,0x00,0x00,0x38,0x0E,0x00,0x00,0x48,0x03,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00001130: */ 0x00,0x00,0x00,0x00,0xA8,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0x10,0x00,0x00,
+/* 0x00001140: */ 0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001150: */ 0x24,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x00001160: */ 0x04,0x09,0x00,0x00,0x54,0x0E,0x00,0x00,0xE0,0x0F,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001170: */ 0x18,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0x54,0x0E,0x00,0x00,0x48,0x03,0x00,0x00,
+/* 0x00001180: */ 0x38,0x0E,0x00,0x00,0x48,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001190: */ 0xA4,0x0F,0x00,0x00,0x4C,0x05,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000011A0: */ 0x7B,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x000011B0: */ 0xAC,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x19,0x00,0x00,0x00,
+/* 0x000011C0: */ 0x8E,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x000011D0: */ 0x7D,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000011E0: */ 0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000011F0: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00001200: */ 0x18,0x50,0x6F,0x73,0x74,0x70,0x6F,0x6E,0x65,0x20,0x63,0x6F,0x75,0x6C,0x64,0x20,
+/* 0x00001210: */ 0x6E,0x6F,0x74,0x20,0x66,0x69,0x6E,0x64,0x20,0x5A,0x5A,0x5A,0xAC,0x01,0x00,0x00,
+/* 0x00001220: */ 0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xC4,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001230: */ 0x20,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00001240: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x60,0x05,0x00,0x00,
+/* 0x00001250: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00001260: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x88,0x0F,0x00,0x00,
+/* 0x00001270: */ 0x04,0x3A,0x3A,0x3A,0x3A,0x5A,0x5A,0x5A,0x48,0x03,0x00,0x00,0x5C,0x03,0x00,0x00,
+/* 0x00001280: */ 0xAC,0x01,0x00,0x00,0x48,0x03,0x00,0x00,0xA0,0x11,0x00,0x00,0x48,0x03,0x00,0x00,
+/* 0x00001290: */ 0x59,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000012A0: */ 0x88,0x0F,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x5A,0x5A,0x5A,0x59,0x00,0x00,0x00,
+/* 0x000012B0: */ 0x78,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x12,0x00,0x00,
+/* 0x000012C0: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x34,0x0D,0x00,0x00,
+/* 0x000012D0: */ 0xC0,0x0F,0x00,0x00,0x08,0x49,0x6E,0x63,0x6C,0x75,0x64,0x65,0x20,0x5A,0x5A,0x5A,
+/* 0x000012E0: */ 0x35,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x000012F0: */ 0x51,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00001300: */ 0x48,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,
+/* 0x00001310: */ 0x33,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x14,0x43,0x6F,0x75,0x6C,0x64,0x20,0x6E,
+/* 0x00001320: */ 0x6F,0x74,0x20,0x66,0x69,0x6E,0x64,0x20,0x66,0x69,0x6C,0x65,0x20,0x5A,0x5A,0x5A,
+/* 0x00001330: */ 0x5C,0x0F,0x00,0x00,0x28,0x00,0x00,0x00,0xC4,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001340: */ 0x8C,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x6C,0x12,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001350: */ 0xA2,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x54,0x00,0x00,0x00,
+/* 0x00001360: */ 0x2E,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00001370: */ 0xBC,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x2C,0x57,0x61,0x72,
+/* 0x00001380: */ 0x6E,0x69,0x6E,0x67,0x3A,0x20,0x73,0x74,0x61,0x63,0x6B,0x20,0x64,0x65,0x70,0x74,
+/* 0x00001390: */ 0x68,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20,0x64,0x75,0x72,0x69,0x6E,0x67,
+/* 0x000013A0: */ 0x20,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x21,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,
+/* 0x000013B0: */ 0x31,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x0D,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x000013C0: */ 0x42,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA0,0x12,0x00,0x00,0x5C,0x12,0x00,0x00,
+/* 0x000013D0: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x000013E0: */ 0x12,0x20,0x20,0x20,0x20,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x20,0x61,0x64,0x64,
+/* 0x000013F0: */ 0x65,0x64,0x20,0x5A,0x51,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00001400: */ 0x30,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x06,0x62,0x79,0x74,0x65,0x73,0x2C,0x5A,
+/* 0x00001410: */ 0xC4,0x04,0x00,0x00,0x51,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
+/* 0x00001420: */ 0xC0,0x0F,0x00,0x00,0x05,0x6C,0x65,0x66,0x74,0x2E,0x5A,0x5A,0x28,0x00,0x00,0x00,
+/* 0x00001430: */ 0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001440: */ 0x00,0x00,0x00,0x00,0x0C,0x73,0x61,0x76,0x65,0x64,0x69,0x63,0x64,0x2E,0x66,0x74,
+/* 0x00001450: */ 0x68,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001460: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001470: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001480: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001490: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000014A0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000014B0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000014C0: */ 0x5A,0x5A,0x5A,0x5A,0x04,0x09,0x00,0x00,0x00,0x0F,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000014D0: */ 0x38,0x14,0x00,0x00,0x5C,0x03,0x00,0x00,0xBC,0x12,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000014E0: */ 0x38,0x14,0x00,0x00,0xBC,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,
+/* 0x000014F0: */ 0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00001500: */ 0x33,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00001510: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xC4,0x14,0x00,0x00,
+/* 0x00001520: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001530: */ 0xC0,0xD4,0x01,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001540: */ 0xE0,0x93,0x04,0x00,0x54,0x12,0x00,0x00,0xC4,0x04,0x00,0x00,0xAC,0x04,0x00,0x00,
+/* 0x00001550: */ 0x75,0x00,0x00,0x00,0x34,0x15,0x00,0x00,0x9B,0x00,0x00,0x00,0xB8,0x04,0x00,0x00,
+/* 0x00001560: */ 0xA0,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x24,0x15,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00001570: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAD,0x00,0x00,0x00,
+/* 0x00001580: */ 0x41,0x00,0x00,0x00,0xA0,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001590: */ 0x00,0x00,0x01,0x00,0x7D,0x00,0x00,0x00,0x24,0x15,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000015A0: */ 0x73,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000015B0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x7D,0x00,0x00,0x00,0x34,0x15,0x00,0x00,
+/* 0x000015C0: */ 0x41,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000015D0: */ 0x24,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x12,0x53,0x41,0x56,0x45,0x2D,0x46,0x4F,
+/* 0x000015E0: */ 0x52,0x54,0x48,0x20,0x66,0x61,0x69,0x6C,0x65,0x64,0x21,0x5A,0x28,0x00,0x00,0x00,
+/* 0x000015F0: */ 0xC4,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001600: */ 0x51,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001610: */ 0x00,0x00,0x02,0x00,0x7D,0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001620: */ 0x20,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x0F,0x54,0x55,0x52,0x4E,0x4B,0x45,0x59,
+/* 0x00001630: */ 0x20,0x66,0x61,0x69,0x6C,0x65,0x64,0x21,0x28,0x00,0x00,0x00,0xC4,0x05,0x00,0x00,
+/* 0x00001640: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001650: */ 0xB4,0xA5,0x00,0x00,0x51,0x00,0x00,0x00,0x44,0x16,0x00,0x00,0x3C,0x09,0x00,0x00,
+/* 0x00001660: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0xDC,0x04,0x00,0x00,
+/* 0x00001670: */ 0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001680: */ 0xA8,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x7C,0x04,0x00,0x00,0xAD,0x00,0x00,0x00,
+/* 0x00001690: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x77,0x00,0x00,0x00,
+/* 0x000016A0: */ 0xDC,0x04,0x00,0x00,0x44,0x16,0x00,0x00,0x50,0x09,0x00,0x00,0x23,0x00,0x00,0x00,
+/* 0x000016B0: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x34,0x0D,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000016C0: */ 0xE0,0x02,0x00,0x00,0xC0,0x0F,0x00,0x00,0x11,0x20,0x69,0x73,0x20,0x62,0x65,0x6C,
+/* 0x000016D0: */ 0x6F,0x77,0x20,0x66,0x65,0x6E,0x63,0x65,0x21,0x21,0x5A,0x5A,0x28,0x00,0x00,0x00,
+/* 0x000016E0: */ 0x33,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x64,0x16,0x00,0x00,
+/* 0x000016F0: */ 0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,0x4E,0x00,0x00,0x00,
+/* 0x00001700: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x98,0x16,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001710: */ 0x30,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x17,0x46,0x4F,0x52,0x47,0x45,0x54,0x20,
+/* 0x00001720: */ 0x2D,0x20,0x63,0x6F,0x75,0x6C,0x64,0x6E,0x27,0x74,0x20,0x66,0x69,0x6E,0x64,0x20,
+/* 0x00001730: */ 0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xC4,0x05,0x00,0x00,
+/* 0x00001740: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001750: */ 0x80,0xA5,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,
+/* 0x00001760: */ 0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x44,0x17,0x00,0x00,
+/* 0x00001770: */ 0x50,0x09,0x00,0x00,0x5C,0x09,0x00,0x00,0x44,0x17,0x00,0x00,0x3C,0x09,0x00,0x00,
+/* 0x00001780: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00001790: */ 0x1D,0x49,0x46,0x2E,0x46,0x4F,0x52,0x47,0x4F,0x54,0x54,0x45,0x4E,0x20,0x2D,0x20,
+/* 0x000017A0: */ 0x63,0x6F,0x75,0x6C,0x64,0x6E,0x27,0x74,0x20,0x66,0x69,0x6E,0x64,0x20,0x5A,0x5A,
+/* 0x000017B0: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x34,0x00,0x00,0x00,
+/* 0x000017C0: */ 0x28,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x000017D0: */ 0xC4,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x000017E0: */ 0xF4,0x16,0x00,0x00,0x44,0x17,0x00,0x00,0x50,0x09,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000017F0: */ 0x27,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001800: */ 0x51,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00001810: */ 0x35,0x00,0x00,0x00,0xF4,0x01,0x00,0x00,0x3C,0x05,0x00,0x00,0x40,0x00,0x00,0x00,
+/* 0x00001820: */ 0xE4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001830: */ 0x44,0x17,0x00,0x00,0x3C,0x09,0x00,0x00,0xF4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001840: */ 0x08,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,0xBC,0x00,0x00,0x00,0x9C,0xFF,0xFF,0xFF,
+/* 0x00001850: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,0x08,0x5B,0x46,0x4F,
+/* 0x00001860: */ 0x52,0x47,0x45,0x54,0x5D,0x5A,0x5A,0x5A,0x4D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001870: */ 0x10,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
+/* 0x00001880: */ 0xC0,0x0F,0x00,0x00,0x17,0x46,0x4F,0x52,0x47,0x45,0x54,0x20,0x2D,0x20,0x63,0x6F,
+/* 0x00001890: */ 0x75,0x6C,0x64,0x6E,0x27,0x74,0x20,0x66,0x69,0x6E,0x64,0x20,0xAC,0x01,0x00,0x00,
+/* 0x000018A0: */ 0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xC4,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000018B0: */ 0xB3,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x000018C0: */ 0x4D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000018D0: */ 0xB3,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x58,0x18,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000018E0: */ 0xB3,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x78,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000018F0: */ 0x29,0x00,0x00,0x00,0x50,0x01,0x00,0x00,0xA0,0x04,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00001900: */ 0x64,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x14,0x19,0x00,0x00,0x20,0x07,0x00,0x00,
+/* 0x00001910: */ 0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA0,0x04,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00001920: */ 0x98,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001930: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001940: */ 0x59,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,
+/* 0x00001950: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00001960: */ 0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00001970: */ 0x35,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00001980: */ 0x01,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00001990: */ 0x59,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000019A0: */ 0x39,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000019B0: */ 0x28,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x39,0x00,0x00,0x00,
+/* 0x000019C0: */ 0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000019D0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
+/* 0x000019E0: */ 0x75,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000019F0: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00001A00: */ 0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x68,0x02,0x00,0x00,
+/* 0x00001A10: */ 0xF4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00001A20: */ 0xE4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00001A30: */ 0xE4,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,
+/* 0x00001A40: */ 0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001A50: */ 0x18,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x38,0x19,0x00,0x00,
+/* 0x00001A60: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001A70: */ 0x0C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001A80: */ 0x08,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0xBC,0x00,0x00,0x00,0x50,0x00,0x00,0x00,
+/* 0x00001A90: */ 0x9C,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x00001AA0: */ 0x41,0x00,0x00,0x00,0x3B,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+/* 0x00001AB0: */ 0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x3B,0x00,0x00,0x00,0x39,0x00,0x00,0x00,
+/* 0x00001AC0: */ 0x8E,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00001AD0: */ 0xA2,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x64,0xFF,0xFF,0xFF,0x8E,0x00,0x00,0x00,
+/* 0x00001AE0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x38,0x1A,0x00,0x00,
+/* 0x00001AF0: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00001B00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00001B10: */ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00001B20: */ 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00001B30: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xF8,0x1A,0x00,0x00,
+/* 0x00001B40: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001B50: */ 0x00,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00001B60: */ 0x59,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001B70: */ 0xA2,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00001B80: */ 0xA2,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x38,0x1A,0x00,0x00,
+/* 0x00001B90: */ 0x35,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00001BA0: */ 0x5C,0x02,0x00,0x00,0x33,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001BB0: */ 0x08,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,0x08,0x1B,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001BC0: */ 0x54,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00001BD0: */ 0x9C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,
+/* 0x00001BE0: */ 0x1E,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00001BF0: */ 0x8D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xC4,0x02,0x00,0x00,
+/* 0x00001C00: */ 0x18,0x1B,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,
+/* 0x00001C10: */ 0xF8,0x1A,0x00,0x00,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00001C20: */ 0x28,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001C30: */ 0x00,0x00,0x00,0x00,0xA2,0x7B,0x58,0x00,0xCC,0x07,0x00,0x00,0x28,0x1C,0x00,0x00,
+/* 0x00001C40: */ 0x7F,0x00,0x00,0x00,0x28,0x1C,0x00,0x00,0x41,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x00001C50: */ 0x00,0x00,0x00,0x00,0x48,0x03,0x00,0x00,0x28,0x1C,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00001C60: */ 0x00,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0x28,0x1C,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00001C70: */ 0x48,0x03,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001C80: */ 0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001C90: */ 0x2D,0x00,0x00,0x00,0x38,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x00001CA0: */ 0x41,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001CB0: */ 0x09,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001CC0: */ 0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00001CD0: */ 0x59,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x38,0x1C,0x00,0x00,
+/* 0x00001CE0: */ 0x00,0x00,0x00,0x00,0x9C,0x1C,0x00,0x00,0x03,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00001CF0: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0xEC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x00001D00: */ 0x54,0x1C,0x00,0x00,0xE4,0x1C,0x00,0x00,0x64,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001D10: */ 0x00,0x1D,0x00,0x00,0xA3,0x00,0x00,0x00,0xCC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001D20: */ 0xA2,0x00,0x00,0x00,0x00,0x1D,0x00,0x00,0x8E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00001D30: */ 0x75,0x00,0x00,0x00,0xD8,0x0C,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001D40: */ 0x74,0x02,0x00,0x00,0x34,0x08,0x00,0x00,0x54,0x1C,0x00,0x00,0xE4,0x1C,0x00,0x00,
+/* 0x00001D50: */ 0x88,0x00,0x00,0x00,0x80,0x1C,0x00,0x00,0x64,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001D60: */ 0x40,0x1D,0x00,0x00,0xA3,0x00,0x00,0x00,0xCC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001D70: */ 0xA2,0x00,0x00,0x00,0x40,0x1D,0x00,0x00,0x8E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00001D80: */ 0x75,0x00,0x00,0x00,0xD8,0x0C,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001D90: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001DA0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001DB0: */ 0xA2,0x00,0x00,0x00,0x90,0x1D,0x00,0x00,0x8E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00001DC0: */ 0x75,0x00,0x00,0x00,0xD8,0x0C,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001DD0: */ 0x35,0x00,0x00,0x00,0x1C,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001DE0: */ 0x54,0x1C,0x00,0x00,0xE4,0x1C,0x00,0x00,0x88,0x00,0x00,0x00,0x80,0x1C,0x00,0x00,
+/* 0x00001DF0: */ 0x64,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0x1D,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00001E00: */ 0xCC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xD0,0x1D,0x00,0x00,
+/* 0x00001E10: */ 0x8E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xD8,0x0C,0x00,0x00,
+/* 0x00001E20: */ 0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001E30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001E40: */ 0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00001E50: */ 0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001E60: */ 0x14,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001E70: */ 0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x11,0x00,0x00,
+/* 0x00001E80: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00001E90: */ 0x59,0x00,0x00,0x00,0x58,0x1E,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00001EA0: */ 0x08,0x00,0x00,0x00,0x58,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00001EB0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00001EC0: */ 0x28,0x00,0x00,0x00,0xC4,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00001ED0: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x11,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00001EE0: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001EF0: */ 0xAC,0x1E,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00001F00: */ 0xAC,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001F10: */ 0x70,0x00,0x00,0x00,0x56,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00001F20: */ 0xC0,0x0F,0x00,0x00,0x2E,0x48,0x69,0x74,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x74,
+/* 0x00001F30: */ 0x6F,0x20,0x63,0x6F,0x6E,0x74,0x69,0x6E,0x75,0x65,0x2C,0x20,0x61,0x6E,0x79,0x20,
+/* 0x00001F40: */ 0x6F,0x74,0x68,0x65,0x72,0x20,0x6B,0x65,0x79,0x20,0x74,0x6F,0x20,0x61,0x62,0x6F,
+/* 0x00001F50: */ 0x72,0x74,0x3A,0x5A,0x56,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x10,0x01,0x00,0x00,
+/* 0x00001F60: */ 0x04,0x09,0x00,0x00,0x1E,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x00001F70: */ 0x0A,0x54,0x65,0x72,0x6D,0x69,0x6E,0x61,0x74,0x65,0x64,0x5A,0xAC,0x1E,0x00,0x00,
+/* 0x00001F80: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001F90: */ 0x3C,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x84,0x1F,0x00,0x00,
+/* 0x00001FA0: */ 0x59,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001FB0: */ 0x0A,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001FC0: */ 0x08,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001FD0: */ 0x28,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00001FE0: */ 0x28,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x00001FF0: */ 0xCC,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002000: */ 0x20,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,
+/* 0x00002010: */ 0x1C,0x01,0x00,0x00,0x08,0x1B,0x00,0x00,0x1E,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,
+/* 0x00002020: */ 0x88,0x0F,0x00,0x00,0x14,0x4E,0x6F,0x74,0x20,0x61,0x20,0x73,0x69,0x6E,0x67,0x6C,
+/* 0x00002030: */ 0x65,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x21,0x5A,0x5A,0x5A,0xAC,0x1E,0x00,0x00,
+/* 0x00002040: */ 0x9C,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00002050: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x00002060: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x09,0x00,0x00,0x00,
+/* 0x00002070: */ 0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002080: */ 0x37,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002090: */ 0x30,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000020A0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x000020B0: */ 0xAF,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA0,0x20,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000020C0: */ 0x90,0x08,0x00,0x00,0xA0,0x20,0x00,0x00,0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000020D0: */ 0x75,0x00,0x00,0x00,0xD8,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000020E0: */ 0x00,0x00,0x00,0x00,0x50,0x01,0x00,0x00,0x35,0x00,0x00,0x00,0x27,0x00,0x00,0x00,
+/* 0x000020F0: */ 0xBC,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xE0,0x02,0x00,0x00,
+/* 0x00002100: */ 0xB0,0x20,0x00,0x00,0x94,0x1F,0x00,0x00,0x08,0x1F,0x00,0x00,0x76,0x00,0x00,0x00,
+/* 0x00002110: */ 0x9C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002120: */ 0xC8,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,
+/* 0x00002130: */ 0xC0,0x0F,0x00,0x00,0x06,0x20,0x77,0x6F,0x72,0x64,0x73,0x5A,0x28,0x00,0x00,0x00,
+/* 0x00002140: */ 0x00,0x00,0x00,0x00,0xDC,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00002150: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00002160: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002170: */ 0x00,0x00,0x00,0x00,0x4C,0x21,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002180: */ 0x00,0x00,0x00,0x00,0x5C,0x21,0x00,0x00,0x9B,0x00,0x00,0x00,0x50,0x01,0x00,0x00,
+/* 0x00002190: */ 0x35,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x94,0x00,0x00,0x00,
+/* 0x000021A0: */ 0x03,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000021B0: */ 0x10,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,
+/* 0x000021C0: */ 0x03,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000021D0: */ 0x1C,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x4C,0x21,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000021E0: */ 0xE4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000021F0: */ 0x77,0x00,0x00,0x00,0x5C,0x21,0x00,0x00,0x41,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00002200: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x4C,0x21,0x00,0x00,
+/* 0x00002210: */ 0x9B,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x5C,0x21,0x00,0x00,
+/* 0x00002220: */ 0x9B,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00002230: */ 0xE4,0x08,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x76,0x00,0x00,0x00,
+/* 0x00002240: */ 0x15,0x00,0x00,0x00,0x4C,0xFF,0xFF,0xFF,0x5C,0x02,0x00,0x00,0x4C,0x21,0x00,0x00,
+/* 0x00002250: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x05,0x00,0x00,0x81,0x00,0x00,0x00,
+/* 0x00002260: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002270: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x5B,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00002280: */ 0xBC,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002290: */ 0x40,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000022A0: */ 0x59,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000022B0: */ 0x61,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x94,0x00,0x00,0x00,
+/* 0x000022C0: */ 0xA2,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,
+/* 0x000022D0: */ 0x97,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x000022E0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000022F0: */ 0xBF,0x00,0x00,0x00,0x96,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00002300: */ 0xB3,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00002310: */ 0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x95,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00002320: */ 0x14,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00002330: */ 0xF4,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002340: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002350: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002360: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x06,0x00,0x00,0x58,0x23,0x00,0x00,
+/* 0x00002370: */ 0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x23,0x00,0x00,
+/* 0x00002380: */ 0x9B,0x00,0x00,0x00,0x48,0x23,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002390: */ 0x00,0x00,0x00,0x00,0x48,0x23,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000023A0: */ 0x5C,0x06,0x00,0x00,0x59,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x000023B0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x48,0x23,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x000023C0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x58,0x23,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x000023D0: */ 0x00,0x00,0x00,0x00,0x34,0x06,0x00,0x00,0x59,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000023E0: */ 0x4C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x000023F0: */ 0xA0,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002400: */ 0x80,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00002410: */ 0x8E,0x00,0x00,0x00,0x80,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,
+/* 0x00002420: */ 0x8C,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002430: */ 0xF8,0x23,0x00,0x00,0x4C,0x05,0x00,0x00,0xA0,0x23,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002440: */ 0xE8,0x06,0x00,0x00,0xCC,0x07,0x00,0x00,0x58,0x23,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00002450: */ 0x00,0x00,0x00,0x00,0x58,0x23,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00002460: */ 0x2C,0x00,0x00,0x00,0x34,0x0D,0x00,0x00,0xC0,0x0F,0x00,0x00,0x16,0x4D,0x69,0x73,
+/* 0x00002470: */ 0x73,0x69,0x6E,0x67,0x20,0x45,0x4E,0x44,0x4F,0x46,0x20,0x69,0x6E,0x20,0x43,0x41,
+/* 0x00002480: */ 0x53,0x45,0x21,0x5A,0x28,0x00,0x00,0x00,0xC4,0x05,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002490: */ 0x33,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x48,0x23,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000024A0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x000024B0: */ 0x78,0x06,0x00,0x00,0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x48,0x23,0x00,0x00,
+/* 0x000024C0: */ 0x9B,0x00,0x00,0x00,0x58,0x23,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000024D0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000024E0: */ 0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,
+/* 0x000024F0: */ 0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00002500: */ 0x04,0x09,0x00,0x00,0x1E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x25,0x00,0x00,0x00,
+/* 0x00002510: */ 0x11,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00002520: */ 0x15,0x00,0x00,0x00,0xCC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x00002530: */ 0x35,0x00,0x00,0x00,0x64,0x04,0x00,0x00,0x08,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,
+/* 0x00002540: */ 0xC0,0x03,0x00,0x00,0x0C,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x58,0x25,0x00,0x00,
+/* 0x00002550: */ 0x20,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002560: */ 0x88,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002570: */ 0x04,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,
+/* 0x00002580: */ 0x28,0x02,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00002590: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000025A0: */ 0x18,0x00,0x00,0x00,0x70,0x22,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000025B0: */ 0x7C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x70,0x22,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000025C0: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000025D0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x02,0x00,0x00,0x57,0x00,0x00,0x00,
+/* 0x000025E0: */ 0x1C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000025F0: */ 0x9C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xA4,0xFF,0xFF,0xFF,0x5C,0x02,0x00,0x00,
+/* 0x00002600: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x28,0x02,0x00,0x00,
+/* 0x00002610: */ 0x8E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00002620: */ 0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x70,0x22,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002630: */ 0x02,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x70,0x22,0x00,0x00,
+/* 0x00002640: */ 0x75,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+/* 0x00002650: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x02,0x00,0x00,
+/* 0x00002660: */ 0x57,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00002670: */ 0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xA4,0xFF,0xFF,0xFF,
+/* 0x00002680: */ 0x5C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x04,0x26,0x00,0x00,
+/* 0x00002690: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000026A0: */ 0x04,0x26,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x000026B0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x000026C0: */ 0x7B,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000026D0: */ 0x01,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x53,0x00,0x00,0x00,
+/* 0x000026E0: */ 0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000026F0: */ 0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002700: */ 0x7B,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+/* 0x00002710: */ 0x88,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x00002720: */ 0xB8,0xFF,0xFF,0xFF,0x5C,0x02,0x00,0x00,0x81,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00002730: */ 0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00002740: */ 0x7D,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00002750: */ 0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002760: */ 0x9C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00002770: */ 0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00002780: */ 0xD8,0x03,0x00,0x00,0x71,0x00,0x00,0x00,0xE8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x00002790: */ 0x29,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xA4,0x27,0x00,0x00,0x20,0x07,0x00,0x00,
+/* 0x000027A0: */ 0x00,0x00,0x00,0x00,0x60,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x000027B0: */ 0x59,0x00,0x00,0x00,0xC0,0x27,0x00,0x00,0x20,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000027C0: */ 0x60,0x27,0x00,0x00,0xAC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x000027D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x000027E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x3D,0x56,0x00,0x2A,0x00,0x00,0x00,
+/* 0x000027F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0x41,0x56,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00002800: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x50,0x01,0x00,0x00,
+/* 0x00002810: */ 0xDC,0x27,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002820: */ 0xEC,0x27,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEC,0x27,0x00,0x00,
+/* 0x00002830: */ 0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x00002840: */ 0x0E,0x45,0x78,0x74,0x72,0x61,0x20,0x7D,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x3A,
+/* 0x00002850: */ 0xAC,0x1E,0x00,0x00,0x50,0x01,0x00,0x00,0xEC,0x27,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00002860: */ 0x00,0x00,0x00,0x00,0xDC,0x27,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00002870: */ 0x88,0x0F,0x00,0x00,0x10,0x4D,0x69,0x73,0x73,0x69,0x6E,0x67,0x20,0x50,0x52,0x49,
+/* 0x00002880: */ 0x56,0x41,0x54,0x45,0x7B,0x5A,0x5A,0x5A,0xAC,0x1E,0x00,0x00,0xEC,0x27,0x00,0x00,
+/* 0x00002890: */ 0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,0x10,0x4D,0x69,0x73,
+/* 0x000028A0: */ 0x73,0x69,0x6E,0x67,0x20,0x7D,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x5A,0x5A,0x5A,
+/* 0x000028B0: */ 0xAC,0x1E,0x00,0x00,0xEC,0x27,0x00,0x00,0x41,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000028C0: */ 0xDC,0x27,0x00,0x00,0x41,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000028D0: */ 0x28,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xFC,0x27,0x00,0x00,
+/* 0x000028E0: */ 0x7A,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x76,0x00,0x00,0x00,
+/* 0x000028F0: */ 0x15,0x00,0x00,0x00,0xC8,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002900: */ 0x00,0x00,0x00,0x00,0xDC,0x27,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002910: */ 0x00,0x00,0x00,0x00,0xEC,0x27,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002920: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002930: */ 0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00002940: */ 0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00002950: */ 0x2A,0x00,0x00,0x00,0x58,0x25,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00002960: */ 0x03,0x46,0x49,0x44,0x4D,0x45,0x2D,0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x5A,0x5A,
+/* 0x00002970: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x03,
+/* 0x00002980: */ 0x56,0x41,0x4C,0x2D,0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002990: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x09,0x4E,
+/* 0x000029A0: */ 0x55,0x4D,0x2D,0x5A,0x45,0x52,0x4F,0x53,0x69,0x6C,0x6F,0x63,0x73,0x2E,0x66,0x74,
+/* 0x000029B0: */ 0x68,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x09,0x4E,0x55,
+/* 0x000029C0: */ 0x4D,0x2D,0x42,0x59,0x54,0x45,0x53,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000029D0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x07,0x4F,0x4C,0x44,
+/* 0x000029E0: */ 0x49,0x4E,0x44,0x58,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000029F0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x05,0x46,0x53,0x49,0x47,
+/* 0x00002A00: */ 0x4E,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A10: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x04,0x46,0x4C,0x41,0x47,0x5A,
+/* 0x00002A20: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A30: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x06,0x4E,0x53,0x48,0x49,0x46,0x54,
+/* 0x00002A40: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A50: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A60: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A70: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A80: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A90: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AA0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AB0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AC0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AD0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AE0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AF0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B00: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B10: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B20: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B30: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B40: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B50: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B60: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B70: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002B80: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x70,0x2B,0x00,0x00,
+/* 0x00002B90: */ 0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00002BA0: */ 0x38,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x50,0x29,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002BB0: */ 0x7C,0x25,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,
+/* 0x00002BC0: */ 0xF4,0x08,0x00,0x00,0x53,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,
+/* 0x00002BD0: */ 0x71,0x00,0x00,0x00,0xD0,0xFF,0xFF,0xFF,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002BE0: */ 0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002BF0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002C00: */ 0x59,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002C10: */ 0x6C,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002C20: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002C30: */ 0x59,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002C40: */ 0x3C,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002C50: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002C60: */ 0x59,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002C70: */ 0x0C,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002C80: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002C90: */ 0x59,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002CA0: */ 0xDC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002CB0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002CC0: */ 0x59,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002CD0: */ 0xAC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002CE0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002CF0: */ 0x59,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002D00: */ 0x7C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002D10: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002D20: */ 0x59,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002D30: */ 0x4C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002D40: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002D50: */ 0x59,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002D60: */ 0x1C,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002D70: */ 0x5E,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002D80: */ 0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002D90: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002DA0: */ 0x59,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002DB0: */ 0x6C,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002DC0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002DD0: */ 0x59,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002DE0: */ 0x3C,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002DF0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002E00: */ 0x59,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002E10: */ 0x0C,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002E20: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002E30: */ 0x59,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002E40: */ 0xDC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002E50: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002E60: */ 0x59,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002E70: */ 0xAC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002E80: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002E90: */ 0x59,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002EA0: */ 0x7C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002EB0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002EC0: */ 0x59,0x00,0x00,0x00,0x6F,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002ED0: */ 0x4C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002EE0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002EF0: */ 0x59,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002F00: */ 0x1C,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002F10: */ 0x68,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002F20: */ 0x80,0x2B,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xE0,0x2B,0x00,0x00,
+/* 0x00002F30: */ 0xF4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002F40: */ 0xE4,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002F50: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00002F60: */ 0x4C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x2F,0x00,0x00,0x70,0x2B,0x00,0x00,
+/* 0x00002F70: */ 0xD4,0x01,0x00,0x00,0x5B,0x00,0x00,0x00,0xD4,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002F80: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x2B,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00002F90: */ 0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x11,0x4C,0x6F,0x63,0x61,0x6C,0x73,0x20,
+/* 0x00002FA0: */ 0x74,0x75,0x72,0x6E,0x65,0x64,0x20,0x6F,0x66,0x66,0x5A,0x5A,0x28,0x00,0x00,0x00,
+/* 0x00002FB0: */ 0x70,0x2B,0x00,0x00,0xD4,0x01,0x00,0x00,0x5B,0x00,0x00,0x00,0xD4,0x01,0x00,0x00,
+/* 0x00002FC0: */ 0x00,0x00,0x00,0x00,0xD8,0x17,0x00,0x00,0x94,0x2F,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00002FD0: */ 0xBC,0x00,0x00,0x00,0xDC,0x00,0x00,0x00,0x70,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002FE0: */ 0x30,0x29,0x00,0x00,0x8C,0x02,0x00,0x00,0x88,0x0F,0x00,0x00,0x19,0x54,0x6F,0x6F,
+/* 0x00002FF0: */ 0x20,0x6D,0x61,0x6E,0x79,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x76,0x61,0x72,0x69,
+/* 0x00003000: */ 0x61,0x62,0x6C,0x65,0x73,0x21,0x5A,0x5A,0xAC,0x1E,0x00,0x00,0x70,0x2B,0x00,0x00,
+/* 0x00003010: */ 0x41,0x00,0x00,0x00,0x50,0x29,0x00,0x00,0x38,0x0E,0x00,0x00,0x70,0x2B,0x00,0x00,
+/* 0x00003020: */ 0x41,0x00,0x00,0x00,0x50,0x29,0x00,0x00,0x4D,0x00,0x00,0x00,0x68,0x02,0x00,0x00,
+/* 0x00003030: */ 0xBC,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x10,0x28,0x4C,0x4F,
+/* 0x00003040: */ 0x43,0x41,0x4C,0x29,0x20,0x2D,0x20,0x4E,0x6F,0x74,0x65,0x3A,0x20,0x5A,0x5A,0x5A,
+/* 0x00003050: */ 0x70,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,0x50,0x29,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00003060: */ 0xA3,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x22,0x20,0x72,0x65,0x64,0x65,0x66,0x69,
+/* 0x00003070: */ 0x6E,0x65,0x64,0x20,0x61,0x73,0x20,0x61,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x76,
+/* 0x00003080: */ 0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x20,0x69,0x6E,0x20,0x5A,0x50,0x01,0x00,0x00,
+/* 0x00003090: */ 0xE0,0x02,0x00,0x00,0x28,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x000030A0: */ 0x70,0x2B,0x00,0x00,0x7F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,
+/* 0x000030B0: */ 0x5C,0x02,0x00,0x00,0x70,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000030C0: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000030D0: */ 0xC0,0x0F,0x00,0x00,0x25,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x29,0x20,0x2D,0x20,0x57,
+/* 0x000030E0: */ 0x61,0x72,0x6E,0x69,0x6E,0x67,0x3A,0x20,0x6E,0x6F,0x20,0x6C,0x6F,0x63,0x61,0x6C,
+/* 0x000030F0: */ 0x73,0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x64,0x21,0x5A,0x5A,0x28,0x00,0x00,0x00,
+/* 0x00003100: */ 0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003110: */ 0x5C,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x20,0x2F,0x00,0x00,
+/* 0x00003120: */ 0x5B,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x00003130: */ 0x64,0x04,0x00,0x00,0x68,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x48,0x31,0x00,0x00,
+/* 0x00003140: */ 0x20,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00003150: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003160: */ 0x41,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00003170: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x00003180: */ 0x80,0x2B,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x80,0x2D,0x00,0x00,
+/* 0x00003190: */ 0x15,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000031A0: */ 0x01,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x000031B0: */ 0x26,0x54,0x4F,0x20,0x6F,0x72,0x20,0x2D,0x3E,0x20,0x62,0x65,0x66,0x6F,0x72,0x65,
+/* 0x000031C0: */ 0x20,0x6E,0x6F,0x6E,0x2D,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x6F,0x72,0x20,0x6E,0x6F,
+/* 0x000031D0: */ 0x6E,0x2D,0x76,0x61,0x6C,0x75,0x65,0x5A,0xAC,0x1E,0x00,0x00,0x04,0x05,0x00,0x00,
+/* 0x000031E0: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000031F0: */ 0x0E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x00003200: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003210: */ 0x78,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x00003220: */ 0x80,0x2B,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00003230: */ 0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x00003240: */ 0x15,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003250: */ 0x01,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x00003260: */ 0x21,0x2B,0x2D,0x3E,0x20,0x62,0x65,0x66,0x6F,0x72,0x65,0x20,0x6E,0x6F,0x6E,0x2D,
+/* 0x00003270: */ 0x6C,0x6F,0x63,0x61,0x6C,0x20,0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x2D,0x76,0x61,0x6C,
+/* 0x00003280: */ 0x75,0x65,0x5A,0x5A,0xAC,0x1E,0x00,0x00,0x04,0x05,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00003290: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,
+/* 0x000032A0: */ 0x59,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000032B0: */ 0x08,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x2F,0x00,0x00,
+/* 0x000032C0: */ 0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x2F,0x00,0x00,0x92,0x00,0x00,0x00,
+/* 0x000032D0: */ 0x00,0x00,0x00,0x00,0x48,0x2F,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000032E0: */ 0x4C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x2F,0x00,0x00,0x3C,0x07,0x00,0x00,
+/* 0x000032F0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003300: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003310: */ 0xFF,0xFF,0xFF,0xFF,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003320: */ 0xFF,0xFF,0xFF,0xFF,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003330: */ 0xFF,0xFF,0xFF,0xFF,0x24,0x33,0x00,0x00,0xD4,0x01,0x00,0x00,0x04,0x33,0x00,0x00,
+/* 0x00003340: */ 0xD4,0x01,0x00,0x00,0x14,0x33,0x00,0x00,0xD4,0x01,0x00,0x00,0x04,0x09,0x00,0x00,
+/* 0x00003350: */ 0xB8,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00,
+/* 0x00003360: */ 0xBC,0x00,0x00,0x00,0x5C,0x01,0x00,0x00,0x7B,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00003370: */ 0x59,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00003380: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x24,0x33,0x00,0x00,
+/* 0x00003390: */ 0xC0,0x01,0x00,0x00,0x5C,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x1C,0x01,0x00,0x00,
+/* 0x000033A0: */ 0x59,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000033B0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x04,0x33,0x00,0x00,
+/* 0x000033C0: */ 0xC0,0x01,0x00,0x00,0x5C,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,
+/* 0x000033D0: */ 0x59,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000033E0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x14,0x33,0x00,0x00,
+/* 0x000033F0: */ 0xC0,0x01,0x00,0x00,0x5C,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003400: */ 0x59,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00003410: */ 0xBC,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00003420: */ 0x12,0x7B,0x20,0x2E,0x2E,0x2E,0x20,0x29,0x20,0x69,0x6D,0x62,0x61,0x6C,0x61,0x6E,
+/* 0x00003430: */ 0x63,0x65,0x21,0x5A,0x28,0x00,0x00,0x00,0xC4,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00003440: */ 0x78,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00003450: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00003460: */ 0x9C,0x01,0x00,0x00,0x5C,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,
+/* 0x00003470: */ 0xA2,0x00,0x00,0x00,0x14,0x33,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003480: */ 0x10,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00003490: */ 0x04,0x33,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x000034A0: */ 0x59,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0x4C,0x05,0x00,0x00,0xCC,0x2F,0x00,0x00,
+/* 0x000034B0: */ 0x8E,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x48,0x00,0x00,0x00,
+/* 0x000034C0: */ 0x5C,0x02,0x00,0x00,0x84,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x000034D0: */ 0x2C,0x45,0x6E,0x64,0x20,0x6F,0x66,0x20,0x69,0x6E,0x70,0x75,0x74,0x20,0x77,0x68,
+/* 0x000034E0: */ 0x69,0x6C,0x65,0x20,0x64,0x65,0x66,0x69,0x6E,0x69,0x6E,0x67,0x20,0x6C,0x6F,0x63,
+/* 0x000034F0: */ 0x61,0x6C,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x73,0x21,0x5A,0x5A,0x5A,
+/* 0x00003500: */ 0xAC,0x1E,0x00,0x00,0x24,0x33,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003510: */ 0x3C,0xFE,0xFF,0xFF,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003520: */ 0x00,0x00,0x00,0x00,0xCC,0x2F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003530: */ 0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00003540: */ 0x5F,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00003550: */ 0xA1,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00003560: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00003570: */ 0x5F,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0x60,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,
+/* 0x00003580: */ 0x28,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00003590: */ 0x6B,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x000035A0: */ 0xF8,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000035B0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000035C0: */ 0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x000035D0: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x000035E0: */ 0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x34,0x08,0x00,0x00,0x6D,0x00,0x00,0x00,
+/* 0x000035F0: */ 0x6C,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x1C,0x08,0x00,0x00,0x6E,0x00,0x00,0x00,
+/* 0x00003600: */ 0x62,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x3A,0x00,0x00,0x00,
+/* 0x00003610: */ 0x70,0x00,0x00,0x00,0x6F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00003620: */ 0xBC,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00003630: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,
+/* 0x00003640: */ 0x6F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x65,0x00,0x00,0x00,
+/* 0x00003650: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x66,0x00,0x00,0x00,
+/* 0x00003660: */ 0xB0,0x02,0x00,0x00,0x70,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00003670: */ 0x66,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x00003680: */ 0x64,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x6F,0x00,0x00,0x00,
+/* 0x00003690: */ 0x15,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x000036A0: */ 0xBC,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x000036B0: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,
+/* 0x000036C0: */ 0x70,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x64,0x00,0x00,0x00,
+/* 0x000036D0: */ 0x65,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,0x6F,0x00,0x00,0x00,
+/* 0x000036E0: */ 0x66,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x000036F0: */ 0x65,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003700: */ 0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00003710: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00003720: */ 0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x34,0x08,0x00,0x00,0x6D,0x00,0x00,0x00,
+/* 0x00003730: */ 0x6C,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x1C,0x08,0x00,0x00,0x6E,0x00,0x00,0x00,
+/* 0x00003740: */ 0x62,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x3A,0x00,0x00,0x00,
+/* 0x00003750: */ 0x70,0x00,0x00,0x00,0x6F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00003760: */ 0xBC,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,
+/* 0x00003770: */ 0x6F,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003780: */ 0x10,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x00003790: */ 0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x000037A0: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,
+/* 0x000037B0: */ 0x70,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x000037C0: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x4C,0x08,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x000037D0: */ 0x00,0x37,0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0x37,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000037E0: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x000037F0: */ 0x00,0x37,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x37,0x00,0x00,0x68,0x02,0x00,0x00,
+/* 0x00003800: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003810: */ 0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,
+/* 0x00003820: */ 0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00003830: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xA0,0x04,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00003840: */ 0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xD0,0x04,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x00003850: */ 0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003860: */ 0x08,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,
+/* 0x00003870: */ 0x54,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003880: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003890: */ 0x00,0x00,0x00,0x00,0xE8,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000038A0: */ 0x32,0x00,0x00,0x00,0x88,0x38,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000038B0: */ 0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,
+/* 0x000038C0: */ 0x71,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000038D0: */ 0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,
+/* 0x000038E0: */ 0x12,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x72,0x00,0x00,0x00,
+/* 0x000038F0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003900: */ 0x74,0x0E,0x58,0x00,0xF4,0x38,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003910: */ 0xBD,0x7A,0x00,0x00,0xA1,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x1B,0x00,0x00,
+/* 0x00003920: */ 0x7D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x00003930: */ 0x35,0x00,0x00,0x00,0xF4,0x38,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003940: */ 0x04,0x39,0x00,0x00,0xA1,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,
+/* 0x00003950: */ 0xCC,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x02,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00003960: */ 0x40,0x39,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00003970: */ 0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00003980: */ 0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003990: */ 0x08,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x000039A0: */ 0x0C,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0xB4,0x39,0x00,0x00,0x20,0x07,0x00,0x00,
+/* 0x000039B0: */ 0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x000039C0: */ 0x9C,0x08,0x00,0x00,0x0C,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0xD8,0x39,0x00,0x00,
+/* 0x000039D0: */ 0x20,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x9C,0x08,0x00,0x00,
+/* 0x000039E0: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x48,0x1E,0x00,0x00,
+/* 0x000039F0: */ 0x0C,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x3A,0x00,0x00,0x20,0x07,0x00,0x00,
+/* 0x00003A00: */ 0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x48,0x1E,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00003A10: */ 0x00,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x34,0x03,0x00,0x00,
+/* 0x00003A20: */ 0x9C,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00003A30: */ 0x00,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xF8,0x02,0x00,0x00,
+/* 0x00003A40: */ 0x9C,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00003A50: */ 0x00,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x20,0x03,0x00,0x00,
+/* 0x00003A60: */ 0x9C,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00003A70: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00003A80: */ 0x11,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003A90: */ 0x00,0xFF,0xFF,0xFF,0x7A,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00003AA0: */ 0x59,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003AB0: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x00003AC0: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,
+/* 0x00003AD0: */ 0x7A,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003AE0: */ 0xFF,0xFF,0x00,0x00,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003AF0: */ 0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00003B00: */ 0x80,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00003B10: */ 0x5F,0x00,0x00,0x00,0x80,0x02,0x00,0x00,0x5F,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00003B20: */ 0x20,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00003B30: */ 0x60,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x80,0x02,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00003B40: */ 0x61,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00003B50: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00003B60: */ 0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00003B70: */ 0x1A,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00003B80: */ 0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00,
+/* 0x00003B90: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003BA0: */ 0x4C,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,
+/* 0x00003BB0: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003BC0: */ 0x14,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0x4C,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00003BD0: */ 0x08,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x00,0x00,0x00,
+/* 0x00003BE0: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003BF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x01,0x00,0x00,0xE8,0x3B,0x00,0x00,
+/* 0x00003C00: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00003C10: */ 0x00,0x00,0x00,0x00,0xC4,0x04,0x00,0x00,0x51,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00003C20: */ 0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x0C,0x43,0x6F,0x64,0x65,0x20,0x53,0x65,
+/* 0x00003C30: */ 0x67,0x6D,0x65,0x6E,0x74,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00003C40: */ 0x18,0x20,0x20,0x20,0x43,0x4F,0x44,0x45,0x42,0x41,0x53,0x45,0x20,0x20,0x20,0x20,
+/* 0x00003C50: */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,0xAC,0x04,0x00,0x00,
+/* 0x00003C60: */ 0x54,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,
+/* 0x00003C70: */ 0x48,0x45,0x52,0x45,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+/* 0x00003C80: */ 0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,0x51,0x00,0x00,0x00,0x54,0x3A,0x00,0x00,
+/* 0x00003C90: */ 0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x43,0x4F,0x44,0x45,
+/* 0x00003CA0: */ 0x4C,0x49,0x4D,0x49,0x54,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,
+/* 0x00003CB0: */ 0x20,0x5A,0x5A,0x5A,0xC4,0x04,0x00,0x00,0x54,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003CC0: */ 0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x43,0x6F,0x6D,0x70,0x69,0x6C,0x65,0x64,
+/* 0x00003CD0: */ 0x20,0x43,0x6F,0x64,0x65,0x20,0x53,0x69,0x7A,0x65,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003CE0: */ 0x51,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,
+/* 0x00003CF0: */ 0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x43,0x4F,0x44,0x45,
+/* 0x00003D00: */ 0x2D,0x53,0x49,0x5A,0x45,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,
+/* 0x00003D10: */ 0x20,0x5A,0x5A,0x5A,0x34,0x15,0x00,0x00,0x41,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,
+/* 0x00003D20: */ 0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x43,0x6F,0x64,0x65,
+/* 0x00003D30: */ 0x20,0x52,0x6F,0x6F,0x6D,0x20,0x55,0x4E,0x55,0x53,0x45,0x44,0x20,0x20,0x20,0x3D,
+/* 0x00003D40: */ 0x20,0x5A,0x5A,0x5A,0x14,0x3C,0x00,0x00,0xF8,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003D50: */ 0xC0,0x0F,0x00,0x00,0x0C,0x4E,0x61,0x6D,0x65,0x20,0x53,0x65,0x67,0x6D,0x65,0x6E,
+/* 0x00003D60: */ 0x74,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,
+/* 0x00003D70: */ 0x4E,0x41,0x4D,0x45,0x42,0x41,0x53,0x45,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+/* 0x00003D80: */ 0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,0xA0,0x04,0x00,0x00,0x54,0x3A,0x00,0x00,
+/* 0x00003D90: */ 0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x48,0x45,0x41,0x44,
+/* 0x00003DA0: */ 0x45,0x52,0x53,0x2D,0x50,0x54,0x52,0x20,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,
+/* 0x00003DB0: */ 0x20,0x5A,0x5A,0x5A,0xAD,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x54,0x3A,0x00,0x00,
+/* 0x00003DC0: */ 0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x4E,0x41,0x4D,0x45,
+/* 0x00003DD0: */ 0x4C,0x49,0x4D,0x49,0x54,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,
+/* 0x00003DE0: */ 0x20,0x5A,0x5A,0x5A,0xB8,0x04,0x00,0x00,0x54,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003DF0: */ 0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x43,0x4F,0x4E,0x54,0x45,0x58,0x54,0x20,
+/* 0x00003E00: */ 0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003E10: */ 0xA8,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x54,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003E20: */ 0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x4C,0x41,0x54,0x45,0x53,0x54,0x20,0x20,
+/* 0x00003E30: */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003E40: */ 0x50,0x01,0x00,0x00,0x54,0x3A,0x00,0x00,0xC0,0x0F,0x00,0x00,0x03,0x20,0x3D,0x20,
+/* 0x00003E50: */ 0x50,0x01,0x00,0x00,0xE0,0x02,0x00,0x00,0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00003E60: */ 0x18,0x20,0x20,0x20,0x43,0x6F,0x6D,0x70,0x69,0x6C,0x65,0x64,0x20,0x4E,0x61,0x6D,
+/* 0x00003E70: */ 0x65,0x20,0x73,0x69,0x7A,0x65,0x20,0x3D,0x20,0x5A,0x5A,0x5A,0xAD,0x00,0x00,0x00,
+/* 0x00003E80: */ 0x41,0x00,0x00,0x00,0xA0,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,
+/* 0x00003E90: */ 0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x48,0x45,0x41,0x44,
+/* 0x00003EA0: */ 0x45,0x52,0x53,0x2D,0x53,0x49,0x5A,0x45,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,
+/* 0x00003EB0: */ 0x20,0x5A,0x5A,0x5A,0x24,0x15,0x00,0x00,0x41,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,
+/* 0x00003EC0: */ 0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x4E,0x61,0x6D,0x65,
+/* 0x00003ED0: */ 0x20,0x52,0x6F,0x6F,0x6D,0x20,0x4C,0x65,0x66,0x74,0x20,0x20,0x20,0x20,0x20,0x3D,
+/* 0x00003EE0: */ 0x20,0x5A,0x5A,0x5A,0xB8,0x04,0x00,0x00,0xAD,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00003EF0: */ 0x75,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003F00: */ 0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003F10: */ 0x07,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,
+/* 0x00003F20: */ 0x60,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x00003F30: */ 0x20,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0xC4,0x00,0x00,0x00,
+/* 0x00003F40: */ 0x60,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00003F50: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,
+/* 0x00003F60: */ 0x6F,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003F70: */ 0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x53,0x00,0x00,0x00,
+/* 0x00003F80: */ 0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x53,0x00,0x00,0x00,
+/* 0x00003F90: */ 0x55,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00003FA0: */ 0x21,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00003FB0: */ 0x6F,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x00003FC0: */ 0xB8,0xFF,0xFF,0xFF,0x65,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,
+/* 0x00003FD0: */ 0x5F,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,
+/* 0x00003FE0: */ 0x60,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,
+/* 0x00003FF0: */ 0x57,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0x60,0xFF,0xFF,0xFF,
+/* 0x00004000: */ 0x63,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00004010: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004020: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x09,0x00,0x00,
+/* 0x00004030: */ 0xB8,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0x35,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004040: */ 0xB0,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,0x04,0x5B,0x49,0x46,
+/* 0x00004050: */ 0x5D,0x5A,0x5A,0x5A,0x1D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004060: */ 0x14,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00004070: */ 0x64,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,0x06,0x5B,0x45,0x4C,
+/* 0x00004080: */ 0x53,0x45,0x5D,0x5A,0x1D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004090: */ 0x24,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0x01,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000040A0: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000040B0: */ 0x24,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,0x06,0x5B,0x54,0x48,0x45,0x4E,0x5D,0x5A,
+/* 0x000040C0: */ 0x1D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x000040D0: */ 0x01,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000040E0: */ 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x40,0xFF,0xFF,0xFF,
+/* 0x000040F0: */ 0x5C,0x02,0x00,0x00,0x84,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004100: */ 0x2C,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00004110: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x24,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004120: */ 0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,
+/* 0x00004130: */ 0x9C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00004140: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004150: */ 0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00004160: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x2F,0x00,0x00,0x00,
+/* 0x00004170: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,
+/* 0x00004180: */ 0x00,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x4C,0x41,0x00,0x00,
+/* 0x00004190: */ 0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x000041A0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x000041B0: */ 0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000041C0: */ 0xA8,0x41,0x00,0x00,0x7D,0x00,0x00,0x00,0x4C,0x41,0x00,0x00,0xA8,0x41,0x00,0x00,
+/* 0x000041D0: */ 0x75,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000041E0: */ 0xB8,0x41,0x00,0x00,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x41,0x00,0x00,
+/* 0x000041F0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x0C,0x04,0x00,0x00,
+/* 0x00004200: */ 0x00,0x00,0x00,0x00,0xE0,0x41,0x00,0x00,0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004210: */ 0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x0C,0x04,0x00,0x00,0xD2,0x00,0x00,0x00,
+/* 0x00004220: */ 0x59,0x00,0x00,0x00,0x30,0x42,0x00,0x00,0x20,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004230: */ 0xDB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004240: */ 0x00,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004250: */ 0x80,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xDD,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x00004260: */ 0xF8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x4C,0x08,0x00,0x00,0xD1,0x00,0x00,0x00,
+/* 0x00004270: */ 0x00,0x00,0x00,0x00,0xDA,0x00,0x00,0x00,0x74,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004280: */ 0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00004290: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000042A0: */ 0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x000042B0: */ 0xE8,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x000042C0: */ 0x01,0x00,0x00,0x00,0x98,0x02,0x00,0x00,0x11,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x000042D0: */ 0x2F,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000042E0: */ 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000042F0: */ 0x00,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xF4,0xFF,0xFF,0xFF,0x99,0x00,0x00,0x00,
+/* 0x00004300: */ 0x69,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004310: */ 0x80,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004320: */ 0x71,0x00,0x00,0x00,0xF4,0xFF,0xFF,0xFF,0x99,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,
+/* 0x00004330: */ 0x5F,0x00,0x00,0x00,0xD2,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xD2,0x00,0x00,0x00,
+/* 0x00004340: */ 0x5F,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00004350: */ 0x1D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x00004360: */ 0x9C,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00004370: */ 0x10,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,
+/* 0x00004380: */ 0x8E,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDE,0x00,0x00,0x00,
+/* 0x00004390: */ 0xD7,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,
+/* 0x000043A0: */ 0xE8,0x00,0x00,0x00,0xE7,0x00,0x00,0x00,0xE7,0x00,0x00,0x00,0xD5,0x00,0x00,0x00,
+/* 0x000043B0: */ 0xEC,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,
+/* 0x000043C0: */ 0xEA,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0xD4,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,
+/* 0x000043D0: */ 0xEC,0x00,0x00,0x00,0xD3,0x00,0x00,0x00,0xD9,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000043E0: */ 0x3C,0x00,0x00,0x00,0xDE,0x00,0x00,0x00,0xD8,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000043F0: */ 0x14,0x00,0x00,0x00,0xDD,0x00,0x00,0x00,0x80,0x42,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00004400: */ 0x1C,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,0xD5,0x00,0x00,0x00,
+/* 0x00004410: */ 0xEC,0x00,0x00,0x00,0xEA,0x00,0x00,0x00,0xD9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004420: */ 0x5A,0x5A,0x5A,0x5A,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004430: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00004440: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00004450: */ 0xF4,0x08,0x00,0x00,0x6D,0x00,0x00,0x00,0x24,0x44,0x00,0x00,0xD2,0x00,0x00,0x00,
+/* 0x00004460: */ 0x24,0x44,0x00,0x00,0xDB,0x00,0x00,0x00,0xD7,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004470: */ 0x28,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x6C,0x00,0x00,0x00,0x24,0x44,0x00,0x00,
+/* 0x00004480: */ 0xDB,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x24,0x44,0x00,0x00,0xD2,0x00,0x00,0x00,
+/* 0x00004490: */ 0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000044A0: */ 0x6C,0x00,0x00,0x00,0x24,0x44,0x00,0x00,0xDB,0x00,0x00,0x00,0xD8,0x00,0x00,0x00,
+/* 0x000044B0: */ 0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x000044C0: */ 0x59,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000044D0: */ 0x00,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xDC,0x00,0x00,0x00,
+/* 0x000044E0: */ 0x24,0x44,0x00,0x00,0xDB,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0xDE,0x00,0x00,0x00,
+/* 0x000044F0: */ 0xD7,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00004500: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x68,0x42,0x00,0x00,0xD4,0x00,0x00,0x00,
+/* 0x00004510: */ 0x74,0x42,0x00,0x00,0x6B,0x00,0x00,0x00,0x24,0x44,0x00,0x00,0xDB,0x00,0x00,0x00,
+/* 0x00004520: */ 0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x68,0x42,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00004530: */ 0x61,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x68,0x42,0x00,0x00,0xEB,0x00,0x00,0x00,
+/* 0x00004540: */ 0xD3,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x68,0x42,0x00,0x00,
+/* 0x00004550: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x68,0x42,0x00,0x00,0xD6,0x00,0x00,0x00,
+/* 0x00004560: */ 0xD4,0x00,0x00,0x00,0xDA,0x00,0x00,0x00,0x54,0x1C,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00004570: */ 0x01,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00004580: */ 0x10,0x00,0x00,0x00,0x9C,0x1C,0x00,0x00,0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,
+/* 0x00004590: */ 0xE4,0x1C,0x00,0x00,0x64,0x1C,0x00,0x00,0x60,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000045A0: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000045B0: */ 0x60,0x00,0x00,0x00,0x54,0x3B,0x00,0x00,0x61,0x00,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x000045C0: */ 0x63,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x000045D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x000045E0: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0xCC,0x45,0x00,0x00,
+/* 0x000045F0: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDC,0x45,0x00,0x00,0x74,0x00,0x00,0x00,
+/* 0x00004600: */ 0xCC,0x45,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00004610: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00004620: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00004630: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00004640: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00004650: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004660: */ 0x00,0x00,0x00,0x00,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00004670: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00004680: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00004690: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000046A0: */ 0x5A,0x5A,0x5A,0x5A,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000046B0: */ 0x00,0x00,0x00,0x00,0xA4,0x46,0x00,0x00,0x41,0x00,0x00,0x00,0x58,0x46,0x00,0x00,
+/* 0x000046C0: */ 0x59,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000046D0: */ 0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xA4,0x46,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000046E0: */ 0x74,0x02,0x00,0x00,0x2B,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xA4,0x46,0x00,0x00,
+/* 0x000046F0: */ 0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00004700: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00004710: */ 0x60,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x00,0x00,0x00,
+/* 0x00004720: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00004730: */ 0x5F,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00004740: */ 0xB4,0x46,0x00,0x00,0x71,0x00,0x00,0x00,0xE8,0xFF,0xFF,0xFF,0x5D,0x00,0x00,0x00,
+/* 0x00004750: */ 0x00,0x00,0x00,0x00,0xA4,0x46,0x00,0x00,0x41,0x00,0x00,0x00,0x58,0x46,0x00,0x00,
+/* 0x00004760: */ 0x22,0x00,0x00,0x00,0xA4,0x46,0x00,0x00,0x41,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00004770: */ 0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00004780: */ 0x11,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,
+/* 0x00004790: */ 0xA4,0x46,0x00,0x00,0x7F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xB8,0xFF,0xFF,0xFF,
+/* 0x000047A0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x00,0x00,0x00,
+/* 0x000047B0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x000047C0: */ 0x59,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0xB4,0x46,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x000047D0: */ 0xF0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000047E0: */ 0x5C,0x00,0x00,0x00,0x2C,0x46,0x00,0x00,0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x000047F0: */ 0x74,0x00,0x00,0x00,0x04,0x47,0x00,0x00,0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00004800: */ 0x75,0x00,0x00,0x00,0xA4,0x47,0x00,0x00,0x59,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,
+/* 0x00004810: */ 0xB4,0x46,0x00,0x00,0x2C,0x46,0x00,0x00,0x5F,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00004820: */ 0x60,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004830: */ 0x00,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x04,0x47,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00004840: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x1C,0x08,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004850: */ 0x00,0x00,0x00,0x00,0x54,0x1C,0x00,0x00,0x9C,0x1C,0x00,0x00,0xE4,0x1C,0x00,0x00,
+/* 0x00004860: */ 0x88,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00004870: */ 0x59,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0x38,0x1C,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00004880: */ 0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x38,0x1C,0x00,0x00,
+/* 0x00004890: */ 0x64,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x46,0x00,0x00,
+/* 0x000048A0: */ 0xA4,0x46,0x00,0x00,0x9B,0x00,0x00,0x00,0x2C,0x46,0x00,0x00,0xEC,0x45,0x00,0x00,
+/* 0x000048B0: */ 0x38,0x44,0x00,0x00,0xBC,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000048C0: */ 0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0xB4,0x46,0x00,0x00,
+/* 0x000048D0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xEC,0x45,0x00,0x00,0xD8,0x47,0x00,0x00,
+/* 0x000048E0: */ 0x59,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0xB4,0x46,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x000048F0: */ 0x44,0x48,0x00,0x00,0x04,0x47,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00004900: */ 0x5C,0x02,0x00,0x00,0xA4,0x0F,0x00,0x00,0x11,0x3C,0x46,0x50,0x2D,0x4F,0x55,0x54,
+/* 0x00004910: */ 0x2D,0x4F,0x46,0x2D,0x52,0x41,0x4E,0x47,0x45,0x3E,0x5A,0x5A,0x04,0x47,0x00,0x00,
+/* 0x00004920: */ 0x58,0x46,0x00,0x00,0xA4,0x46,0x00,0x00,0x41,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00004930: */ 0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x48,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00004940: */ 0xCC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00004950: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x58,0x46,0x00,0x00,
+/* 0x00004960: */ 0xA4,0x46,0x00,0x00,0x9B,0x00,0x00,0x00,0x2C,0x46,0x00,0x00,0xEC,0x45,0x00,0x00,
+/* 0x00004970: */ 0x38,0x44,0x00,0x00,0xBC,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004980: */ 0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0xB4,0x46,0x00,0x00,
+/* 0x00004990: */ 0x69,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x4C,0x08,0x00,0x00,
+/* 0x000049A0: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xC0,0x35,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000049B0: */ 0x03,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000049C0: */ 0xEC,0x45,0x00,0x00,0xD8,0x47,0x00,0x00,0x59,0x00,0x00,0x00,0x65,0x00,0x00,0x00,
+/* 0x000049D0: */ 0xB4,0x46,0x00,0x00,0x60,0x00,0x00,0x00,0x44,0x48,0x00,0x00,0x04,0x47,0x00,0x00,
+/* 0x000049E0: */ 0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0xA4,0x0F,0x00,0x00,
+/* 0x000049F0: */ 0x11,0x3C,0x46,0x50,0x2D,0x4F,0x55,0x54,0x2D,0x4F,0x46,0x2D,0x52,0x41,0x4E,0x47,
+/* 0x00004A00: */ 0x45,0x3E,0x5A,0x5A,0x04,0x47,0x00,0x00,0x58,0x46,0x00,0x00,0xA4,0x46,0x00,0x00,
+/* 0x00004A10: */ 0x41,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00004A20: */ 0x00,0x00,0x00,0x00,0x48,0x49,0x00,0x00,0xA3,0x00,0x00,0x00,0xCC,0x0C,0x00,0x00,
+/* 0x00004A30: */ 0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00004A40: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x58,0x46,0x00,0x00,
+/* 0x00004A50: */ 0xA4,0x46,0x00,0x00,0x9B,0x00,0x00,0x00,0x2C,0x46,0x00,0x00,0xEC,0x45,0x00,0x00,
+/* 0x00004A60: */ 0x38,0x44,0x00,0x00,0xBC,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004A70: */ 0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0xB4,0x46,0x00,0x00,
+/* 0x00004A80: */ 0x35,0x00,0x00,0x00,0xEC,0x45,0x00,0x00,0x1F,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00004A90: */ 0x59,0x00,0x00,0x00,0xFD,0xFF,0xFF,0xFF,0x20,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00004AA0: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00004AB0: */ 0xEC,0x45,0x00,0x00,0xD8,0x47,0x00,0x00,0x54,0x47,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004AC0: */ 0x65,0x00,0x00,0x00,0xB4,0x46,0x00,0x00,0x01,0x00,0x00,0x00,0x44,0x48,0x00,0x00,
+/* 0x00004AD0: */ 0x04,0x47,0x00,0x00,0x15,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00004AE0: */ 0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xEC,0x45,0x00,0x00,
+/* 0x00004AF0: */ 0xD8,0x47,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,
+/* 0x00004B00: */ 0x02,0x30,0x2E,0x5A,0x04,0x47,0x00,0x00,0xB0,0x02,0x00,0x00,0xA4,0x47,0x00,0x00,
+/* 0x00004B10: */ 0x2C,0x46,0x00,0x00,0xEC,0x45,0x00,0x00,0x04,0x47,0x00,0x00,0x54,0x47,0x00,0x00,
+/* 0x00004B20: */ 0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0xA4,0x0F,0x00,0x00,
+/* 0x00004B30: */ 0x11,0x3C,0x46,0x50,0x2D,0x4F,0x55,0x54,0x2D,0x4F,0x46,0x2D,0x52,0x41,0x4E,0x47,
+/* 0x00004B40: */ 0x45,0x3E,0x5A,0x5A,0x04,0x47,0x00,0x00,0x58,0x46,0x00,0x00,0xA4,0x46,0x00,0x00,
+/* 0x00004B50: */ 0x41,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00004B60: */ 0x00,0x00,0x00,0x00,0x34,0x4A,0x00,0x00,0xA3,0x00,0x00,0x00,0xCC,0x0C,0x00,0x00,
+/* 0x00004B70: */ 0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00004B80: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00004B90: */ 0x58,0x46,0x00,0x00,0xA4,0x46,0x00,0x00,0x9B,0x00,0x00,0x00,0x2C,0x46,0x00,0x00,
+/* 0x00004BA0: */ 0xDE,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00004BB0: */ 0x68,0x42,0x00,0x00,0xD4,0x00,0x00,0x00,0x74,0x42,0x00,0x00,0xEC,0x45,0x00,0x00,
+/* 0x00004BC0: */ 0x73,0x00,0x00,0x00,0xDC,0x45,0x00,0x00,0x74,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00004BD0: */ 0x6C,0x00,0x00,0x00,0x38,0x44,0x00,0x00,0xBC,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004BE0: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,
+/* 0x00004BF0: */ 0xB4,0x46,0x00,0x00,0x35,0x00,0x00,0x00,0xDC,0x45,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00004C00: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00004C10: */ 0xEC,0x45,0x00,0x00,0xD8,0x47,0x00,0x00,0x54,0x47,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004C20: */ 0x65,0x00,0x00,0x00,0xB4,0x46,0x00,0x00,0x01,0x00,0x00,0x00,0x44,0x48,0x00,0x00,
+/* 0x00004C30: */ 0x04,0x47,0x00,0x00,0x15,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00004C40: */ 0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x00004C50: */ 0xD8,0x47,0x00,0x00,0x15,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,
+/* 0x00004C60: */ 0x02,0x30,0x2E,0x5A,0x04,0x47,0x00,0x00,0x35,0x00,0x00,0x00,0xB0,0x02,0x00,0x00,
+/* 0x00004C70: */ 0xEC,0x45,0x00,0x00,0x74,0x00,0x00,0x00,0xA4,0x47,0x00,0x00,0x2C,0x46,0x00,0x00,
+/* 0x00004C80: */ 0xEC,0x45,0x00,0x00,0x88,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x04,0x47,0x00,0x00,
+/* 0x00004C90: */ 0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0xA4,0x0F,0x00,0x00,
+/* 0x00004CA0: */ 0x11,0x3C,0x46,0x50,0x2D,0x4F,0x55,0x54,0x2D,0x4F,0x46,0x2D,0x52,0x41,0x4E,0x47,
+/* 0x00004CB0: */ 0x45,0x3E,0x5A,0x5A,0x04,0x47,0x00,0x00,0x58,0x46,0x00,0x00,0xA4,0x46,0x00,0x00,
+/* 0x00004CC0: */ 0x41,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00004CD0: */ 0x00,0x00,0x00,0x00,0x74,0x4B,0x00,0x00,0xA3,0x00,0x00,0x00,0xCC,0x0C,0x00,0x00,
+/* 0x00004CE0: */ 0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x04,0x46,0x50,0x3E,0x20,0x5A,0x5A,0x5A,
+/* 0x00004CF0: */ 0xDC,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x44,0x00,0x00,0x00,
+/* 0x00004D00: */ 0xDC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00004D10: */ 0x94,0x1F,0x00,0x00,0xDC,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00004D20: */ 0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0xD4,0x4C,0x00,0x00,0x94,0x1F,0x00,0x00,
+/* 0x00004D30: */ 0x71,0x00,0x00,0x00,0xDC,0xFF,0xFF,0xFF,0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00004D40: */ 0xC0,0x0F,0x00,0x00,0x05,0x65,0x6D,0x70,0x74,0x79,0x5A,0x5A,0x28,0x00,0x00,0x00,
+/* 0x00004D50: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004D60: */ 0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00004D70: */ 0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004D80: */ 0x08,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00004D90: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004DA0: */ 0x68,0x42,0x00,0x00,0xF4,0x08,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004DB0: */ 0xE4,0x08,0x00,0x00,0x6F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004DC0: */ 0x70,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004DD0: */ 0x2D,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,
+/* 0x00004DE0: */ 0x5F,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x00004DF0: */ 0x1E,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00004E00: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00004E10: */ 0x67,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00004E20: */ 0x67,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004E30: */ 0x00,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x38,0x1A,0x00,0x00,
+/* 0x00004E40: */ 0x6D,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,
+/* 0x00004E50: */ 0x63,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x54,0x01,0x00,0x00,
+/* 0x00004E60: */ 0x5F,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,
+/* 0x00004E70: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00004E80: */ 0x62,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x63,0x00,0x00,0x00,
+/* 0x00004E90: */ 0x01,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x38,0x1A,0x00,0x00,
+/* 0x00004EA0: */ 0x35,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x00004EB0: */ 0x6D,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,
+/* 0x00004EC0: */ 0x63,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0xD4,0x00,0x00,0x00,
+/* 0x00004ED0: */ 0x5F,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x45,0x00,0x00,0x00,
+/* 0x00004EE0: */ 0x1E,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004EF0: */ 0x65,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004F00: */ 0x98,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004F10: */ 0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004F20: */ 0x05,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00004F30: */ 0x59,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004F40: */ 0x28,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004F50: */ 0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004F60: */ 0x05,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x63,0x00,0x00,0x00,
+/* 0x00004F70: */ 0x28,0x1B,0x00,0x00,0x08,0x1B,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004F80: */ 0x18,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x00004F90: */ 0xF4,0x08,0x00,0x00,0x6F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00004FA0: */ 0x54,0x4D,0x00,0x00,0x41,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,0x6F,0x00,0x00,0x00,
+/* 0x00004FB0: */ 0x65,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00004FC0: */ 0x62,0x00,0x00,0x00,0xD1,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,
+/* 0x00004FD0: */ 0x68,0x42,0x00,0x00,0x66,0x00,0x00,0x00,0x68,0x42,0x00,0x00,0xEB,0x00,0x00,0x00,
+/* 0x00004FE0: */ 0xD3,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00004FF0: */ 0xE6,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005000: */ 0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00005010: */ 0x35,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0x64,0x4D,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005020: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005030: */ 0x08,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,
+/* 0x00005040: */ 0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005050: */ 0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x48,0x50,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005060: */ 0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x3C,0x50,0x00,0x00,
+/* 0x00005070: */ 0xD0,0x0D,0x00,0x00,0x59,0x00,0x00,0x00,0x1C,0x01,0x00,0x00,0x88,0x0D,0x00,0x00,
+/* 0x00005080: */ 0x48,0x50,0x00,0x00,0xD4,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x50,0x00,0x00,
+/* 0x00005090: */ 0x59,0x00,0x00,0x00,0x1C,0x01,0x00,0x00,0xD0,0x0D,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000050A0: */ 0x3C,0x50,0x00,0x00,0x88,0x0D,0x00,0x00,0x59,0x00,0x00,0x00,0x10,0x50,0x00,0x00,
+/* 0x000050B0: */ 0x59,0x00,0x00,0x00,0x1C,0x01,0x00,0x00,0x88,0x0D,0x00,0x00,0x48,0x50,0x00,0x00,
+/* 0x000050C0: */ 0xC0,0x01,0x00,0x00,0xC0,0x0F,0x00,0x00,0x2C,0x46,0x6C,0x6F,0x61,0x74,0x69,0x6E,
+/* 0x000050D0: */ 0x67,0x20,0x70,0x6F,0x69,0x6E,0x74,0x20,0x6E,0x75,0x6D,0x65,0x72,0x69,0x63,0x20,
+/* 0x000050E0: */ 0x63,0x6F,0x6E,0x76,0x65,0x72,0x73,0x69,0x6F,0x6E,0x20,0x69,0x6E,0x73,0x74,0x61,
+/* 0x000050F0: */ 0x6C,0x6C,0x65,0x64,0x2E,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005100: */ 0xC4,0x2F,0x00,0x00,0x58,0x50,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005110: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00005120: */ 0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00005130: */ 0x04,0x05,0x00,0x00,0xF4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00005140: */ 0xE4,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005150: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005160: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00005170: */ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00005180: */ 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00005190: */ 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000051A0: */ 0x64,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x51,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000051B0: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000051C0: */ 0x35,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x1C,0x08,0x00,0x00,0x58,0x51,0x00,0x00,
+/* 0x000051D0: */ 0x41,0x00,0x00,0x00,0x74,0x02,0x00,0x00,0x41,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000051E0: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x000051F0: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xD8,0x03,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005200: */ 0x24,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00005210: */ 0x11,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00005220: */ 0xC0,0x03,0x00,0x00,0x9C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00005230: */ 0x88,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xA0,0x51,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00005240: */ 0xB8,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x51,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005250: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x52,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00005260: */ 0x58,0x51,0x00,0x00,0x41,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005270: */ 0x48,0x52,0x00,0x00,0x1E,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x00005280: */ 0x32,0x7D,0x55,0x4E,0x49,0x4F,0x4E,0x20,0x2D,0x20,0x54,0x77,0x6F,0x20,0x70,0x61,
+/* 0x00005290: */ 0x72,0x74,0x73,0x20,0x6F,0x66,0x20,0x55,0x4E,0x49,0x4F,0x4E,0x20,0x61,0x72,0x65,
+/* 0x000052A0: */ 0x20,0x6E,0x6F,0x74,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x65,0x20,0x73,0x69,
+/* 0x000052B0: */ 0x7A,0x65,0x21,0x5A,0xAC,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x000052C0: */ 0xC0,0x51,0x00,0x00,0x68,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0xD8,0x52,0x00,0x00,
+/* 0x000052D0: */ 0x20,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x51,0x00,0x00,0x54,0x38,0x00,0x00,
+/* 0x000052E0: */ 0x00,0x00,0x00,0x00,0x18,0x51,0x00,0x00,0xA8,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000052F0: */ 0x44,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00005300: */ 0xC0,0x0F,0x00,0x00,0x06,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x5A,0xF4,0x08,0x00,0x00,
+/* 0x00005310: */ 0x88,0x0F,0x00,0x00,0x1B,0x4F,0x42,0x2E,0x46,0x49,0x4E,0x44,0x49,0x54,0x20,0x2D,
+/* 0x00005320: */ 0x20,0x57,0x6F,0x72,0x64,0x20,0x6E,0x6F,0x74,0x20,0x66,0x6F,0x75,0x6E,0x64,0x21,
+/* 0x00005330: */ 0xAC,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x98,0x51,0x00,0x00,
+/* 0x00005340: */ 0x9C,0x00,0x00,0x00,0xA8,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x52,0x00,0x00,
+/* 0x00005350: */ 0x38,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x52,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005360: */ 0x54,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x51,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005370: */ 0x78,0x51,0x00,0x00,0x1E,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x00005380: */ 0x2A,0x42,0x59,0x54,0x45,0x53,0x20,0x2D,0x20,0x4F,0x6E,0x6C,0x79,0x20,0x76,0x61,
+/* 0x00005390: */ 0x6C,0x69,0x64,0x20,0x69,0x6E,0x20,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,0x20,0x64,
+/* 0x000053A0: */ 0x65,0x66,0x69,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x73,0x2E,0x5A,0xAC,0x1E,0x00,0x00,
+/* 0x000053B0: */ 0xBC,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x68,0x53,0x00,0x00,
+/* 0x000053C0: */ 0x00,0x00,0x00,0x00,0xDC,0x07,0x00,0x00,0x68,0x53,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000053D0: */ 0xE8,0x01,0x00,0x00,0x68,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000053E0: */ 0x01,0x00,0x00,0x00,0x68,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000053F0: */ 0x02,0x00,0x00,0x00,0x68,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0x53,0x00,0x00,
+/* 0x00005400: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x68,0x53,0x00,0x00,
+/* 0x00005410: */ 0x00,0x00,0x00,0x00,0xD0,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x53,0x00,0x00,
+/* 0x00005420: */ 0x68,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005430: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005440: */ 0xC0,0x03,0x00,0x00,0x51,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00005450: */ 0x0C,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,
+/* 0x00005460: */ 0x00,0x00,0x00,0x00,0x48,0x51,0x00,0x00,0x41,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x00005470: */ 0x30,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,0x20,0x2D,0x20,0x50,0x72,0x65,0x76,0x69,
+/* 0x00005480: */ 0x6F,0x75,0x73,0x20,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,0x20,0x6F,0x72,0x20,0x3A,
+/* 0x00005490: */ 0x43,0x4C,0x41,0x53,0x53,0x20,0x75,0x6E,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,
+/* 0x000054A0: */ 0x21,0x5A,0x5A,0x5A,0x58,0x1E,0x00,0x00,0x78,0x51,0x00,0x00,0x48,0x51,0x00,0x00,
+/* 0x000054B0: */ 0x9B,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x58,0x51,0x00,0x00,
+/* 0x000054C0: */ 0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x04,0x00,0x00,
+/* 0x000054D0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x04,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000054E0: */ 0xEC,0x54,0x00,0x00,0x20,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x54,0x00,0x00,
+/* 0x000054F0: */ 0x00,0x00,0x00,0x00,0x48,0x51,0x00,0x00,0x41,0x00,0x00,0x00,0x78,0x51,0x00,0x00,
+/* 0x00005500: */ 0x1E,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,0x88,0x0F,0x00,0x00,0x20,0x3B,0x53,0x54,
+/* 0x00005510: */ 0x52,0x55,0x43,0x54,0x20,0x2D,0x20,0x4D,0x69,0x73,0x73,0x69,0x6E,0x67,0x20,0x3A,
+/* 0x00005520: */ 0x53,0x54,0x52,0x55,0x43,0x54,0x20,0x61,0x62,0x6F,0x76,0x65,0x21,0x5A,0x5A,0x5A,
+/* 0x00005530: */ 0xAC,0x1E,0x00,0x00,0xE4,0x08,0x00,0x00,0x48,0x51,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00005540: */ 0x50,0x01,0x00,0x00,0x58,0x51,0x00,0x00,0x41,0x00,0x00,0x00,0x14,0x05,0x00,0x00,
+/* 0x00005550: */ 0x6C,0x21,0x00,0x00,0x75,0x00,0x00,0x00,0x58,0x51,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005560: */ 0xF4,0x01,0x00,0x00,0x9B,0x00,0x00,0x00,0x58,0x51,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005570: */ 0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00005580: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x53,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00005590: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x000055A0: */ 0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x000055B0: */ 0x59,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000055C0: */ 0x08,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000055D0: */ 0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xBA,0x00,0x00,0x00,
+/* 0x000055E0: */ 0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000055F0: */ 0x7D,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x14,0x09,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00005600: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x00005610: */ 0xE8,0x01,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005620: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xE4,0x55,0x00,0x00,
+/* 0x00005630: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005640: */ 0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005650: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xD8,0x55,0x00,0x00,
+/* 0x00005660: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005670: */ 0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005680: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xCC,0x55,0x00,0x00,
+/* 0x00005690: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000056A0: */ 0xFC,0xFF,0xFF,0xFF,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000056B0: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xF0,0x55,0x00,0x00,
+/* 0x000056C0: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0xDC,0x07,0x00,0x00,
+/* 0x000056D0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000056E0: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xD8,0x55,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x000056F0: */ 0x15,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00005700: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00005710: */ 0x59,0x00,0x00,0x00,0xCC,0x55,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005720: */ 0x28,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,0x88,0x0F,0x00,0x00,0x12,0x73,0x21,0x20,
+/* 0x00005730: */ 0x2D,0x20,0x69,0x6C,0x6C,0x65,0x67,0x61,0x6C,0x20,0x73,0x69,0x7A,0x65,0x21,0x5A,
+/* 0x00005740: */ 0xAC,0x1E,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x00005750: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00005760: */ 0x33,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,
+/* 0x00005770: */ 0x59,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00005780: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00005790: */ 0x14,0x09,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000057A0: */ 0x7C,0x00,0x00,0x00,0x1C,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000057B0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000057C0: */ 0x33,0x00,0x00,0x00,0xBA,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x50,0x00,0x00,0x00,
+/* 0x000057D0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000057E0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x000057F0: */ 0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x00005800: */ 0x12,0x73,0x21,0x20,0x2D,0x20,0x69,0x6C,0x6C,0x65,0x67,0x61,0x6C,0x20,0x73,0x69,
+/* 0x00005810: */ 0x7A,0x65,0x21,0x5A,0xAC,0x1E,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005820: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00005830: */ 0x08,0x56,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00005840: */ 0x7D,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x4C,0x57,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005850: */ 0x4C,0x53,0x00,0x00,0x20,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x00005860: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00005870: */ 0x33,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xF4,0x00,0x00,0x00,
+/* 0x00005880: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00005890: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,
+/* 0x000058A0: */ 0x15,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x000058B0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000058C0: */ 0x33,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,
+/* 0x000058D0: */ 0x59,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000058E0: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000058F0: */ 0x28,0x09,0x00,0x00,0x15,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xDC,0x07,0x00,0x00,
+/* 0x00005900: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00005910: */ 0x33,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0xB0,0x3A,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005920: */ 0x50,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00005930: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00005940: */ 0x74,0x3A,0x00,0x00,0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,
+/* 0x00005950: */ 0x88,0x0F,0x00,0x00,0x12,0x73,0x40,0x20,0x2D,0x20,0x69,0x6C,0x6C,0x65,0x67,0x61,
+/* 0x00005960: */ 0x6C,0x20,0x73,0x69,0x7A,0x65,0x21,0x5A,0xAC,0x1E,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00005970: */ 0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005980: */ 0x7D,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00005990: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000059A0: */ 0x28,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x000059B0: */ 0x74,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,
+/* 0x000059C0: */ 0xB0,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x000059D0: */ 0xE8,0x01,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000059E0: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x8C,0x59,0x00,0x00,
+/* 0x000059F0: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005A00: */ 0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005A10: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x80,0x59,0x00,0x00,
+/* 0x00005A20: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005A30: */ 0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005A40: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x74,0x59,0x00,0x00,
+/* 0x00005A50: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005A60: */ 0xFC,0xFF,0xFF,0xFF,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005A70: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x98,0x59,0x00,0x00,
+/* 0x00005A80: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0xDC,0x07,0x00,0x00,
+/* 0x00005A90: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00005AA0: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xB8,0x59,0x00,0x00,0x4C,0x05,0x00,0x00,
+/* 0x00005AB0: */ 0x15,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00005AC0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00005AD0: */ 0x59,0x00,0x00,0x00,0xA8,0x59,0x00,0x00,0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005AE0: */ 0x28,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,0x88,0x0F,0x00,0x00,0x12,0x73,0x40,0x20,
+/* 0x00005AF0: */ 0x2D,0x20,0x69,0x6C,0x6C,0x65,0x67,0x61,0x6C,0x20,0x73,0x69,0x7A,0x65,0x21,0x5A,
+/* 0x00005B00: */ 0xAC,0x1E,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00005B10: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xC8,0x59,0x00,0x00,
+/* 0x00005B20: */ 0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00005B30: */ 0x8E,0x00,0x00,0x00,0x5C,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x53,0x00,0x00,
+/* 0x00005B40: */ 0x0C,0x5B,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00005B50: */ 0xE2,0x00,0x00,0x00,0x68,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00005B60: */ 0xD2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xDB,0x00,0x00,0x00,
+/* 0x00005B70: */ 0x00,0x00,0x00,0x00,0x4C,0x53,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00005B80: */ 0xE2,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,0x13,0x46,0x53,0x40,
+/* 0x00005B90: */ 0x20,0x77,0x69,0x74,0x68,0x20,0x6E,0x6F,0x6E,0x2D,0x66,0x6C,0x6F,0x61,0x74,0x21,
+/* 0x00005BA0: */ 0xAC,0x1E,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005BB0: */ 0x1C,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x5C,0x5B,0x00,0x00,
+/* 0x00005BC0: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x5C,0x5B,0x00,0x00,
+/* 0x00005BD0: */ 0x00,0x00,0x00,0x00,0x4C,0x53,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00005BE0: */ 0xE2,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,0x13,0x46,0x53,0x40,
+/* 0x00005BF0: */ 0x20,0x77,0x69,0x74,0x68,0x20,0x6E,0x6F,0x6E,0x2D,0x66,0x6C,0x6F,0x61,0x74,0x21,
+/* 0x00005C00: */ 0xAC,0x1E,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005C10: */ 0x1C,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x68,0x5B,0x00,0x00,
+/* 0x00005C20: */ 0x4C,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x68,0x5B,0x00,0x00,
+/* 0x00005C30: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005C40: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005C50: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005C60: */ 0x58,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00005C70: */ 0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x44,0x5C,0x00,0x00,
+/* 0x00005C80: */ 0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x54,0x5C,0x00,0x00,
+/* 0x00005C90: */ 0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005CA0: */ 0x01,0x00,0x00,0x00,0x54,0x5C,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005CB0: */ 0x44,0x5C,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00005CC0: */ 0xCC,0x07,0x00,0x00,0x54,0x5C,0x00,0x00,0x7F,0x00,0x00,0x00,0x54,0x5C,0x00,0x00,
+/* 0x00005CD0: */ 0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x02,0x00,0x00,
+/* 0x00005CE0: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xC8,0x32,0x00,0x00,0x44,0x5C,0x00,0x00,
+/* 0x00005CF0: */ 0x41,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x44,0x5C,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005D00: */ 0xDC,0x04,0x00,0x00,0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005D10: */ 0x00,0x00,0x00,0x00,0x44,0x5C,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005D20: */ 0x64,0x5C,0x00,0x00,0x5C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x5C,0x00,0x00,
+/* 0x00005D30: */ 0x34,0x0B,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x5C,0x00,0x00,0x58,0x0B,0x00,0x00,
+/* 0x00005D40: */ 0x00,0x00,0x00,0x00,0x64,0x5C,0x00,0x00,0x88,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005D50: */ 0x78,0x06,0x00,0x00,0xB0,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x07,0x00,0x00,
+/* 0x00005D60: */ 0xB0,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0xB4,0x06,0x00,0x00,0xB0,0x5C,0x00,0x00,
+/* 0x00005D70: */ 0x00,0x00,0x00,0x00,0x78,0x0C,0x00,0x00,0xB0,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005D80: */ 0x90,0x0C,0x00,0x00,0xB0,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00005D90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00005DA0: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005DB0: */ 0x04,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00005DC0: */ 0x5F,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00005DD0: */ 0x60,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x72,0x00,0x00,0x00,
+/* 0x00005DE0: */ 0x7A,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xD4,0xFF,0xFF,0xFF,
+/* 0x00005DF0: */ 0x60,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00005E00: */ 0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005E10: */ 0x05,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E20: */ 0x6A,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,
+/* 0x00005E30: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00005E40: */ 0x6D,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00005E50: */ 0x5F,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0xE4,0x00,0x00,0x00,
+/* 0x00005E60: */ 0x5F,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x9C,0x5D,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005E70: */ 0x3A,0x3A,0x3A,0x3A,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005E80: */ 0x74,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00005E90: */ 0xBC,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00005EA0: */ 0x59,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005EB0: */ 0x04,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005EC0: */ 0x04,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,
+/* 0x00005ED0: */ 0x6B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,
+/* 0x00005EE0: */ 0x60,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005EF0: */ 0x48,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x3B,0x3B,0x3B,0x3B,0x7B,0x00,0x00,0x00,
+/* 0x00005F00: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00005F10: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00005F20: */ 0x6A,0x00,0x00,0x00,0xF4,0x08,0x00,0x00,0x6C,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005F30: */ 0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x44,0x00,0x00,0x00,
+/* 0x00005F40: */ 0xF4,0x08,0x00,0x00,0x6B,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005F50: */ 0x1C,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,0x08,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,
+/* 0x00005F60: */ 0x64,0x5A,0x5A,0x5A,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x00005F70: */ 0x0A,0x27,0x43,0x27,0x20,0x6B,0x65,0x72,0x6E,0x65,0x6C,0x5A,0xAC,0x01,0x00,0x00,
+/* 0x00005F80: */ 0x61,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0xBC,0xFE,0xFF,0xFF,0x5D,0x00,0x00,0x00,
+/* 0x00005F90: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00005FA0: */ 0xA8,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00005FB0: */ 0xA8,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x4E,0x00,0x00,0x00,
+/* 0x00005FC0: */ 0x8E,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00005FD0: */ 0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00005FE0: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005FF0: */ 0x00,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x00006000: */ 0x69,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x4E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006010: */ 0xA4,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00006020: */ 0xC0,0x0F,0x00,0x00,0x06,0x20,0x66,0x72,0x6F,0x6D,0x3A,0x5A,0x28,0x00,0x00,0x00,
+/* 0x00006030: */ 0x6A,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xFC,0x5D,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00006040: */ 0x77,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x08,0x1E,0x00,0x00,
+/* 0x00006050: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xD8,0x0C,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00006060: */ 0x28,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00006070: */ 0x6A,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00006080: */ 0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x94,0x5F,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00006090: */ 0x6A,0x00,0x00,0x00,0xA8,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x000060A0: */ 0xF4,0x08,0x00,0x00,0xBC,0x00,0x00,0x00,0x8C,0xFF,0xFF,0xFF,0x15,0x00,0x00,0x00,
+/* 0x000060B0: */ 0x20,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x000060C0: */ 0x0B,0x20,0x6E,0x6F,0x74,0x20,0x66,0x6F,0x75,0x6E,0x64,0x21,0x28,0x00,0x00,0x00,
+/* 0x000060D0: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000060E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x21,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000060F0: */ 0x18,0x00,0x00,0x00,0x5C,0x01,0x00,0x00,0x11,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006100: */ 0x14,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x09,0x50,0x4F,0x53,0x54,0x50,0x4F,0x4E,
+/* 0x00006110: */ 0x45,0x20,0x5A,0x5A,0xE0,0x02,0x00,0x00,0xCC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006120: */ 0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006130: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00006140: */ 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x48,0x31,0x00,0x00,
+/* 0x00006150: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x48,0x31,0x00,0x00,
+/* 0x00006160: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x48,0x31,0x00,0x00,
+/* 0x00006170: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x61,0x00,0x00,
+/* 0x00006180: */ 0x41,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00006190: */ 0x73,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,
+/* 0x000061A0: */ 0x00,0x00,0x00,0x00,0x34,0x0D,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,
+/* 0x000061B0: */ 0x41,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x02,0x28,0x20,0x5A,0x54,0x3A,0x00,0x00,
+/* 0x000061C0: */ 0xC0,0x0F,0x00,0x00,0x01,0x29,0x5A,0x5A,0x78,0x61,0x00,0x00,0xD8,0x0C,0x00,0x00,
+/* 0x000061D0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x74,0x61,0x00,0x00,
+/* 0x000061E0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x74,0x61,0x00,0x00,
+/* 0x000061F0: */ 0x41,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00006200: */ 0xA4,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x74,0x61,0x00,0x00,
+/* 0x00006210: */ 0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00006220: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xE8,0x61,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006230: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x74,0x61,0x00,0x00,
+/* 0x00006240: */ 0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x61,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006250: */ 0x64,0x61,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006260: */ 0x64,0x61,0x00,0x00,0x41,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006270: */ 0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,0x41,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006280: */ 0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00006290: */ 0x00,0x00,0x00,0x00,0x5C,0x62,0x00,0x00,0xF8,0x1D,0x00,0x00,0x48,0x62,0x00,0x00,
+/* 0x000062A0: */ 0x30,0x62,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,
+/* 0x000062B0: */ 0x41,0x00,0x00,0x00,0xDB,0x00,0x00,0x00,0xD4,0x4C,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000062C0: */ 0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,
+/* 0x000062D0: */ 0x7F,0x00,0x00,0x00,0x30,0x62,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x62,0x00,0x00,
+/* 0x000062E0: */ 0x6C,0x21,0x00,0x00,0xE0,0x02,0x00,0x00,0xCC,0x0C,0x00,0x00,0x48,0x62,0x00,0x00,
+/* 0x000062F0: */ 0x30,0x62,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,
+/* 0x00006300: */ 0x41,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0x03,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00006310: */ 0xD8,0x03,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00006320: */ 0xA3,0x00,0x00,0x00,0x30,0x62,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x62,0x00,0x00,
+/* 0x00006330: */ 0x54,0x3A,0x00,0x00,0x48,0x62,0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,
+/* 0x00006340: */ 0x0F,0x00,0x00,0x00,0x54,0x61,0x00,0x00,0x7F,0x00,0x00,0x00,0xE8,0x61,0x00,0x00,
+/* 0x00006350: */ 0x5C,0x62,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x34,0x00,0x00,0x00,
+/* 0x00006360: */ 0xC0,0x0F,0x00,0x00,0x05,0x45,0x4C,0x53,0x45,0x20,0x5A,0x5A,0x70,0x62,0x00,0x00,
+/* 0x00006370: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x61,0x00,0x00,
+/* 0x00006380: */ 0x7F,0x00,0x00,0x00,0x68,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00006390: */ 0xC0,0x0F,0x00,0x00,0x07,0x52,0x45,0x50,0x45,0x41,0x54,0x20,0x70,0x62,0x00,0x00,
+/* 0x000063A0: */ 0x54,0x3A,0x00,0x00,0x33,0x00,0x00,0x00,0x48,0x62,0x00,0x00,0xA4,0x61,0x00,0x00,
+/* 0x000063B0: */ 0x00,0x00,0x00,0x00,0xE8,0x61,0x00,0x00,0x5C,0x62,0x00,0x00,0x25,0x00,0x00,0x00,
+/* 0x000063C0: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x0C,0x49,0x46,0x20,
+/* 0x000063D0: */ 0x6F,0x72,0x20,0x57,0x48,0x49,0x4C,0x45,0x20,0x5A,0x5A,0x5A,0x70,0x62,0x00,0x00,
+/* 0x000063E0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x61,0x00,0x00,
+/* 0x000063F0: */ 0x7F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00006400: */ 0x07,0x55,0x4E,0x54,0x49,0x4C,0x3D,0x3E,0x70,0x62,0x00,0x00,0x54,0x3A,0x00,0x00,
+/* 0x00006410: */ 0x48,0x62,0x00,0x00,0xA4,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006420: */ 0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006430: */ 0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006440: */ 0x5C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x61,0x00,0x00,
+/* 0x00006450: */ 0x41,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00006460: */ 0xC0,0x0F,0x00,0x00,0x05,0x45,0x58,0x49,0x54,0x20,0x5A,0x5A,0x30,0x62,0x00,0x00,
+/* 0x00006470: */ 0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x01,0x3B,0x5A,0x5A,
+/* 0x00006480: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,
+/* 0x00006490: */ 0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xB8,0x02,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000064A0: */ 0x59,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000064B0: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x94,0x62,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000064C0: */ 0x90,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000064D0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000064E0: */ 0xDC,0x62,0x00,0x00,0x15,0x00,0x00,0x00,0x68,0x02,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000064F0: */ 0xE0,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006500: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA8,0x62,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00006510: */ 0x40,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00006520: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00006530: */ 0x3C,0x63,0x00,0x00,0x15,0x00,0x00,0x00,0x18,0x02,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006540: */ 0xBC,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006550: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xB4,0x63,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00006560: */ 0xF0,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00006570: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00006580: */ 0xCC,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x61,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00006590: */ 0xE8,0x61,0x00,0x00,0xC0,0x0F,0x00,0x00,0x05,0x4C,0x4F,0x4F,0x50,0x20,0x5A,0x5A,
+/* 0x000065A0: */ 0x48,0x62,0x00,0x00,0xA4,0x61,0x00,0x00,0x15,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x000065B0: */ 0x59,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000065C0: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,
+/* 0x000065D0: */ 0x0F,0x00,0x00,0x00,0x54,0x61,0x00,0x00,0x7F,0x00,0x00,0x00,0xE8,0x61,0x00,0x00,
+/* 0x000065E0: */ 0xC0,0x0F,0x00,0x00,0x05,0x2B,0x4C,0x4F,0x4F,0x50,0x5A,0x5A,0x48,0x62,0x00,0x00,
+/* 0x000065F0: */ 0xA4,0x61,0x00,0x00,0x15,0x00,0x00,0x00,0x58,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006600: */ 0x32,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006610: */ 0x34,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xE8,0x61,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00006620: */ 0x02,0x44,0x4F,0x5A,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006630: */ 0x54,0x61,0x00,0x00,0x7F,0x00,0x00,0x00,0xA4,0x61,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00006640: */ 0x10,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00006650: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00006660: */ 0xE8,0x61,0x00,0x00,0xC0,0x0F,0x00,0x00,0x04,0x3F,0x44,0x4F,0x20,0x5A,0x5A,0x5A,
+/* 0x00006670: */ 0x48,0x62,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006680: */ 0x54,0x61,0x00,0x00,0x7F,0x00,0x00,0x00,0xA4,0x61,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00006690: */ 0xC0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000066A0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000066B0: */ 0xC0,0x0F,0x00,0x00,0x03,0x2E,0x22,0x20,0xF8,0x62,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x000066C0: */ 0x02,0x22,0x20,0x5A,0x15,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000066D0: */ 0x88,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000066E0: */ 0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x03,0x43,0x22,0x20,
+/* 0x000066F0: */ 0xF8,0x62,0x00,0x00,0xC0,0x0F,0x00,0x00,0x02,0x22,0x20,0x5A,0x15,0x00,0x00,0x00,
+/* 0x00006700: */ 0x50,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00006710: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00006720: */ 0xC0,0x0F,0x00,0x00,0x03,0x53,0x22,0x20,0xF8,0x62,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00006730: */ 0x02,0x22,0x20,0x5A,0x15,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x08,0x62,0x00,0x00,
+/* 0x00006740: */ 0x5F,0x00,0x00,0x00,0xE8,0x60,0x00,0x00,0x30,0x62,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00006750: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006760: */ 0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006770: */ 0x0F,0x00,0x00,0x00,0x54,0x61,0x00,0x00,0x9B,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006780: */ 0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,0x9B,0x00,0x00,0x00,0xA4,0x61,0x00,0x00,
+/* 0x00006790: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,
+/* 0x000067A0: */ 0x41,0x00,0x00,0x00,0x30,0x61,0x00,0x00,0x6A,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000067B0: */ 0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,0x41,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000067C0: */ 0xBC,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x000067D0: */ 0x54,0x61,0x00,0x00,0x7F,0x00,0x00,0x00,0xE8,0x61,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x000067E0: */ 0x05,0x54,0x48,0x45,0x4E,0x20,0x5A,0x5A,0xA4,0x61,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000067F0: */ 0x15,0x00,0x00,0x00,0xB8,0xFF,0xFF,0xFF,0x38,0x61,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006800: */ 0x64,0x61,0x00,0x00,0x7F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x1C,0x64,0x00,0x00,
+/* 0x00006810: */ 0x0F,0x00,0x00,0x00,0x64,0x61,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00006820: */ 0xBC,0x00,0x00,0x00,0x74,0xFF,0xFF,0xFF,0x28,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00006830: */ 0xA8,0x02,0x00,0x00,0x88,0x0F,0x00,0x00,0x28,0x53,0x45,0x45,0x20,0x63,0x6F,0x6E,
+/* 0x00006840: */ 0x64,0x69,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x20,0x61,0x6E,0x61,0x6C,0x79,0x73,0x65,
+/* 0x00006850: */ 0x72,0x20,0x6E,0x65,0x73,0x74,0x69,0x6E,0x67,0x20,0x66,0x61,0x69,0x6C,0x65,0x64,
+/* 0x00006860: */ 0x21,0x5A,0x5A,0x5A,0xAC,0x1E,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006870: */ 0xA0,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x4C,0x01,0x00,0x00,
+/* 0x00006880: */ 0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xDC,0x04,0x00,0x00,
+/* 0x00006890: */ 0x58,0x67,0x00,0x00,0x15,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x6C,0x21,0x00,0x00,
+/* 0x000068A0: */ 0xE0,0x02,0x00,0x00,0xC0,0x0F,0x00,0x00,0x24,0x20,0x69,0x73,0x20,0x70,0x72,0x69,
+/* 0x000068B0: */ 0x6D,0x69,0x74,0x69,0x76,0x65,0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x64,0x20,0x69,
+/* 0x000068C0: */ 0x6E,0x20,0x27,0x43,0x27,0x20,0x6B,0x65,0x72,0x6E,0x65,0x6C,0x2E,0x5A,0x5A,0x5A,
+/* 0x000068D0: */ 0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000068E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000068F0: */ 0x1F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00006900: */ 0x00,0x3F,0x00,0x00,0xA2,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00006910: */ 0x00,0x00,0x00,0x00,0x04,0x09,0x00,0x00,0xB8,0x00,0x00,0x00,0x50,0x01,0x00,0x00,
+/* 0x00006920: */ 0x34,0x0D,0x00,0x00,0x76,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x27,0x00,0x00,0x00,
+/* 0x00006930: */ 0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xE8,0x68,0x00,0x00,
+/* 0x00006940: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xE0,0x02,0x00,0x00,
+/* 0x00006950: */ 0xB0,0x20,0x00,0x00,0x94,0x1F,0x00,0x00,0x15,0x00,0x00,0x00,0xC8,0xFF,0xFF,0xFF,
+/* 0x00006960: */ 0x5C,0x02,0x00,0x00,0x34,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00006970: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,
+/* 0x00006980: */ 0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xD8,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006990: */ 0x59,0x00,0x00,0x00,0x4C,0x01,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000069A0: */ 0x2A,0x00,0x00,0x00,0x48,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000069B0: */ 0x2A,0x00,0x00,0x00,0x48,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000069C0: */ 0x2A,0x00,0x00,0x00,0x48,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000069D0: */ 0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,
+/* 0x000069E0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0x3A,0x3A,0x3A,
+/* 0x000069F0: */ 0x3A,0x74,0x72,0x61,0x63,0x65,0x2E,0x66,0x74,0x68,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A00: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A10: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A20: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A30: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A40: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A50: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A60: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A70: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A80: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006A90: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006AA0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006AB0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006AC0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006AD0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006AE0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006AF0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B00: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B10: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B20: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B30: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B40: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B50: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B60: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B70: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B80: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006B90: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006BA0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006BB0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006BC0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006BD0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006BE0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006BF0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x2A,0x00,0x00,0x00,
+/* 0x00006C00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x6B,0x00,0x00,
+/* 0x00006C10: */ 0x41,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x35,0x00,0x00,0x00,0xFC,0x6B,0x00,0x00,
+/* 0x00006C20: */ 0x9B,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x6B,0x00,0x00,
+/* 0x00006C30: */ 0x41,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00006C40: */ 0xF4,0x01,0x00,0x00,0xFC,0x6B,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006C50: */ 0xFC,0x6B,0x00,0x00,0x41,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006C60: */ 0x00,0x00,0x00,0x00,0x0C,0x02,0x00,0x00,0xFC,0x6B,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006C70: */ 0x7D,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006C80: */ 0xE0,0x69,0x00,0x00,0xD0,0x69,0x00,0x00,0x7D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006C90: */ 0x08,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xFC,0x6B,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00006CA0: */ 0x00,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,0xFC,0x6B,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00006CB0: */ 0x00,0x00,0x00,0x00,0xFC,0x6B,0x00,0x00,0x41,0x00,0x00,0x00,0xE0,0x69,0x00,0x00,
+/* 0x00006CC0: */ 0x23,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,0x1C,0x54,0x52,0x41,0x43,0x45,0x20,0x72,
+/* 0x00006CD0: */ 0x65,0x74,0x75,0x72,0x6E,0x20,0x73,0x74,0x61,0x63,0x6B,0x20,0x4F,0x56,0x45,0x52,
+/* 0x00006CE0: */ 0x46,0x4C,0x4F,0x57,0x21,0x5A,0x5A,0x5A,0xAC,0x1E,0x00,0x00,0xFC,0x6B,0x00,0x00,
+/* 0x00006CF0: */ 0x41,0x00,0x00,0x00,0xE0,0x69,0x00,0x00,0xD0,0x69,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00006D00: */ 0x59,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x22,0x00,0x00,0x00,
+/* 0x00006D10: */ 0x88,0x0F,0x00,0x00,0x1D,0x54,0x52,0x41,0x43,0x45,0x20,0x72,0x65,0x74,0x75,0x72,
+/* 0x00006D20: */ 0x6E,0x20,0x73,0x74,0x61,0x63,0x6B,0x20,0x55,0x4E,0x44,0x45,0x52,0x46,0x4C,0x4F,
+/* 0x00006D30: */ 0x57,0x21,0x5A,0x5A,0xAC,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00006D40: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00006D50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006D60: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006D70: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006D80: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006D90: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006DA0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00006DB0: */ 0x5A,0x5A,0x5A,0x5A,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006DC0: */ 0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xB4,0x6D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006DD0: */ 0x9B,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,0xB4,0x6D,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00006DE0: */ 0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0xC4,0x6D,0x00,0x00,0x28,0x1C,0x00,0x00,
+/* 0x00006DF0: */ 0xC4,0x6D,0x00,0x00,0xA5,0x00,0x00,0x00,0xC4,0x6D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006E00: */ 0x4C,0x6D,0x00,0x00,0xB4,0x6D,0x00,0x00,0x9B,0x00,0x00,0x00,0xE4,0x6D,0x00,0x00,
+/* 0x00006E10: */ 0x00,0x00,0x00,0x00,0x80,0x6D,0x00,0x00,0xB4,0x6D,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00006E20: */ 0xE4,0x6D,0x00,0x00,0x00,0x00,0x00,0x00,0xB4,0x6D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006E30: */ 0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x00006E40: */ 0xB4,0x6D,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00006E50: */ 0x28,0x6E,0x00,0x00,0x28,0x1C,0x00,0x00,0x28,0x6E,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x00006E60: */ 0x28,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x6D,0x00,0x00,0xB4,0x6D,0x00,0x00,
+/* 0x00006E70: */ 0x9B,0x00,0x00,0x00,0x4C,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x6D,0x00,0x00,
+/* 0x00006E80: */ 0xB4,0x6D,0x00,0x00,0x9B,0x00,0x00,0x00,0x4C,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006E90: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006EA0: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00006EB0: */ 0x90,0x6E,0x00,0x00,0x41,0x00,0x00,0x00,0x0C,0x6C,0x00,0x00,0xFC,0x6B,0x00,0x00,
+/* 0x00006EC0: */ 0x41,0x00,0x00,0x00,0x90,0x6E,0x00,0x00,0x9B,0x00,0x00,0x00,0xFC,0x6B,0x00,0x00,
+/* 0x00006ED0: */ 0x41,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x0C,0x02,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00006EE0: */ 0xFC,0x6B,0x00,0x00,0x9B,0x00,0x00,0x00,0xFC,0x6B,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006EF0: */ 0x6A,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006F00: */ 0x32,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x00006F10: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x00006F20: */ 0xE4,0xFF,0xFF,0xFF,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x6E,0x00,0x00,
+/* 0x00006F30: */ 0x41,0x00,0x00,0x00,0xFC,0x6B,0x00,0x00,0x9B,0x00,0x00,0x00,0x2C,0x6C,0x00,0x00,
+/* 0x00006F40: */ 0x90,0x6E,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x6E,0x00,0x00,
+/* 0x00006F50: */ 0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x0C,0x02,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00006F60: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00006F70: */ 0x4C,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00006F80: */ 0x4C,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00006F90: */ 0x4C,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
+/* 0x00006FA0: */ 0x4C,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,
+/* 0x00006FB0: */ 0x4C,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x06,0x00,0x00,0x00,
+/* 0x00006FC0: */ 0x4C,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
+/* 0x00006FD0: */ 0x4C,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00006FE0: */ 0x4C,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x6E,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006FF0: */ 0x9C,0x00,0x00,0x00,0x0C,0x02,0x00,0x00,0x75,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00007000: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE8,0x6F,0x00,0x00,
+/* 0x00007010: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xE8,0x6F,0x00,0x00,
+/* 0x00007020: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xE8,0x6F,0x00,0x00,
+/* 0x00007030: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE8,0x6F,0x00,0x00,
+/* 0x00007040: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xE8,0x6F,0x00,0x00,
+/* 0x00007050: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0xE8,0x6F,0x00,0x00,
+/* 0x00007060: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xE8,0x6F,0x00,0x00,
+/* 0x00007070: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xE8,0x6F,0x00,0x00,
+/* 0x00007080: */ 0x00,0x00,0x00,0x00,0x90,0x6E,0x00,0x00,0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00007090: */ 0x0C,0x02,0x00,0x00,0x75,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000070A0: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000070B0: */ 0x60,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000070C0: */ 0x61,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x000070D0: */ 0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x000070E0: */ 0x0C,0x6C,0x00,0x00,0x5F,0x00,0x00,0x00,0x0C,0x6C,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x000070F0: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00007100: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00007110: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x2C,0x6C,0x00,0x00,
+/* 0x00007120: */ 0x6A,0x00,0x00,0x00,0x2C,0x6C,0x00,0x00,0x02,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,
+/* 0x00007130: */ 0x60,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007140: */ 0x1C,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00007150: */ 0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00007160: */ 0x0C,0x6C,0x00,0x00,0x60,0x00,0x00,0x00,0x0C,0x6C,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007170: */ 0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,
+/* 0x00007180: */ 0x5F,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00007190: */ 0xE4,0x08,0x00,0x00,0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,
+/* 0x000071A0: */ 0x5C,0x00,0x00,0x00,0x2C,0x6C,0x00,0x00,0x6B,0x00,0x00,0x00,0x2C,0x6C,0x00,0x00,
+/* 0x000071B0: */ 0x6D,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000071C0: */ 0x6C,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000071D0: */ 0x61,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000071E0: */ 0x11,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x11,0x00,0x00,0x00,
+/* 0x000071F0: */ 0x62,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00007200: */ 0x01,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x00007210: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x11,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00007220: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007230: */ 0x02,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00007240: */ 0x62,0x00,0x00,0x00,0x0C,0x6C,0x00,0x00,0x61,0x00,0x00,0x00,0x0C,0x6C,0x00,0x00,
+/* 0x00007250: */ 0x60,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00007260: */ 0x67,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007270: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007280: */ 0x59,0x00,0x00,0x00,0x4C,0x01,0x00,0x00,0x23,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007290: */ 0x51,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000072A0: */ 0x34,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x1A,0x54,0x52,0x41,0x43,0x45,0x20,0x2D,
+/* 0x000072B0: */ 0x20,0x49,0x50,0x20,0x6F,0x75,0x74,0x20,0x6F,0x66,0x20,0x72,0x61,0x6E,0x67,0x65,
+/* 0x000072C0: */ 0x20,0x3D,0x20,0x5A,0x5F,0x00,0x00,0x00,0x54,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x000072D0: */ 0xC4,0x05,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000072E0: */ 0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xE8,0x04,0x00,0x00,
+/* 0x000072F0: */ 0x6C,0x21,0x00,0x00,0x35,0x00,0x00,0x00,0xE0,0x02,0x00,0x00,0x77,0x00,0x00,0x00,
+/* 0x00007300: */ 0xDC,0x04,0x00,0x00,0x5F,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00007310: */ 0xC0,0x0F,0x00,0x00,0x02,0x20,0x2B,0x5A,0xF8,0x1D,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00007320: */ 0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00007330: */ 0x5C,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00007340: */ 0xC0,0x0F,0x00,0x00,0x01,0x3C,0x5A,0x5A,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00007350: */ 0xF8,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x1E,0x00,0x00,
+/* 0x00007360: */ 0xC0,0x0F,0x00,0x00,0x01,0x3A,0x5A,0x5A,0x2E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007370: */ 0x01,0x00,0x00,0x00,0x08,0x1E,0x00,0x00,0xC0,0x0F,0x00,0x00,0x02,0x3E,0x20,0x5A,
+/* 0x00007380: */ 0x8E,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,
+/* 0x00007390: */ 0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x000073A0: */ 0x2E,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000073B0: */ 0x10,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x04,0x2E,0x2E,0x2E,0x20,0x5A,0x5A,0x5A,
+/* 0x000073C0: */ 0x5F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x000073D0: */ 0x24,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000073E0: */ 0x75,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x000073F0: */ 0xE4,0xFF,0xFF,0xFF,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007400: */ 0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x34,0x0D,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007410: */ 0x70,0x72,0x00,0x00,0xC0,0x0F,0x00,0x00,0x03,0x3C,0x3C,0x20,0x5F,0x00,0x00,0x00,
+/* 0x00007420: */ 0xDC,0x72,0x00,0x00,0x59,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x7C,0x69,0x00,0x00,
+/* 0x00007430: */ 0x24,0x73,0x00,0x00,0x59,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x7C,0x69,0x00,0x00,
+/* 0x00007440: */ 0xC0,0x0F,0x00,0x00,0x03,0x20,0x7C,0x7C,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,
+/* 0x00007450: */ 0x41,0x00,0x00,0x00,0x9C,0x08,0x00,0x00,0xD8,0x0C,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007460: */ 0x30,0x61,0x00,0x00,0xE8,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00007470: */ 0x67,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xE8,0x60,0x00,0x00,0xCC,0x0C,0x00,0x00,
+/* 0x00007480: */ 0x59,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00007490: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000074A0: */ 0x41,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0x15,0x00,0x00,0x00,0x70,0x01,0x00,0x00,
+/* 0x000074B0: */ 0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000074C0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000074D0: */ 0x50,0x09,0x00,0x00,0xF8,0x1D,0x00,0x00,0x15,0x00,0x00,0x00,0x40,0x01,0x00,0x00,
+/* 0x000074E0: */ 0x59,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000074F0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007500: */ 0xDB,0x00,0x00,0x00,0xD4,0x4C,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x01,0x00,0x00,
+/* 0x00007510: */ 0x59,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00007520: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007530: */ 0x41,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0x15,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,
+/* 0x00007540: */ 0x59,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00007550: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007560: */ 0x41,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0x15,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,
+/* 0x00007570: */ 0x59,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00007580: */ 0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007590: */ 0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x01,0x22,0x5A,0x5A,
+/* 0x000075A0: */ 0x15,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x000075B0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x000075C0: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x000075D0: */ 0xC0,0x0F,0x00,0x00,0x01,0x22,0x5A,0x5A,0x15,0x00,0x00,0x00,0x40,0x00,0x00,0x00,
+/* 0x000075E0: */ 0x59,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000075F0: */ 0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007600: */ 0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x01,0x22,0x5A,0x5A,
+/* 0x00007610: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007620: */ 0x41,0x00,0x00,0x00,0x7C,0x69,0x00,0x00,0xC0,0x0F,0x00,0x00,0x03,0x3E,0x3E,0x20,
+/* 0x00007630: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007640: */ 0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007650: */ 0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007660: */ 0x28,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00007670: */ 0xBC,0x69,0x00,0x00,0x7F,0x00,0x00,0x00,0x2C,0x6C,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00007680: */ 0x15,0x00,0x00,0x00,0x2C,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007690: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000076A0: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000076B0: */ 0x7D,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000076C0: */ 0x59,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000076D0: */ 0x28,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000076E0: */ 0xE8,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,
+/* 0x000076F0: */ 0x15,0x00,0x00,0x00,0xBC,0x07,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00007700: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00007710: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x50,0x09,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x00007720: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007730: */ 0x80,0x07,0x00,0x00,0x59,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007740: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007750: */ 0x5F,0x00,0x00,0x00,0xDB,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00007760: */ 0xE2,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,
+/* 0x00007770: */ 0x15,0x00,0x00,0x00,0x3C,0x07,0x00,0x00,0x59,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007780: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00007790: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000077A0: */ 0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x04,0x07,0x00,0x00,
+/* 0x000077B0: */ 0x59,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000077C0: */ 0xBC,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x000077D0: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000077E0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000077F0: */ 0x14,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00007800: */ 0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xA8,0x06,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007810: */ 0xA2,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007820: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x0C,0x6C,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007830: */ 0x80,0x06,0x00,0x00,0x59,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007840: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007850: */ 0x2C,0x6C,0x00,0x00,0x15,0x00,0x00,0x00,0x58,0x06,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007860: */ 0x8D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007870: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x50,0x6C,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007880: */ 0x30,0x06,0x00,0x00,0x59,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007890: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000078A0: */ 0xA4,0x6C,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x06,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000078B0: */ 0x0C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000078C0: */ 0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x0C,0x6C,0x00,0x00,0x0C,0x6C,0x00,0x00,
+/* 0x000078D0: */ 0x15,0x00,0x00,0x00,0xDC,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,
+/* 0x000078E0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x000078F0: */ 0x33,0x00,0x00,0x00,0x2C,0x6C,0x00,0x00,0x2C,0x6C,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007900: */ 0xB0,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007910: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007920: */ 0x50,0x6C,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x64,0x6C,0x00,0x00,
+/* 0x00007930: */ 0x15,0x00,0x00,0x00,0x7C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x53,0x00,0x00,0x00,
+/* 0x00007940: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00007950: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x64,0x6C,0x00,0x00,
+/* 0x00007960: */ 0x15,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x55,0x00,0x00,0x00,
+/* 0x00007970: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00007980: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x64,0x6C,0x00,0x00,
+/* 0x00007990: */ 0x15,0x00,0x00,0x00,0x1C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x57,0x00,0x00,0x00,
+/* 0x000079A0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,
+/* 0x000079B0: */ 0x33,0x00,0x00,0x00,0xA4,0x6C,0x00,0x00,0xA4,0x6C,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000079C0: */ 0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,
+/* 0x000079D0: */ 0x15,0x00,0x00,0x00,0xDC,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x000079E0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000079F0: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x08,0x71,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00007A00: */ 0x15,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,
+/* 0x00007A10: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00007A20: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x8C,0x71,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00007A30: */ 0x15,0x00,0x00,0x00,0x7C,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00007A40: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00007A50: */ 0x33,0x00,0x00,0x00,0x0C,0x6C,0x00,0x00,0x0C,0x6C,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007A60: */ 0x50,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007A70: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007A80: */ 0x5F,0x00,0x00,0x00,0xA0,0x70,0x00,0x00,0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007A90: */ 0x20,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007AA0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007AB0: */ 0x5F,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007AC0: */ 0xAC,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0xD8,0x03,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00007AD0: */ 0x15,0x00,0x00,0x00,0xDC,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x00007AE0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00007AF0: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00007B00: */ 0x7D,0x00,0x00,0x00,0xD8,0x03,0x00,0x00,0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007B10: */ 0xA0,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007B20: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007B30: */ 0x5F,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0x5F,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,
+/* 0x00007B40: */ 0x7D,0x00,0x00,0x00,0xD8,0x03,0x00,0x00,0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007B50: */ 0x60,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007B60: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007B70: */ 0xA0,0x6E,0x00,0x00,0x15,0x00,0x00,0x00,0x38,0x03,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007B80: */ 0x5D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007B90: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x2C,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007BA0: */ 0x10,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x5E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007BB0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007BC0: */ 0x4C,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,0xE8,0x02,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007BD0: */ 0x5F,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007BE0: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x68,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007BF0: */ 0xC0,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007C00: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007C10: */ 0x78,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,0x98,0x02,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007C20: */ 0x61,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007C30: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x88,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007C40: */ 0x70,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007C50: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007C60: */ 0x98,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,0x48,0x02,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007C70: */ 0x63,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007C80: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA8,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007C90: */ 0x20,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007CA0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007CB0: */ 0xB8,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,0xF8,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007CC0: */ 0x65,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007CD0: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xC8,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007CE0: */ 0xD0,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007CF0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007D00: */ 0xD8,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,0xA8,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007D10: */ 0x68,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007D20: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xE8,0x6F,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007D30: */ 0x80,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007D40: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007D50: */ 0x04,0x70,0x00,0x00,0x15,0x00,0x00,0x00,0x58,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007D60: */ 0x6A,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007D70: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x14,0x70,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007D80: */ 0x30,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007D90: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007DA0: */ 0x24,0x70,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007DB0: */ 0x6C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007DC0: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x34,0x70,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007DD0: */ 0xE0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007DE0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007DF0: */ 0x44,0x70,0x00,0x00,0x15,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007E00: */ 0x6E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007E10: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x54,0x70,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007E20: */ 0x90,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x6F,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007E30: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007E40: */ 0x64,0x70,0x00,0x00,0x15,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007E50: */ 0x70,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007E60: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x74,0x70,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007E70: */ 0x40,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00007E80: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007E90: */ 0x84,0x70,0x00,0x00,0x15,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00007EA0: */ 0x60,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00007EB0: */ 0x5F,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00007EC0: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00007ED0: */ 0x5F,0x00,0x00,0x00,0x70,0x72,0x00,0x00,0x00,0x6E,0x00,0x00,0x51,0x00,0x00,0x00,
+/* 0x00007EE0: */ 0x6B,0x00,0x00,0x00,0x7C,0x6E,0x00,0x00,0x61,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007EF0: */ 0x00,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00007F00: */ 0x5F,0x00,0x00,0x00,0x30,0x61,0x00,0x00,0x6A,0x00,0x00,0x00,0xE8,0x01,0x00,0x00,
+/* 0x00007F10: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00007F20: */ 0x90,0x69,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007F30: */ 0x60,0x00,0x00,0x00,0x38,0x76,0x00,0x00,0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007F40: */ 0x6C,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00007F50: */ 0x0F,0x00,0x00,0x00,0xCC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00007F60: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x0C,0x6C,0x00,0x00,
+/* 0x00007F70: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,
+/* 0x00007F80: */ 0x7F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00007F90: */ 0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00007FA0: */ 0x60,0x00,0x00,0x00,0x38,0x76,0x00,0x00,0x69,0x00,0x00,0x00,0xB4,0x6C,0x00,0x00,
+/* 0x00007FB0: */ 0x14,0x6E,0x00,0x00,0x68,0x6E,0x00,0x00,0x61,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,
+/* 0x00007FC0: */ 0x9B,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007FD0: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00007FE0: */ 0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,0x25,0x00,0x00,0x00,
+/* 0x00007FF0: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xBC,0x7E,0x00,0x00,
+/* 0x00008000: */ 0x69,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008010: */ 0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00008020: */ 0xFC,0x73,0x00,0x00,0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xB6,0x00,0x00,0x00,
+/* 0x00008030: */ 0xC0,0x01,0x00,0x00,0xC0,0x0F,0x00,0x00,0x09,0x46,0x69,0x6E,0x69,0x73,0x68,0x65,
+/* 0x00008040: */ 0x64,0x2E,0x5A,0x5A,0x28,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00008050: */ 0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x90,0x69,0x00,0x00,
+/* 0x00008060: */ 0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00008070: */ 0x23,0x53,0x6F,0x72,0x72,0x79,0x2E,0x20,0x59,0x6F,0x75,0x20,0x63,0x61,0x6E,0x27,
+/* 0x00008080: */ 0x74,0x20,0x74,0x72,0x61,0x63,0x65,0x20,0x61,0x20,0x70,0x72,0x69,0x6D,0x69,0x74,
+/* 0x00008090: */ 0x69,0x76,0x65,0x2E,0x28,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x000080A0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,
+/* 0x000080B0: */ 0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000080C0: */ 0x0F,0x00,0x00,0x00,0xCC,0x69,0x00,0x00,0x9B,0x00,0x00,0x00,0x80,0x6C,0x00,0x00,
+/* 0x000080D0: */ 0xDC,0x04,0x00,0x00,0x0F,0x00,0x00,0x00,0xAC,0x69,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000080E0: */ 0x0F,0x00,0x00,0x00,0xAC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,0xFC,0x73,0x00,0x00,
+/* 0x000080F0: */ 0xB6,0x00,0x00,0x00,0xD4,0x01,0x00,0x00,0x14,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008100: */ 0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00008110: */ 0xCC,0x69,0x00,0x00,0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xAC,0x69,0x00,0x00,
+/* 0x00008120: */ 0x41,0x00,0x00,0x00,0xD0,0x7F,0x00,0x00,0x0F,0x00,0x00,0x00,0xAC,0x69,0x00,0x00,
+/* 0x00008130: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,
+/* 0x00008140: */ 0x41,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xCC,0x69,0x00,0x00,
+/* 0x00008150: */ 0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xAC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008160: */ 0xD0,0x7F,0x00,0x00,0x0F,0x00,0x00,0x00,0xAC,0x69,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00008170: */ 0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008180: */ 0x0F,0x00,0x00,0x00,0xCC,0x69,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008190: */ 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x000081A0: */ 0xAC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,0xD0,0x7F,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x000081B0: */ 0xAC,0x69,0x00,0x00,0x9B,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,
+/* 0x000081C0: */ 0x00,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000081D0: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x000081E0: */ 0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xC4,0x81,0x00,0x00,0xD0,0x0D,0x00,0x00,
+/* 0x000081F0: */ 0x23,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00008200: */ 0x18,0x52,0x65,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x54,0x52,0x41,0x43,0x45,
+/* 0x00008210: */ 0x2E,0x55,0x53,0x45,0x52,0x20,0x21,0x21,0x21,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,
+/* 0x00008220: */ 0x59,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xC4,0x81,0x00,0x00,
+/* 0x00008230: */ 0x88,0x0D,0x00,0x00,0x5F,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00008240: */ 0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00008250: */ 0xBC,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x20,0x47,0x44,0x20,
+/* 0x00008260: */ 0x6C,0x65,0x76,0x65,0x6C,0x20,0x6F,0x75,0x74,0x20,0x6F,0x66,0x20,0x72,0x61,0x6E,
+/* 0x00008270: */ 0x67,0x65,0x20,0x28,0x30,0x2D,0x31,0x30,0x29,0x2C,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00008280: */ 0x5F,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008290: */ 0xDC,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000082A0: */ 0x5F,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xCC,0x69,0x00,0x00,
+/* 0x000082B0: */ 0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xBC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000082C0: */ 0x01,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xAC,0x69,0x00,0x00,
+/* 0x000082D0: */ 0x41,0x00,0x00,0x00,0xC4,0x81,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000082E0: */ 0x50,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x14,0x54,0x52,0x41,0x43,0x45,0x2E,0x55,
+/* 0x000082F0: */ 0x53,0x45,0x52,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x65,0x64,0x20,0x5A,0x5A,0x5A,
+/* 0x00008300: */ 0x35,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0xC0,0x0F,0x00,0x00,0x16,0x73,0x6F,0x20,
+/* 0x00008310: */ 0x73,0x74,0x6F,0x70,0x70,0x69,0x6E,0x67,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x69,
+/* 0x00008320: */ 0x6F,0x6E,0x2E,0x5A,0x28,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x38,0x00,0x00,0x00,
+/* 0x00008330: */ 0x0F,0x00,0x00,0x00,0xAC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,0xD0,0x7F,0x00,0x00,
+/* 0x00008340: */ 0x0F,0x00,0x00,0x00,0xAC,0x69,0x00,0x00,0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00008350: */ 0xBC,0x69,0x00,0x00,0x41,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00008360: */ 0xA8,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x60,0xFF,0xFF,0xFF,0x5D,0x00,0x00,0x00,
+/* 0x00008370: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0x81,0x00,0x00,
+/* 0x00008380: */ 0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x37,0x20,0x20,0x54,0x52,0x41,0x43,0x45,
+/* 0x00008390: */ 0x20,0x20,0x28,0x20,0x69,0x2A,0x78,0x20,0x3C,0x6E,0x61,0x6D,0x65,0x3E,0x20,0x2D,
+/* 0x000083A0: */ 0x2D,0x20,0x2C,0x20,0x73,0x65,0x74,0x75,0x70,0x20,0x74,0x72,0x61,0x63,0x65,0x20,
+/* 0x000083B0: */ 0x66,0x6F,0x72,0x20,0x46,0x6F,0x72,0x74,0x68,0x20,0x77,0x6F,0x72,0x64,0x20,0x29,
+/* 0x000083C0: */ 0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x1B,0x20,0x20,0x53,0x20,0x20,0x20,0x20,
+/* 0x000083D0: */ 0x20,0x20,0x28,0x20,0x2D,0x2D,0x20,0x2C,0x20,0x73,0x74,0x65,0x70,0x20,0x6F,0x76,
+/* 0x000083E0: */ 0x65,0x72,0x20,0x29,0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x2B,0x20,0x20,0x53,
+/* 0x000083F0: */ 0x4D,0x20,0x20,0x20,0x20,0x20,0x28,0x20,0x6D,0x61,0x6E,0x79,0x20,0x2D,0x2D,0x20,
+/* 0x00008400: */ 0x2C,0x20,0x73,0x74,0x65,0x70,0x20,0x6F,0x76,0x65,0x72,0x20,0x6D,0x61,0x6E,0x79,
+/* 0x00008410: */ 0x20,0x74,0x69,0x6D,0x65,0x73,0x20,0x29,0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00008420: */ 0x1B,0x20,0x20,0x53,0x44,0x20,0x20,0x20,0x20,0x20,0x28,0x20,0x2D,0x2D,0x20,0x2C,
+/* 0x00008430: */ 0x20,0x73,0x74,0x65,0x70,0x20,0x64,0x6F,0x77,0x6E,0x20,0x29,0x28,0x00,0x00,0x00,
+/* 0x00008440: */ 0xC0,0x0F,0x00,0x00,0x23,0x20,0x20,0x47,0x20,0x20,0x20,0x20,0x20,0x20,0x28,0x20,
+/* 0x00008450: */ 0x2D,0x2D,0x20,0x2C,0x20,0x67,0x6F,0x20,0x74,0x6F,0x20,0x65,0x6E,0x64,0x20,0x6F,
+/* 0x00008460: */ 0x66,0x20,0x77,0x6F,0x72,0x64,0x20,0x29,0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x00008470: */ 0x36,0x20,0x20,0x47,0x44,0x20,0x20,0x20,0x20,0x20,0x28,0x20,0x6E,0x20,0x2D,0x2D,
+/* 0x00008480: */ 0x20,0x2C,0x20,0x67,0x6F,0x20,0x64,0x6F,0x77,0x6E,0x20,0x4E,0x20,0x6C,0x65,0x76,
+/* 0x00008490: */ 0x65,0x6C,0x73,0x20,0x66,0x72,0x6F,0x6D,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,
+/* 0x000084A0: */ 0x20,0x6C,0x65,0x76,0x65,0x6C,0x2C,0x5A,0x28,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x000084B0: */ 0x2D,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+/* 0x000084C0: */ 0x20,0x20,0x20,0x73,0x74,0x6F,0x70,0x20,0x61,0x74,0x20,0x65,0x6E,0x64,0x20,0x6F,
+/* 0x000084D0: */ 0x66,0x20,0x74,0x68,0x69,0x73,0x20,0x6C,0x65,0x76,0x65,0x6C,0x20,0x29,0x5A,0x5A,
+/* 0x000084E0: */ 0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000084F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00008500: */ 0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00008510: */ 0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00008520: */ 0x00,0x00,0x00,0x00,0x1B,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00008530: */ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00008540: */ 0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,
+/* 0x00008550: */ 0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x18,0x85,0x00,0x00,0x10,0x01,0x00,0x00,
+/* 0x00008560: */ 0x59,0x00,0x00,0x00,0x5B,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008570: */ 0x58,0x85,0x00,0x00,0xC0,0x0F,0x00,0x00,0x02,0x32,0x4A,0x5A,0x00,0x00,0x00,0x00,
+/* 0x00008580: */ 0x58,0x85,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00008590: */ 0xF8,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x1E,0x00,0x00,
+/* 0x000085A0: */ 0x8E,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000085B0: */ 0x44,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x85,0x00,0x00,
+/* 0x000085C0: */ 0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xF8,0x02,0x00,0x00,
+/* 0x000085D0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x1E,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x000085E0: */ 0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x43,0x00,0x00,0x00,
+/* 0x000085F0: */ 0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x85,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008600: */ 0x4B,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008610: */ 0x07,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008620: */ 0x08,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0xCC,0x0C,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008630: */ 0x08,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x56,0x00,0x00,0x00,
+/* 0x00008640: */ 0x35,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0xC0,0x0F,0x00,0x00,0x04,0x2C,0x20,0x24,
+/* 0x00008650: */ 0x20,0x5A,0x5A,0x5A,0x35,0x00,0x00,0x00,0x54,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00008660: */ 0x59,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008670: */ 0xCC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00008680: */ 0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00008690: */ 0x53,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x71,0x00,0x00,0x00,0xF4,0xFF,0xFF,0xFF,
+/* 0x000086A0: */ 0x00,0x00,0x00,0x00,0x78,0x86,0x00,0x00,0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,
+/* 0x000086B0: */ 0x80,0x85,0x00,0x00,0x59,0x00,0x00,0x00,0xE8,0x03,0x00,0x00,0x98,0x38,0x00,0x00,
+/* 0x000086C0: */ 0xF8,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x86,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000086D0: */ 0x0A,0x00,0x00,0x00,0x80,0x85,0x00,0x00,0x59,0x00,0x00,0x00,0xE8,0x03,0x00,0x00,
+/* 0x000086E0: */ 0x98,0x38,0x00,0x00,0xC0,0x0F,0x00,0x00,0x05,0x31,0x32,0x33,0x34,0x35,0x5A,0x5A,
+/* 0x000086F0: */ 0x59,0x00,0x00,0x00,0xE8,0x03,0x00,0x00,0x98,0x38,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008700: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008710: */ 0x2A,0x00,0x00,0x00,0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
+/* 0x00008720: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008730: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008740: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008750: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008760: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008770: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008780: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008790: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000087A0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000087B0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000087C0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000087D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000087E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000087F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008800: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008810: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008820: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008830: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008840: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008850: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008860: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008870: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008880: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008890: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000088A0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000088B0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000088C0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000088D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000088E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000088F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008900: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008910: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008920: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008930: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008940: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008950: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008960: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008970: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008980: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008990: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000089A0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000089B0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000089C0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000089D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000089E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000089F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A70: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A80: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008A90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008AA0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008AB0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008AC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008AD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008AE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008AF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B70: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B80: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008B90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008BA0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008BB0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008BC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008BD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008BE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008BF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C70: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C80: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008CA0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008CB0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008CC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008CD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008CE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008CF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D70: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D80: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008D90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008DA0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008DB0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008DC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008DD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008DE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008DF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E70: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E80: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008EA0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008EB0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008EC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008ED0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008EE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008EF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008F00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008F10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008F20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x87,0x00,0x00,
+/* 0x00008F30: */ 0x10,0x87,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00008F40: */ 0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xCC,0x38,0x00,0x00,
+/* 0x00008F50: */ 0x9C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00008F60: */ 0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,
+/* 0x00008F70: */ 0xCC,0x38,0x00,0x00,0x7B,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00008F80: */ 0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008F90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008FA0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008FB0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008FC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008FD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008FE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008FF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009000: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x20,0x87,0x00,0x00,
+/* 0x00009010: */ 0x35,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x10,0x87,0x00,0x00,
+/* 0x00009020: */ 0x8E,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009030: */ 0x73,0x00,0x00,0x00,0x54,0x3B,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x87,0x00,0x00,
+/* 0x00009040: */ 0xAC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009050: */ 0x88,0x8F,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x8F,0x00,0x00,
+/* 0x00009060: */ 0x41,0x00,0x00,0x00,0x20,0x87,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009070: */ 0x5C,0x90,0x00,0x00,0xAC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x90,0x00,0x00,
+/* 0x00009080: */ 0x1D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x90,0x00,0x00,
+/* 0x00009090: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x90,0x00,0x00,0x3C,0x8F,0x00,0x00,
+/* 0x000090A0: */ 0x00,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000090B0: */ 0x03,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000090C0: */ 0x01,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
+/* 0x000090D0: */ 0x7D,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x90,0x00,0x00,
+/* 0x000090E0: */ 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000090F0: */ 0x00,0x01,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,
+/* 0x00009100: */ 0xC0,0x0F,0x00,0x00,0x22,0x4B,0x48,0x2E,0x41,0x44,0x44,0x2E,0x4C,0x49,0x4E,0x45,
+/* 0x00009110: */ 0x20,0x2D,0x20,0x54,0x6F,0x6F,0x20,0x62,0x69,0x67,0x20,0x66,0x6F,0x72,0x20,0x68,
+/* 0x00009120: */ 0x69,0x73,0x74,0x6F,0x72,0x79,0x21,0x5A,0x5C,0x02,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00009130: */ 0x98,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x7C,0x90,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009140: */ 0x10,0x00,0x00,0x00,0x5C,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,
+/* 0x00009150: */ 0xA2,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x8F,0x00,0x00,
+/* 0x00009160: */ 0x9B,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xF4,0x01,0x00,0x00,0x08,0x90,0x00,0x00,
+/* 0x00009170: */ 0x8D,0x00,0x00,0x00,0x20,0x87,0x00,0x00,0x2B,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,
+/* 0x00009180: */ 0xDC,0x90,0x00,0x00,0x2B,0x00,0x00,0x00,0xA8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00009190: */ 0x8C,0x90,0x00,0x00,0x64,0x8F,0x00,0x00,0xA8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000091A0: */ 0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x000091B0: */ 0xA8,0x8F,0x00,0x00,0x9B,0x00,0x00,0x00,0x20,0x87,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000091C0: */ 0x8E,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x000091D0: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x000091E0: */ 0xF4,0x08,0x00,0x00,0x69,0x00,0x00,0x00,0x5C,0x90,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x000091F0: */ 0xBC,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x5C,0x90,0x00,0x00,0xA4,0x90,0x00,0x00,
+/* 0x00009200: */ 0x6A,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x2C,0x8F,0x00,0x00,0x23,0x00,0x00,0x00,
+/* 0x00009210: */ 0xBC,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00009220: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x20,0x87,0x00,0x00,
+/* 0x00009230: */ 0x75,0x00,0x00,0x00,0x88,0x8F,0x00,0x00,0x9B,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00009240: */ 0x69,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009250: */ 0x88,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00009260: */ 0xA8,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x5C,0x90,0x00,0x00,
+/* 0x00009270: */ 0xBC,0x90,0x00,0x00,0x20,0x87,0x00,0x00,0x75,0x00,0x00,0x00,0x88,0x8F,0x00,0x00,
+/* 0x00009280: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0x91,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009290: */ 0xF8,0xFF,0xFF,0xFF,0x70,0x90,0x00,0x00,0x35,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x000092A0: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x68,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000092B0: */ 0x48,0x90,0x00,0x00,0x98,0x90,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000092C0: */ 0xBC,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0xCC,0x91,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000092D0: */ 0x38,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x1B,0x4C,0x69,0x6E,0x65,0x20,0x6E,0x6F,
+/* 0x000092E0: */ 0x74,0x20,0x69,0x6E,0x20,0x48,0x69,0x73,0x74,0x6F,0x72,0x79,0x20,0x42,0x75,0x66,
+/* 0x000092F0: */ 0x66,0x65,0x72,0x21,0x28,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00009300: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xA8,0xFF,0xFF,0xFF,
+/* 0x00009310: */ 0x33,0x00,0x00,0x00,0x5C,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0xE8,0x8F,0x00,0x00,
+/* 0x00009320: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009330: */ 0xAF,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,
+/* 0x00009340: */ 0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x93,0x00,0x00,0xF8,0x85,0x00,0x00,
+/* 0x00009350: */ 0x35,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,0x9B,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00009360: */ 0xD8,0x8F,0x00,0x00,0x9B,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x1C,0x93,0x00,0x00,
+/* 0x00009370: */ 0x9C,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009380: */ 0xC8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009390: */ 0x14,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0xC8,0x8F,0x00,0x00,
+/* 0x000093A0: */ 0x9B,0x00,0x00,0x00,0xCC,0x91,0x00,0x00,0xA8,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000093B0: */ 0x38,0x00,0x00,0x00,0x70,0x90,0x00,0x00,0x33,0x00,0x00,0x00,0x1C,0x93,0x00,0x00,
+/* 0x000093C0: */ 0xC8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x04,0x26,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000093D0: */ 0x10,0x00,0x00,0x00,0x70,0x90,0x00,0x00,0x48,0x93,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000093E0: */ 0x15,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,
+/* 0x000093F0: */ 0x41,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00009400: */ 0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00009410: */ 0xBC,0x85,0x00,0x00,0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,
+/* 0x00009420: */ 0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00009430: */ 0x00,0x00,0x00,0x00,0x28,0x93,0x00,0x00,0xD8,0x8F,0x00,0x00,0xD4,0x01,0x00,0x00,
+/* 0x00009440: */ 0x00,0x00,0x00,0x00,0xF8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009450: */ 0x0C,0x00,0x00,0x00,0xCC,0x91,0x00,0x00,0x33,0x00,0x00,0x00,0x70,0x90,0x00,0x00,
+/* 0x00009460: */ 0x48,0x93,0x00,0x00,0xF8,0x8F,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009470: */ 0x50,0x92,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xF8,0x8F,0x00,0x00,
+/* 0x00009480: */ 0xD4,0x01,0x00,0x00,0x08,0x3C,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009490: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x70,0x90,0x00,0x00,0x48,0x93,0x00,0x00,
+/* 0x000094A0: */ 0x00,0x00,0x00,0x00,0x48,0x90,0x00,0x00,0x08,0x3C,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000094B0: */ 0x00,0x00,0x00,0x00,0x48,0x93,0x00,0x00,0xF8,0x8F,0x00,0x00,0xD4,0x01,0x00,0x00,
+/* 0x000094C0: */ 0x00,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,
+/* 0x000094D0: */ 0x41,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000094E0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x000094F0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xBC,0x85,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009500: */ 0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009510: */ 0x1C,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00009520: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x80,0x85,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009530: */ 0x28,0x93,0x00,0x00,0x1C,0x93,0x00,0x00,0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00009540: */ 0xA3,0x00,0x00,0x00,0xF8,0x85,0x00,0x00,0x28,0x93,0x00,0x00,0xD8,0x8F,0x00,0x00,
+/* 0x00009550: */ 0x41,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00009560: */ 0xBC,0x85,0x00,0x00,0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,
+/* 0x00009570: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00009580: */ 0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,
+/* 0x00009590: */ 0x41,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,
+/* 0x000095A0: */ 0x1C,0x93,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000095B0: */ 0x35,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000095C0: */ 0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x19,0x00,0x00,0x00,
+/* 0x000095D0: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x1C,0x86,0x00,0x00,0xCC,0x07,0x00,0x00,
+/* 0x000095E0: */ 0xB8,0x8F,0x00,0x00,0x7F,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0xD8,0x8F,0x00,0x00,
+/* 0x000095F0: */ 0x7F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x0C,0x86,0x00,0x00,
+/* 0x00009600: */ 0x30,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00009610: */ 0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009620: */ 0x54,0x00,0x00,0x00,0x1C,0x93,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00009630: */ 0x7D,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00009640: */ 0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00009650: */ 0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x00,0x00,0x00,
+/* 0x00009660: */ 0x19,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0xB8,0x8F,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00009670: */ 0x30,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,
+/* 0x00009680: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00009690: */ 0x33,0x00,0x00,0x00,0x80,0x93,0x00,0x00,0x15,0x00,0x00,0x00,0x58,0x01,0x00,0x00,
+/* 0x000096A0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0x8F,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000096B0: */ 0x59,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000096C0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x44,0x94,0x00,0x00,
+/* 0x000096D0: */ 0x15,0x00,0x00,0x00,0x20,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x50,0x00,0x00,0x00,
+/* 0x000096E0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000096F0: */ 0x33,0x00,0x00,0x00,0x70,0x94,0x00,0x00,0x15,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,
+/* 0x00009700: */ 0x59,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00009710: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xC4,0x94,0x00,0x00,
+/* 0x00009720: */ 0x15,0x00,0x00,0x00,0xD0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x4B,0x00,0x00,0x00,
+/* 0x00009730: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00009740: */ 0x33,0x00,0x00,0x00,0x00,0x95,0x00,0x00,0x15,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,
+/* 0x00009750: */ 0x59,0x00,0x00,0x00,0x91,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00009760: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA4,0x94,0x00,0x00,
+/* 0x00009770: */ 0x15,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x74,0x00,0x00,0x00,
+/* 0x00009780: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00009790: */ 0x33,0x00,0x00,0x00,0xEC,0x93,0x00,0x00,0x15,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x000097A0: */ 0x59,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000097B0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x34,0x94,0x00,0x00,
+/* 0x000097C0: */ 0x15,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x53,0x00,0x00,0x00,
+/* 0x000097D0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000097E0: */ 0x33,0x00,0x00,0x00,0x08,0x96,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x000097F0: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00009800: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00009810: */ 0x33,0x00,0x00,0x00,0x44,0x94,0x00,0x00,0x15,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00009820: */ 0x59,0x00,0x00,0x00,0x42,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00009830: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x70,0x94,0x00,0x00,
+/* 0x00009840: */ 0x15,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x43,0x00,0x00,0x00,
+/* 0x00009850: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00009860: */ 0x33,0x00,0x00,0x00,0xC4,0x94,0x00,0x00,0x15,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
+/* 0x00009870: */ 0x59,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00009880: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x95,0x00,0x00,
+/* 0x00009890: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000098A0: */ 0xF4,0x08,0x00,0x00,0xA2,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,
+/* 0x000098B0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x000098C0: */ 0x33,0x00,0x00,0x00,0x56,0x00,0x00,0x00,0x78,0x96,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000098D0: */ 0x30,0x01,0x00,0x00,0x18,0x85,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000098E0: */ 0xBC,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x56,0x00,0x00,0x00,
+/* 0x000098F0: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x4F,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00009900: */ 0x59,0x00,0x00,0x00,0x5B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00009910: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x56,0x00,0x00,0x00,0xF8,0x97,0x00,0x00,
+/* 0x00009920: */ 0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00009930: */ 0xA2,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xC8,0x00,0x00,0x00,0xF8,0x84,0x00,0x00,
+/* 0x00009940: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00009950: */ 0x33,0x00,0x00,0x00,0x78,0x95,0x00,0x00,0x15,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,
+/* 0x00009960: */ 0x08,0x85,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009970: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x78,0x95,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00009980: */ 0x80,0x00,0x00,0x00,0x48,0x85,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00009990: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA4,0x94,0x00,0x00,
+/* 0x000099A0: */ 0x15,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x28,0x85,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000099B0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000099C0: */ 0x34,0x94,0x00,0x00,0x15,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x38,0x85,0x00,0x00,
+/* 0x000099D0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000099E0: */ 0x33,0x00,0x00,0x00,0xEC,0x93,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000099F0: */ 0x8C,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,0xA2,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00009A00: */ 0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x56,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00009A10: */ 0xA0,0x98,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00009A20: */ 0x15,0x00,0x00,0x00,0xE4,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00009A30: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x00009A40: */ 0x6A,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,
+/* 0x00009A50: */ 0x41,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,
+/* 0x00009A60: */ 0x1C,0x93,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00009A70: */ 0x35,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00009A80: */ 0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,
+/* 0x00009A90: */ 0xF4,0x08,0x00,0x00,0x6A,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x1C,0x93,0x00,0x00,
+/* 0x00009AA0: */ 0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x00009AB0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00009AC0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00009AD0: */ 0x60,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x30,0x95,0x00,0x00,
+/* 0x00009AE0: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x10,0x01,0x00,0x00,
+/* 0x00009AF0: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00009B00: */ 0x0D,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00009B10: */ 0x0A,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009B20: */ 0x98,0x8F,0x00,0x00,0x9B,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,0xD4,0x01,0x00,0x00,
+/* 0x00009B30: */ 0xD8,0x8F,0x00,0x00,0xD4,0x01,0x00,0x00,0xF8,0x8F,0x00,0x00,0xD4,0x01,0x00,0x00,
+/* 0x00009B40: */ 0x48,0x90,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0x8F,0x00,0x00,
+/* 0x00009B50: */ 0x9B,0x00,0x00,0x00,0x98,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,
+/* 0x00009B60: */ 0x41,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00009B70: */ 0x08,0x9A,0x00,0x00,0x35,0x00,0x00,0x00,0xF8,0x9A,0x00,0x00,0xA8,0x02,0x00,0x00,
+/* 0x00009B80: */ 0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009B90: */ 0xE4,0x08,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x2C,0x9A,0x00,0x00,
+/* 0x00009BA0: */ 0x15,0x00,0x00,0x00,0xB0,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0xB8,0x8F,0x00,0x00,
+/* 0x00009BB0: */ 0x41,0x00,0x00,0x00,0xD8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00009BC0: */ 0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00009BD0: */ 0xBC,0x85,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xCC,0x0C,0x00,0x00,
+/* 0x00009BE0: */ 0x4F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xE8,0x8F,0x00,0x00,
+/* 0x00009BF0: */ 0x9B,0x00,0x00,0x00,0x20,0x9B,0x00,0x00,0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00009C00: */ 0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x1C,0x93,0x00,0x00,
+/* 0x00009C10: */ 0xB8,0x8F,0x00,0x00,0x41,0x00,0x00,0x00,0xE8,0x90,0x00,0x00,0xB8,0x8F,0x00,0x00,
+/* 0x00009C20: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
+/* 0x00009C30: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x48,0x03,0x00,0x00,
+/* 0x00009C40: */ 0x59,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0xE8,0x9B,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00009C50: */ 0x48,0x03,0x00,0x00,0x9C,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00009C60: */ 0x71,0x00,0x00,0x00,0xD8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00009C70: */ 0x88,0x92,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x44,0x00,0x00,0x00,
+/* 0x00009C80: */ 0x98,0x90,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x1E,0x00,0x00,
+/* 0x00009C90: */ 0xC0,0x0F,0x00,0x00,0x02,0x29,0x20,0x5A,0xA3,0x00,0x00,0x00,0x08,0x1F,0x00,0x00,
+/* 0x00009CA0: */ 0x28,0x00,0x00,0x00,0x50,0x92,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009CB0: */ 0x10,0x00,0x00,0x00,0x70,0x90,0x00,0x00,0x15,0x00,0x00,0x00,0xC4,0xFF,0xFF,0xFF,
+/* 0x00009CC0: */ 0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x88,0x92,0x00,0x00,0x81,0x00,0x00,0x00,
+/* 0x00009CD0: */ 0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x08,0x1F,0x00,0x00,
+/* 0x00009CE0: */ 0x28,0x00,0x00,0x00,0x50,0x92,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009CF0: */ 0x10,0x00,0x00,0x00,0x70,0x90,0x00,0x00,0x15,0x00,0x00,0x00,0xDC,0xFF,0xFF,0xFF,
+/* 0x00009D00: */ 0x00,0x00,0x00,0x00,0xB0,0x92,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009D10: */ 0x0C,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xBC,0x22,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009D20: */ 0x20,0x87,0x00,0x00,0x10,0x87,0x00,0x00,0x88,0x3B,0x00,0x00,0xA8,0x8F,0x00,0x00,
+/* 0x00009D30: */ 0xD4,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x9D,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00009D40: */ 0x04,0x01,0x00,0x00,0xD0,0x0D,0x00,0x00,0x59,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,
+/* 0x00009D50: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00009D60: */ 0xE8,0x9B,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x01,0x00,0x00,0x88,0x0D,0x00,0x00,
+/* 0x00009D70: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x01,0x00,0x00,0xD0,0x0D,0x00,0x00,
+/* 0x00009D80: */ 0x59,0x00,0x00,0x00,0xE8,0x9B,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00009D90: */ 0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00009DA0: */ 0x04,0x01,0x00,0x00,0x88,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x15,0x00,0x00,
+/* 0x00009DB0: */ 0x38,0x9D,0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x9D,0x00,0x00,0xAC,0x9D,0x00,0x00,
+/* 0x00009DC0: */ 0x00,0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x74,0x9D,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00009DD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00009DE0: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00009DF0: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00009E00: */ 0xC4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00009E10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x2C,0x30,0x78,0x30,0x30,0x2C,
+/* 0x00009E20: */ 0x30,0x78,0x32,0x41,0x2C,0x30,0x78,0x30,0x30,0x2C,0x30,0x78,0x30,0x30,0x2C,0x30,
+/* 0x00009E30: */ 0x78,0x30,0x30,0x2C,0x0A,0x2F,0x2A,0x20,0x30,0x2C,0x30,0x78,0x32,0x43,0x2C,0x30,
+/* 0x00009E40: */ 0x78,0x33,0x30,0x2C,0x30,0x78,0x37,0x38,0x2C,0x30,0x78,0x33,0x32,0x2C,0x30,0x78,
+/* 0x00009E50: */ 0x34,0x33,0x2C,0x30,0x78,0x32,0x43,0x2C,0x30,0x78,0x33,0x30,0x2C,0x0A,0x2F,0x2A,
+/* 0x00009E60: */ 0x20,0x30,0x78,0x30,0x30,0x30,0x30,0x39,0x45,0x34,0x30,0x30,0x2C,0x30,0x78,0x33,
+/* 0x00009E70: */ 0x30,0x2C,0x30,0x78,0x32,0x43,0x2C,0x30,0x78,0x33,0x30,0x2C,0x30,0x78,0x37,0x38,
+/* 0x00009E80: */ 0x2C,0x30,0x78,0x33,0x33,0x2C,0x0A,0x2F,0x2A,0x20,0x30,0x78,0x30,0x30,0x30,0x30,
+/* 0x00009E90: */ 0x39,0x45,0x37,0x30,0x3A,0x20,0x2A,0x2F,0x20,0x30,0x78,0x33,0x30,0x33,0x30,0x2C,
+/* 0x00009EA0: */ 0x30,0x78,0x33,0x33,0x2C,0x30,0x78,0x33,0x30,0x2C,0x30,0x78,0x32,0x43,0x2C,0x0A,
+/* 0x00009EB0: */ 0x2F,0x2A,0x20,0x30,0x78,0x30,0x30,0x30,0x30,0x39,0x45,0x41,0x30,0x3A,0x20,0x2A,
+/* 0x00009EC0: */ 0x2F,0x20,0x30,0x78,0x33,0x30,0x2C,0x30,0x78,0x37,0x38,0x2C,0x30,0x78,0x33,0x78,
+/* 0x00009ED0: */ 0x33,0x33,0x2C,0x30,0x78,0x37,0x38,0x2C,0x0A,0x2F,0x2A,0x20,0x30,0x78,0x30,0x30,
+/* 0x00009EE0: */ 0x30,0x30,0x39,0x45,0x44,0x30,0x3A,0x20,0x2A,0x2F,0x20,0x30,0x78,0x33,0x33,0x2C,
+/* 0x00009EF0: */ 0x30,0x78,0x33,0x33,0x2C,0x30,0x78,0x32,0x43,0x2C,0x30,0x78,0x33,0x30,0x2C,0x30,
+/* 0x00009F00: */ 0x2C,0x0A,0x2F,0x2A,0x20,0x30,0x78,0x30,0x30,0x30,0x30,0x39,0x46,0x30,0x30,0x3A,
+/* 0x00009F10: */ 0x20,0x2A,0x2F,0x20,0x30,0x78,0x32,0x43,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009F20: */ 0x00,0x00,0x00,0x00,0xD6,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009F30: */ 0x00,0x00,0x00,0x00,0xF8,0xAA,0x44,0x00,0x0C,0x9E,0x00,0x00,0x18,0x9F,0x00,0x00,
+/* 0x00009F40: */ 0x41,0x00,0x00,0x00,0x28,0x9F,0x00,0x00,0x41,0x00,0x00,0x00,0x4B,0x00,0x00,0x00,
+/* 0x00009F50: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x9F,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00009F60: */ 0x00,0x00,0x00,0x00,0x18,0x9F,0x00,0x00,0x41,0x00,0x00,0x00,0xFC,0x9D,0x00,0x00,
+/* 0x00009F70: */ 0x8C,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x38,0x9F,0x00,0x00,
+/* 0x00009F80: */ 0x88,0x0F,0x00,0x00,0x12,0x53,0x44,0x41,0x44,0x2E,0x46,0x4C,0x55,0x53,0x48,0x20,
+/* 0x00009F90: */ 0x66,0x61,0x69,0x6C,0x65,0x64,0x21,0x5A,0xAC,0x1E,0x00,0x00,0x0C,0x9E,0x00,0x00,
+/* 0x00009FA0: */ 0x18,0x9F,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x00009FB0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x18,0x9F,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00009FC0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00009FD0: */ 0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x64,0x9F,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00009FE0: */ 0x71,0x00,0x00,0x00,0xEC,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009FF0: */ 0xAC,0x01,0x00,0x00,0xC4,0x9F,0x00,0x00,0x3E,0x00,0x00,0x00,0x64,0x9F,0x00,0x00,
+/* 0x0000A000: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x54,0x1C,0x00,0x00,
+/* 0x0000A010: */ 0x9C,0x1C,0x00,0x00,0x9C,0x1C,0x00,0x00,0x9C,0x1C,0x00,0x00,0x9C,0x1C,0x00,0x00,
+/* 0x0000A020: */ 0x9C,0x1C,0x00,0x00,0x9C,0x1C,0x00,0x00,0x9C,0x1C,0x00,0x00,0xE4,0x1C,0x00,0x00,
+/* 0x0000A030: */ 0x64,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x0000A040: */ 0x54,0x1C,0x00,0x00,0x9C,0x1C,0x00,0x00,0xE4,0x1C,0x00,0x00,0x64,0x1C,0x00,0x00,
+/* 0x0000A050: */ 0x00,0x00,0x00,0x00,0x28,0x9F,0x00,0x00,0x41,0x00,0x00,0x00,0x81,0x00,0x00,0x00,
+/* 0x0000A060: */ 0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x38,0x9F,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x0000A070: */ 0x12,0x53,0x44,0x41,0x44,0x2E,0x46,0x4C,0x55,0x53,0x48,0x20,0x66,0x61,0x69,0x6C,
+/* 0x0000A080: */ 0x65,0x64,0x21,0x5A,0xAC,0x1E,0x00,0x00,0x42,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x0000A090: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x9F,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x0000A0A0: */ 0x00,0x00,0x00,0x00,0x54,0xA0,0x00,0x00,0xA4,0x0F,0x00,0x00,0x0A,0x70,0x66,0x64,
+/* 0x0000A0B0: */ 0x69,0x63,0x64,0x61,0x74,0x2E,0x68,0x5A,0x49,0x00,0x00,0x00,0x43,0x00,0x00,0x00,
+/* 0x0000A0C0: */ 0x35,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,
+/* 0x0000A0D0: */ 0x33,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x20,0x43,0x6F,0x75,0x6C,0x64,0x20,0x6E,
+/* 0x0000A0E0: */ 0x6F,0x74,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x66,0x69,0x6C,0x65,0x20,0x70,
+/* 0x0000A0F0: */ 0x66,0x64,0x69,0x63,0x64,0x61,0x74,0x2E,0x68,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,
+/* 0x0000A100: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x28,0x9F,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x0000A110: */ 0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x0000A120: */ 0x5C,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x0000A130: */ 0x20,0x03,0x00,0x00,0xA4,0x0F,0x00,0x00,0x02,0x30,0x78,0x5A,0xC4,0x9F,0x00,0x00,
+/* 0x0000A140: */ 0x5F,0x00,0x00,0x00,0x04,0xA0,0x00,0x00,0xC4,0x9F,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x0000A150: */ 0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x0000A160: */ 0xA4,0x0F,0x00,0x00,0x03,0x20,0x20,0x20,0xC4,0x9F,0x00,0x00,0x18,0xA1,0x00,0x00,
+/* 0x0000A170: */ 0x59,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x64,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x0000A180: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x0000A190: */ 0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x20,0x03,0x00,0x00,0xA4,0x0F,0x00,0x00,
+/* 0x0000A1A0: */ 0x02,0x30,0x78,0x5A,0xC4,0x9F,0x00,0x00,0x5F,0x00,0x00,0x00,0x38,0xA0,0x00,0x00,
+/* 0x0000A1B0: */ 0xC4,0x9F,0x00,0x00,0x8E,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x0000A1C0: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xA1,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x0000A1D0: */ 0x2C,0x00,0x00,0x00,0x64,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x08,0x00,0x00,
+/* 0x0000A1E0: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x0000A1F0: */ 0x5F,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x0000A200: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x98,0x00,0x00,0x00,
+/* 0x0000A210: */ 0x53,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x0000A220: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,
+/* 0x0000A230: */ 0x02,0x30,0x78,0x5A,0x53,0x00,0x00,0x00,0x54,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x0000A240: */ 0x53,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x0000A250: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,
+/* 0x0000A260: */ 0x64,0x9F,0x00,0x00,0xA4,0x0F,0x00,0x00,0x03,0x2F,0x2A,0x20,0xC4,0x9F,0x00,0x00,
+/* 0x0000A270: */ 0x53,0x00,0x00,0x00,0x18,0xA1,0x00,0x00,0xA4,0x0F,0x00,0x00,0x05,0x3A,0x20,0x2A,
+/* 0x0000A280: */ 0x2F,0x20,0x5A,0x5A,0xC4,0x9F,0x00,0x00,0x5F,0x00,0x00,0x00,0x53,0x00,0x00,0x00,
+/* 0x0000A290: */ 0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xC8,0xA1,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x0000A2A0: */ 0x70,0xFF,0xFF,0xFF,0x61,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x0000A2B0: */ 0x80,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x0000A2C0: */ 0xFF,0x07,0x00,0x00,0x11,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x0000A2D0: */ 0x10,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0xF8,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x0000A2E0: */ 0x53,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x0000A2F0: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,
+/* 0x0000A300: */ 0x64,0x9F,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0xA1,0x00,0x00,
+/* 0x0000A310: */ 0x71,0x00,0x00,0x00,0xA4,0xFF,0xFF,0xFF,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x0000A320: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,
+/* 0x0000A330: */ 0x08,0x23,0x64,0x65,0x66,0x69,0x6E,0x65,0x20,0x5A,0x5A,0x5A,0xC4,0x9F,0x00,0x00,
+/* 0x0000A340: */ 0x5F,0x00,0x00,0x00,0xAC,0x01,0x00,0x00,0xC4,0x9F,0x00,0x00,0xA4,0x0F,0x00,0x00,
+/* 0x0000A350: */ 0x03,0x20,0x20,0x28,0xC4,0x9F,0x00,0x00,0x60,0x00,0x00,0x00,0x18,0xA1,0x00,0x00,
+/* 0x0000A360: */ 0x88,0x0F,0x00,0x00,0x01,0x29,0x5A,0x5A,0xF0,0x9F,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x0000A370: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x48,0x03,0x00,0x00,
+/* 0x0000A380: */ 0x9B,0x00,0x00,0x00,0x48,0x03,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x0000A390: */ 0xE4,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x0000A3A0: */ 0xA4,0xA0,0x00,0x00,0x88,0x0F,0x00,0x00,0x11,0x73,0x64,0x61,0x64,0x2E,0x6F,0x70,
+/* 0x0000A3B0: */ 0x65,0x6E,0x20,0x66,0x61,0x69,0x6C,0x65,0x64,0x21,0x5A,0x5A,0xAC,0x1E,0x00,0x00,
+/* 0x0000A3C0: */ 0x88,0x0F,0x00,0x00,0x33,0x2F,0x2A,0x20,0x54,0x68,0x69,0x73,0x20,0x66,0x69,0x6C,
+/* 0x0000A3D0: */ 0x65,0x20,0x67,0x65,0x6E,0x65,0x72,0x61,0x74,0x65,0x64,0x20,0x62,0x79,0x20,0x74,
+/* 0x0000A3E0: */ 0x68,0x65,0x20,0x46,0x6F,0x72,0x74,0x68,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,
+/* 0x0000A3F0: */ 0x20,0x53,0x44,0x41,0x44,0x20,0x2A,0x2F,0xF0,0x9F,0x00,0x00,0x88,0x0F,0x00,0x00,
+/* 0x0000A400: */ 0x09,0x48,0x45,0x41,0x44,0x45,0x52,0x50,0x54,0x52,0x5A,0x5A,0xAD,0x00,0x00,0x00,
+/* 0x0000A410: */ 0x41,0x00,0x00,0x00,0xA0,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x20,0xA3,0x00,0x00,
+/* 0x0000A420: */ 0x88,0x0F,0x00,0x00,0x0A,0x52,0x45,0x4C,0x43,0x4F,0x4E,0x54,0x45,0x58,0x54,0x5A,
+/* 0x0000A430: */ 0xA8,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA0,0x04,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x0000A440: */ 0x20,0xA3,0x00,0x00,0x88,0x0F,0x00,0x00,0x07,0x43,0x4F,0x44,0x45,0x50,0x54,0x52,
+/* 0x0000A450: */ 0x51,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x20,0xA3,0x00,0x00,
+/* 0x0000A460: */ 0x88,0x0F,0x00,0x00,0x10,0x49,0x46,0x5F,0x4C,0x49,0x54,0x54,0x4C,0x45,0x5F,0x45,
+/* 0x0000A470: */ 0x4E,0x44,0x49,0x41,0x4E,0x5A,0x5A,0x5A,0x74,0xA3,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x0000A480: */ 0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x0000A490: */ 0x0C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xA3,0x00,0x00,
+/* 0x0000A4A0: */ 0xC0,0x0F,0x00,0x00,0x0C,0x53,0x61,0x76,0x69,0x6E,0x67,0x20,0x4E,0x61,0x6D,0x65,
+/* 0x0000A4B0: */ 0x73,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,0x24,0x73,0x74,0x61,
+/* 0x0000A4C0: */ 0x74,0x69,0x63,0x20,0x63,0x6F,0x6E,0x73,0x74,0x20,0x75,0x69,0x6E,0x74,0x38,0x20,
+/* 0x0000A4D0: */ 0x4D,0x69,0x6E,0x44,0x69,0x63,0x4E,0x61,0x6D,0x65,0x73,0x5B,0x5D,0x20,0x3D,0x20,
+/* 0x0000A4E0: */ 0x7B,0x5A,0x5A,0x5A,0xC4,0x9F,0x00,0x00,0xA0,0x04,0x00,0x00,0xAD,0x00,0x00,0x00,
+/* 0x0000A4F0: */ 0x41,0x00,0x00,0x00,0xDC,0x9D,0x00,0x00,0xDC,0xA1,0x00,0x00,0x3E,0x00,0x00,0x00,
+/* 0x0000A500: */ 0x64,0x9F,0x00,0x00,0x88,0x0F,0x00,0x00,0x02,0x7D,0x3B,0x5A,0xF0,0x9F,0x00,0x00,
+/* 0x0000A510: */ 0xC0,0x0F,0x00,0x00,0x0B,0x53,0x61,0x76,0x69,0x6E,0x67,0x20,0x43,0x6F,0x64,0x65,
+/* 0x0000A520: */ 0x28,0x00,0x00,0x00,0xA4,0x0F,0x00,0x00,0x23,0x73,0x74,0x61,0x74,0x69,0x63,0x20,
+/* 0x0000A530: */ 0x63,0x6F,0x6E,0x73,0x74,0x20,0x75,0x69,0x6E,0x74,0x38,0x20,0x4D,0x69,0x6E,0x44,
+/* 0x0000A540: */ 0x69,0x63,0x43,0x6F,0x64,0x65,0x5B,0x5D,0x20,0x3D,0x20,0x7B,0xC4,0x9F,0x00,0x00,
+/* 0x0000A550: */ 0xAC,0x04,0x00,0x00,0x51,0x00,0x00,0x00,0xEC,0x9D,0x00,0x00,0xDC,0xA1,0x00,0x00,
+/* 0x0000A560: */ 0x3E,0x00,0x00,0x00,0x64,0x9F,0x00,0x00,0x88,0x0F,0x00,0x00,0x02,0x7D,0x3B,0x5A,
+/* 0x0000A570: */ 0xF0,0x9F,0x00,0x00,0x54,0xA0,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x0000A580: */ 0xC4,0x9D,0x00,0x00,0x54,0xA0,0x00,0x00,0xAC,0x9D,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x0000A590: */ 0x00,0x00,0x00,0x00,0x28,0x9F,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x0000A5A0: */ 0x00,0x00,0x00,0x00,0x18,0x9F,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x0000A5B0: */ 0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,
+};
diff --git a/csrc/pfdicdat_arm.h b/csrc/pfdicdat_arm.h
new file mode 100644 (file)
index 0000000..8aebba7
--- /dev/null
@@ -0,0 +1,3361 @@
+/* This file generated by the Forth command SDAD */
+#define HEADERPTR  (0x00003D64)
+#define RELCONTEXT  (0x00003D5C)
+#define CODEPTR  (0x000093E8)
+#define IF_LITTLE_ENDIAN  (0x00000001)
+static const uint8 MinDicNames[] = {
+/* 0x00000000: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x45,0x58,0x49,0x54,0x00,0x00,0x00,
+/* 0x00000010: */ 0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x31,0x2D,0x00,0x18,0x00,0x00,0x00,
+/* 0x00000020: */ 0x02,0x00,0x00,0x00,0x02,0x31,0x2B,0x00,0x24,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,
+/* 0x00000030: */ 0x03,0x32,0x52,0x40,0x30,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x03,0x32,0x52,0x3E,
+/* 0x00000040: */ 0x3C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x03,0x32,0x3E,0x52,0x48,0x00,0x00,0x00,
+/* 0x00000050: */ 0x03,0x00,0x00,0x00,0x04,0x32,0x44,0x55,0x50,0x00,0x00,0x00,0x54,0x00,0x00,0x00,
+/* 0x00000060: */ 0x04,0x00,0x00,0x00,0x48,0x32,0x4C,0x49,0x54,0x45,0x52,0x41,0x4C,0x00,0x00,0x00,
+/* 0x00000070: */ 0x64,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x0A,0x28,0x32,0x4C,0x49,0x54,0x45,0x52,
+/* 0x00000080: */ 0x41,0x4C,0x29,0x00,0x78,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x02,0x32,0x2D,0x00,
+/* 0x00000090: */ 0x8C,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x02,0x32,0x2B,0x00,0x98,0x00,0x00,0x00,
+/* 0x000000A0: */ 0x07,0x00,0x00,0x00,0x05,0x32,0x4F,0x56,0x45,0x52,0x00,0x00,0xA4,0x00,0x00,0x00,
+/* 0x000000B0: */ 0x09,0x00,0x00,0x00,0x05,0x32,0x53,0x57,0x41,0x50,0x00,0x00,0xB4,0x00,0x00,0x00,
+/* 0x000000C0: */ 0x0D,0x00,0x00,0x00,0x08,0x28,0x41,0x43,0x43,0x45,0x50,0x54,0x29,0x00,0x00,0x00,
+/* 0x000000D0: */ 0xC4,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x06,0x41,0x43,0x43,0x45,0x50,0x54,0x00,
+/* 0x000000E0: */ 0xD8,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x48,0x41,0x4C,0x49,0x54,0x45,0x52,0x41,
+/* 0x000000F0: */ 0x4C,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x0A,0x28,0x41,0x4C,
+/* 0x00000100: */ 0x49,0x54,0x45,0x52,0x41,0x4C,0x29,0x00,0xFC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00000110: */ 0x08,0x41,0x4C,0x4C,0x4F,0x43,0x41,0x54,0x45,0x00,0x00,0x00,0x10,0x01,0x00,0x00,
+/* 0x00000120: */ 0x12,0x00,0x00,0x00,0x07,0x41,0x52,0x53,0x48,0x49,0x46,0x54,0x24,0x01,0x00,0x00,
+/* 0x00000130: */ 0x11,0x00,0x00,0x00,0x03,0x41,0x4E,0x44,0x34,0x01,0x00,0x00,0x13,0x00,0x00,0x00,
+/* 0x00000140: */ 0x04,0x42,0x41,0x49,0x4C,0x00,0x00,0x00,0x40,0x01,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00000150: */ 0x06,0x42,0x52,0x41,0x4E,0x43,0x48,0x00,0x50,0x01,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00000160: */ 0x0B,0x42,0x4F,0x44,0x59,0x5F,0x4F,0x46,0x46,0x53,0x45,0x54,0x60,0x01,0x00,0x00,
+/* 0x00000170: */ 0x16,0x00,0x00,0x00,0x03,0x42,0x59,0x45,0x74,0x01,0x00,0x00,0xBD,0x00,0x00,0x00,
+/* 0x00000180: */ 0x05,0x43,0x41,0x54,0x43,0x48,0x00,0x00,0x80,0x01,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00000190: */ 0x02,0x43,0x40,0x00,0x90,0x01,0x00,0x00,0x19,0x00,0x00,0x00,0x05,0x43,0x4D,0x4F,
+/* 0x000001A0: */ 0x56,0x45,0x00,0x00,0x9C,0x01,0x00,0x00,0x1A,0x00,0x00,0x00,0x06,0x43,0x4D,0x4F,
+/* 0x000001B0: */ 0x56,0x45,0x3E,0x00,0xAC,0x01,0x00,0x00,0x1B,0x00,0x00,0x00,0x01,0x3A,0x00,0x00,
+/* 0x000001C0: */ 0xBC,0x01,0x00,0x00,0x1C,0x00,0x00,0x00,0x03,0x28,0x3A,0x29,0xC8,0x01,0x00,0x00,
+/* 0x000001D0: */ 0x1D,0x00,0x00,0x00,0x07,0x43,0x4F,0x4D,0x50,0x41,0x52,0x45,0xD4,0x01,0x00,0x00,
+/* 0x000001E0: */ 0x1E,0x00,0x00,0x00,0x01,0x3D,0x00,0x00,0xE4,0x01,0x00,0x00,0x21,0x00,0x00,0x00,
+/* 0x000001F0: */ 0x02,0x3C,0x3E,0x00,0xF0,0x01,0x00,0x00,0x1F,0x00,0x00,0x00,0x01,0x3E,0x00,0x00,
+/* 0x00000200: */ 0xFC,0x01,0x00,0x00,0x22,0x00,0x00,0x00,0x02,0x55,0x3E,0x00,0x08,0x02,0x00,0x00,
+/* 0x00000210: */ 0x20,0x00,0x00,0x00,0x01,0x3C,0x00,0x00,0x14,0x02,0x00,0x00,0x23,0x00,0x00,0x00,
+/* 0x00000220: */ 0x02,0x55,0x3C,0x00,0x20,0x02,0x00,0x00,0x24,0x00,0x00,0x00,0x02,0x30,0x3D,0x00,
+/* 0x00000230: */ 0x2C,0x02,0x00,0x00,0x27,0x00,0x00,0x00,0x03,0x30,0x3C,0x3E,0x38,0x02,0x00,0x00,
+/* 0x00000240: */ 0x25,0x00,0x00,0x00,0x02,0x30,0x3E,0x00,0x44,0x02,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00000250: */ 0x02,0x30,0x3C,0x00,0x50,0x02,0x00,0x00,0x28,0x00,0x00,0x00,0x02,0x43,0x52,0x00,
+/* 0x00000260: */ 0x5C,0x02,0x00,0x00,0x29,0x00,0x00,0x00,0x06,0x43,0x52,0x45,0x41,0x54,0x45,0x00,
+/* 0x00000270: */ 0x68,0x02,0x00,0x00,0x2A,0x00,0x00,0x00,0x08,0x28,0x43,0x52,0x45,0x41,0x54,0x45,
+/* 0x00000280: */ 0x29,0x00,0x00,0x00,0x78,0x02,0x00,0x00,0x39,0x00,0x00,0x00,0x02,0x44,0x2B,0x00,
+/* 0x00000290: */ 0x8C,0x02,0x00,0x00,0x36,0x00,0x00,0x00,0x02,0x44,0x2D,0x00,0x98,0x02,0x00,0x00,
+/* 0x000002A0: */ 0x3A,0x00,0x00,0x00,0x06,0x55,0x4D,0x2F,0x4D,0x4F,0x44,0x00,0xA4,0x02,0x00,0x00,
+/* 0x000002B0: */ 0x38,0x00,0x00,0x00,0x06,0x4D,0x55,0x2F,0x4D,0x4F,0x44,0x00,0xB4,0x02,0x00,0x00,
+/* 0x000002C0: */ 0x37,0x00,0x00,0x00,0x02,0x4D,0x2A,0x00,0xC4,0x02,0x00,0x00,0x3B,0x00,0x00,0x00,
+/* 0x000002D0: */ 0x03,0x55,0x4D,0x2A,0xD0,0x02,0x00,0x00,0x2C,0x00,0x00,0x00,0x05,0x44,0x45,0x46,
+/* 0x000002E0: */ 0x45,0x52,0x00,0x00,0xDC,0x02,0x00,0x00,0x2B,0x00,0x00,0x00,0x02,0x43,0x21,0x00,
+/* 0x000002F0: */ 0xEC,0x02,0x00,0x00,0x2E,0x00,0x00,0x00,0x05,0x44,0x45,0x50,0x54,0x48,0x00,0x00,
+/* 0x00000300: */ 0xF8,0x02,0x00,0x00,0x2F,0x00,0x00,0x00,0x01,0x2F,0x00,0x00,0x08,0x03,0x00,0x00,
+/* 0x00000310: */ 0x30,0x00,0x00,0x00,0x01,0x2E,0x00,0x00,0x14,0x03,0x00,0x00,0x31,0x00,0x00,0x00,
+/* 0x00000320: */ 0x02,0x2E,0x53,0x00,0x20,0x03,0x00,0x00,0x32,0x00,0x00,0x00,0x04,0x28,0x44,0x4F,
+/* 0x00000330: */ 0x29,0x00,0x00,0x00,0x2C,0x03,0x00,0x00,0x33,0x00,0x00,0x00,0x04,0x44,0x52,0x4F,
+/* 0x00000340: */ 0x50,0x00,0x00,0x00,0x3C,0x03,0x00,0x00,0x34,0x00,0x00,0x00,0x04,0x44,0x55,0x4D,
+/* 0x00000350: */ 0x50,0x00,0x00,0x00,0x4C,0x03,0x00,0x00,0x35,0x00,0x00,0x00,0x03,0x44,0x55,0x50,
+/* 0x00000360: */ 0x5C,0x03,0x00,0x00,0x3D,0x00,0x00,0x00,0x06,0x28,0x45,0x4D,0x49,0x54,0x29,0x00,
+/* 0x00000370: */ 0x68,0x03,0x00,0x00,0xCC,0x00,0x00,0x00,0x04,0x45,0x4D,0x49,0x54,0x00,0x00,0x00,
+/* 0x00000380: */ 0x78,0x03,0x00,0x00,0x3E,0x00,0x00,0x00,0x03,0x45,0x4F,0x4C,0x88,0x03,0x00,0x00,
+/* 0x00000390: */ 0x3F,0x00,0x00,0x00,0x08,0x28,0x3F,0x45,0x52,0x52,0x4F,0x52,0x29,0x00,0x00,0x00,
+/* 0x000003A0: */ 0x94,0x03,0x00,0x00,0x3F,0x00,0x00,0x00,0x06,0x3F,0x45,0x52,0x52,0x4F,0x52,0x00,
+/* 0x000003B0: */ 0xA8,0x03,0x00,0x00,0x40,0x00,0x00,0x00,0x07,0x45,0x58,0x45,0x43,0x55,0x54,0x45,
+/* 0x000003C0: */ 0xB8,0x03,0x00,0x00,0x41,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0xC8,0x03,0x00,0x00,
+/* 0x000003D0: */ 0x4C,0x00,0x00,0x00,0x04,0x46,0x49,0x4C,0x4C,0x00,0x00,0x00,0xD4,0x03,0x00,0x00,
+/* 0x000003E0: */ 0x4D,0x00,0x00,0x00,0x04,0x46,0x49,0x4E,0x44,0x00,0x00,0x00,0xE4,0x03,0x00,0x00,
+/* 0x000003F0: */ 0x43,0x00,0x00,0x00,0x0B,0x43,0x52,0x45,0x41,0x54,0x45,0x2D,0x46,0x49,0x4C,0x45,
+/* 0x00000400: */ 0xF4,0x03,0x00,0x00,0x44,0x00,0x00,0x00,0x09,0x4F,0x50,0x45,0x4E,0x2D,0x46,0x49,
+/* 0x00000410: */ 0x4C,0x45,0x00,0x00,0x08,0x04,0x00,0x00,0x42,0x00,0x00,0x00,0x0A,0x43,0x4C,0x4F,
+/* 0x00000420: */ 0x53,0x45,0x2D,0x46,0x49,0x4C,0x45,0x00,0x1C,0x04,0x00,0x00,0x46,0x00,0x00,0x00,
+/* 0x00000430: */ 0x09,0x52,0x45,0x41,0x44,0x2D,0x46,0x49,0x4C,0x45,0x00,0x00,0x30,0x04,0x00,0x00,
+/* 0x00000440: */ 0x4A,0x00,0x00,0x00,0x09,0x46,0x49,0x4C,0x45,0x2D,0x53,0x49,0x5A,0x45,0x00,0x00,
+/* 0x00000450: */ 0x44,0x04,0x00,0x00,0x4B,0x00,0x00,0x00,0x0A,0x57,0x52,0x49,0x54,0x45,0x2D,0x46,
+/* 0x00000460: */ 0x49,0x4C,0x45,0x00,0x58,0x04,0x00,0x00,0x45,0x00,0x00,0x00,0x0D,0x46,0x49,0x4C,
+/* 0x00000470: */ 0x45,0x2D,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x00,0x00,0x6C,0x04,0x00,0x00,
+/* 0x00000480: */ 0x47,0x00,0x00,0x00,0x0F,0x52,0x45,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x2D,
+/* 0x00000490: */ 0x46,0x49,0x4C,0x45,0x84,0x04,0x00,0x00,0x48,0x00,0x00,0x00,0x03,0x52,0x2F,0x4F,
+/* 0x000004A0: */ 0x9C,0x04,0x00,0x00,0x49,0x00,0x00,0x00,0x03,0x52,0x2F,0x57,0xA8,0x04,0x00,0x00,
+/* 0x000004B0: */ 0x4E,0x00,0x00,0x00,0x07,0x46,0x49,0x4E,0x44,0x4E,0x46,0x41,0xB4,0x04,0x00,0x00,
+/* 0x000004C0: */ 0x4F,0x00,0x00,0x00,0x09,0x46,0x4C,0x55,0x53,0x48,0x45,0x4D,0x49,0x54,0x00,0x00,
+/* 0x000004D0: */ 0xC4,0x04,0x00,0x00,0x50,0x00,0x00,0x00,0x04,0x46,0x52,0x45,0x45,0x00,0x00,0x00,
+/* 0x000004E0: */ 0xD8,0x04,0x00,0x00,0x51,0x00,0x00,0x00,0x04,0x48,0x45,0x52,0x45,0x00,0x00,0x00,
+/* 0x000004F0: */ 0xE8,0x04,0x00,0x00,0x52,0x00,0x00,0x00,0x0A,0x28,0x53,0x4E,0x55,0x4D,0x42,0x45,
+/* 0x00000500: */ 0x52,0x3F,0x29,0x00,0xF8,0x04,0x00,0x00,0x53,0x00,0x00,0x00,0x01,0x49,0x00,0x00,
+/* 0x00000510: */ 0x0C,0x05,0x00,0x00,0xBF,0x00,0x00,0x00,0x09,0x49,0x4E,0x54,0x45,0x52,0x50,0x52,
+/* 0x00000520: */ 0x45,0x54,0x00,0x00,0x18,0x05,0x00,0x00,0x55,0x00,0x00,0x00,0x01,0x4A,0x00,0x00,
+/* 0x00000530: */ 0x2C,0x05,0x00,0x00,0x54,0x00,0x00,0x00,0x0C,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,
+/* 0x00000540: */ 0x2D,0x46,0x49,0x4C,0x45,0x00,0x00,0x00,0x38,0x05,0x00,0x00,0x56,0x00,0x00,0x00,
+/* 0x00000550: */ 0x03,0x4B,0x45,0x59,0x50,0x05,0x00,0x00,0x57,0x00,0x00,0x00,0x07,0x28,0x4C,0x45,
+/* 0x00000560: */ 0x41,0x56,0x45,0x29,0x5C,0x05,0x00,0x00,0x58,0x00,0x00,0x00,0x47,0x4C,0x49,0x54,
+/* 0x00000570: */ 0x45,0x52,0x41,0x4C,0x6C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x09,0x28,0x4C,0x49,
+/* 0x00000580: */ 0x54,0x45,0x52,0x41,0x4C,0x29,0x00,0x00,0x7C,0x05,0x00,0x00,0x5A,0x00,0x00,0x00,
+/* 0x00000590: */ 0x07,0x4C,0x4F,0x41,0x44,0x53,0x59,0x53,0x90,0x05,0x00,0x00,0x5B,0x00,0x00,0x00,
+/* 0x000005A0: */ 0x0E,0x4C,0x4F,0x43,0x41,0x4C,0x2D,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x52,0x00,
+/* 0x000005B0: */ 0xA0,0x05,0x00,0x00,0x5C,0x00,0x00,0x00,0x0D,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x2E,
+/* 0x000005C0: */ 0x45,0x4E,0x54,0x52,0x59,0x29,0x00,0x00,0xB8,0x05,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x000005D0: */ 0x0C,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x2E,0x45,0x58,0x49,0x54,0x29,0x00,0x00,0x00,
+/* 0x000005E0: */ 0xD0,0x05,0x00,0x00,0x5E,0x00,0x00,0x00,0x08,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x40,
+/* 0x000005F0: */ 0x29,0x00,0x00,0x00,0xE8,0x05,0x00,0x00,0x5F,0x00,0x00,0x00,0x0A,0x28,0x31,0x5F,
+/* 0x00000600: */ 0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0xFC,0x05,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00000610: */ 0x0A,0x28,0x32,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x10,0x06,0x00,0x00,
+/* 0x00000620: */ 0x61,0x00,0x00,0x00,0x0A,0x28,0x33,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,
+/* 0x00000630: */ 0x24,0x06,0x00,0x00,0x62,0x00,0x00,0x00,0x0A,0x28,0x34,0x5F,0x4C,0x4F,0x43,0x41,
+/* 0x00000640: */ 0x4C,0x40,0x29,0x00,0x38,0x06,0x00,0x00,0x63,0x00,0x00,0x00,0x0A,0x28,0x35,0x5F,
+/* 0x00000650: */ 0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x4C,0x06,0x00,0x00,0x64,0x00,0x00,0x00,
+/* 0x00000660: */ 0x0A,0x28,0x36,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x60,0x06,0x00,0x00,
+/* 0x00000670: */ 0x65,0x00,0x00,0x00,0x0A,0x28,0x37,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,
+/* 0x00000680: */ 0x74,0x06,0x00,0x00,0x66,0x00,0x00,0x00,0x0A,0x28,0x38,0x5F,0x4C,0x4F,0x43,0x41,
+/* 0x00000690: */ 0x4C,0x40,0x29,0x00,0x88,0x06,0x00,0x00,0x68,0x00,0x00,0x00,0x08,0x28,0x4C,0x4F,
+/* 0x000006A0: */ 0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0x9C,0x06,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x000006B0: */ 0x0A,0x28,0x31,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0xB0,0x06,0x00,0x00,
+/* 0x000006C0: */ 0x6A,0x00,0x00,0x00,0x0A,0x28,0x32,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,
+/* 0x000006D0: */ 0xC4,0x06,0x00,0x00,0x6B,0x00,0x00,0x00,0x0A,0x28,0x33,0x5F,0x4C,0x4F,0x43,0x41,
+/* 0x000006E0: */ 0x4C,0x21,0x29,0x00,0xD8,0x06,0x00,0x00,0x6C,0x00,0x00,0x00,0x0A,0x28,0x34,0x5F,
+/* 0x000006F0: */ 0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0xEC,0x06,0x00,0x00,0x6D,0x00,0x00,0x00,
+/* 0x00000700: */ 0x0A,0x28,0x35,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x07,0x00,0x00,
+/* 0x00000710: */ 0x6E,0x00,0x00,0x00,0x0A,0x28,0x36,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,
+/* 0x00000720: */ 0x14,0x07,0x00,0x00,0x6F,0x00,0x00,0x00,0x0A,0x28,0x37,0x5F,0x4C,0x4F,0x43,0x41,
+/* 0x00000730: */ 0x4C,0x21,0x29,0x00,0x28,0x07,0x00,0x00,0x70,0x00,0x00,0x00,0x0A,0x28,0x38,0x5F,
+/* 0x00000740: */ 0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x3C,0x07,0x00,0x00,0x67,0x00,0x00,0x00,
+/* 0x00000750: */ 0x09,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x2B,0x21,0x29,0x00,0x00,0x50,0x07,0x00,0x00,
+/* 0x00000760: */ 0x71,0x00,0x00,0x00,0x06,0x28,0x4C,0x4F,0x4F,0x50,0x29,0x00,0x64,0x07,0x00,0x00,
+/* 0x00000770: */ 0x72,0x00,0x00,0x00,0x06,0x4C,0x53,0x48,0x49,0x46,0x54,0x00,0x74,0x07,0x00,0x00,
+/* 0x00000780: */ 0x73,0x00,0x00,0x00,0x03,0x4D,0x41,0x58,0x84,0x07,0x00,0x00,0x74,0x00,0x00,0x00,
+/* 0x00000790: */ 0x03,0x4D,0x49,0x4E,0x90,0x07,0x00,0x00,0x75,0x00,0x00,0x00,0x01,0x2D,0x00,0x00,
+/* 0x000007A0: */ 0x9C,0x07,0x00,0x00,0x77,0x00,0x00,0x00,0x05,0x4E,0x41,0x4D,0x45,0x3E,0x00,0x00,
+/* 0x000007B0: */ 0xA8,0x07,0x00,0x00,0x76,0x00,0x00,0x00,0x08,0x50,0x52,0x45,0x56,0x4E,0x41,0x4D,
+/* 0x000007C0: */ 0x45,0x00,0x00,0x00,0xB8,0x07,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x4E,0x4F,0x4F,
+/* 0x000007D0: */ 0x50,0x00,0x00,0x00,0xCC,0x07,0x00,0x00,0xD8,0x00,0x00,0x00,0x07,0x4E,0x55,0x4D,
+/* 0x000007E0: */ 0x42,0x45,0x52,0x3F,0xDC,0x07,0x00,0x00,0x7A,0x00,0x00,0x00,0x02,0x4F,0x52,0x00,
+/* 0x000007F0: */ 0xEC,0x07,0x00,0x00,0x7B,0x00,0x00,0x00,0x04,0x4F,0x56,0x45,0x52,0x00,0x00,0x00,
+/* 0x00000800: */ 0xF8,0x07,0x00,0x00,0x7C,0x00,0x00,0x00,0x04,0x50,0x49,0x43,0x4B,0x00,0x00,0x00,
+/* 0x00000810: */ 0x08,0x08,0x00,0x00,0x7D,0x00,0x00,0x00,0x01,0x2B,0x00,0x00,0x18,0x08,0x00,0x00,
+/* 0x00000820: */ 0x7E,0x00,0x00,0x00,0x07,0x28,0x2B,0x4C,0x4F,0x4F,0x50,0x29,0x24,0x08,0x00,0x00,
+/* 0x00000830: */ 0x7F,0x00,0x00,0x00,0x02,0x2B,0x21,0x00,0x34,0x08,0x00,0x00,0x83,0x00,0x00,0x00,
+/* 0x00000840: */ 0x06,0x28,0x51,0x55,0x49,0x54,0x29,0x00,0x40,0x08,0x00,0x00,0xE4,0x00,0x00,0x00,
+/* 0x00000850: */ 0x04,0x51,0x55,0x49,0x54,0x00,0x00,0x00,0x50,0x08,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00000860: */ 0x05,0x28,0x3F,0x44,0x4F,0x29,0x00,0x00,0x60,0x08,0x00,0x00,0x81,0x00,0x00,0x00,
+/* 0x00000870: */ 0x04,0x3F,0x44,0x55,0x50,0x00,0x00,0x00,0x70,0x08,0x00,0x00,0x82,0x00,0x00,0x00,
+/* 0x00000880: */ 0x09,0x3F,0x54,0x45,0x52,0x4D,0x49,0x4E,0x41,0x4C,0x00,0x00,0x80,0x08,0x00,0x00,
+/* 0x00000890: */ 0x82,0x00,0x00,0x00,0x04,0x4B,0x45,0x59,0x3F,0x00,0x00,0x00,0x94,0x08,0x00,0x00,
+/* 0x000008A0: */ 0x84,0x00,0x00,0x00,0x06,0x52,0x45,0x46,0x49,0x4C,0x4C,0x00,0xA4,0x08,0x00,0x00,
+/* 0x000008B0: */ 0x85,0x00,0x00,0x00,0x06,0x52,0x45,0x53,0x49,0x5A,0x45,0x00,0xB4,0x08,0x00,0x00,
+/* 0x000008C0: */ 0x87,0x00,0x00,0x00,0x04,0x52,0x4F,0x4C,0x4C,0x00,0x00,0x00,0xC4,0x08,0x00,0x00,
+/* 0x000008D0: */ 0x88,0x00,0x00,0x00,0x03,0x52,0x4F,0x54,0xD4,0x08,0x00,0x00,0x8B,0x00,0x00,0x00,
+/* 0x000008E0: */ 0x06,0x52,0x53,0x48,0x49,0x46,0x54,0x00,0xE0,0x08,0x00,0x00,0x8C,0x00,0x00,0x00,
+/* 0x000008F0: */ 0x05,0x52,0x44,0x52,0x4F,0x50,0x00,0x00,0xF0,0x08,0x00,0x00,0x8D,0x00,0x00,0x00,
+/* 0x00000900: */ 0x02,0x52,0x40,0x00,0x00,0x09,0x00,0x00,0x8E,0x00,0x00,0x00,0x02,0x52,0x3E,0x00,
+/* 0x00000910: */ 0x0C,0x09,0x00,0x00,0x89,0x00,0x00,0x00,0x03,0x52,0x50,0x40,0x18,0x09,0x00,0x00,
+/* 0x00000920: */ 0x8A,0x00,0x00,0x00,0x03,0x52,0x50,0x21,0x24,0x09,0x00,0x00,0x92,0x00,0x00,0x00,
+/* 0x00000930: */ 0x41,0x3B,0x00,0x00,0x30,0x09,0x00,0x00,0x99,0x00,0x00,0x00,0x03,0x53,0x50,0x40,
+/* 0x00000940: */ 0x3C,0x09,0x00,0x00,0x9A,0x00,0x00,0x00,0x03,0x53,0x50,0x21,0x48,0x09,0x00,0x00,
+/* 0x00000950: */ 0x9B,0x00,0x00,0x00,0x01,0x21,0x00,0x00,0x54,0x09,0x00,0x00,0x8F,0x00,0x00,0x00,
+/* 0x00000960: */ 0x0C,0x28,0x53,0x41,0x56,0x45,0x2D,0x46,0x4F,0x52,0x54,0x48,0x29,0x00,0x00,0x00,
+/* 0x00000970: */ 0x60,0x09,0x00,0x00,0x91,0x00,0x00,0x00,0x04,0x53,0x43,0x41,0x4E,0x00,0x00,0x00,
+/* 0x00000980: */ 0x78,0x09,0x00,0x00,0x93,0x00,0x00,0x00,0x04,0x53,0x4B,0x49,0x50,0x00,0x00,0x00,
+/* 0x00000990: */ 0x88,0x09,0x00,0x00,0x94,0x00,0x00,0x00,0x06,0x53,0x4F,0x55,0x52,0x43,0x45,0x00,
+/* 0x000009A0: */ 0x98,0x09,0x00,0x00,0x98,0x00,0x00,0x00,0x0A,0x53,0x45,0x54,0x2D,0x53,0x4F,0x55,
+/* 0x000009B0: */ 0x52,0x43,0x45,0x00,0xA8,0x09,0x00,0x00,0x95,0x00,0x00,0x00,0x09,0x53,0x4F,0x55,
+/* 0x000009C0: */ 0x52,0x43,0x45,0x2D,0x49,0x44,0x00,0x00,0xBC,0x09,0x00,0x00,0x97,0x00,0x00,0x00,
+/* 0x000009D0: */ 0x0E,0x50,0x55,0x53,0x48,0x2D,0x53,0x4F,0x55,0x52,0x43,0x45,0x2D,0x49,0x44,0x00,
+/* 0x000009E0: */ 0xD0,0x09,0x00,0x00,0x96,0x00,0x00,0x00,0x0D,0x50,0x4F,0x50,0x2D,0x53,0x4F,0x55,
+/* 0x000009F0: */ 0x52,0x43,0x45,0x2D,0x49,0x44,0x00,0x00,0xE8,0x09,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00000A00: */ 0x04,0x53,0x57,0x41,0x50,0x00,0x00,0x00,0x00,0x0A,0x00,0x00,0x9D,0x00,0x00,0x00,
+/* 0x00000A10: */ 0x05,0x54,0x45,0x53,0x54,0x31,0x00,0x00,0x10,0x0A,0x00,0x00,0x9E,0x00,0x00,0x00,
+/* 0x00000A20: */ 0x05,0x54,0x45,0x53,0x54,0x32,0x00,0x00,0x20,0x0A,0x00,0x00,0xA0,0x00,0x00,0x00,
+/* 0x00000A30: */ 0x01,0x27,0x00,0x00,0x30,0x0A,0x00,0x00,0xA1,0x00,0x00,0x00,0x01,0x2A,0x00,0x00,
+/* 0x00000A40: */ 0x3C,0x0A,0x00,0x00,0xBE,0x00,0x00,0x00,0x05,0x54,0x48,0x52,0x4F,0x57,0x00,0x00,
+/* 0x00000A50: */ 0x48,0x0A,0x00,0x00,0xA2,0x00,0x00,0x00,0x02,0x3E,0x52,0x00,0x58,0x0A,0x00,0x00,
+/* 0x00000A60: */ 0xA3,0x00,0x00,0x00,0x04,0x54,0x59,0x50,0x45,0x00,0x00,0x00,0x64,0x0A,0x00,0x00,
+/* 0x00000A70: */ 0xA5,0x00,0x00,0x00,0x04,0x42,0x41,0x53,0x45,0x00,0x00,0x00,0x74,0x0A,0x00,0x00,
+/* 0x00000A80: */ 0xA6,0x00,0x00,0x00,0x09,0x43,0x4F,0x44,0x45,0x2D,0x42,0x41,0x53,0x45,0x00,0x00,
+/* 0x00000A90: */ 0x84,0x0A,0x00,0x00,0xA7,0x00,0x00,0x00,0x0A,0x43,0x4F,0x44,0x45,0x2D,0x4C,0x49,
+/* 0x00000AA0: */ 0x4D,0x49,0x54,0x00,0x98,0x0A,0x00,0x00,0xA8,0x00,0x00,0x00,0x07,0x43,0x4F,0x4E,
+/* 0x00000AB0: */ 0x54,0x45,0x58,0x54,0xAC,0x0A,0x00,0x00,0xA9,0x00,0x00,0x00,0x02,0x44,0x50,0x00,
+/* 0x00000AC0: */ 0xBC,0x0A,0x00,0x00,0xAA,0x00,0x00,0x00,0x04,0x45,0x43,0x48,0x4F,0x00,0x00,0x00,
+/* 0x00000AD0: */ 0xC8,0x0A,0x00,0x00,0xAD,0x00,0x00,0x00,0x0B,0x48,0x45,0x41,0x44,0x45,0x52,0x53,
+/* 0x00000AE0: */ 0x2D,0x50,0x54,0x52,0xD8,0x0A,0x00,0x00,0xAB,0x00,0x00,0x00,0x0C,0x48,0x45,0x41,
+/* 0x00000AF0: */ 0x44,0x45,0x52,0x53,0x2D,0x42,0x41,0x53,0x45,0x00,0x00,0x00,0xEC,0x0A,0x00,0x00,
+/* 0x00000B00: */ 0xAC,0x00,0x00,0x00,0x0D,0x48,0x45,0x41,0x44,0x45,0x52,0x53,0x2D,0x4C,0x49,0x4D,
+/* 0x00000B10: */ 0x49,0x54,0x00,0x00,0x04,0x0B,0x00,0x00,0xAE,0x00,0x00,0x00,0x04,0x23,0x54,0x49,
+/* 0x00000B20: */ 0x42,0x00,0x00,0x00,0x1C,0x0B,0x00,0x00,0xB0,0x00,0x00,0x00,0x0B,0x52,0x45,0x54,
+/* 0x00000B30: */ 0x55,0x52,0x4E,0x2D,0x43,0x4F,0x44,0x45,0x2C,0x0B,0x00,0x00,0xB4,0x00,0x00,0x00,
+/* 0x00000B40: */ 0x0B,0x54,0x52,0x41,0x43,0x45,0x2D,0x46,0x4C,0x41,0x47,0x53,0x40,0x0B,0x00,0x00,
+/* 0x00000B50: */ 0xB5,0x00,0x00,0x00,0x0B,0x54,0x52,0x41,0x43,0x45,0x2D,0x4C,0x45,0x56,0x45,0x4C,
+/* 0x00000B60: */ 0x54,0x0B,0x00,0x00,0xB6,0x00,0x00,0x00,0x0B,0x54,0x52,0x41,0x43,0x45,0x2D,0x53,
+/* 0x00000B70: */ 0x54,0x41,0x43,0x4B,0x68,0x0B,0x00,0x00,0xAF,0x00,0x00,0x00,0x03,0x4F,0x55,0x54,
+/* 0x00000B80: */ 0x7C,0x0B,0x00,0x00,0xB2,0x00,0x00,0x00,0x05,0x53,0x54,0x41,0x54,0x45,0x00,0x00,
+/* 0x00000B90: */ 0x88,0x0B,0x00,0x00,0xB3,0x00,0x00,0x00,0x03,0x3E,0x49,0x4E,0x98,0x0B,0x00,0x00,
+/* 0x00000BA0: */ 0xB8,0x00,0x00,0x00,0x04,0x57,0x4F,0x52,0x44,0x00,0x00,0x00,0xA4,0x0B,0x00,0x00,
+/* 0x00000BB0: */ 0xB9,0x00,0x00,0x00,0x02,0x57,0x40,0x00,0xB4,0x0B,0x00,0x00,0xBA,0x00,0x00,0x00,
+/* 0x00000BC0: */ 0x02,0x57,0x21,0x00,0xC0,0x0B,0x00,0x00,0xBB,0x00,0x00,0x00,0x03,0x58,0x4F,0x52,
+/* 0x00000BD0: */ 0xCC,0x0B,0x00,0x00,0xBC,0x00,0x00,0x00,0x07,0x30,0x42,0x52,0x41,0x4E,0x43,0x48,
+/* 0x00000BE0: */ 0xD8,0x0B,0x00,0x00,0xF0,0x00,0x00,0x00,0x06,0x43,0x54,0x45,0x53,0x54,0x30,0x00,
+/* 0x00000BF0: */ 0xE8,0x0B,0x00,0x00,0xFC,0x00,0x00,0x00,0x06,0x43,0x54,0x45,0x53,0x54,0x31,0x00,
+/* 0x00000C00: */ 0xF8,0x0B,0x00,0x00,0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,0x3A,0x73,0x79,0x73,
+/* 0x00000C10: */ 0x74,0x65,0x6D,0x2E,0x66,0x74,0x68,0x00,0x08,0x0C,0x00,0x00,0x08,0x01,0x00,0x00,
+/* 0x00000C20: */ 0x0B,0x46,0x49,0x52,0x53,0x54,0x5F,0x43,0x4F,0x4C,0x4F,0x4E,0x20,0x0C,0x00,0x00,
+/* 0x00000C30: */ 0x0C,0x01,0x00,0x00,0x06,0x4C,0x41,0x54,0x45,0x53,0x54,0x00,0x34,0x0C,0x00,0x00,
+/* 0x00000C40: */ 0x18,0x01,0x00,0x00,0x0E,0x46,0x4C,0x41,0x47,0x5F,0x49,0x4D,0x4D,0x45,0x44,0x49,
+/* 0x00000C50: */ 0x41,0x54,0x45,0x00,0x44,0x0C,0x00,0x00,0x24,0x01,0x00,0x00,0x09,0x49,0x4D,0x4D,
+/* 0x00000C60: */ 0x45,0x44,0x49,0x41,0x54,0x45,0x00,0x00,0x5C,0x0C,0x00,0x00,0x44,0x01,0x00,0x00,
+/* 0x00000C70: */ 0x41,0x28,0x00,0x00,0x70,0x0C,0x00,0x00,0x58,0x01,0x00,0x00,0x41,0x5C,0x00,0x00,
+/* 0x00000C80: */ 0x7C,0x0C,0x00,0x00,0x68,0x01,0x00,0x00,0x05,0x43,0x4F,0x55,0x4E,0x54,0x00,0x00,
+/* 0x00000C90: */ 0x88,0x0C,0x00,0x00,0x7C,0x01,0x00,0x00,0x02,0x4F,0x4E,0x00,0x98,0x0C,0x00,0x00,
+/* 0x00000CA0: */ 0x90,0x01,0x00,0x00,0x03,0x4F,0x46,0x46,0xA4,0x0C,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x00000CB0: */ 0x04,0x43,0x45,0x4C,0x4C,0x00,0x00,0x00,0xB0,0x0C,0x00,0x00,0xB0,0x01,0x00,0x00,
+/* 0x00000CC0: */ 0x05,0x43,0x45,0x4C,0x4C,0x2B,0x00,0x00,0xC0,0x0C,0x00,0x00,0xBC,0x01,0x00,0x00,
+/* 0x00000CD0: */ 0x05,0x43,0x45,0x4C,0x4C,0x2D,0x00,0x00,0xD0,0x0C,0x00,0x00,0xC8,0x01,0x00,0x00,
+/* 0x00000CE0: */ 0x05,0x43,0x45,0x4C,0x4C,0x53,0x00,0x00,0xE0,0x0C,0x00,0x00,0xD8,0x01,0x00,0x00,
+/* 0x00000CF0: */ 0x05,0x43,0x48,0x41,0x52,0x2B,0x00,0x00,0xF0,0x0C,0x00,0x00,0xE0,0x01,0x00,0x00,
+/* 0x00000D00: */ 0x45,0x43,0x48,0x41,0x52,0x53,0x00,0x00,0x00,0x0D,0x00,0x00,0xE4,0x01,0x00,0x00,
+/* 0x00000D10: */ 0x04,0x2D,0x52,0x4F,0x54,0x00,0x00,0x00,0x10,0x0D,0x00,0x00,0xF0,0x01,0x00,0x00,
+/* 0x00000D20: */ 0x04,0x33,0x44,0x55,0x50,0x00,0x00,0x00,0x20,0x0D,0x00,0x00,0x18,0x02,0x00,0x00,
+/* 0x00000D30: */ 0x05,0x32,0x44,0x52,0x4F,0x50,0x00,0x00,0x30,0x0D,0x00,0x00,0x24,0x02,0x00,0x00,
+/* 0x00000D40: */ 0x03,0x4E,0x49,0x50,0x40,0x0D,0x00,0x00,0x30,0x02,0x00,0x00,0x04,0x54,0x55,0x43,
+/* 0x00000D50: */ 0x4B,0x00,0x00,0x00,0x4C,0x0D,0x00,0x00,0x3C,0x02,0x00,0x00,0x02,0x3C,0x3D,0x00,
+/* 0x00000D60: */ 0x5C,0x0D,0x00,0x00,0x48,0x02,0x00,0x00,0x02,0x3E,0x3D,0x00,0x68,0x0D,0x00,0x00,
+/* 0x00000D70: */ 0x54,0x02,0x00,0x00,0x06,0x49,0x4E,0x56,0x45,0x52,0x54,0x00,0x74,0x0D,0x00,0x00,
+/* 0x00000D80: */ 0x64,0x02,0x00,0x00,0x03,0x4E,0x4F,0x54,0x84,0x0D,0x00,0x00,0x6C,0x02,0x00,0x00,
+/* 0x00000D90: */ 0x06,0x4E,0x45,0x47,0x41,0x54,0x45,0x00,0x90,0x0D,0x00,0x00,0x80,0x02,0x00,0x00,
+/* 0x00000DA0: */ 0x07,0x44,0x4E,0x45,0x47,0x41,0x54,0x45,0xA0,0x0D,0x00,0x00,0x9C,0x02,0x00,0x00,
+/* 0x00000DB0: */ 0x03,0x49,0x44,0x2E,0xB0,0x0D,0x00,0x00,0xB4,0x02,0x00,0x00,0x07,0x44,0x45,0x43,
+/* 0x00000DC0: */ 0x49,0x4D,0x41,0x4C,0xBC,0x0D,0x00,0x00,0xC8,0x02,0x00,0x00,0x05,0x4F,0x43,0x54,
+/* 0x00000DD0: */ 0x41,0x4C,0x00,0x00,0xCC,0x0D,0x00,0x00,0xDC,0x02,0x00,0x00,0x03,0x48,0x45,0x58,
+/* 0x00000DE0: */ 0xDC,0x0D,0x00,0x00,0xF0,0x02,0x00,0x00,0x06,0x42,0x49,0x4E,0x41,0x52,0x59,0x00,
+/* 0x00000DF0: */ 0xE8,0x0D,0x00,0x00,0x04,0x03,0x00,0x00,0x03,0x50,0x41,0x44,0xF8,0x0D,0x00,0x00,
+/* 0x00000E00: */ 0x18,0x03,0x00,0x00,0x05,0x24,0x4D,0x4F,0x56,0x45,0x00,0x00,0x04,0x0E,0x00,0x00,
+/* 0x00000E10: */ 0x2C,0x03,0x00,0x00,0x07,0x42,0x45,0x54,0x57,0x45,0x45,0x4E,0x14,0x0E,0x00,0x00,
+/* 0x00000E20: */ 0x54,0x03,0x00,0x00,0x41,0x5B,0x00,0x00,0x24,0x0E,0x00,0x00,0x68,0x03,0x00,0x00,
+/* 0x00000E30: */ 0x01,0x5D,0x00,0x00,0x30,0x0E,0x00,0x00,0x7C,0x03,0x00,0x00,0x07,0x45,0x56,0x45,
+/* 0x00000E40: */ 0x4E,0x2D,0x55,0x50,0x3C,0x0E,0x00,0x00,0x94,0x03,0x00,0x00,0x07,0x41,0x4C,0x49,
+/* 0x00000E50: */ 0x47,0x4E,0x45,0x44,0x4C,0x0E,0x00,0x00,0xB0,0x03,0x00,0x00,0x05,0x41,0x4C,0x49,
+/* 0x00000E60: */ 0x47,0x4E,0x00,0x00,0x5C,0x0E,0x00,0x00,0xC8,0x03,0x00,0x00,0x05,0x41,0x4C,0x4C,
+/* 0x00000E70: */ 0x4F,0x54,0x00,0x00,0x6C,0x0E,0x00,0x00,0xD4,0x03,0x00,0x00,0x02,0x43,0x2C,0x00,
+/* 0x00000E80: */ 0x7C,0x0E,0x00,0x00,0xF0,0x03,0x00,0x00,0x02,0x57,0x2C,0x00,0x88,0x0E,0x00,0x00,
+/* 0x00000E90: */ 0x20,0x04,0x00,0x00,0x01,0x2C,0x00,0x00,0x94,0x0E,0x00,0x00,0x38,0x04,0x00,0x00,
+/* 0x00000EA0: */ 0x0A,0x4E,0x3E,0x4E,0x45,0x58,0x54,0x4C,0x49,0x4E,0x4B,0x00,0xA0,0x0E,0x00,0x00,
+/* 0x00000EB0: */ 0x5C,0x04,0x00,0x00,0x08,0x4E,0x41,0x4D,0x45,0x42,0x41,0x53,0x45,0x00,0x00,0x00,
+/* 0x00000EC0: */ 0xB4,0x0E,0x00,0x00,0x68,0x04,0x00,0x00,0x08,0x43,0x4F,0x44,0x45,0x42,0x41,0x53,
+/* 0x00000ED0: */ 0x45,0x00,0x00,0x00,0xC8,0x0E,0x00,0x00,0x74,0x04,0x00,0x00,0x09,0x4E,0x41,0x4D,
+/* 0x00000EE0: */ 0x45,0x4C,0x49,0x4D,0x49,0x54,0x00,0x00,0xDC,0x0E,0x00,0x00,0x80,0x04,0x00,0x00,
+/* 0x00000EF0: */ 0x09,0x43,0x4F,0x44,0x45,0x4C,0x49,0x4D,0x49,0x54,0x00,0x00,0xF0,0x0E,0x00,0x00,
+/* 0x00000F00: */ 0x8C,0x04,0x00,0x00,0x09,0x4E,0x41,0x4D,0x45,0x42,0x41,0x53,0x45,0x2B,0x00,0x00,
+/* 0x00000F10: */ 0x04,0x0F,0x00,0x00,0x98,0x04,0x00,0x00,0x05,0x3E,0x43,0x4F,0x44,0x45,0x00,0x00,
+/* 0x00000F20: */ 0x18,0x0F,0x00,0x00,0xA4,0x04,0x00,0x00,0x05,0x43,0x4F,0x44,0x45,0x3E,0x00,0x00,
+/* 0x00000F30: */ 0x28,0x0F,0x00,0x00,0xB0,0x04,0x00,0x00,0x06,0x4E,0x3E,0x4C,0x49,0x4E,0x4B,0x00,
+/* 0x00000F40: */ 0x38,0x0F,0x00,0x00,0xC0,0x04,0x00,0x00,0x05,0x3E,0x42,0x4F,0x44,0x59,0x00,0x00,
+/* 0x00000F50: */ 0x48,0x0F,0x00,0x00,0xD0,0x04,0x00,0x00,0x05,0x42,0x4F,0x44,0x59,0x3E,0x00,0x00,
+/* 0x00000F60: */ 0x58,0x0F,0x00,0x00,0xE0,0x04,0x00,0x00,0x08,0x55,0x53,0x45,0x2D,0x3E,0x52,0x45,
+/* 0x00000F70: */ 0x4C,0x00,0x00,0x00,0x68,0x0F,0x00,0x00,0xEC,0x04,0x00,0x00,0x08,0x52,0x45,0x4C,
+/* 0x00000F80: */ 0x2D,0x3E,0x55,0x53,0x45,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0xF8,0x04,0x00,0x00,
+/* 0x00000F90: */ 0x02,0x58,0x40,0x00,0x90,0x0F,0x00,0x00,0x00,0x05,0x00,0x00,0x02,0x58,0x21,0x00,
+/* 0x00000FA0: */ 0x9C,0x0F,0x00,0x00,0x08,0x05,0x00,0x00,0x08,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,
+/* 0x00000FB0: */ 0x2C,0x00,0x00,0x00,0xA8,0x0F,0x00,0x00,0x10,0x05,0x00,0x00,0x49,0x5B,0x43,0x4F,
+/* 0x00000FC0: */ 0x4D,0x50,0x49,0x4C,0x45,0x5D,0x00,0x00,0xBC,0x0F,0x00,0x00,0x1C,0x05,0x00,0x00,
+/* 0x00000FD0: */ 0x09,0x28,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x29,0x00,0x00,0xD0,0x0F,0x00,0x00,
+/* 0x00000FE0: */ 0x30,0x05,0x00,0x00,0x47,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0xE4,0x0F,0x00,0x00,
+/* 0x00000FF0: */ 0x3C,0x05,0x00,0x00,0x07,0x3A,0x4E,0x4F,0x4E,0x41,0x4D,0x45,0xF4,0x0F,0x00,0x00,
+/* 0x00001000: */ 0x50,0x05,0x00,0x00,0x09,0x45,0x52,0x52,0x5F,0x41,0x42,0x4F,0x52,0x54,0x00,0x00,
+/* 0x00001010: */ 0x04,0x10,0x00,0x00,0x5C,0x05,0x00,0x00,0x0D,0x45,0x52,0x52,0x5F,0x45,0x58,0x45,
+/* 0x00001020: */ 0x43,0x55,0x54,0x49,0x4E,0x47,0x00,0x00,0x18,0x10,0x00,0x00,0x68,0x05,0x00,0x00,
+/* 0x00001030: */ 0x09,0x45,0x52,0x52,0x5F,0x50,0x41,0x49,0x52,0x53,0x00,0x00,0x30,0x10,0x00,0x00,
+/* 0x00001040: */ 0x74,0x05,0x00,0x00,0x09,0x45,0x52,0x52,0x5F,0x44,0x45,0x46,0x45,0x52,0x00,0x00,
+/* 0x00001050: */ 0x44,0x10,0x00,0x00,0x80,0x05,0x00,0x00,0x05,0x41,0x42,0x4F,0x52,0x54,0x00,0x00,
+/* 0x00001060: */ 0x58,0x10,0x00,0x00,0x8C,0x05,0x00,0x00,0x0F,0x43,0x4F,0x4E,0x44,0x49,0x54,0x49,
+/* 0x00001070: */ 0x4F,0x4E,0x41,0x4C,0x5F,0x4B,0x45,0x59,0x68,0x10,0x00,0x00,0x98,0x05,0x00,0x00,
+/* 0x00001080: */ 0x0A,0x3F,0x43,0x4F,0x4E,0x44,0x49,0x54,0x49,0x4F,0x4E,0x00,0x80,0x10,0x00,0x00,
+/* 0x00001090: */ 0xAC,0x05,0x00,0x00,0x05,0x3E,0x4D,0x41,0x52,0x4B,0x00,0x00,0x94,0x10,0x00,0x00,
+/* 0x000010A0: */ 0xC0,0x05,0x00,0x00,0x08,0x3E,0x52,0x45,0x53,0x4F,0x4C,0x56,0x45,0x00,0x00,0x00,
+/* 0x000010B0: */ 0xA4,0x10,0x00,0x00,0xD8,0x05,0x00,0x00,0x05,0x3C,0x4D,0x41,0x52,0x4B,0x00,0x00,
+/* 0x000010C0: */ 0xB8,0x10,0x00,0x00,0xE0,0x05,0x00,0x00,0x08,0x3C,0x52,0x45,0x53,0x4F,0x4C,0x56,
+/* 0x000010D0: */ 0x45,0x00,0x00,0x00,0xC8,0x10,0x00,0x00,0xF0,0x05,0x00,0x00,0x05,0x3F,0x43,0x4F,
+/* 0x000010E0: */ 0x4D,0x50,0x00,0x00,0xDC,0x10,0x00,0x00,0x08,0x06,0x00,0x00,0x06,0x3F,0x50,0x41,
+/* 0x000010F0: */ 0x49,0x52,0x53,0x00,0xEC,0x10,0x00,0x00,0x18,0x06,0x00,0x00,0x42,0x49,0x46,0x00,
+/* 0x00001100: */ 0xFC,0x10,0x00,0x00,0x34,0x06,0x00,0x00,0x44,0x54,0x48,0x45,0x4E,0x00,0x00,0x00,
+/* 0x00001110: */ 0x08,0x11,0x00,0x00,0x44,0x06,0x00,0x00,0x45,0x42,0x45,0x47,0x49,0x4E,0x00,0x00,
+/* 0x00001120: */ 0x18,0x11,0x00,0x00,0x54,0x06,0x00,0x00,0x45,0x41,0x47,0x41,0x49,0x4E,0x00,0x00,
+/* 0x00001130: */ 0x28,0x11,0x00,0x00,0x70,0x06,0x00,0x00,0x45,0x55,0x4E,0x54,0x49,0x4C,0x00,0x00,
+/* 0x00001140: */ 0x38,0x11,0x00,0x00,0x8C,0x06,0x00,0x00,0x45,0x41,0x48,0x45,0x41,0x44,0x00,0x00,
+/* 0x00001150: */ 0x48,0x11,0x00,0x00,0xA4,0x06,0x00,0x00,0x44,0x45,0x4C,0x53,0x45,0x00,0x00,0x00,
+/* 0x00001160: */ 0x58,0x11,0x00,0x00,0xB4,0x06,0x00,0x00,0x45,0x57,0x48,0x49,0x4C,0x45,0x00,0x00,
+/* 0x00001170: */ 0x68,0x11,0x00,0x00,0xC0,0x06,0x00,0x00,0x46,0x52,0x45,0x50,0x45,0x41,0x54,0x00,
+/* 0x00001180: */ 0x78,0x11,0x00,0x00,0xCC,0x06,0x00,0x00,0x43,0x5B,0x27,0x5D,0x88,0x11,0x00,0x00,
+/* 0x00001190: */ 0xDC,0x06,0x00,0x00,0x07,0x28,0x44,0x4F,0x45,0x53,0x3E,0x29,0x94,0x11,0x00,0x00,
+/* 0x000011A0: */ 0xF8,0x06,0x00,0x00,0x45,0x44,0x4F,0x45,0x53,0x3E,0x00,0x00,0xA4,0x11,0x00,0x00,
+/* 0x000011B0: */ 0x34,0x07,0x00,0x00,0x08,0x56,0x41,0x52,0x49,0x41,0x42,0x4C,0x45,0x00,0x00,0x00,
+/* 0x000011C0: */ 0xB4,0x11,0x00,0x00,0x48,0x07,0x00,0x00,0x09,0x32,0x56,0x41,0x52,0x49,0x41,0x42,
+/* 0x000011D0: */ 0x4C,0x45,0x00,0x00,0xC8,0x11,0x00,0x00,0x68,0x07,0x00,0x00,0x08,0x43,0x4F,0x4E,
+/* 0x000011E0: */ 0x53,0x54,0x41,0x4E,0x54,0x00,0x00,0x00,0xDC,0x11,0x00,0x00,0x88,0x07,0x00,0x00,
+/* 0x000011F0: */ 0x02,0x2D,0x31,0x00,0xF0,0x11,0x00,0x00,0x98,0x07,0x00,0x00,0x02,0x2D,0x32,0x00,
+/* 0x00001200: */ 0xFC,0x11,0x00,0x00,0xA8,0x07,0x00,0x00,0x02,0x32,0x21,0x00,0x08,0x12,0x00,0x00,
+/* 0x00001210: */ 0xC0,0x07,0x00,0x00,0x02,0x32,0x40,0x00,0x14,0x12,0x00,0x00,0xD8,0x07,0x00,0x00,
+/* 0x00001220: */ 0x03,0x41,0x42,0x53,0x20,0x12,0x00,0x00,0xF0,0x07,0x00,0x00,0x04,0x44,0x41,0x42,
+/* 0x00001230: */ 0x53,0x00,0x00,0x00,0x2C,0x12,0x00,0x00,0x08,0x08,0x00,0x00,0x03,0x53,0x3E,0x44,
+/* 0x00001240: */ 0x3C,0x12,0x00,0x00,0x30,0x08,0x00,0x00,0x03,0x44,0x3E,0x53,0x48,0x12,0x00,0x00,
+/* 0x00001250: */ 0x38,0x08,0x00,0x00,0x04,0x2F,0x4D,0x4F,0x44,0x00,0x00,0x00,0x54,0x12,0x00,0x00,
+/* 0x00001260: */ 0x4C,0x08,0x00,0x00,0x03,0x4D,0x4F,0x44,0x64,0x12,0x00,0x00,0x58,0x08,0x00,0x00,
+/* 0x00001270: */ 0x02,0x32,0x2A,0x00,0x70,0x12,0x00,0x00,0x68,0x08,0x00,0x00,0x02,0x32,0x2F,0x00,
+/* 0x00001280: */ 0x7C,0x12,0x00,0x00,0x78,0x08,0x00,0x00,0x03,0x44,0x32,0x2A,0x88,0x12,0x00,0x00,
+/* 0x00001290: */ 0xA0,0x08,0x00,0x00,0x05,0x46,0x41,0x4C,0x53,0x45,0x00,0x00,0x94,0x12,0x00,0x00,
+/* 0x000012A0: */ 0xB0,0x08,0x00,0x00,0x04,0x54,0x52,0x55,0x45,0x00,0x00,0x00,0xA4,0x12,0x00,0x00,
+/* 0x000012B0: */ 0xC0,0x08,0x00,0x00,0x02,0x42,0x4C,0x00,0xB4,0x12,0x00,0x00,0xD0,0x08,0x00,0x00,
+/* 0x000012C0: */ 0x0B,0x49,0x46,0x2E,0x55,0x53,0x45,0x2D,0x3E,0x52,0x45,0x4C,0xC0,0x12,0x00,0x00,
+/* 0x000012D0: */ 0xE4,0x08,0x00,0x00,0x0B,0x49,0x46,0x2E,0x52,0x45,0x4C,0x2D,0x3E,0x55,0x53,0x45,
+/* 0x000012E0: */ 0xD4,0x12,0x00,0x00,0xF8,0x08,0x00,0x00,0x02,0x41,0x21,0x00,0xE8,0x12,0x00,0x00,
+/* 0x000012F0: */ 0x0C,0x09,0x00,0x00,0x02,0x41,0x40,0x00,0xF4,0x12,0x00,0x00,0x18,0x09,0x00,0x00,
+/* 0x00001300: */ 0x02,0x41,0x2C,0x00,0x00,0x13,0x00,0x00,0x24,0x09,0x00,0x00,0x06,0x3A,0x53,0x54,
+/* 0x00001310: */ 0x41,0x43,0x4B,0x00,0x0C,0x13,0x00,0x00,0x50,0x09,0x00,0x00,0x06,0x3E,0x53,0x54,
+/* 0x00001320: */ 0x41,0x43,0x4B,0x00,0x1C,0x13,0x00,0x00,0x74,0x09,0x00,0x00,0x06,0x53,0x54,0x41,
+/* 0x00001330: */ 0x43,0x4B,0x3E,0x00,0x2C,0x13,0x00,0x00,0x98,0x09,0x00,0x00,0x06,0x53,0x54,0x41,
+/* 0x00001340: */ 0x43,0x4B,0x40,0x00,0x3C,0x13,0x00,0x00,0xB0,0x09,0x00,0x00,0x0A,0x53,0x54,0x41,
+/* 0x00001350: */ 0x43,0x4B,0x2E,0x50,0x49,0x43,0x4B,0x00,0x4C,0x13,0x00,0x00,0xD4,0x09,0x00,0x00,
+/* 0x00001360: */ 0x06,0x53,0x54,0x41,0x43,0x4B,0x50,0x00,0x60,0x13,0x00,0x00,0xE4,0x09,0x00,0x00,
+/* 0x00001370: */ 0x07,0x30,0x53,0x54,0x41,0x43,0x4B,0x50,0x70,0x13,0x00,0x00,0xF8,0x09,0x00,0x00,
+/* 0x00001380: */ 0x06,0x55,0x53,0x54,0x41,0x43,0x4B,0x00,0x80,0x13,0x00,0x00,0x90,0x0A,0x00,0x00,
+/* 0x00001390: */ 0x03,0x3E,0x55,0x53,0x90,0x13,0x00,0x00,0x9C,0x0A,0x00,0x00,0x03,0x55,0x53,0x3E,
+/* 0x000013A0: */ 0x9C,0x13,0x00,0x00,0xA8,0x0A,0x00,0x00,0x03,0x55,0x53,0x40,0xA8,0x13,0x00,0x00,
+/* 0x000013B0: */ 0xB4,0x0A,0x00,0x00,0x04,0x30,0x55,0x53,0x50,0x00,0x00,0x00,0xB4,0x13,0x00,0x00,
+/* 0x000013C0: */ 0xC0,0x0A,0x00,0x00,0x07,0x44,0x4F,0x5F,0x46,0x4C,0x41,0x47,0xC4,0x13,0x00,0x00,
+/* 0x000013D0: */ 0xD0,0x0A,0x00,0x00,0x0A,0x4C,0x45,0x41,0x56,0x45,0x5F,0x46,0x4C,0x41,0x47,0x00,
+/* 0x000013E0: */ 0xD4,0x13,0x00,0x00,0xE0,0x0A,0x00,0x00,0x08,0x3F,0x44,0x4F,0x5F,0x46,0x4C,0x41,
+/* 0x000013F0: */ 0x47,0x00,0x00,0x00,0xE8,0x13,0x00,0x00,0xF0,0x0A,0x00,0x00,0x42,0x44,0x4F,0x00,
+/* 0x00001400: */ 0xFC,0x13,0x00,0x00,0x14,0x0B,0x00,0x00,0x43,0x3F,0x44,0x4F,0x08,0x14,0x00,0x00,
+/* 0x00001410: */ 0x54,0x0B,0x00,0x00,0x45,0x4C,0x45,0x41,0x56,0x45,0x00,0x00,0x14,0x14,0x00,0x00,
+/* 0x00001420: */ 0x80,0x0B,0x00,0x00,0x0C,0x4C,0x4F,0x4F,0x50,0x2D,0x46,0x4F,0x52,0x57,0x41,0x52,
+/* 0x00001430: */ 0x44,0x00,0x00,0x00,0x24,0x14,0x00,0x00,0x08,0x0C,0x00,0x00,0x09,0x4C,0x4F,0x4F,
+/* 0x00001440: */ 0x50,0x2D,0x42,0x41,0x43,0x4B,0x00,0x00,0x3C,0x14,0x00,0x00,0x34,0x0C,0x00,0x00,
+/* 0x00001450: */ 0x44,0x4C,0x4F,0x4F,0x50,0x00,0x00,0x00,0x50,0x14,0x00,0x00,0x4C,0x0C,0x00,0x00,
+/* 0x00001460: */ 0x45,0x2B,0x4C,0x4F,0x4F,0x50,0x00,0x00,0x60,0x14,0x00,0x00,0x64,0x0C,0x00,0x00,
+/* 0x00001470: */ 0x06,0x55,0x4E,0x4C,0x4F,0x4F,0x50,0x00,0x70,0x14,0x00,0x00,0x78,0x0C,0x00,0x00,
+/* 0x00001480: */ 0x47,0x52,0x45,0x43,0x55,0x52,0x53,0x45,0x80,0x14,0x00,0x00,0x88,0x0C,0x00,0x00,
+/* 0x00001490: */ 0x05,0x53,0x50,0x41,0x43,0x45,0x00,0x00,0x90,0x14,0x00,0x00,0x94,0x0C,0x00,0x00,
+/* 0x000014A0: */ 0x06,0x53,0x50,0x41,0x43,0x45,0x53,0x00,0xA0,0x14,0x00,0x00,0xCC,0x0C,0x00,0x00,
+/* 0x000014B0: */ 0x03,0x30,0x53,0x50,0xB0,0x14,0x00,0x00,0xF0,0x0C,0x00,0x00,0x08,0x3E,0x4E,0x45,
+/* 0x000014C0: */ 0x57,0x4C,0x49,0x4E,0x45,0x00,0x00,0x00,0xBC,0x14,0x00,0x00,0x0C,0x0D,0x00,0x00,
+/* 0x000014D0: */ 0x0B,0x43,0x48,0x45,0x43,0x4B,0x2E,0x44,0x45,0x46,0x45,0x52,0xD0,0x14,0x00,0x00,
+/* 0x000014E0: */ 0x34,0x0D,0x00,0x00,0x03,0x3E,0x49,0x53,0xE4,0x14,0x00,0x00,0x44,0x0D,0x00,0x00,
+/* 0x000014F0: */ 0x04,0x28,0x49,0x53,0x29,0x00,0x00,0x00,0xF0,0x14,0x00,0x00,0x50,0x0D,0x00,0x00,
+/* 0x00001500: */ 0x42,0x49,0x53,0x00,0x00,0x15,0x00,0x00,0x8C,0x0D,0x00,0x00,0x08,0x28,0x57,0x48,
+/* 0x00001510: */ 0x41,0x54,0x27,0x53,0x29,0x00,0x00,0x00,0x0C,0x15,0x00,0x00,0x98,0x0D,0x00,0x00,
+/* 0x00001520: */ 0x46,0x57,0x48,0x41,0x54,0x27,0x53,0x00,0x20,0x15,0x00,0x00,0xD4,0x0D,0x00,0x00,
+/* 0x00001530: */ 0x07,0x2F,0x53,0x54,0x52,0x49,0x4E,0x47,0x30,0x15,0x00,0x00,0xF4,0x0D,0x00,0x00,
+/* 0x00001540: */ 0x05,0x50,0x4C,0x41,0x43,0x45,0x00,0x00,0x40,0x15,0x00,0x00,0x10,0x0E,0x00,0x00,
+/* 0x00001550: */ 0x0A,0x50,0x41,0x52,0x53,0x45,0x2D,0x57,0x4F,0x52,0x44,0x00,0x50,0x15,0x00,0x00,
+/* 0x00001560: */ 0x70,0x0E,0x00,0x00,0x05,0x50,0x41,0x52,0x53,0x45,0x00,0x00,0x64,0x15,0x00,0x00,
+/* 0x00001570: */ 0xBC,0x0E,0x00,0x00,0x05,0x4C,0x57,0x4F,0x52,0x44,0x00,0x00,0x74,0x15,0x00,0x00,
+/* 0x00001580: */ 0xD0,0x0E,0x00,0x00,0x45,0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x84,0x15,0x00,0x00,
+/* 0x00001590: */ 0xF8,0x0E,0x00,0x00,0x04,0x43,0x48,0x41,0x52,0x00,0x00,0x00,0x94,0x15,0x00,0x00,
+/* 0x000015A0: */ 0x0C,0x0F,0x00,0x00,0x46,0x5B,0x43,0x48,0x41,0x52,0x5D,0x00,0xA4,0x15,0x00,0x00,
+/* 0x000015B0: */ 0x18,0x0F,0x00,0x00,0x05,0x24,0x54,0x59,0x50,0x45,0x00,0x00,0xB4,0x15,0x00,0x00,
+/* 0x000015C0: */ 0x24,0x0F,0x00,0x00,0x05,0x27,0x57,0x4F,0x52,0x44,0x00,0x00,0xC4,0x15,0x00,0x00,
+/* 0x000015D0: */ 0x2C,0x0F,0x00,0x00,0x04,0x45,0x56,0x45,0x4E,0x00,0x00,0x00,0xD4,0x15,0x00,0x00,
+/* 0x000015E0: */ 0x44,0x0F,0x00,0x00,0x04,0x28,0x43,0x22,0x29,0x00,0x00,0x00,0xE4,0x15,0x00,0x00,
+/* 0x000015F0: */ 0x60,0x0F,0x00,0x00,0x04,0x28,0x53,0x22,0x29,0x00,0x00,0x00,0xF4,0x15,0x00,0x00,
+/* 0x00001600: */ 0x7C,0x0F,0x00,0x00,0x04,0x28,0x2E,0x22,0x29,0x00,0x00,0x00,0x04,0x16,0x00,0x00,
+/* 0x00001610: */ 0x9C,0x0F,0x00,0x00,0x02,0x22,0x2C,0x00,0x14,0x16,0x00,0x00,0xB8,0x0F,0x00,0x00,
+/* 0x00001620: */ 0x02,0x2C,0x22,0x00,0x20,0x16,0x00,0x00,0xCC,0x0F,0x00,0x00,0x42,0x2E,0x28,0x00,
+/* 0x00001630: */ 0x2C,0x16,0x00,0x00,0xE0,0x0F,0x00,0x00,0x42,0x2E,0x22,0x00,0x38,0x16,0x00,0x00,
+/* 0x00001640: */ 0x1C,0x10,0x00,0x00,0x42,0x2E,0x27,0x00,0x44,0x16,0x00,0x00,0x64,0x10,0x00,0x00,
+/* 0x00001650: */ 0x42,0x43,0x22,0x00,0x50,0x16,0x00,0x00,0xA8,0x10,0x00,0x00,0x42,0x53,0x22,0x00,
+/* 0x00001660: */ 0x5C,0x16,0x00,0x00,0xF0,0x10,0x00,0x00,0x41,0x22,0x00,0x00,0x68,0x16,0x00,0x00,
+/* 0x00001670: */ 0xF8,0x10,0x00,0x00,0x42,0x50,0x22,0x00,0x74,0x16,0x00,0x00,0x00,0x11,0x00,0x00,
+/* 0x00001680: */ 0x42,0x22,0x22,0x00,0x80,0x16,0x00,0x00,0x48,0x11,0x00,0x00,0x48,0x53,0x4C,0x49,
+/* 0x00001690: */ 0x54,0x45,0x52,0x41,0x4C,0x00,0x00,0x00,0x8C,0x16,0x00,0x00,0x5C,0x11,0x00,0x00,
+/* 0x000016A0: */ 0x07,0x24,0x41,0x50,0x50,0x45,0x4E,0x44,0xA0,0x16,0x00,0x00,0x9C,0x11,0x00,0x00,
+/* 0x000016B0: */ 0x48,0x50,0x4F,0x53,0x54,0x50,0x4F,0x4E,0x45,0x00,0x00,0x00,0xB0,0x16,0x00,0x00,
+/* 0x000016C0: */ 0x10,0x12,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x49,0x4E,0x49,0x54,0x00,0x00,
+/* 0x000016D0: */ 0xC4,0x16,0x00,0x00,0x14,0x12,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x54,0x45,
+/* 0x000016E0: */ 0x52,0x4D,0x00,0x00,0xD8,0x16,0x00,0x00,0x18,0x12,0x00,0x00,0x0D,0x54,0x52,0x41,
+/* 0x000016F0: */ 0x43,0x45,0x2D,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,0x00,0x00,0xEC,0x16,0x00,0x00,
+/* 0x00001700: */ 0x28,0x12,0x00,0x00,0x12,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,0x2E,0x4D,0x41,0x52,
+/* 0x00001710: */ 0x4B,0x2E,0x53,0x54,0x41,0x52,0x54,0x00,0x04,0x17,0x00,0x00,0x5C,0x12,0x00,0x00,
+/* 0x00001720: */ 0x10,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,0x2E,0x4D,0x41,0x52,0x4B,0x2E,0x45,0x4E,
+/* 0x00001730: */ 0x44,0x00,0x00,0x00,0x20,0x17,0x00,0x00,0x78,0x12,0x00,0x00,0x08,0x24,0x49,0x4E,
+/* 0x00001740: */ 0x43,0x4C,0x55,0x44,0x45,0x00,0x00,0x00,0x3C,0x17,0x00,0x00,0xF4,0x13,0x00,0x00,
+/* 0x00001750: */ 0x11,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,0x2D,0x53,0x41,0x56,0x45,0x2D,0x4E,0x41,
+/* 0x00001760: */ 0x4D,0x45,0x00,0x00,0x50,0x17,0x00,0x00,0x80,0x14,0x00,0x00,0x07,0x49,0x4E,0x43,
+/* 0x00001770: */ 0x4C,0x55,0x44,0x45,0x6C,0x17,0x00,0x00,0x9C,0x14,0x00,0x00,0x02,0x52,0x49,0x00,
+/* 0x00001780: */ 0x7C,0x17,0x00,0x00,0xA8,0x14,0x00,0x00,0x08,0x49,0x4E,0x43,0x4C,0x55,0x44,0x45,
+/* 0x00001790: */ 0x3F,0x00,0x00,0x00,0x88,0x17,0x00,0x00,0xE0,0x14,0x00,0x00,0x0C,0x48,0x45,0x41,
+/* 0x000017A0: */ 0x44,0x45,0x52,0x53,0x2D,0x53,0x49,0x5A,0x45,0x00,0x00,0x00,0x9C,0x17,0x00,0x00,
+/* 0x000017B0: */ 0xF0,0x14,0x00,0x00,0x09,0x43,0x4F,0x44,0x45,0x2D,0x53,0x49,0x5A,0x45,0x00,0x00,
+/* 0x000017C0: */ 0xB4,0x17,0x00,0x00,0x00,0x15,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x49,0x4E,
+/* 0x000017D0: */ 0x49,0x54,0x00,0x00,0xC8,0x17,0x00,0x00,0x30,0x15,0x00,0x00,0x0A,0x53,0x41,0x56,
+/* 0x000017E0: */ 0x45,0x2D,0x46,0x4F,0x52,0x54,0x48,0x00,0xDC,0x17,0x00,0x00,0xB4,0x15,0x00,0x00,
+/* 0x000017F0: */ 0x07,0x54,0x55,0x52,0x4E,0x4B,0x45,0x59,0xF0,0x17,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00001800: */ 0x10,0x3A,0x3A,0x3A,0x3A,0x6C,0x6F,0x61,0x64,0x70,0x34,0x74,0x68,0x2E,0x66,0x74,
+/* 0x00001810: */ 0x68,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,
+/* 0x00001820: */ 0x3A,0x66,0x6F,0x72,0x67,0x65,0x74,0x2E,0x66,0x74,0x68,0x00,0x1C,0x18,0x00,0x00,
+/* 0x00001830: */ 0x00,0x16,0x00,0x00,0x06,0x52,0x46,0x45,0x4E,0x43,0x45,0x00,0x34,0x18,0x00,0x00,
+/* 0x00001840: */ 0x10,0x16,0x00,0x00,0x06,0x46,0x52,0x45,0x45,0x5A,0x45,0x00,0x44,0x18,0x00,0x00,
+/* 0x00001850: */ 0x20,0x16,0x00,0x00,0x0A,0x46,0x4F,0x52,0x47,0x45,0x54,0x2E,0x4E,0x46,0x41,0x00,
+/* 0x00001860: */ 0x54,0x18,0x00,0x00,0x54,0x16,0x00,0x00,0x0D,0x56,0x45,0x52,0x49,0x46,0x59,0x2E,
+/* 0x00001870: */ 0x46,0x4F,0x52,0x47,0x45,0x54,0x00,0x00,0x68,0x18,0x00,0x00,0xB0,0x16,0x00,0x00,
+/* 0x00001880: */ 0x08,0x28,0x46,0x4F,0x52,0x47,0x45,0x54,0x29,0x00,0x00,0x00,0x80,0x18,0x00,0x00,
+/* 0x00001890: */ 0x00,0x17,0x00,0x00,0x0B,0x4C,0x41,0x53,0x54,0x2D,0x46,0x4F,0x52,0x47,0x45,0x54,
+/* 0x000018A0: */ 0x94,0x18,0x00,0x00,0x10,0x17,0x00,0x00,0x0C,0x49,0x46,0x2E,0x46,0x4F,0x52,0x47,
+/* 0x000018B0: */ 0x4F,0x54,0x54,0x45,0x4E,0x00,0x00,0x00,0xA8,0x18,0x00,0x00,0x9C,0x17,0x00,0x00,
+/* 0x000018C0: */ 0x08,0x5B,0x46,0x4F,0x52,0x47,0x45,0x54,0x5D,0x00,0x00,0x00,0xC0,0x18,0x00,0x00,
+/* 0x000018D0: */ 0x14,0x18,0x00,0x00,0x06,0x46,0x4F,0x52,0x47,0x45,0x54,0x00,0xD4,0x18,0x00,0x00,
+/* 0x000018E0: */ 0x6C,0x18,0x00,0x00,0x04,0x41,0x4E,0x45,0x57,0x00,0x00,0x00,0xE4,0x18,0x00,0x00,
+/* 0x000018F0: */ 0xAC,0x18,0x00,0x00,0x06,0x4D,0x41,0x52,0x4B,0x45,0x52,0x00,0xF4,0x18,0x00,0x00,
+/* 0x00001900: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x04,0x19,0x00,0x00,
+/* 0x00001910: */ 0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,0x3A,0x6E,0x75,0x6D,0x62,0x65,0x72,0x69,
+/* 0x00001920: */ 0x6F,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0x14,0x19,0x00,0x00,0xE4,0x18,0x00,0x00,
+/* 0x00001930: */ 0x11,0x54,0x41,0x53,0x4B,0x2D,0x4E,0x55,0x4D,0x42,0x45,0x52,0x49,0x4F,0x2E,0x46,
+/* 0x00001940: */ 0x54,0x48,0x00,0x00,0x30,0x19,0x00,0x00,0xF4,0x18,0x00,0x00,0x05,0x44,0x49,0x47,
+/* 0x00001950: */ 0x49,0x54,0x00,0x00,0x4C,0x19,0x00,0x00,0xF4,0x19,0x00,0x00,0x07,0x3E,0x4E,0x55,
+/* 0x00001960: */ 0x4D,0x42,0x45,0x52,0x5C,0x19,0x00,0x00,0xA0,0x1A,0x00,0x00,0x07,0x43,0x4F,0x4E,
+/* 0x00001970: */ 0x56,0x45,0x52,0x54,0x6C,0x19,0x00,0x00,0xB4,0x1A,0x00,0x00,0x0C,0x4E,0x55,0x4D,
+/* 0x00001980: */ 0x5F,0x54,0x59,0x50,0x45,0x5F,0x42,0x41,0x44,0x00,0x00,0x00,0x7C,0x19,0x00,0x00,
+/* 0x00001990: */ 0xC4,0x1A,0x00,0x00,0x0F,0x4E,0x55,0x4D,0x5F,0x54,0x59,0x50,0x45,0x5F,0x53,0x49,
+/* 0x000019A0: */ 0x4E,0x47,0x4C,0x45,0x94,0x19,0x00,0x00,0xD4,0x1A,0x00,0x00,0x0F,0x4E,0x55,0x4D,
+/* 0x000019B0: */ 0x5F,0x54,0x59,0x50,0x45,0x5F,0x44,0x4F,0x55,0x42,0x4C,0x45,0xAC,0x19,0x00,0x00,
+/* 0x000019C0: */ 0xE4,0x1A,0x00,0x00,0x0B,0x28,0x28,0x4E,0x55,0x4D,0x42,0x45,0x52,0x3F,0x29,0x29,
+/* 0x000019D0: */ 0xC4,0x19,0x00,0x00,0xD8,0x1B,0x00,0x00,0x09,0x28,0x4E,0x55,0x4D,0x42,0x45,0x52,
+/* 0x000019E0: */ 0x3F,0x29,0x00,0x00,0xD8,0x19,0x00,0x00,0xE4,0x1B,0x00,0x00,0x03,0x48,0x4C,0x44,
+/* 0x000019F0: */ 0xEC,0x19,0x00,0x00,0xF4,0x1B,0x00,0x00,0x04,0x48,0x4F,0x4C,0x44,0x00,0x00,0x00,
+/* 0x00001A00: */ 0xF8,0x19,0x00,0x00,0x10,0x1C,0x00,0x00,0x02,0x3C,0x23,0x00,0x08,0x1A,0x00,0x00,
+/* 0x00001A10: */ 0x20,0x1C,0x00,0x00,0x02,0x23,0x3E,0x00,0x14,0x1A,0x00,0x00,0x3C,0x1C,0x00,0x00,
+/* 0x00001A20: */ 0x04,0x53,0x49,0x47,0x4E,0x00,0x00,0x00,0x20,0x1A,0x00,0x00,0x58,0x1C,0x00,0x00,
+/* 0x00001A30: */ 0x01,0x23,0x00,0x00,0x30,0x1A,0x00,0x00,0xA0,0x1C,0x00,0x00,0x02,0x23,0x53,0x00,
+/* 0x00001A40: */ 0x3C,0x1A,0x00,0x00,0xBC,0x1C,0x00,0x00,0x05,0x28,0x55,0x44,0x2E,0x29,0x00,0x00,
+/* 0x00001A50: */ 0x48,0x1A,0x00,0x00,0xCC,0x1C,0x00,0x00,0x03,0x55,0x44,0x2E,0x58,0x1A,0x00,0x00,
+/* 0x00001A60: */ 0xDC,0x1C,0x00,0x00,0x04,0x55,0x44,0x2E,0x52,0x00,0x00,0x00,0x64,0x1A,0x00,0x00,
+/* 0x00001A70: */ 0xFC,0x1C,0x00,0x00,0x04,0x28,0x44,0x2E,0x29,0x00,0x00,0x00,0x74,0x1A,0x00,0x00,
+/* 0x00001A80: */ 0x1C,0x1D,0x00,0x00,0x02,0x44,0x2E,0x00,0x84,0x1A,0x00,0x00,0x2C,0x1D,0x00,0x00,
+/* 0x00001A90: */ 0x03,0x44,0x2E,0x52,0x90,0x1A,0x00,0x00,0x4C,0x1D,0x00,0x00,0x04,0x28,0x55,0x2E,
+/* 0x00001AA0: */ 0x29,0x00,0x00,0x00,0x9C,0x1A,0x00,0x00,0x5C,0x1D,0x00,0x00,0x02,0x55,0x2E,0x00,
+/* 0x00001AB0: */ 0xAC,0x1A,0x00,0x00,0x6C,0x1D,0x00,0x00,0x03,0x55,0x2E,0x52,0xB8,0x1A,0x00,0x00,
+/* 0x00001AC0: */ 0x8C,0x1D,0x00,0x00,0x03,0x28,0x2E,0x29,0xC4,0x1A,0x00,0x00,0xB4,0x1D,0x00,0x00,
+/* 0x00001AD0: */ 0x01,0x2E,0x00,0x00,0xD0,0x1A,0x00,0x00,0xC4,0x1D,0x00,0x00,0x02,0x2E,0x52,0x00,
+/* 0x00001AE0: */ 0xDC,0x1A,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x00001AF0: */ 0xE8,0x1A,0x00,0x00,0x78,0x00,0x00,0x00,0x0D,0x3A,0x3A,0x3A,0x3A,0x6D,0x69,0x73,
+/* 0x00001B00: */ 0x63,0x31,0x2E,0x66,0x74,0x68,0x00,0x00,0xF8,0x1A,0x00,0x00,0xE4,0x1D,0x00,0x00,
+/* 0x00001B10: */ 0x0E,0x54,0x41,0x53,0x4B,0x2D,0x4D,0x49,0x53,0x43,0x31,0x2E,0x46,0x54,0x48,0x00,
+/* 0x00001B20: */ 0x10,0x1B,0x00,0x00,0xF4,0x1D,0x00,0x00,0x02,0x3E,0x3E,0x00,0x28,0x1B,0x00,0x00,
+/* 0x00001B30: */ 0xFC,0x1D,0x00,0x00,0x02,0x3C,0x3C,0x00,0x34,0x1B,0x00,0x00,0x04,0x1E,0x00,0x00,
+/* 0x00001B40: */ 0x05,0x43,0x45,0x4C,0x4C,0x2A,0x00,0x00,0x40,0x1B,0x00,0x00,0x14,0x1E,0x00,0x00,
+/* 0x00001B50: */ 0x0A,0x28,0x57,0x41,0x52,0x4E,0x49,0x4E,0x47,0x22,0x29,0x00,0x50,0x1B,0x00,0x00,
+/* 0x00001B60: */ 0x38,0x1E,0x00,0x00,0x48,0x57,0x41,0x52,0x4E,0x49,0x4E,0x47,0x22,0x00,0x00,0x00,
+/* 0x00001B70: */ 0x64,0x1B,0x00,0x00,0x68,0x1E,0x00,0x00,0x08,0x28,0x41,0x42,0x4F,0x52,0x54,0x22,
+/* 0x00001B80: */ 0x29,0x00,0x00,0x00,0x78,0x1B,0x00,0x00,0x94,0x1E,0x00,0x00,0x46,0x41,0x42,0x4F,
+/* 0x00001B90: */ 0x52,0x54,0x22,0x00,0x8C,0x1B,0x00,0x00,0xC4,0x1E,0x00,0x00,0x06,0x3F,0x50,0x41,
+/* 0x00001BA0: */ 0x55,0x53,0x45,0x00,0x9C,0x1B,0x00,0x00,0x40,0x1F,0x00,0x00,0x05,0x23,0x43,0x4F,
+/* 0x00001BB0: */ 0x4C,0x53,0x00,0x00,0xAC,0x1B,0x00,0x00,0x50,0x1F,0x00,0x00,0x03,0x43,0x52,0x3F,
+/* 0x00001BC0: */ 0xBC,0x1B,0x00,0x00,0x88,0x1F,0x00,0x00,0x03,0x43,0x4C,0x53,0xC8,0x1B,0x00,0x00,
+/* 0x00001BD0: */ 0xAC,0x1F,0x00,0x00,0x04,0x50,0x41,0x47,0x45,0x00,0x00,0x00,0xD4,0x1B,0x00,0x00,
+/* 0x00001BE0: */ 0xB4,0x1F,0x00,0x00,0x41,0x24,0x00,0x00,0xE4,0x1B,0x00,0x00,0x20,0x20,0x00,0x00,
+/* 0x00001BF0: */ 0x03,0x2E,0x48,0x58,0xF0,0x1B,0x00,0x00,0x5C,0x20,0x00,0x00,0x09,0x54,0x41,0x42,
+/* 0x00001C00: */ 0x2D,0x57,0x49,0x44,0x54,0x48,0x00,0x00,0xFC,0x1B,0x00,0x00,0x6C,0x20,0x00,0x00,
+/* 0x00001C10: */ 0x03,0x54,0x41,0x42,0x10,0x1C,0x00,0x00,0x98,0x20,0x00,0x00,0x05,0x57,0x4F,0x52,
+/* 0x00001C20: */ 0x44,0x53,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x21,0x00,0x00,0x05,0x56,0x4C,0x49,
+/* 0x00001C30: */ 0x53,0x54,0x00,0x00,0x2C,0x1C,0x00,0x00,0x08,0x21,0x00,0x00,0x0B,0x43,0x4C,0x4F,
+/* 0x00001C40: */ 0x53,0x45,0x53,0x54,0x2D,0x4E,0x46,0x41,0x3C,0x1C,0x00,0x00,0x18,0x21,0x00,0x00,
+/* 0x00001C50: */ 0x0A,0x43,0x4C,0x4F,0x53,0x45,0x53,0x54,0x2D,0x58,0x54,0x00,0x50,0x1C,0x00,0x00,
+/* 0x00001C60: */ 0x28,0x21,0x00,0x00,0x05,0x3E,0x4E,0x41,0x4D,0x45,0x00,0x00,0x64,0x1C,0x00,0x00,
+/* 0x00001C70: */ 0x14,0x22,0x00,0x00,0x08,0x40,0x45,0x58,0x45,0x43,0x55,0x54,0x45,0x00,0x00,0x00,
+/* 0x00001C80: */ 0x74,0x1C,0x00,0x00,0x2C,0x22,0x00,0x00,0x07,0x54,0x4F,0x4C,0x4F,0x57,0x45,0x52,
+/* 0x00001C90: */ 0x88,0x1C,0x00,0x00,0x78,0x22,0x00,0x00,0x08,0x45,0x56,0x41,0x4C,0x55,0x41,0x54,
+/* 0x00001CA0: */ 0x45,0x00,0x00,0x00,0x98,0x1C,0x00,0x00,0xD4,0x22,0x00,0x00,0x02,0x5C,0x53,0x00,
+/* 0x00001CB0: */ 0xAC,0x1C,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x00001CC0: */ 0xB8,0x1C,0x00,0x00,0x78,0x00,0x00,0x00,0x0C,0x3A,0x3A,0x3A,0x3A,0x63,0x61,0x73,
+/* 0x00001CD0: */ 0x65,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0xC8,0x1C,0x00,0x00,0xF4,0x22,0x00,0x00,
+/* 0x00001CE0: */ 0x09,0x54,0x41,0x53,0x4B,0x2D,0x43,0x41,0x53,0x45,0x00,0x00,0xE0,0x1C,0x00,0x00,
+/* 0x00001CF0: */ 0x04,0x23,0x00,0x00,0x0A,0x43,0x41,0x53,0x45,0x2D,0x44,0x45,0x50,0x54,0x48,0x00,
+/* 0x00001D00: */ 0xF4,0x1C,0x00,0x00,0x14,0x23,0x00,0x00,0x08,0x4F,0x46,0x2D,0x44,0x45,0x50,0x54,
+/* 0x00001D10: */ 0x48,0x00,0x00,0x00,0x08,0x1D,0x00,0x00,0x24,0x23,0x00,0x00,0x44,0x43,0x41,0x53,
+/* 0x00001D20: */ 0x45,0x00,0x00,0x00,0x1C,0x1D,0x00,0x00,0x5C,0x23,0x00,0x00,0x43,0x3F,0x4F,0x46,
+/* 0x00001D30: */ 0x2C,0x1D,0x00,0x00,0x90,0x23,0x00,0x00,0x42,0x4F,0x46,0x00,0x38,0x1D,0x00,0x00,
+/* 0x00001D40: */ 0xB4,0x23,0x00,0x00,0x0A,0x28,0x52,0x41,0x4E,0x47,0x45,0x4F,0x46,0x3F,0x29,0x00,
+/* 0x00001D50: */ 0x44,0x1D,0x00,0x00,0xE8,0x23,0x00,0x00,0x47,0x52,0x41,0x4E,0x47,0x45,0x4F,0x46,
+/* 0x00001D60: */ 0x58,0x1D,0x00,0x00,0xFC,0x23,0x00,0x00,0x45,0x45,0x4E,0x44,0x4F,0x46,0x00,0x00,
+/* 0x00001D70: */ 0x68,0x1D,0x00,0x00,0x10,0x24,0x00,0x00,0x47,0x45,0x4E,0x44,0x43,0x41,0x53,0x45,
+/* 0x00001D80: */ 0x78,0x1D,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x00001D90: */ 0x88,0x1D,0x00,0x00,0x78,0x00,0x00,0x00,0x0F,0x3A,0x3A,0x3A,0x3A,0x73,0x74,0x72,
+/* 0x00001DA0: */ 0x69,0x6E,0x67,0x73,0x2E,0x66,0x74,0x68,0x98,0x1D,0x00,0x00,0x8C,0x24,0x00,0x00,
+/* 0x00001DB0: */ 0x10,0x54,0x41,0x53,0x4B,0x2D,0x53,0x54,0x52,0x49,0x4E,0x47,0x53,0x2E,0x46,0x54,
+/* 0x00001DC0: */ 0x48,0x00,0x00,0x00,0xB0,0x1D,0x00,0x00,0x9C,0x24,0x00,0x00,0x09,0x2D,0x54,0x52,
+/* 0x00001DD0: */ 0x41,0x49,0x4C,0x49,0x4E,0x47,0x00,0x00,0xCC,0x1D,0x00,0x00,0xE8,0x24,0x00,0x00,
+/* 0x00001DE0: */ 0x06,0x24,0x41,0x52,0x52,0x41,0x59,0x00,0xE0,0x1D,0x00,0x00,0x38,0x25,0x00,0x00,
+/* 0x00001DF0: */ 0x02,0x24,0x3D,0x00,0xF0,0x1D,0x00,0x00,0xC0,0x25,0x00,0x00,0x05,0x54,0x45,0x58,
+/* 0x00001E00: */ 0x54,0x3D,0x00,0x00,0xFC,0x1D,0x00,0x00,0x44,0x26,0x00,0x00,0x06,0x54,0x45,0x58,
+/* 0x00001E10: */ 0x54,0x3D,0x3F,0x00,0x0C,0x1E,0x00,0x00,0x50,0x26,0x00,0x00,0x07,0x24,0x4D,0x41,
+/* 0x00001E20: */ 0x54,0x43,0x48,0x3F,0x1C,0x1E,0x00,0x00,0x64,0x26,0x00,0x00,0x05,0x49,0x4E,0x44,
+/* 0x00001E30: */ 0x45,0x58,0x00,0x00,0x2C,0x1E,0x00,0x00,0xF4,0x26,0x00,0x00,0x0C,0x24,0x41,0x50,
+/* 0x00001E40: */ 0x50,0x45,0x4E,0x44,0x2E,0x43,0x48,0x41,0x52,0x00,0x00,0x00,0x3C,0x1E,0x00,0x00,
+/* 0x00001E50: */ 0x1C,0x27,0x00,0x00,0x06,0x28,0x24,0x52,0x4F,0x4D,0x29,0x00,0x54,0x1E,0x00,0x00,
+/* 0x00001E60: */ 0x4C,0x27,0x00,0x00,0x04,0x24,0x52,0x4F,0x4D,0x00,0x00,0x00,0x64,0x1E,0x00,0x00,
+/* 0x00001E70: */ 0x68,0x27,0x00,0x00,0x07,0x54,0x45,0x58,0x54,0x52,0x4F,0x4D,0x74,0x1E,0x00,0x00,
+/* 0x00001E80: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x84,0x1E,0x00,0x00,
+/* 0x00001E90: */ 0x78,0x00,0x00,0x00,0x0F,0x3A,0x3A,0x3A,0x3A,0x70,0x72,0x69,0x76,0x61,0x74,0x65,
+/* 0x00001EA0: */ 0x2E,0x66,0x74,0x68,0x94,0x1E,0x00,0x00,0x88,0x27,0x00,0x00,0x10,0x54,0x41,0x53,
+/* 0x00001EB0: */ 0x4B,0x2D,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x2E,0x46,0x54,0x48,0x00,0x00,0x00,
+/* 0x00001EC0: */ 0xAC,0x1E,0x00,0x00,0x98,0x27,0x00,0x00,0x0D,0x50,0x52,0x49,0x56,0x41,0x54,0x45,
+/* 0x00001ED0: */ 0x2D,0x53,0x54,0x41,0x52,0x54,0x00,0x00,0xC8,0x1E,0x00,0x00,0xA8,0x27,0x00,0x00,
+/* 0x00001EE0: */ 0x0C,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x2D,0x53,0x54,0x4F,0x50,0x00,0x00,0x00,
+/* 0x00001EF0: */ 0xE0,0x1E,0x00,0x00,0xB8,0x27,0x00,0x00,0x0B,0x46,0x4C,0x41,0x47,0x5F,0x53,0x4D,
+/* 0x00001F00: */ 0x55,0x44,0x47,0x45,0xF8,0x1E,0x00,0x00,0xC8,0x27,0x00,0x00,0x08,0x50,0x52,0x49,
+/* 0x00001F10: */ 0x56,0x41,0x54,0x45,0x7B,0x00,0x00,0x00,0x0C,0x1F,0x00,0x00,0xE8,0x27,0x00,0x00,
+/* 0x00001F20: */ 0x08,0x7D,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x00,0x00,0x00,0x20,0x1F,0x00,0x00,
+/* 0x00001F30: */ 0x20,0x28,0x00,0x00,0x09,0x50,0x52,0x49,0x56,0x41,0x54,0x49,0x5A,0x45,0x00,0x00,
+/* 0x00001F40: */ 0x34,0x1F,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x00001F50: */ 0x48,0x1F,0x00,0x00,0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,0x3A,0x61,0x6E,0x73,
+/* 0x00001F60: */ 0x69,0x6C,0x6F,0x63,0x73,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0x58,0x1F,0x00,0x00,
+/* 0x00001F70: */ 0xDC,0x28,0x00,0x00,0x11,0x54,0x41,0x53,0x4B,0x2D,0x41,0x4E,0x53,0x49,0x4C,0x4F,
+/* 0x00001F80: */ 0x43,0x53,0x2E,0x46,0x54,0x48,0x00,0x00,0x74,0x1F,0x00,0x00,0xEC,0x28,0x00,0x00,
+/* 0x00001F90: */ 0x2B,0x4C,0x56,0x5F,0x4D,0x41,0x58,0x5F,0x56,0x41,0x52,0x53,0x90,0x1F,0x00,0x00,
+/* 0x00001FA0: */ 0xFC,0x28,0x00,0x00,0x2C,0x4C,0x56,0x5F,0x4D,0x41,0x58,0x5F,0x43,0x48,0x41,0x52,
+/* 0x00001FB0: */ 0x53,0x00,0x00,0x00,0xA4,0x1F,0x00,0x00,0x0C,0x29,0x00,0x00,0x28,0x4C,0x56,0x2D,
+/* 0x00001FC0: */ 0x4E,0x41,0x4D,0x45,0x53,0x00,0x00,0x00,0xBC,0x1F,0x00,0x00,0x2C,0x2B,0x00,0x00,
+/* 0x00001FD0: */ 0x29,0x4C,0x56,0x2D,0x23,0x4E,0x41,0x4D,0x45,0x53,0x00,0x00,0xD0,0x1F,0x00,0x00,
+/* 0x00001FE0: */ 0x3C,0x2B,0x00,0x00,0x28,0x4C,0x56,0x2E,0x4D,0x41,0x54,0x43,0x48,0x00,0x00,0x00,
+/* 0x00001FF0: */ 0xE4,0x1F,0x00,0x00,0x9C,0x2B,0x00,0x00,0x30,0x4C,0x56,0x2E,0x43,0x4F,0x4D,0x50,
+/* 0x00002000: */ 0x49,0x4C,0x45,0x2E,0x46,0x45,0x54,0x43,0x48,0x00,0x00,0x00,0xF8,0x1F,0x00,0x00,
+/* 0x00002010: */ 0x3C,0x2D,0x00,0x00,0x30,0x4C,0x56,0x2E,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x2E,
+/* 0x00002020: */ 0x53,0x54,0x4F,0x52,0x45,0x00,0x00,0x00,0x14,0x20,0x00,0x00,0xDC,0x2E,0x00,0x00,
+/* 0x00002030: */ 0x30,0x4C,0x56,0x2E,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x2E,0x4C,0x4F,0x43,0x41,
+/* 0x00002040: */ 0x4C,0x00,0x00,0x00,0x30,0x20,0x00,0x00,0x04,0x2F,0x00,0x00,0x2A,0x4C,0x56,0x2E,
+/* 0x00002050: */ 0x43,0x4C,0x45,0x41,0x4E,0x55,0x50,0x00,0x4C,0x20,0x00,0x00,0x24,0x2F,0x00,0x00,
+/* 0x00002060: */ 0x29,0x4C,0x56,0x2E,0x46,0x49,0x4E,0x49,0x53,0x48,0x00,0x00,0x60,0x20,0x00,0x00,
+/* 0x00002070: */ 0x3C,0x2F,0x00,0x00,0x28,0x4C,0x56,0x2E,0x53,0x45,0x54,0x55,0x50,0x00,0x00,0x00,
+/* 0x00002080: */ 0x74,0x20,0x00,0x00,0x50,0x2F,0x00,0x00,0x27,0x4C,0x56,0x2E,0x54,0x45,0x52,0x4D,
+/* 0x00002090: */ 0x88,0x20,0x00,0x00,0x88,0x2F,0x00,0x00,0x07,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x29,
+/* 0x000020A0: */ 0x98,0x20,0x00,0x00,0xE8,0x30,0x00,0x00,0x05,0x56,0x41,0x4C,0x55,0x45,0x00,0x00,
+/* 0x000020B0: */ 0xA8,0x20,0x00,0x00,0x34,0x31,0x00,0x00,0x42,0x54,0x4F,0x00,0xB8,0x20,0x00,0x00,
+/* 0x000020C0: */ 0xCC,0x31,0x00,0x00,0x42,0x2D,0x3E,0x00,0xC4,0x20,0x00,0x00,0xD4,0x31,0x00,0x00,
+/* 0x000020D0: */ 0x43,0x2B,0x2D,0x3E,0xD0,0x20,0x00,0x00,0x78,0x32,0x00,0x00,0x01,0x3A,0x00,0x00,
+/* 0x000020E0: */ 0xDC,0x20,0x00,0x00,0x84,0x32,0x00,0x00,0x41,0x3B,0x00,0x00,0xE8,0x20,0x00,0x00,
+/* 0x000020F0: */ 0x90,0x32,0x00,0x00,0x44,0x45,0x58,0x49,0x54,0x00,0x00,0x00,0xF4,0x20,0x00,0x00,
+/* 0x00002100: */ 0xA4,0x32,0x00,0x00,0x45,0x44,0x4F,0x45,0x53,0x3E,0x00,0x00,0x04,0x21,0x00,0x00,
+/* 0x00002110: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x14,0x21,0x00,0x00,
+/* 0x00002120: */ 0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,0x3A,0x6C,0x6F,0x63,0x61,0x6C,0x73,0x2E,
+/* 0x00002130: */ 0x66,0x74,0x68,0x00,0x24,0x21,0x00,0x00,0xB0,0x32,0x00,0x00,0x0F,0x54,0x41,0x53,
+/* 0x00002140: */ 0x4B,0x2D,0x4C,0x4F,0x43,0x41,0x4C,0x53,0x2E,0x46,0x54,0x48,0x3C,0x21,0x00,0x00,
+/* 0x00002150: */ 0xC0,0x32,0x00,0x00,0x2D,0x4C,0x4F,0x43,0x2D,0x54,0x45,0x4D,0x50,0x2D,0x4D,0x4F,
+/* 0x00002160: */ 0x44,0x45,0x00,0x00,0x54,0x21,0x00,0x00,0xD0,0x32,0x00,0x00,0x30,0x4C,0x4F,0x43,
+/* 0x00002170: */ 0x2D,0x43,0x4F,0x4D,0x4D,0x45,0x4E,0x54,0x2D,0x4D,0x4F,0x44,0x45,0x00,0x00,0x00,
+/* 0x00002180: */ 0x6C,0x21,0x00,0x00,0xE0,0x32,0x00,0x00,0x28,0x4C,0x4F,0x43,0x2D,0x44,0x4F,0x4E,
+/* 0x00002190: */ 0x45,0x00,0x00,0x00,0x88,0x21,0x00,0x00,0xF0,0x32,0x00,0x00,0x41,0x7B,0x00,0x00,
+/* 0x000021A0: */ 0x9C,0x21,0x00,0x00,0xE8,0x34,0x00,0x00,0x04,0x54,0x4C,0x56,0x31,0x00,0x00,0x00,
+/* 0x000021B0: */ 0xA8,0x21,0x00,0x00,0x18,0x35,0x00,0x00,0x04,0x54,0x4C,0x56,0x32,0x00,0x00,0x00,
+/* 0x000021C0: */ 0xB8,0x21,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x000021D0: */ 0xC8,0x21,0x00,0x00,0x78,0x00,0x00,0x00,0x0C,0x3A,0x3A,0x3A,0x3A,0x6D,0x61,0x74,
+/* 0x000021E0: */ 0x68,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0xD8,0x21,0x00,0x00,0x6C,0x35,0x00,0x00,
+/* 0x000021F0: */ 0x0D,0x54,0x41,0x53,0x4B,0x2D,0x4D,0x41,0x54,0x48,0x2E,0x46,0x54,0x48,0x00,0x00,
+/* 0x00002200: */ 0xF0,0x21,0x00,0x00,0x7C,0x35,0x00,0x00,0x06,0x46,0x4D,0x2F,0x4D,0x4F,0x44,0x00,
+/* 0x00002210: */ 0x08,0x22,0x00,0x00,0xBC,0x36,0x00,0x00,0x06,0x53,0x4D,0x2F,0x52,0x45,0x4D,0x00,
+/* 0x00002220: */ 0x18,0x22,0x00,0x00,0x80,0x37,0x00,0x00,0x04,0x2F,0x4D,0x4F,0x44,0x00,0x00,0x00,
+/* 0x00002230: */ 0x28,0x22,0x00,0x00,0x94,0x37,0x00,0x00,0x03,0x4D,0x4F,0x44,0x38,0x22,0x00,0x00,
+/* 0x00002240: */ 0xA0,0x37,0x00,0x00,0x05,0x2A,0x2F,0x4D,0x4F,0x44,0x00,0x00,0x44,0x22,0x00,0x00,
+/* 0x00002250: */ 0xB4,0x37,0x00,0x00,0x02,0x2A,0x2F,0x00,0x54,0x22,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00002260: */ 0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x60,0x22,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00002270: */ 0x0D,0x3A,0x3A,0x3A,0x3A,0x6D,0x69,0x73,0x63,0x32,0x2E,0x66,0x74,0x68,0x00,0x00,
+/* 0x00002280: */ 0x70,0x22,0x00,0x00,0xC0,0x37,0x00,0x00,0x0E,0x54,0x41,0x53,0x4B,0x2D,0x4D,0x49,
+/* 0x00002290: */ 0x53,0x43,0x32,0x2E,0x46,0x54,0x48,0x00,0x88,0x22,0x00,0x00,0xD0,0x37,0x00,0x00,
+/* 0x000022A0: */ 0x42,0x27,0x4E,0x00,0xA0,0x22,0x00,0x00,0x10,0x38,0x00,0x00,0x08,0x3F,0x4C,0x49,
+/* 0x000022B0: */ 0x54,0x45,0x52,0x41,0x4C,0x00,0x00,0x00,0xAC,0x22,0x00,0x00,0x28,0x38,0x00,0x00,
+/* 0x000022C0: */ 0x42,0x27,0x43,0x00,0xC0,0x22,0x00,0x00,0x34,0x38,0x00,0x00,0x08,0x49,0x46,0x2D,
+/* 0x000022D0: */ 0x44,0x45,0x42,0x55,0x47,0x00,0x00,0x00,0xCC,0x22,0x00,0x00,0x44,0x38,0x00,0x00,
+/* 0x000022E0: */ 0x0A,0x4D,0x53,0x45,0x43,0x2D,0x44,0x45,0x4C,0x41,0x59,0x00,0xE0,0x22,0x00,0x00,
+/* 0x000022F0: */ 0x54,0x38,0x00,0x00,0x04,0x4D,0x53,0x45,0x43,0x00,0x00,0x00,0xF4,0x22,0x00,0x00,
+/* 0x00002300: */ 0x88,0x38,0x00,0x00,0x05,0x53,0x48,0x49,0x46,0x54,0x00,0x00,0x04,0x23,0x00,0x00,
+/* 0x00002310: */ 0xB0,0x38,0x00,0x00,0x09,0x52,0x41,0x4E,0x44,0x2D,0x53,0x45,0x45,0x44,0x00,0x00,
+/* 0x00002320: */ 0x14,0x23,0x00,0x00,0xC0,0x38,0x00,0x00,0x06,0x52,0x41,0x4E,0x44,0x4F,0x4D,0x00,
+/* 0x00002330: */ 0x28,0x23,0x00,0x00,0xFC,0x38,0x00,0x00,0x06,0x43,0x48,0x4F,0x4F,0x53,0x45,0x00,
+/* 0x00002340: */ 0x38,0x23,0x00,0x00,0x14,0x39,0x00,0x00,0x07,0x57,0x43,0x48,0x4F,0x4F,0x53,0x45,
+/* 0x00002350: */ 0x48,0x23,0x00,0x00,0x28,0x39,0x00,0x00,0x05,0x32,0x53,0x4F,0x52,0x54,0x00,0x00,
+/* 0x00002360: */ 0x58,0x23,0x00,0x00,0x40,0x39,0x00,0x00,0x06,0x2D,0x32,0x53,0x4F,0x52,0x54,0x00,
+/* 0x00002370: */ 0x68,0x23,0x00,0x00,0x58,0x39,0x00,0x00,0x06,0x42,0x41,0x52,0x52,0x41,0x59,0x00,
+/* 0x00002380: */ 0x78,0x23,0x00,0x00,0x78,0x39,0x00,0x00,0x06,0x57,0x41,0x52,0x52,0x41,0x59,0x00,
+/* 0x00002390: */ 0x88,0x23,0x00,0x00,0xA4,0x39,0x00,0x00,0x05,0x41,0x52,0x52,0x41,0x59,0x00,0x00,
+/* 0x000023A0: */ 0x98,0x23,0x00,0x00,0xD0,0x39,0x00,0x00,0x04,0x2E,0x42,0x49,0x4E,0x00,0x00,0x00,
+/* 0x000023B0: */ 0xA8,0x23,0x00,0x00,0xF0,0x39,0x00,0x00,0x04,0x2E,0x44,0x45,0x43,0x00,0x00,0x00,
+/* 0x000023C0: */ 0xB8,0x23,0x00,0x00,0x10,0x3A,0x00,0x00,0x04,0x2E,0x48,0x45,0x58,0x00,0x00,0x00,
+/* 0x000023D0: */ 0xC8,0x23,0x00,0x00,0x30,0x3A,0x00,0x00,0x04,0x42,0x2D,0x3E,0x53,0x00,0x00,0x00,
+/* 0x000023E0: */ 0xD8,0x23,0x00,0x00,0x6C,0x3A,0x00,0x00,0x04,0x57,0x2D,0x3E,0x53,0x00,0x00,0x00,
+/* 0x000023F0: */ 0xE8,0x23,0x00,0x00,0xA8,0x3A,0x00,0x00,0x06,0x57,0x49,0x54,0x48,0x49,0x4E,0x00,
+/* 0x00002400: */ 0xF8,0x23,0x00,0x00,0x10,0x3B,0x00,0x00,0x04,0x4D,0x4F,0x56,0x45,0x00,0x00,0x00,
+/* 0x00002410: */ 0x08,0x24,0x00,0x00,0x44,0x3B,0x00,0x00,0x05,0x45,0x52,0x41,0x53,0x45,0x00,0x00,
+/* 0x00002420: */ 0x18,0x24,0x00,0x00,0x70,0x3B,0x00,0x00,0x05,0x42,0x4C,0x41,0x4E,0x4B,0x00,0x00,
+/* 0x00002430: */ 0x28,0x24,0x00,0x00,0x98,0x3B,0x00,0x00,0x05,0x51,0x55,0x45,0x52,0x59,0x00,0x00,
+/* 0x00002440: */ 0x38,0x24,0x00,0x00,0xA4,0x3B,0x00,0x00,0x04,0x53,0x50,0x41,0x4E,0x00,0x00,0x00,
+/* 0x00002450: */ 0x48,0x24,0x00,0x00,0xB4,0x3B,0x00,0x00,0x06,0x45,0x58,0x50,0x45,0x43,0x54,0x00,
+/* 0x00002460: */ 0x58,0x24,0x00,0x00,0xC4,0x3B,0x00,0x00,0x03,0x54,0x49,0x42,0x68,0x24,0x00,0x00,
+/* 0x00002470: */ 0xD0,0x3B,0x00,0x00,0x06,0x55,0x4E,0x55,0x53,0x45,0x44,0x00,0x74,0x24,0x00,0x00,
+/* 0x00002480: */ 0xE0,0x3B,0x00,0x00,0x03,0x4D,0x41,0x50,0x84,0x24,0x00,0x00,0xBC,0x3E,0x00,0x00,
+/* 0x00002490: */ 0x06,0x53,0x45,0x41,0x52,0x43,0x48,0x00,0x90,0x24,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x000024A0: */ 0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0xA0,0x24,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x000024B0: */ 0x10,0x3A,0x3A,0x3A,0x3A,0x63,0x6F,0x6E,0x64,0x63,0x6F,0x6D,0x70,0x2E,0x66,0x74,
+/* 0x000024C0: */ 0x68,0x00,0x00,0x00,0xB0,0x24,0x00,0x00,0xD0,0x3F,0x00,0x00,0x11,0x54,0x41,0x53,
+/* 0x000024D0: */ 0x4B,0x2D,0x43,0x4F,0x4E,0x44,0x43,0x4F,0x4D,0x50,0x2E,0x46,0x54,0x48,0x00,0x00,
+/* 0x000024E0: */ 0xCC,0x24,0x00,0x00,0xE0,0x3F,0x00,0x00,0x46,0x5B,0x45,0x4C,0x53,0x45,0x5D,0x00,
+/* 0x000024F0: */ 0xE8,0x24,0x00,0x00,0xC8,0x40,0x00,0x00,0x44,0x5B,0x49,0x46,0x5D,0x00,0x00,0x00,
+/* 0x00002500: */ 0xF8,0x24,0x00,0x00,0xDC,0x40,0x00,0x00,0x46,0x5B,0x54,0x48,0x45,0x4E,0x5D,0x00,
+/* 0x00002510: */ 0x08,0x25,0x00,0x00,0xE0,0x40,0x00,0x00,0x47,0x45,0x58,0x49,0x53,0x54,0x53,0x3F,
+/* 0x00002520: */ 0x18,0x25,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,
+/* 0x00002530: */ 0x28,0x25,0x00,0x00,0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,0x3A,0x6D,0x65,0x6D,
+/* 0x00002540: */ 0x62,0x65,0x72,0x2E,0x66,0x74,0x68,0x00,0x38,0x25,0x00,0x00,0xF8,0x40,0x00,0x00,
+/* 0x00002550: */ 0x0F,0x54,0x41,0x53,0x4B,0x2D,0x4D,0x45,0x4D,0x42,0x45,0x52,0x2E,0x46,0x54,0x48,
+/* 0x00002560: */ 0x50,0x25,0x00,0x00,0x08,0x41,0x00,0x00,0x09,0x46,0x49,0x4E,0x44,0x2E,0x42,0x4F,
+/* 0x00002570: */ 0x44,0x59,0x00,0x00,0x68,0x25,0x00,0x00,0x38,0x41,0x00,0x00,0x08,0x4F,0x42,0x2D,
+/* 0x00002580: */ 0x53,0x54,0x41,0x54,0x45,0x00,0x00,0x00,0x7C,0x25,0x00,0x00,0x48,0x41,0x00,0x00,
+/* 0x00002590: */ 0x10,0x4F,0x42,0x2D,0x43,0x55,0x52,0x52,0x45,0x4E,0x54,0x2D,0x43,0x4C,0x41,0x53,
+/* 0x000025A0: */ 0x53,0x00,0x00,0x00,0x90,0x25,0x00,0x00,0x58,0x41,0x00,0x00,0x0C,0x4F,0x42,0x5F,
+/* 0x000025B0: */ 0x44,0x45,0x46,0x5F,0x43,0x4C,0x41,0x53,0x53,0x00,0x00,0x00,0xAC,0x25,0x00,0x00,
+/* 0x000025C0: */ 0x68,0x41,0x00,0x00,0x0D,0x4F,0x42,0x5F,0x44,0x45,0x46,0x5F,0x53,0x54,0x52,0x55,
+/* 0x000025D0: */ 0x43,0x54,0x00,0x00,0xC4,0x25,0x00,0x00,0x78,0x41,0x00,0x00,0x0E,0x4F,0x42,0x5F,
+/* 0x000025E0: */ 0x4F,0x46,0x46,0x53,0x45,0x54,0x5F,0x53,0x49,0x5A,0x45,0x00,0xDC,0x25,0x00,0x00,
+/* 0x000025F0: */ 0x88,0x41,0x00,0x00,0x0A,0x4F,0x42,0x2E,0x4F,0x46,0x46,0x53,0x45,0x54,0x40,0x00,
+/* 0x00002600: */ 0xF4,0x25,0x00,0x00,0x90,0x41,0x00,0x00,0x0A,0x4F,0x42,0x2E,0x4F,0x46,0x46,0x53,
+/* 0x00002610: */ 0x45,0x54,0x2C,0x00,0x08,0x26,0x00,0x00,0x98,0x41,0x00,0x00,0x08,0x4F,0x42,0x2E,
+/* 0x00002620: */ 0x53,0x49,0x5A,0x45,0x40,0x00,0x00,0x00,0x1C,0x26,0x00,0x00,0xA8,0x41,0x00,0x00,
+/* 0x00002630: */ 0x08,0x4F,0x42,0x2E,0x53,0x49,0x5A,0x45,0x2C,0x00,0x00,0x00,0x30,0x26,0x00,0x00,
+/* 0x00002640: */ 0xB0,0x41,0x00,0x00,0x0E,0x4F,0x42,0x2E,0x4D,0x41,0x4B,0x45,0x2E,0x4D,0x45,0x4D,
+/* 0x00002650: */ 0x42,0x45,0x52,0x00,0x44,0x26,0x00,0x00,0x38,0x42,0x00,0x00,0x06,0x55,0x4E,0x49,
+/* 0x00002660: */ 0x4F,0x4E,0x7B,0x00,0x5C,0x26,0x00,0x00,0x48,0x42,0x00,0x00,0x07,0x7D,0x55,0x4E,
+/* 0x00002670: */ 0x49,0x4F,0x4E,0x7B,0x6C,0x26,0x00,0x00,0x60,0x42,0x00,0x00,0x06,0x7D,0x55,0x4E,
+/* 0x00002680: */ 0x49,0x4F,0x4E,0x00,0x7C,0x26,0x00,0x00,0xAC,0x42,0x00,0x00,0x09,0x4F,0x42,0x2E,
+/* 0x00002690: */ 0x4D,0x45,0x4D,0x42,0x45,0x52,0x00,0x00,0x8C,0x26,0x00,0x00,0xD4,0x42,0x00,0x00,
+/* 0x000026A0: */ 0x09,0x4F,0x42,0x2E,0x46,0x49,0x4E,0x44,0x49,0x54,0x00,0x00,0xA0,0x26,0x00,0x00,
+/* 0x000026B0: */ 0x28,0x43,0x00,0x00,0x08,0x4F,0x42,0x2E,0x53,0x54,0x41,0x54,0x53,0x00,0x00,0x00,
+/* 0x000026C0: */ 0xB4,0x26,0x00,0x00,0x3C,0x43,0x00,0x00,0x09,0x4F,0x42,0x2E,0x53,0x54,0x41,0x54,
+/* 0x000026D0: */ 0x53,0x3F,0x00,0x00,0xC8,0x26,0x00,0x00,0x48,0x43,0x00,0x00,0x48,0x53,0x49,0x5A,
+/* 0x000026E0: */ 0x45,0x4F,0x46,0x28,0x29,0x00,0x00,0x00,0xDC,0x26,0x00,0x00,0x58,0x43,0x00,0x00,
+/* 0x000026F0: */ 0x05,0x42,0x59,0x54,0x45,0x53,0x00,0x00,0xF0,0x26,0x00,0x00,0xA8,0x43,0x00,0x00,
+/* 0x00002700: */ 0x04,0x42,0x59,0x54,0x45,0x00,0x00,0x00,0x00,0x27,0x00,0x00,0xB4,0x43,0x00,0x00,
+/* 0x00002710: */ 0x05,0x53,0x48,0x4F,0x52,0x54,0x00,0x00,0x10,0x27,0x00,0x00,0xC0,0x43,0x00,0x00,
+/* 0x00002720: */ 0x04,0x4C,0x4F,0x4E,0x47,0x00,0x00,0x00,0x20,0x27,0x00,0x00,0xCC,0x43,0x00,0x00,
+/* 0x00002730: */ 0x05,0x55,0x42,0x59,0x54,0x45,0x00,0x00,0x30,0x27,0x00,0x00,0xDC,0x43,0x00,0x00,
+/* 0x00002740: */ 0x06,0x55,0x53,0x48,0x4F,0x52,0x54,0x00,0x40,0x27,0x00,0x00,0xEC,0x43,0x00,0x00,
+/* 0x00002750: */ 0x04,0x41,0x50,0x54,0x52,0x00,0x00,0x00,0x50,0x27,0x00,0x00,0xF4,0x43,0x00,0x00,
+/* 0x00002760: */ 0x04,0x52,0x50,0x54,0x52,0x00,0x00,0x00,0x60,0x27,0x00,0x00,0x04,0x44,0x00,0x00,
+/* 0x00002770: */ 0x05,0x55,0x4C,0x4F,0x4E,0x47,0x00,0x00,0x70,0x27,0x00,0x00,0x0C,0x44,0x00,0x00,
+/* 0x00002780: */ 0x06,0x53,0x54,0x52,0x55,0x43,0x54,0x00,0x80,0x27,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00002790: */ 0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x90,0x27,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x000027A0: */ 0x10,0x3A,0x3A,0x3A,0x3A,0x63,0x5F,0x73,0x74,0x72,0x75,0x63,0x74,0x2E,0x66,0x74,
+/* 0x000027B0: */ 0x68,0x00,0x00,0x00,0xA0,0x27,0x00,0x00,0x18,0x44,0x00,0x00,0x0D,0x54,0x41,0x53,
+/* 0x000027C0: */ 0x4B,0x2D,0x43,0x5F,0x53,0x54,0x52,0x55,0x43,0x54,0x00,0x00,0xBC,0x27,0x00,0x00,
+/* 0x000027D0: */ 0x28,0x44,0x00,0x00,0x09,0x3C,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,0x3E,0x00,0x00,
+/* 0x000027E0: */ 0xD4,0x27,0x00,0x00,0x54,0x44,0x00,0x00,0x07,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,
+/* 0x000027F0: */ 0xE8,0x27,0x00,0x00,0xE4,0x44,0x00,0x00,0x07,0x3B,0x53,0x54,0x52,0x55,0x43,0x54,
+/* 0x00002800: */ 0xF8,0x27,0x00,0x00,0x78,0x45,0x00,0x00,0x42,0x2E,0x2E,0x00,0x08,0x28,0x00,0x00,
+/* 0x00002810: */ 0xBC,0x45,0x00,0x00,0x06,0x28,0x53,0x2B,0x43,0x21,0x29,0x00,0x14,0x28,0x00,0x00,
+/* 0x00002820: */ 0xC8,0x45,0x00,0x00,0x06,0x28,0x53,0x2B,0x57,0x21,0x29,0x00,0x24,0x28,0x00,0x00,
+/* 0x00002830: */ 0xD4,0x45,0x00,0x00,0x05,0x28,0x53,0x2B,0x21,0x29,0x00,0x00,0x34,0x28,0x00,0x00,
+/* 0x00002840: */ 0xE0,0x45,0x00,0x00,0x08,0x28,0x53,0x2B,0x52,0x45,0x4C,0x21,0x29,0x00,0x00,0x00,
+/* 0x00002850: */ 0x44,0x28,0x00,0x00,0xF8,0x45,0x00,0x00,0x0E,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,
+/* 0x00002860: */ 0x2B,0x21,0x42,0x59,0x54,0x45,0x53,0x00,0x58,0x28,0x00,0x00,0x3C,0x47,0x00,0x00,
+/* 0x00002870: */ 0x06,0x21,0x42,0x59,0x54,0x45,0x53,0x00,0x70,0x28,0x00,0x00,0x10,0x48,0x00,0x00,
+/* 0x00002880: */ 0x04,0x28,0x53,0x21,0x29,0x00,0x00,0x00,0x80,0x28,0x00,0x00,0x40,0x48,0x00,0x00,
+/* 0x00002890: */ 0x42,0x53,0x21,0x00,0x90,0x28,0x00,0x00,0x4C,0x48,0x00,0x00,0x06,0x40,0x42,0x59,
+/* 0x000028A0: */ 0x54,0x45,0x53,0x00,0x9C,0x28,0x00,0x00,0x64,0x49,0x00,0x00,0x07,0x28,0x53,0x2B,
+/* 0x000028B0: */ 0x55,0x43,0x40,0x29,0xAC,0x28,0x00,0x00,0x70,0x49,0x00,0x00,0x07,0x28,0x53,0x2B,
+/* 0x000028C0: */ 0x55,0x57,0x40,0x29,0xBC,0x28,0x00,0x00,0x7C,0x49,0x00,0x00,0x05,0x28,0x53,0x2B,
+/* 0x000028D0: */ 0x40,0x29,0x00,0x00,0xCC,0x28,0x00,0x00,0x88,0x49,0x00,0x00,0x08,0x28,0x53,0x2B,
+/* 0x000028E0: */ 0x52,0x45,0x4C,0x40,0x29,0x00,0x00,0x00,0xDC,0x28,0x00,0x00,0x98,0x49,0x00,0x00,
+/* 0x000028F0: */ 0x06,0x28,0x53,0x2B,0x43,0x40,0x29,0x00,0xF0,0x28,0x00,0x00,0xA8,0x49,0x00,0x00,
+/* 0x00002900: */ 0x06,0x28,0x53,0x2B,0x57,0x40,0x29,0x00,0x00,0x29,0x00,0x00,0xB8,0x49,0x00,0x00,
+/* 0x00002910: */ 0x0E,0x43,0x4F,0x4D,0x50,0x49,0x4C,0x45,0x2B,0x40,0x42,0x59,0x54,0x45,0x53,0x00,
+/* 0x00002920: */ 0x10,0x29,0x00,0x00,0xFC,0x4A,0x00,0x00,0x04,0x28,0x53,0x40,0x29,0x00,0x00,0x00,
+/* 0x00002930: */ 0x28,0x29,0x00,0x00,0x2C,0x4B,0x00,0x00,0x42,0x53,0x40,0x00,0x38,0x29,0x00,0x00,
+/* 0x00002940: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x44,0x29,0x00,0x00,
+/* 0x00002950: */ 0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,0x3A,0x73,0x6D,0x61,0x72,0x74,0x5F,0x69,
+/* 0x00002960: */ 0x66,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0x54,0x29,0x00,0x00,0x38,0x4B,0x00,0x00,
+/* 0x00002970: */ 0x11,0x54,0x41,0x53,0x4B,0x2D,0x53,0x4D,0x41,0x52,0x54,0x5F,0x49,0x46,0x2E,0x46,
+/* 0x00002980: */ 0x54,0x48,0x00,0x00,0x70,0x29,0x00,0x00,0x48,0x4B,0x00,0x00,0x07,0x53,0x4D,0x49,
+/* 0x00002990: */ 0x46,0x2D,0x58,0x54,0x8C,0x29,0x00,0x00,0x58,0x4B,0x00,0x00,0x0A,0x53,0x4D,0x49,
+/* 0x000029A0: */ 0x46,0x2D,0x44,0x45,0x50,0x54,0x48,0x00,0x9C,0x29,0x00,0x00,0x68,0x4B,0x00,0x00,
+/* 0x000029B0: */ 0x05,0x53,0x4D,0x49,0x46,0x7B,0x00,0x00,0xB0,0x29,0x00,0x00,0xB4,0x4B,0x00,0x00,
+/* 0x000029C0: */ 0x05,0x7D,0x53,0x4D,0x49,0x46,0x00,0x00,0xC0,0x29,0x00,0x00,0x24,0x4C,0x00,0x00,
+/* 0x000029D0: */ 0x42,0x49,0x46,0x00,0xD0,0x29,0x00,0x00,0x30,0x4C,0x00,0x00,0x42,0x44,0x4F,0x00,
+/* 0x000029E0: */ 0xDC,0x29,0x00,0x00,0x3C,0x4C,0x00,0x00,0x43,0x3F,0x44,0x4F,0xE8,0x29,0x00,0x00,
+/* 0x000029F0: */ 0x48,0x4C,0x00,0x00,0x45,0x42,0x45,0x47,0x49,0x4E,0x00,0x00,0xF4,0x29,0x00,0x00,
+/* 0x00002A00: */ 0x54,0x4C,0x00,0x00,0x44,0x54,0x48,0x45,0x4E,0x00,0x00,0x00,0x04,0x2A,0x00,0x00,
+/* 0x00002A10: */ 0x60,0x4C,0x00,0x00,0x46,0x52,0x45,0x50,0x45,0x41,0x54,0x00,0x14,0x2A,0x00,0x00,
+/* 0x00002A20: */ 0x6C,0x4C,0x00,0x00,0x45,0x55,0x4E,0x54,0x49,0x4C,0x00,0x00,0x24,0x2A,0x00,0x00,
+/* 0x00002A30: */ 0x78,0x4C,0x00,0x00,0x44,0x4C,0x4F,0x4F,0x50,0x00,0x00,0x00,0x34,0x2A,0x00,0x00,
+/* 0x00002A40: */ 0x84,0x4C,0x00,0x00,0x45,0x2B,0x4C,0x4F,0x4F,0x50,0x00,0x00,0x44,0x2A,0x00,0x00,
+/* 0x00002A50: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x54,0x2A,0x00,0x00,
+/* 0x00002A60: */ 0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,0x3A,0x66,0x69,0x6C,0x65,0x66,0x69,0x6E,
+/* 0x00002A70: */ 0x64,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,0x64,0x2A,0x00,0x00,0x90,0x4C,0x00,0x00,
+/* 0x00002A80: */ 0x11,0x54,0x41,0x53,0x4B,0x2D,0x46,0x49,0x4C,0x45,0x46,0x49,0x4E,0x44,0x2E,0x46,
+/* 0x00002A90: */ 0x54,0x48,0x00,0x00,0x80,0x2A,0x00,0x00,0xA0,0x4C,0x00,0x00,0x04,0x4F,0x44,0x44,
+/* 0x00002AA0: */ 0x40,0x00,0x00,0x00,0x9C,0x2A,0x00,0x00,0x00,0x4D,0x00,0x00,0x0D,0x46,0x3F,0x2E,
+/* 0x00002AB0: */ 0x53,0x45,0x41,0x52,0x43,0x48,0x2E,0x4E,0x46,0x41,0x00,0x00,0xAC,0x2A,0x00,0x00,
+/* 0x00002AC0: */ 0x98,0x4E,0x00,0x00,0x0C,0x46,0x49,0x4E,0x44,0x4E,0x46,0x41,0x2E,0x46,0x52,0x4F,
+/* 0x00002AD0: */ 0x4D,0x00,0x00,0x00,0xC4,0x2A,0x00,0x00,0xD8,0x4E,0x00,0x00,0x05,0x46,0x49,0x4C,
+/* 0x00002AE0: */ 0x45,0x3F,0x00,0x00,0xDC,0x2A,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00002AF0: */ 0x3B,0x00,0x00,0x00,0xEC,0x2A,0x00,0x00,0x78,0x00,0x00,0x00,0x0B,0x3A,0x3A,0x3A,
+/* 0x00002B00: */ 0x3A,0x73,0x65,0x65,0x2E,0x66,0x74,0x68,0xFC,0x2A,0x00,0x00,0xDC,0x4F,0x00,0x00,
+/* 0x00002B10: */ 0x0C,0x54,0x41,0x53,0x4B,0x2D,0x53,0x45,0x45,0x2E,0x46,0x54,0x48,0x00,0x00,0x00,
+/* 0x00002B20: */ 0x10,0x2B,0x00,0x00,0xEC,0x4F,0x00,0x00,0x03,0x2E,0x58,0x54,0x28,0x2B,0x00,0x00,
+/* 0x00002B30: */ 0x24,0x50,0x00,0x00,0x09,0x42,0x59,0x54,0x45,0x5F,0x43,0x4F,0x44,0x45,0x00,0x00,
+/* 0x00002B40: */ 0x34,0x2B,0x00,0x00,0x34,0x50,0x00,0x00,0x05,0x43,0x4F,0x44,0x45,0x40,0x00,0x00,
+/* 0x00002B50: */ 0x48,0x2B,0x00,0x00,0x3C,0x50,0x00,0x00,0x09,0x43,0x4F,0x44,0x45,0x5F,0x43,0x45,
+/* 0x00002B60: */ 0x4C,0x4C,0x00,0x00,0x58,0x2B,0x00,0x00,0x4C,0x50,0x00,0x00,0x69,0x53,0x45,0x45,
+/* 0x00002B70: */ 0x5F,0x4C,0x45,0x56,0x45,0x4C,0x00,0x00,0x6C,0x2B,0x00,0x00,0x5C,0x50,0x00,0x00,
+/* 0x00002B80: */ 0x68,0x53,0x45,0x45,0x5F,0x41,0x44,0x44,0x52,0x00,0x00,0x00,0x80,0x2B,0x00,0x00,
+/* 0x00002B90: */ 0x6C,0x50,0x00,0x00,0x67,0x53,0x45,0x45,0x5F,0x4F,0x55,0x54,0x94,0x2B,0x00,0x00,
+/* 0x00002BA0: */ 0x7C,0x50,0x00,0x00,0x2D,0x53,0x45,0x45,0x2E,0x49,0x4E,0x44,0x45,0x4E,0x54,0x2E,
+/* 0x00002BB0: */ 0x42,0x59,0x00,0x00,0xA4,0x2B,0x00,0x00,0xA8,0x50,0x00,0x00,0x26,0x53,0x45,0x45,
+/* 0x00002BC0: */ 0x2E,0x43,0x52,0x00,0xBC,0x2B,0x00,0x00,0xEC,0x50,0x00,0x00,0x2B,0x53,0x45,0x45,
+/* 0x00002BD0: */ 0x2E,0x4E,0x45,0x57,0x4C,0x49,0x4E,0x45,0xCC,0x2B,0x00,0x00,0x0C,0x51,0x00,0x00,
+/* 0x00002BE0: */ 0x27,0x53,0x45,0x45,0x2E,0x43,0x52,0x3F,0xE0,0x2B,0x00,0x00,0x34,0x51,0x00,0x00,
+/* 0x00002BF0: */ 0x28,0x53,0x45,0x45,0x2E,0x4F,0x55,0x54,0x2B,0x00,0x00,0x00,0xF0,0x2B,0x00,0x00,
+/* 0x00002C00: */ 0x4C,0x51,0x00,0x00,0x2B,0x53,0x45,0x45,0x2E,0x41,0x44,0x56,0x41,0x4E,0x43,0x45,
+/* 0x00002C10: */ 0x04,0x2C,0x00,0x00,0x60,0x51,0x00,0x00,0x2E,0x53,0x45,0x45,0x2E,0x47,0x45,0x54,
+/* 0x00002C20: */ 0x2E,0x49,0x4E,0x4C,0x49,0x4E,0x45,0x00,0x18,0x2C,0x00,0x00,0x74,0x51,0x00,0x00,
+/* 0x00002C30: */ 0x2E,0x53,0x45,0x45,0x2E,0x47,0x45,0x54,0x2E,0x54,0x41,0x52,0x47,0x45,0x54,0x00,
+/* 0x00002C40: */ 0x30,0x2C,0x00,0x00,0x98,0x51,0x00,0x00,0x2C,0x53,0x45,0x45,0x2E,0x53,0x48,0x4F,
+/* 0x00002C50: */ 0x57,0x2E,0x4C,0x49,0x54,0x00,0x00,0x00,0x48,0x2C,0x00,0x00,0xAC,0x51,0x00,0x00,
+/* 0x00002C60: */ 0x2D,0x53,0x45,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,0x41,0x4C,0x49,0x54,0x00,0x00,
+/* 0x00002C70: */ 0x60,0x2C,0x00,0x00,0xC8,0x51,0x00,0x00,0x2F,0x53,0x45,0x45,0x2E,0x53,0x48,0x4F,
+/* 0x00002C80: */ 0x57,0x2E,0x53,0x54,0x52,0x49,0x4E,0x47,0x78,0x2C,0x00,0x00,0xFC,0x51,0x00,0x00,
+/* 0x00002C90: */ 0x2F,0x53,0x45,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,0x54,0x41,0x52,0x47,0x45,0x54,
+/* 0x00002CA0: */ 0x90,0x2C,0x00,0x00,0x0C,0x52,0x00,0x00,0x2A,0x53,0x45,0x45,0x2E,0x42,0x52,0x41,
+/* 0x00002CB0: */ 0x4E,0x43,0x48,0x00,0xA8,0x2C,0x00,0x00,0x84,0x52,0x00,0x00,0x2B,0x53,0x45,0x45,
+/* 0x00002CC0: */ 0x2E,0x30,0x42,0x52,0x41,0x4E,0x43,0x48,0xBC,0x2C,0x00,0x00,0xEC,0x52,0x00,0x00,
+/* 0x00002CD0: */ 0x26,0x53,0x45,0x45,0x2E,0x58,0x54,0x00,0xD0,0x2C,0x00,0x00,0x00,0x56,0x00,0x00,
+/* 0x00002CE0: */ 0x25,0x28,0x53,0x45,0x45,0x29,0x00,0x00,0xE0,0x2C,0x00,0x00,0x18,0x57,0x00,0x00,
+/* 0x00002CF0: */ 0x03,0x53,0x45,0x45,0xF0,0x2C,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00002D00: */ 0x3B,0x00,0x00,0x00,0xFC,0x2C,0x00,0x00,0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,
+/* 0x00002D10: */ 0x3A,0x77,0x6F,0x72,0x64,0x73,0x6C,0x69,0x6B,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,
+/* 0x00002D20: */ 0x0C,0x2D,0x00,0x00,0x80,0x57,0x00,0x00,0x11,0x54,0x41,0x53,0x4B,0x2D,0x57,0x4F,
+/* 0x00002D30: */ 0x52,0x44,0x53,0x4C,0x49,0x4B,0x2E,0x46,0x54,0x48,0x00,0x00,0x28,0x2D,0x00,0x00,
+/* 0x00002D40: */ 0x90,0x57,0x00,0x00,0x12,0x50,0x41,0x52,0x54,0x49,0x41,0x4C,0x2E,0x4D,0x41,0x54,
+/* 0x00002D50: */ 0x43,0x48,0x2E,0x4E,0x41,0x4D,0x45,0x00,0x44,0x2D,0x00,0x00,0xBC,0x57,0x00,0x00,
+/* 0x00002D60: */ 0x0A,0x57,0x4F,0x52,0x44,0x53,0x2E,0x4C,0x49,0x4B,0x45,0x00,0x60,0x2D,0x00,0x00,
+/* 0x00002D70: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x74,0x2D,0x00,0x00,
+/* 0x00002D80: */ 0x78,0x00,0x00,0x00,0x0D,0x3A,0x3A,0x3A,0x3A,0x74,0x72,0x61,0x63,0x65,0x2E,0x66,
+/* 0x00002D90: */ 0x74,0x68,0x00,0x00,0x84,0x2D,0x00,0x00,0x14,0x58,0x00,0x00,0x0E,0x54,0x41,0x53,
+/* 0x00002DA0: */ 0x4B,0x2D,0x54,0x52,0x41,0x43,0x45,0x2E,0x46,0x54,0x48,0x00,0x9C,0x2D,0x00,0x00,
+/* 0x00002DB0: */ 0x24,0x58,0x00,0x00,0x0F,0x53,0x50,0x41,0x43,0x45,0x2E,0x54,0x4F,0x2E,0x43,0x4F,
+/* 0x00002DC0: */ 0x4C,0x55,0x4D,0x4E,0xB4,0x2D,0x00,0x00,0x38,0x58,0x00,0x00,0x0D,0x49,0x53,0x2E,
+/* 0x00002DD0: */ 0x50,0x52,0x49,0x4D,0x49,0x54,0x49,0x56,0x45,0x3F,0x00,0x00,0xCC,0x2D,0x00,0x00,
+/* 0x00002DE0: */ 0x48,0x58,0x00,0x00,0x48,0x54,0x52,0x41,0x43,0x45,0x5F,0x49,0x50,0x00,0x00,0x00,
+/* 0x00002DF0: */ 0xE4,0x2D,0x00,0x00,0x58,0x58,0x00,0x00,0x4B,0x54,0x52,0x41,0x43,0x45,0x5F,0x4C,
+/* 0x00002E00: */ 0x45,0x56,0x45,0x4C,0xF8,0x2D,0x00,0x00,0x68,0x58,0x00,0x00,0x4F,0x54,0x52,0x41,
+/* 0x00002E10: */ 0x43,0x45,0x5F,0x4C,0x45,0x56,0x45,0x4C,0x5F,0x4D,0x41,0x58,0x0C,0x2E,0x00,0x00,
+/* 0x00002E20: */ 0x78,0x58,0x00,0x00,0x31,0x54,0x52,0x41,0x43,0x45,0x5F,0x52,0x45,0x54,0x55,0x52,
+/* 0x00002E30: */ 0x4E,0x5F,0x53,0x49,0x5A,0x45,0x00,0x00,0x24,0x2E,0x00,0x00,0x88,0x58,0x00,0x00,
+/* 0x00002E40: */ 0x32,0x54,0x52,0x41,0x43,0x45,0x2D,0x52,0x45,0x54,0x55,0x52,0x4E,0x2D,0x53,0x54,
+/* 0x00002E50: */ 0x41,0x43,0x4B,0x00,0x40,0x2E,0x00,0x00,0xA4,0x5A,0x00,0x00,0x29,0x54,0x52,0x41,
+/* 0x00002E60: */ 0x43,0x45,0x2D,0x52,0x53,0x50,0x00,0x00,0x5C,0x2E,0x00,0x00,0xB4,0x5A,0x00,0x00,
+/* 0x00002E70: */ 0x28,0x54,0x52,0x41,0x43,0x45,0x2E,0x3E,0x52,0x00,0x00,0x00,0x70,0x2E,0x00,0x00,
+/* 0x00002E80: */ 0xD4,0x5A,0x00,0x00,0x28,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x3E,0x00,0x00,0x00,
+/* 0x00002E90: */ 0x84,0x2E,0x00,0x00,0xF8,0x5A,0x00,0x00,0x28,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,
+/* 0x00002EA0: */ 0x40,0x00,0x00,0x00,0x98,0x2E,0x00,0x00,0x0C,0x5B,0x00,0x00,0x2B,0x54,0x52,0x41,
+/* 0x00002EB0: */ 0x43,0x45,0x2E,0x52,0x50,0x49,0x43,0x4B,0xAC,0x2E,0x00,0x00,0x28,0x5B,0x00,0x00,
+/* 0x00002EC0: */ 0x29,0x54,0x52,0x41,0x43,0x45,0x2E,0x30,0x52,0x50,0x00,0x00,0xC0,0x2E,0x00,0x00,
+/* 0x00002ED0: */ 0x4C,0x5B,0x00,0x00,0x2B,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x44,0x52,0x4F,0x50,
+/* 0x00002EE0: */ 0xD4,0x2E,0x00,0x00,0x5C,0x5B,0x00,0x00,0x2C,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,
+/* 0x00002EF0: */ 0x43,0x48,0x45,0x43,0x4B,0x00,0x00,0x00,0xE8,0x2E,0x00,0x00,0xE4,0x5B,0x00,0x00,
+/* 0x00002F00: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x5F,0x53,0x54,0x41,0x54,0x45,0x5F,0x53,0x49,0x5A,
+/* 0x00002F10: */ 0x45,0x00,0x00,0x00,0x00,0x2F,0x00,0x00,0xF4,0x5B,0x00,0x00,0x2D,0x54,0x52,0x41,
+/* 0x00002F20: */ 0x43,0x45,0x2D,0x53,0x54,0x41,0x54,0x45,0x2D,0x31,0x00,0x00,0x1C,0x2F,0x00,0x00,
+/* 0x00002F30: */ 0x28,0x5C,0x00,0x00,0x2D,0x54,0x52,0x41,0x43,0x45,0x2D,0x53,0x54,0x41,0x54,0x45,
+/* 0x00002F40: */ 0x2D,0x32,0x00,0x00,0x34,0x2F,0x00,0x00,0x5C,0x5C,0x00,0x00,0x2F,0x54,0x52,0x41,
+/* 0x00002F50: */ 0x43,0x45,0x2D,0x53,0x54,0x41,0x54,0x45,0x2D,0x50,0x54,0x52,0x4C,0x2F,0x00,0x00,
+/* 0x00002F60: */ 0x6C,0x5C,0x00,0x00,0x2C,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,0x41,0x56,0x45,0x2B,
+/* 0x00002F70: */ 0x2B,0x00,0x00,0x00,0x64,0x2F,0x00,0x00,0x8C,0x5C,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x00002F80: */ 0x43,0x45,0x2E,0x53,0x41,0x56,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0x00,0x00,0x00,
+/* 0x00002F90: */ 0x7C,0x2F,0x00,0x00,0xA8,0x5C,0x00,0x00,0x31,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,
+/* 0x00002FA0: */ 0x41,0x56,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0x31,0x00,0x00,0x98,0x2F,0x00,0x00,
+/* 0x00002FB0: */ 0xBC,0x5C,0x00,0x00,0x31,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,0x41,0x56,0x45,0x2E,
+/* 0x00002FC0: */ 0x53,0x54,0x41,0x54,0x45,0x32,0x00,0x00,0xB4,0x2F,0x00,0x00,0xD0,0x5C,0x00,0x00,
+/* 0x00002FD0: */ 0x2F,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x45,0x53,0x54,0x4F,0x52,0x45,0x2B,0x2B,
+/* 0x00002FE0: */ 0xD0,0x2F,0x00,0x00,0xF4,0x5C,0x00,0x00,0x33,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,
+/* 0x00002FF0: */ 0x45,0x53,0x54,0x4F,0x52,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0xE8,0x2F,0x00,0x00,
+/* 0x00003000: */ 0x10,0x5D,0x00,0x00,0x34,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x45,0x53,0x54,0x4F,
+/* 0x00003010: */ 0x52,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0x31,0x00,0x00,0x00,0x04,0x30,0x00,0x00,
+/* 0x00003020: */ 0x24,0x5D,0x00,0x00,0x34,0x54,0x52,0x41,0x43,0x45,0x2E,0x52,0x45,0x53,0x54,0x4F,
+/* 0x00003030: */ 0x52,0x45,0x2E,0x53,0x54,0x41,0x54,0x45,0x32,0x00,0x00,0x00,0x24,0x30,0x00,0x00,
+/* 0x00003040: */ 0x38,0x5D,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2D,0x4C,0x4F,0x43,0x41,0x4C,
+/* 0x00003050: */ 0x53,0x2D,0x50,0x54,0x52,0x00,0x00,0x00,0x44,0x30,0x00,0x00,0x48,0x5D,0x00,0x00,
+/* 0x00003060: */ 0x33,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x2E,0x45,0x4E,
+/* 0x00003070: */ 0x54,0x52,0x59,0x29,0x60,0x30,0x00,0x00,0xD4,0x5D,0x00,0x00,0x32,0x54,0x52,0x41,
+/* 0x00003080: */ 0x43,0x45,0x2E,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x2E,0x45,0x58,0x49,0x54,0x29,0x00,
+/* 0x00003090: */ 0x7C,0x30,0x00,0x00,0xF4,0x5D,0x00,0x00,0x2E,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x000030A0: */ 0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x98,0x30,0x00,0x00,0x10,0x5E,0x00,0x00,
+/* 0x000030B0: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x31,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,
+/* 0x000030C0: */ 0x29,0x00,0x00,0x00,0xB0,0x30,0x00,0x00,0x20,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x000030D0: */ 0x43,0x45,0x2E,0x28,0x32,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,
+/* 0x000030E0: */ 0xCC,0x30,0x00,0x00,0x30,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x000030F0: */ 0x33,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,0xE8,0x30,0x00,0x00,
+/* 0x00003100: */ 0x40,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x34,0x5F,0x4C,0x4F,
+/* 0x00003110: */ 0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,0x04,0x31,0x00,0x00,0x50,0x5E,0x00,0x00,
+/* 0x00003120: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x35,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,
+/* 0x00003130: */ 0x29,0x00,0x00,0x00,0x20,0x31,0x00,0x00,0x60,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x00003140: */ 0x43,0x45,0x2E,0x28,0x36,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,
+/* 0x00003150: */ 0x3C,0x31,0x00,0x00,0x70,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x00003160: */ 0x37,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,0x58,0x31,0x00,0x00,
+/* 0x00003170: */ 0x80,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x38,0x5F,0x4C,0x4F,
+/* 0x00003180: */ 0x43,0x41,0x4C,0x40,0x29,0x00,0x00,0x00,0x74,0x31,0x00,0x00,0x90,0x5E,0x00,0x00,
+/* 0x00003190: */ 0x2E,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,
+/* 0x000031A0: */ 0x90,0x31,0x00,0x00,0xAC,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x000031B0: */ 0x31,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0xA8,0x31,0x00,0x00,
+/* 0x000031C0: */ 0xBC,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x32,0x5F,0x4C,0x4F,
+/* 0x000031D0: */ 0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0xC4,0x31,0x00,0x00,0xCC,0x5E,0x00,0x00,
+/* 0x000031E0: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x33,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,
+/* 0x000031F0: */ 0x29,0x00,0x00,0x00,0xE0,0x31,0x00,0x00,0xDC,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x00003200: */ 0x43,0x45,0x2E,0x28,0x34,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,
+/* 0x00003210: */ 0xFC,0x31,0x00,0x00,0xEC,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x00003220: */ 0x35,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0x18,0x32,0x00,0x00,
+/* 0x00003230: */ 0xFC,0x5E,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x36,0x5F,0x4C,0x4F,
+/* 0x00003240: */ 0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,0x34,0x32,0x00,0x00,0x0C,0x5F,0x00,0x00,
+/* 0x00003250: */ 0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x37,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,
+/* 0x00003260: */ 0x29,0x00,0x00,0x00,0x50,0x32,0x00,0x00,0x1C,0x5F,0x00,0x00,0x30,0x54,0x52,0x41,
+/* 0x00003270: */ 0x43,0x45,0x2E,0x28,0x38,0x5F,0x4C,0x4F,0x43,0x41,0x4C,0x21,0x29,0x00,0x00,0x00,
+/* 0x00003280: */ 0x6C,0x32,0x00,0x00,0x2C,0x5F,0x00,0x00,0x2F,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,
+/* 0x00003290: */ 0x4C,0x4F,0x43,0x41,0x4C,0x2B,0x21,0x29,0x88,0x32,0x00,0x00,0x48,0x5F,0x00,0x00,
+/* 0x000032A0: */ 0x2B,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x3F,0x44,0x4F,0x29,0xA0,0x32,0x00,0x00,
+/* 0x000032B0: */ 0xB0,0x5F,0x00,0x00,0x2C,0x54,0x52,0x41,0x43,0x45,0x2E,0x28,0x4C,0x4F,0x4F,0x50,
+/* 0x000032C0: */ 0x29,0x00,0x00,0x00,0xB4,0x32,0x00,0x00,0x34,0x60,0x00,0x00,0x2D,0x54,0x52,0x41,
+/* 0x000032D0: */ 0x43,0x45,0x2E,0x28,0x2B,0x4C,0x4F,0x4F,0x50,0x29,0x00,0x00,0xCC,0x32,0x00,0x00,
+/* 0x000032E0: */ 0x18,0x61,0x00,0x00,0x2E,0x54,0x52,0x41,0x43,0x45,0x2E,0x43,0x48,0x45,0x43,0x4B,
+/* 0x000032F0: */ 0x2E,0x49,0x50,0x00,0xE4,0x32,0x00,0x00,0x84,0x61,0x00,0x00,0x2D,0x54,0x52,0x41,
+/* 0x00003300: */ 0x43,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,0x49,0x50,0x00,0x00,0xFC,0x32,0x00,0x00,
+/* 0x00003310: */ 0xCC,0x61,0x00,0x00,0x30,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,
+/* 0x00003320: */ 0x53,0x54,0x41,0x43,0x4B,0x00,0x00,0x00,0x14,0x33,0x00,0x00,0xA4,0x62,0x00,0x00,
+/* 0x00003330: */ 0x2F,0x54,0x52,0x41,0x43,0x45,0x2E,0x53,0x48,0x4F,0x57,0x2E,0x4E,0x45,0x58,0x54,
+/* 0x00003340: */ 0x30,0x33,0x00,0x00,0xB0,0x64,0x00,0x00,0x32,0x54,0x52,0x41,0x43,0x45,0x2E,0x44,
+/* 0x00003350: */ 0x4F,0x2E,0x50,0x52,0x49,0x4D,0x49,0x54,0x49,0x56,0x45,0x00,0x48,0x33,0x00,0x00,
+/* 0x00003360: */ 0xF0,0x6C,0x00,0x00,0x2D,0x54,0x52,0x41,0x43,0x45,0x2E,0x44,0x4F,0x2E,0x4E,0x45,
+/* 0x00003370: */ 0x58,0x54,0x00,0x00,0x64,0x33,0x00,0x00,0x04,0x6E,0x00,0x00,0x2A,0x54,0x52,0x41,
+/* 0x00003380: */ 0x43,0x45,0x2E,0x4E,0x45,0x58,0x54,0x00,0x7C,0x33,0x00,0x00,0x88,0x6E,0x00,0x00,
+/* 0x00003390: */ 0x05,0x54,0x52,0x41,0x43,0x45,0x00,0x00,0x90,0x33,0x00,0x00,0x34,0x6F,0x00,0x00,
+/* 0x000033A0: */ 0x01,0x53,0x00,0x00,0xA0,0x33,0x00,0x00,0x6C,0x6F,0x00,0x00,0x02,0x53,0x44,0x00,
+/* 0x000033B0: */ 0xAC,0x33,0x00,0x00,0xA8,0x6F,0x00,0x00,0x02,0x53,0x4D,0x00,0xB8,0x33,0x00,0x00,
+/* 0x000033C0: */ 0xF8,0x6F,0x00,0x00,0x0A,0x54,0x52,0x41,0x43,0x45,0x2E,0x55,0x53,0x45,0x52,0x00,
+/* 0x000033D0: */ 0xC4,0x33,0x00,0x00,0x04,0x70,0x00,0x00,0x02,0x47,0x44,0x00,0xD8,0x33,0x00,0x00,
+/* 0x000033E0: */ 0xA8,0x71,0x00,0x00,0x01,0x47,0x00,0x00,0xE4,0x33,0x00,0x00,0xB8,0x71,0x00,0x00,
+/* 0x000033F0: */ 0x0A,0x54,0x52,0x41,0x43,0x45,0x2E,0x48,0x45,0x4C,0x50,0x00,0xF0,0x33,0x00,0x00,
+/* 0x00003400: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0x04,0x34,0x00,0x00,
+/* 0x00003410: */ 0x78,0x00,0x00,0x00,0x0E,0x3A,0x3A,0x3A,0x3A,0x74,0x65,0x72,0x6D,0x69,0x6F,0x2E,
+/* 0x00003420: */ 0x66,0x74,0x68,0x00,0x14,0x34,0x00,0x00,0x1C,0x73,0x00,0x00,0x0F,0x54,0x41,0x53,
+/* 0x00003430: */ 0x4B,0x2D,0x54,0x45,0x52,0x4D,0x49,0x4F,0x2E,0x46,0x54,0x48,0x2C,0x34,0x00,0x00,
+/* 0x00003440: */ 0x2C,0x73,0x00,0x00,0x0F,0x41,0x53,0x43,0x49,0x49,0x5F,0x42,0x41,0x43,0x4B,0x53,
+/* 0x00003450: */ 0x50,0x41,0x43,0x45,0x44,0x34,0x00,0x00,0x3C,0x73,0x00,0x00,0x0C,0x41,0x53,0x43,
+/* 0x00003460: */ 0x49,0x49,0x5F,0x44,0x45,0x4C,0x45,0x54,0x45,0x00,0x00,0x00,0x5C,0x34,0x00,0x00,
+/* 0x00003470: */ 0x4C,0x73,0x00,0x00,0x0C,0x41,0x53,0x43,0x49,0x49,0x5F,0x45,0x53,0x43,0x41,0x50,
+/* 0x00003480: */ 0x45,0x00,0x00,0x00,0x74,0x34,0x00,0x00,0x5C,0x73,0x00,0x00,0x0C,0x41,0x53,0x43,
+/* 0x00003490: */ 0x49,0x49,0x5F,0x43,0x54,0x52,0x4C,0x5F,0x41,0x00,0x00,0x00,0x8C,0x34,0x00,0x00,
+/* 0x000034A0: */ 0x6C,0x73,0x00,0x00,0x0C,0x41,0x53,0x43,0x49,0x49,0x5F,0x43,0x54,0x52,0x4C,0x5F,
+/* 0x000034B0: */ 0x45,0x00,0x00,0x00,0xA4,0x34,0x00,0x00,0x7C,0x73,0x00,0x00,0x0C,0x41,0x53,0x43,
+/* 0x000034C0: */ 0x49,0x49,0x5F,0x43,0x54,0x52,0x4C,0x5F,0x58,0x00,0x00,0x00,0xBC,0x34,0x00,0x00,
+/* 0x000034D0: */ 0x8C,0x73,0x00,0x00,0x04,0x45,0x53,0x43,0x5B,0x00,0x00,0x00,0xD4,0x34,0x00,0x00,
+/* 0x000034E0: */ 0xA4,0x73,0x00,0x00,0x03,0x43,0x4C,0x53,0xE4,0x34,0x00,0x00,0xB4,0x73,0x00,0x00,
+/* 0x000034F0: */ 0x0D,0x54,0x49,0x4F,0x2E,0x42,0x41,0x43,0x4B,0x57,0x41,0x52,0x44,0x53,0x00,0x00,
+/* 0x00003500: */ 0xF0,0x34,0x00,0x00,0xF0,0x73,0x00,0x00,0x0C,0x54,0x49,0x4F,0x2E,0x46,0x4F,0x52,
+/* 0x00003510: */ 0x57,0x41,0x52,0x44,0x53,0x00,0x00,0x00,0x08,0x35,0x00,0x00,0x2C,0x74,0x00,0x00,
+/* 0x00003520: */ 0x0D,0x54,0x49,0x4F,0x2E,0x45,0x52,0x41,0x53,0x45,0x2E,0x45,0x4F,0x4C,0x00,0x00,
+/* 0x00003530: */ 0x20,0x35,0x00,0x00,0x40,0x74,0x00,0x00,0x04,0x42,0x45,0x4C,0x4C,0x00,0x00,0x00,
+/* 0x00003540: */ 0x38,0x35,0x00,0x00,0x50,0x74,0x00,0x00,0x09,0x42,0x41,0x43,0x4B,0x53,0x50,0x41,
+/* 0x00003550: */ 0x43,0x45,0x00,0x00,0x48,0x35,0x00,0x00,0x70,0x74,0x00,0x00,0x08,0x53,0x48,0x4F,
+/* 0x00003560: */ 0x57,0x4B,0x45,0x59,0x53,0x00,0x00,0x00,0x5C,0x35,0x00,0x00,0xAC,0x74,0x00,0x00,
+/* 0x00003570: */ 0x02,0x41,0x5A,0x00,0x70,0x35,0x00,0x00,0xD8,0x74,0x00,0x00,0x0A,0x54,0x45,0x53,
+/* 0x00003580: */ 0x54,0x2E,0x42,0x41,0x43,0x4B,0x31,0x00,0x7C,0x35,0x00,0x00,0xFC,0x74,0x00,0x00,
+/* 0x00003590: */ 0x0A,0x54,0x45,0x53,0x54,0x2E,0x42,0x41,0x43,0x4B,0x32,0x00,0x90,0x35,0x00,0x00,
+/* 0x000035A0: */ 0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,0x3B,0x00,0x00,0x00,0xA4,0x35,0x00,0x00,
+/* 0x000035B0: */ 0x78,0x00,0x00,0x00,0x0F,0x3A,0x3A,0x3A,0x3A,0x68,0x69,0x73,0x74,0x6F,0x72,0x79,
+/* 0x000035C0: */ 0x2E,0x66,0x74,0x68,0xB4,0x35,0x00,0x00,0x34,0x75,0x00,0x00,0x10,0x54,0x41,0x53,
+/* 0x000035D0: */ 0x4B,0x2D,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x2E,0x46,0x54,0x48,0x00,0x00,0x00,
+/* 0x000035E0: */ 0xCC,0x35,0x00,0x00,0x44,0x75,0x00,0x00,0x0F,0x4B,0x48,0x5F,0x48,0x49,0x53,0x54,
+/* 0x000035F0: */ 0x4F,0x52,0x59,0x5F,0x53,0x49,0x5A,0x45,0xE8,0x35,0x00,0x00,0x54,0x75,0x00,0x00,
+/* 0x00003600: */ 0x0A,0x4B,0x48,0x2D,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x00,0x00,0x36,0x00,0x00,
+/* 0x00003610: */ 0x60,0x7D,0x00,0x00,0x06,0x4B,0x48,0x2D,0x45,0x4E,0x44,0x00,0x14,0x36,0x00,0x00,
+/* 0x00003620: */ 0x70,0x7D,0x00,0x00,0x08,0x4C,0x49,0x4E,0x45,0x4E,0x55,0x4D,0x40,0x00,0x00,0x00,
+/* 0x00003630: */ 0x24,0x36,0x00,0x00,0x98,0x7D,0x00,0x00,0x08,0x4C,0x49,0x4E,0x45,0x4E,0x55,0x4D,
+/* 0x00003640: */ 0x21,0x00,0x00,0x00,0x38,0x36,0x00,0x00,0xBC,0x7D,0x00,0x00,0x07,0x4B,0x48,0x2D,
+/* 0x00003650: */ 0x4C,0x4F,0x4F,0x4B,0x4C,0x36,0x00,0x00,0xCC,0x7D,0x00,0x00,0x06,0x4B,0x48,0x2D,
+/* 0x00003660: */ 0x4D,0x41,0x58,0x00,0x5C,0x36,0x00,0x00,0xDC,0x7D,0x00,0x00,0x0A,0x4B,0x48,0x2D,
+/* 0x00003670: */ 0x43,0x4F,0x55,0x4E,0x54,0x45,0x52,0x00,0x6C,0x36,0x00,0x00,0xEC,0x7D,0x00,0x00,
+/* 0x00003680: */ 0x07,0x4B,0x48,0x2D,0x53,0x50,0x41,0x4E,0x80,0x36,0x00,0x00,0xFC,0x7D,0x00,0x00,
+/* 0x00003690: */ 0x0D,0x4B,0x48,0x2D,0x4D,0x41,0x54,0x43,0x48,0x2D,0x53,0x50,0x41,0x4E,0x00,0x00,
+/* 0x000036A0: */ 0x90,0x36,0x00,0x00,0x0C,0x7E,0x00,0x00,0x09,0x4B,0x48,0x2D,0x43,0x55,0x52,0x53,
+/* 0x000036B0: */ 0x4F,0x52,0x00,0x00,0xA8,0x36,0x00,0x00,0x1C,0x7E,0x00,0x00,0x0A,0x4B,0x48,0x2D,
+/* 0x000036C0: */ 0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x00,0xBC,0x36,0x00,0x00,0x2C,0x7E,0x00,0x00,
+/* 0x000036D0: */ 0x09,0x4B,0x48,0x2D,0x49,0x4E,0x53,0x49,0x44,0x45,0x00,0x00,0xD0,0x36,0x00,0x00,
+/* 0x000036E0: */ 0x3C,0x7E,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x4D,0x41,0x4B,0x45,0x2E,0x52,0x4F,0x4F,
+/* 0x000036F0: */ 0x4D,0x00,0x00,0x00,0xE4,0x36,0x00,0x00,0x70,0x7E,0x00,0x00,0x0E,0x4B,0x48,0x2E,
+/* 0x00003700: */ 0x4E,0x45,0x57,0x45,0x53,0x54,0x2E,0x4C,0x49,0x4E,0x45,0x00,0xFC,0x36,0x00,0x00,
+/* 0x00003710: */ 0x7C,0x7E,0x00,0x00,0x09,0x4B,0x48,0x2E,0x52,0x45,0x57,0x49,0x4E,0x44,0x00,0x00,
+/* 0x00003720: */ 0x14,0x37,0x00,0x00,0x90,0x7E,0x00,0x00,0x0F,0x4B,0x48,0x2E,0x43,0x55,0x52,0x52,
+/* 0x00003730: */ 0x45,0x4E,0x54,0x2E,0x41,0x44,0x44,0x52,0x28,0x37,0x00,0x00,0xA4,0x7E,0x00,0x00,
+/* 0x00003740: */ 0x0F,0x4B,0x48,0x2E,0x43,0x55,0x52,0x52,0x45,0x4E,0x54,0x2E,0x4C,0x49,0x4E,0x45,
+/* 0x00003750: */ 0x40,0x37,0x00,0x00,0xB0,0x7E,0x00,0x00,0x0A,0x4B,0x48,0x2E,0x43,0x4F,0x4D,0x50,
+/* 0x00003760: */ 0x41,0x52,0x45,0x00,0x58,0x37,0x00,0x00,0xC0,0x7E,0x00,0x00,0x0B,0x4B,0x48,0x2E,
+/* 0x00003770: */ 0x4E,0x55,0x4D,0x2E,0x41,0x44,0x44,0x52,0x6C,0x37,0x00,0x00,0xCC,0x7E,0x00,0x00,
+/* 0x00003780: */ 0x0E,0x4B,0x48,0x2E,0x43,0x55,0x52,0x52,0x45,0x4E,0x54,0x2E,0x4E,0x55,0x4D,0x00,
+/* 0x00003790: */ 0x80,0x37,0x00,0x00,0xD8,0x7E,0x00,0x00,0x09,0x4B,0x48,0x2E,0x41,0x44,0x44,0x52,
+/* 0x000037A0: */ 0x2B,0x2B,0x00,0x00,0x98,0x37,0x00,0x00,0xF0,0x7E,0x00,0x00,0x09,0x4B,0x48,0x2E,
+/* 0x000037B0: */ 0x41,0x44,0x44,0x52,0x2D,0x2D,0x00,0x00,0xAC,0x37,0x00,0x00,0x10,0x7F,0x00,0x00,
+/* 0x000037C0: */ 0x10,0x4B,0x48,0x2E,0x45,0x4E,0x44,0x43,0x4F,0x55,0x4E,0x54,0x2E,0x41,0x44,0x44,
+/* 0x000037D0: */ 0x52,0x00,0x00,0x00,0xC0,0x37,0x00,0x00,0x1C,0x7F,0x00,0x00,0x0B,0x4B,0x48,0x2E,
+/* 0x000037E0: */ 0x41,0x44,0x44,0x2E,0x4C,0x49,0x4E,0x45,0xDC,0x37,0x00,0x00,0x00,0x80,0x00,0x00,
+/* 0x000037F0: */ 0x0E,0x4B,0x48,0x2E,0x42,0x41,0x43,0x4B,0x55,0x50,0x2E,0x4C,0x49,0x4E,0x45,0x00,
+/* 0x00003800: */ 0xF0,0x37,0x00,0x00,0x84,0x80,0x00,0x00,0x0F,0x4B,0x48,0x2E,0x46,0x4F,0x52,0x57,
+/* 0x00003810: */ 0x41,0x52,0x44,0x2E,0x4C,0x49,0x4E,0x45,0x08,0x38,0x00,0x00,0xBC,0x80,0x00,0x00,
+/* 0x00003820: */ 0x0E,0x4B,0x48,0x2E,0x4F,0x4C,0x44,0x45,0x53,0x54,0x2E,0x4C,0x49,0x4E,0x45,0x00,
+/* 0x00003830: */ 0x20,0x38,0x00,0x00,0xE4,0x80,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x46,0x49,0x4E,0x44,
+/* 0x00003840: */ 0x2E,0x4C,0x49,0x4E,0x45,0x00,0x00,0x00,0x38,0x38,0x00,0x00,0x50,0x81,0x00,0x00,
+/* 0x00003850: */ 0x09,0x4B,0x48,0x2D,0x42,0x55,0x46,0x46,0x45,0x52,0x00,0x00,0x50,0x38,0x00,0x00,
+/* 0x00003860: */ 0x5C,0x81,0x00,0x00,0x09,0x4B,0x48,0x2E,0x52,0x45,0x54,0x55,0x52,0x4E,0x00,0x00,
+/* 0x00003870: */ 0x64,0x38,0x00,0x00,0x7C,0x81,0x00,0x00,0x0F,0x4B,0x48,0x2E,0x52,0x45,0x50,0x4C,
+/* 0x00003880: */ 0x41,0x43,0x45,0x2E,0x4C,0x49,0x4E,0x45,0x78,0x38,0x00,0x00,0xB4,0x81,0x00,0x00,
+/* 0x00003890: */ 0x0C,0x4B,0x48,0x2E,0x47,0x45,0x54,0x2E,0x4D,0x41,0x54,0x43,0x48,0x00,0x00,0x00,
+/* 0x000038A0: */ 0x90,0x38,0x00,0x00,0x20,0x82,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x46,0x41,0x52,0x2E,
+/* 0x000038B0: */ 0x52,0x49,0x47,0x48,0x54,0x00,0x00,0x00,0xA8,0x38,0x00,0x00,0x68,0x82,0x00,0x00,
+/* 0x000038C0: */ 0x0B,0x4B,0x48,0x2E,0x46,0x41,0x52,0x2E,0x4C,0x45,0x46,0x54,0xC0,0x38,0x00,0x00,
+/* 0x000038D0: */ 0x78,0x82,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x47,0x45,0x54,0x2E,0x4F,0x4C,0x44,0x45,
+/* 0x000038E0: */ 0x52,0x00,0x00,0x00,0xD4,0x38,0x00,0x00,0xA4,0x82,0x00,0x00,0x0C,0x4B,0x48,0x2E,
+/* 0x000038F0: */ 0x47,0x45,0x54,0x2E,0x4E,0x45,0x57,0x45,0x52,0x00,0x00,0x00,0xEC,0x38,0x00,0x00,
+/* 0x00003900: */ 0xD8,0x82,0x00,0x00,0x0D,0x4B,0x48,0x2E,0x43,0x4C,0x45,0x41,0x52,0x2E,0x4C,0x49,
+/* 0x00003910: */ 0x4E,0x45,0x00,0x00,0x04,0x39,0x00,0x00,0xF8,0x82,0x00,0x00,0x0B,0x4B,0x48,0x2E,
+/* 0x00003920: */ 0x47,0x4F,0x2E,0x52,0x49,0x47,0x48,0x54,0x1C,0x39,0x00,0x00,0x34,0x83,0x00,0x00,
+/* 0x00003930: */ 0x0A,0x4B,0x48,0x2E,0x47,0x4F,0x2E,0x4C,0x45,0x46,0x54,0x00,0x30,0x39,0x00,0x00,
+/* 0x00003940: */ 0x64,0x83,0x00,0x00,0x0A,0x4B,0x48,0x2E,0x52,0x45,0x46,0x52,0x45,0x53,0x48,0x00,
+/* 0x00003950: */ 0x44,0x39,0x00,0x00,0xAC,0x83,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x42,0x41,0x43,0x4B,
+/* 0x00003960: */ 0x53,0x50,0x41,0x43,0x45,0x00,0x00,0x00,0x58,0x39,0x00,0x00,0x3C,0x84,0x00,0x00,
+/* 0x00003970: */ 0x09,0x4B,0x48,0x2E,0x44,0x45,0x4C,0x45,0x54,0x45,0x00,0x00,0x70,0x39,0x00,0x00,
+/* 0x00003980: */ 0xAC,0x84,0x00,0x00,0x15,0x4B,0x48,0x2E,0x48,0x41,0x4E,0x44,0x4C,0x45,0x2E,0x57,
+/* 0x00003990: */ 0x49,0x4E,0x44,0x4F,0x57,0x53,0x2E,0x4B,0x45,0x59,0x00,0x00,0x84,0x39,0x00,0x00,
+/* 0x000039A0: */ 0x2C,0x86,0x00,0x00,0x12,0x4B,0x48,0x2E,0x48,0x41,0x4E,0x44,0x4C,0x45,0x2E,0x41,
+/* 0x000039B0: */ 0x4E,0x53,0x49,0x2E,0x4B,0x45,0x59,0x00,0xA4,0x39,0x00,0x00,0xD4,0x86,0x00,0x00,
+/* 0x000039C0: */ 0x0E,0x4B,0x48,0x2E,0x53,0x50,0x45,0x43,0x49,0x41,0x4C,0x2E,0x4B,0x45,0x59,0x00,
+/* 0x000039D0: */ 0xC0,0x39,0x00,0x00,0x3C,0x88,0x00,0x00,0x0C,0x4B,0x48,0x2E,0x53,0x4D,0x41,0x52,
+/* 0x000039E0: */ 0x54,0x2E,0x4B,0x45,0x59,0x00,0x00,0x00,0xD8,0x39,0x00,0x00,0x60,0x88,0x00,0x00,
+/* 0x000039F0: */ 0x0A,0x4B,0x48,0x2E,0x49,0x4E,0x53,0x43,0x48,0x41,0x52,0x00,0xF0,0x39,0x00,0x00,
+/* 0x00003A00: */ 0x2C,0x89,0x00,0x00,0x04,0x45,0x4F,0x4C,0x3F,0x00,0x00,0x00,0x04,0x3A,0x00,0x00,
+/* 0x00003A10: */ 0x54,0x89,0x00,0x00,0x0A,0x4B,0x48,0x2E,0x47,0x45,0x54,0x4C,0x49,0x4E,0x45,0x00,
+/* 0x00003A20: */ 0x14,0x3A,0x00,0x00,0x1C,0x8A,0x00,0x00,0x09,0x4B,0x48,0x2E,0x41,0x43,0x43,0x45,
+/* 0x00003A30: */ 0x50,0x54,0x00,0x00,0x28,0x3A,0x00,0x00,0x5C,0x8A,0x00,0x00,0x0C,0x54,0x45,0x53,
+/* 0x00003A40: */ 0x54,0x2E,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x00,0x00,0x00,0x3C,0x3A,0x00,0x00,
+/* 0x00003A50: */ 0xA0,0x8A,0x00,0x00,0x08,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x23,0x00,0x00,0x00,
+/* 0x00003A60: */ 0x54,0x3A,0x00,0x00,0xF8,0x8A,0x00,0x00,0x07,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,
+/* 0x00003A70: */ 0x68,0x3A,0x00,0x00,0x38,0x8B,0x00,0x00,0x02,0x58,0x58,0x00,0x78,0x3A,0x00,0x00,
+/* 0x00003A80: */ 0x54,0x8B,0x00,0x00,0x0D,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x2E,0x52,0x45,0x53,
+/* 0x00003A90: */ 0x45,0x54,0x00,0x00,0x84,0x3A,0x00,0x00,0x6C,0x8B,0x00,0x00,0x0A,0x48,0x49,0x53,
+/* 0x00003AA0: */ 0x54,0x4F,0x52,0x59,0x2E,0x4F,0x4E,0x00,0x9C,0x3A,0x00,0x00,0xA8,0x8B,0x00,0x00,
+/* 0x00003AB0: */ 0x0B,0x48,0x49,0x53,0x54,0x4F,0x52,0x59,0x2E,0x4F,0x46,0x46,0xB0,0x3A,0x00,0x00,
+/* 0x00003AC0: */ 0xE0,0x8B,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x49,0x4E,0x49,0x54,0x00,0x00,
+/* 0x00003AD0: */ 0xC4,0x3A,0x00,0x00,0xEC,0x8B,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x54,0x45,
+/* 0x00003AE0: */ 0x52,0x4D,0x00,0x00,0xD8,0x3A,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00003AF0: */ 0x3B,0x00,0x00,0x00,0xEC,0x3A,0x00,0x00,0x78,0x00,0x00,0x00,0x10,0x3A,0x3A,0x3A,
+/* 0x00003B00: */ 0x3A,0x73,0x61,0x76,0x65,0x64,0x69,0x63,0x64,0x2E,0x66,0x74,0x68,0x00,0x00,0x00,
+/* 0x00003B10: */ 0xFC,0x3A,0x00,0x00,0x00,0x8C,0x00,0x00,0x15,0x54,0x41,0x53,0x4B,0x2D,0x53,0x41,
+/* 0x00003B20: */ 0x56,0x45,0x5F,0x44,0x49,0x43,0x5F,0x41,0x53,0x5F,0x44,0x41,0x54,0x41,0x00,0x00,
+/* 0x00003B30: */ 0x18,0x3B,0x00,0x00,0x10,0x8C,0x00,0x00,0x10,0x53,0x44,0x41,0x44,0x5F,0x4E,0x41,
+/* 0x00003B40: */ 0x4D,0x45,0x53,0x5F,0x45,0x58,0x54,0x52,0x41,0x00,0x00,0x00,0x38,0x3B,0x00,0x00,
+/* 0x00003B50: */ 0x20,0x8C,0x00,0x00,0x0F,0x53,0x44,0x41,0x44,0x5F,0x43,0x4F,0x44,0x45,0x5F,0x45,
+/* 0x00003B60: */ 0x58,0x54,0x52,0x41,0x54,0x3B,0x00,0x00,0x30,0x8C,0x00,0x00,0x10,0x53,0x44,0x41,
+/* 0x00003B70: */ 0x44,0x5F,0x42,0x55,0x46,0x46,0x45,0x52,0x5F,0x53,0x49,0x5A,0x45,0x00,0x00,0x00,
+/* 0x00003B80: */ 0x6C,0x3B,0x00,0x00,0x40,0x8C,0x00,0x00,0x0B,0x53,0x44,0x41,0x44,0x2D,0x42,0x55,
+/* 0x00003B90: */ 0x46,0x46,0x45,0x52,0x88,0x3B,0x00,0x00,0x4C,0x8D,0x00,0x00,0x11,0x53,0x44,0x41,
+/* 0x00003BA0: */ 0x44,0x2D,0x42,0x55,0x46,0x46,0x45,0x52,0x2D,0x49,0x4E,0x44,0x45,0x58,0x00,0x00,
+/* 0x00003BB0: */ 0x9C,0x3B,0x00,0x00,0x5C,0x8D,0x00,0x00,0x0F,0x53,0x44,0x41,0x44,0x2D,0x42,0x55,
+/* 0x00003BC0: */ 0x46,0x46,0x45,0x52,0x2D,0x46,0x49,0x44,0xB8,0x3B,0x00,0x00,0x6C,0x8D,0x00,0x00,
+/* 0x00003BD0: */ 0x0A,0x53,0x44,0x41,0x44,0x2E,0x46,0x4C,0x55,0x53,0x48,0x00,0xD0,0x3B,0x00,0x00,
+/* 0x00003BE0: */ 0x98,0x8D,0x00,0x00,0x09,0x53,0x44,0x41,0x44,0x2E,0x45,0x4D,0x49,0x54,0x00,0x00,
+/* 0x00003BF0: */ 0xE4,0x3B,0x00,0x00,0xF8,0x8D,0x00,0x00,0x09,0x53,0x44,0x41,0x44,0x2E,0x54,0x59,
+/* 0x00003C00: */ 0x50,0x45,0x00,0x00,0xF8,0x3B,0x00,0x00,0x24,0x8E,0x00,0x00,0x0A,0x24,0x53,0x44,
+/* 0x00003C10: */ 0x41,0x44,0x2E,0x4C,0x49,0x4E,0x45,0x00,0x0C,0x3C,0x00,0x00,0x38,0x8E,0x00,0x00,
+/* 0x00003C20: */ 0x05,0x28,0x55,0x38,0x2E,0x29,0x00,0x00,0x20,0x3C,0x00,0x00,0x6C,0x8E,0x00,0x00,
+/* 0x00003C30: */ 0x05,0x28,0x55,0x32,0x2E,0x29,0x00,0x00,0x30,0x3C,0x00,0x00,0x88,0x8E,0x00,0x00,
+/* 0x00003C40: */ 0x0A,0x53,0x44,0x41,0x44,0x2E,0x43,0x4C,0x4F,0x53,0x45,0x00,0x40,0x3C,0x00,0x00,
+/* 0x00003C50: */ 0xD8,0x8E,0x00,0x00,0x09,0x53,0x44,0x41,0x44,0x2E,0x4F,0x50,0x45,0x4E,0x00,0x00,
+/* 0x00003C60: */ 0x54,0x3C,0x00,0x00,0x4C,0x8F,0x00,0x00,0x0D,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,
+/* 0x00003C70: */ 0x4D,0x50,0x2E,0x48,0x45,0x58,0x00,0x00,0x68,0x3C,0x00,0x00,0x94,0x8F,0x00,0x00,
+/* 0x00003C80: */ 0x0E,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,0x4D,0x50,0x2E,0x48,0x45,0x58,0x2C,0x00,
+/* 0x00003C90: */ 0x80,0x3C,0x00,0x00,0xB4,0x8F,0x00,0x00,0x12,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,
+/* 0x00003CA0: */ 0x4D,0x50,0x2E,0x48,0x45,0x58,0x2E,0x42,0x59,0x54,0x45,0x00,0x98,0x3C,0x00,0x00,
+/* 0x00003CB0: */ 0xFC,0x8F,0x00,0x00,0x13,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,0x4D,0x50,0x2E,0x48,
+/* 0x00003CC0: */ 0x45,0x58,0x2E,0x42,0x59,0x54,0x45,0x2C,0xB4,0x3C,0x00,0x00,0x10,0x90,0x00,0x00,
+/* 0x00003CD0: */ 0x0E,0x53,0x44,0x41,0x44,0x2E,0x44,0x55,0x4D,0x50,0x2E,0x44,0x41,0x54,0x41,0x00,
+/* 0x00003CE0: */ 0xD0,0x3C,0x00,0x00,0x54,0x91,0x00,0x00,0x0B,0x53,0x44,0x41,0x44,0x2E,0x44,0x45,
+/* 0x00003CF0: */ 0x46,0x49,0x4E,0x45,0xE8,0x3C,0x00,0x00,0xA8,0x91,0x00,0x00,0x11,0x49,0x53,0x2E,
+/* 0x00003D00: */ 0x4C,0x49,0x54,0x54,0x4C,0x45,0x2E,0x45,0x4E,0x44,0x49,0x41,0x4E,0x3F,0x00,0x00,
+/* 0x00003D10: */ 0xFC,0x3C,0x00,0x00,0xC4,0x91,0x00,0x00,0x04,0x53,0x44,0x41,0x44,0x00,0x00,0x00,
+/* 0x00003D20: */ 0x18,0x3D,0x00,0x00,0xBC,0x93,0x00,0x00,0x09,0x41,0x55,0x54,0x4F,0x2E,0x49,0x4E,
+/* 0x00003D30: */ 0x49,0x54,0x00,0x00,0x28,0x3D,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00003D40: */ 0x3B,0x00,0x00,0x00,0x3C,0x3D,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00003D50: */ 0x3B,0x00,0x00,0x00,0x4C,0x3D,0x00,0x00,0xE4,0x93,0x00,0x00,0x04,0x3B,0x3B,0x3B,
+/* 0x00003D60: */ 0x3B,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,
+};
+static const uint8 MinDicCode[] = {
+/* 0x00000000: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000010: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000020: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000030: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000040: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000050: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000060: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000070: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000080: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000090: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000000A0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000000B0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000000C0: */ 0x2D,0x00,0x00,0x00,0x1C,0x8A,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,
+/* 0x000000D0: */ 0x3D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0xD8,0x1B,0x00,0x00,
+/* 0x000000E0: */ 0x00,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000000F0: */ 0x17,0x00,0x00,0x00,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0x00,0x17,0x00,0x00,0x00,
+/* 0x00000100: */ 0x01,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,
+/* 0x00000110: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x40,0x00,0x00,0x00,
+/* 0x00000120: */ 0x00,0x00,0x00,0x00,0x0C,0x01,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00000130: */ 0x18,0x01,0x00,0x00,0x7A,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x00000140: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x00000150: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x00000160: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00000170: */ 0x9C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000180: */ 0xFF,0xFF,0xFF,0xFF,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000190: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000001A0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000001B0: */ 0xA4,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x000001C0: */ 0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000001D0: */ 0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000001E0: */ 0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000001F0: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000200: */ 0x02,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00000210: */ 0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00000220: */ 0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000230: */ 0x9C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00000240: */ 0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00000250: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xBB,0x00,0x00,0x00,
+/* 0x00000260: */ 0x00,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000270: */ 0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000280: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000290: */ 0x09,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x01,0x00,0x00,
+/* 0x000002A0: */ 0x59,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x000002B0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x000002C0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x000002D0: */ 0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000002E0: */ 0x10,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000002F0: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00000300: */ 0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00000310: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00000320: */ 0x02,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00000330: */ 0x7B,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00000340: */ 0x20,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00000350: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00000360: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00000370: */ 0xB2,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000380: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00000390: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000003A0: */ 0x59,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000003B0: */ 0xA9,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x94,0x03,0x00,0x00,0xA9,0x00,0x00,0x00,
+/* 0x000003C0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x000003D0: */ 0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000003E0: */ 0x01,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000003F0: */ 0xA9,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x7C,0x03,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000400: */ 0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xBA,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000410: */ 0x02,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000420: */ 0xB0,0x03,0x00,0x00,0x51,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x00000430: */ 0xC8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00000440: */ 0x59,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00000450: */ 0x7D,0x00,0x00,0x00,0x94,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xAB,0x00,0x00,0x00,
+/* 0x00000460: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00000470: */ 0x00,0x00,0x00,0x00,0xAC,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000480: */ 0xA7,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x04,0x00,0x00,
+/* 0x00000490: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x04,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000004A0: */ 0x00,0x00,0x00,0x00,0x68,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000004B0: */ 0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000004C0: */ 0x98,0x04,0x00,0x00,0x14,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000004D0: */ 0x14,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xA4,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000004E0: */ 0x68,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x04,0x00,0x00,
+/* 0x000004F0: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000500: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000510: */ 0xA0,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x00000520: */ 0x59,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x08,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000530: */ 0xA0,0x00,0x00,0x00,0x1C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0xB0,0x03,0x00,0x00,
+/* 0x00000540: */ 0x51,0x00,0x00,0x00,0xA4,0x04,0x00,0x00,0x68,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000550: */ 0x59,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000560: */ 0xF2,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xEA,0xFF,0xFF,0xFF,
+/* 0x00000570: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFE,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x00000580: */ 0x50,0x05,0x00,0x00,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000590: */ 0x51,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x05,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000005A0: */ 0x68,0x05,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,
+/* 0x000005B0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000005C0: */ 0x51,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000005D0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000005E0: */ 0x51,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000005F0: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x5C,0x05,0x00,0x00,
+/* 0x00000600: */ 0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x68,0x05,0x00,0x00,
+/* 0x00000610: */ 0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x05,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000620: */ 0xBC,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x8C,0x05,0x00,0x00,0xAC,0x05,0x00,0x00,
+/* 0x00000630: */ 0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x98,0x05,0x00,0x00,0xC0,0x05,0x00,0x00,
+/* 0x00000640: */ 0x00,0x00,0x00,0x00,0xF0,0x05,0x00,0x00,0x8C,0x05,0x00,0x00,0xD8,0x05,0x00,0x00,
+/* 0x00000650: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x00000660: */ 0x9C,0x00,0x00,0x00,0x98,0x05,0x00,0x00,0xE0,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000670: */ 0x59,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00000680: */ 0x98,0x05,0x00,0x00,0xE0,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000690: */ 0x15,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x8C,0x05,0x00,0x00,0xAC,0x05,0x00,0x00,
+/* 0x000006A0: */ 0x00,0x00,0x00,0x00,0x8C,0x06,0x00,0x00,0x09,0x00,0x00,0x00,0x34,0x06,0x00,0x00,
+/* 0x000006B0: */ 0x00,0x00,0x00,0x00,0x18,0x06,0x00,0x00,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000006C0: */ 0x54,0x06,0x00,0x00,0x34,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x05,0x00,0x00,
+/* 0x000006D0: */ 0xA0,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x01,0x00,0x00,
+/* 0x000006E0: */ 0x77,0x00,0x00,0x00,0x98,0x04,0x00,0x00,0xA4,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000006F0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000700: */ 0x58,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0xBC,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000710: */ 0xDC,0x06,0x00,0x00,0x08,0x05,0x00,0x00,0xA2,0x00,0x00,0x00,0x92,0x00,0x00,0x00,
+/* 0x00000720: */ 0x8E,0x00,0x00,0x00,0x3C,0x05,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00000730: */ 0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000740: */ 0x20,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000750: */ 0x00,0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000760: */ 0x20,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x20,0x04,0x00,0x00,
+/* 0x00000770: */ 0x59,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000780: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,
+/* 0x00000790: */ 0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,
+/* 0x000007A0: */ 0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0x9C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000007B0: */ 0x9B,0x00,0x00,0x00,0xB0,0x01,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000007C0: */ 0x35,0x00,0x00,0x00,0xB0,0x01,0x00,0x00,0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000007D0: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x000007E0: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000007F0: */ 0x35,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00000800: */ 0x80,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00000810: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00000820: */ 0x0C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000830: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x08,0x08,0x00,0x00,
+/* 0x00000840: */ 0x8E,0x00,0x00,0x00,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x08,0x00,0x00,
+/* 0x00000850: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00000860: */ 0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00000870: */ 0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x08,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00000880: */ 0x59,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00000890: */ 0x9C,0x00,0x00,0x00,0x58,0x08,0x00,0x00,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000008A0: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000008B0: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
+/* 0x000008C0: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000008D0: */ 0x35,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xE0,0x04,0x00,0x00,
+/* 0x000008E0: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x000008F0: */ 0xEC,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xD0,0x08,0x00,0x00,
+/* 0x00000900: */ 0x8E,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00000910: */ 0xE4,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0x08,0x00,0x00,0x20,0x04,0x00,0x00,
+/* 0x00000920: */ 0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00000930: */ 0xC8,0x01,0x00,0x00,0x20,0x04,0x00,0x00,0x35,0x00,0x00,0x00,0x20,0x04,0x00,0x00,
+/* 0x00000940: */ 0xC8,0x01,0x00,0x00,0xB0,0x01,0x00,0x00,0xC8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000950: */ 0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xB0,0x01,0x00,0x00,
+/* 0x00000960: */ 0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00000970: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x01,0x00,0x00,
+/* 0x00000980: */ 0x03,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00000990: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000009A0: */ 0xBC,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000009B0: */ 0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000009C0: */ 0x9C,0x00,0x00,0x00,0xC8,0x01,0x00,0x00,0x75,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000009D0: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000009E0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000009F0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000A00: */ 0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x5C,0x66,0x56,0x00,
+/* 0x00000A10: */ 0x03,0x00,0x00,0x00,0x58,0x66,0x56,0x00,0x05,0x00,0x00,0x00,0xA0,0x14,0x56,0x00,
+/* 0x00000A20: */ 0x05,0x00,0x00,0x00,0xE4,0x14,0x56,0x00,0x04,0x00,0x00,0x00,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000A30: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000A40: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000A50: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000A60: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000A70: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000A80: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00000A90: */ 0xF8,0x09,0x00,0x00,0x50,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x09,0x00,0x00,
+/* 0x00000AA0: */ 0x74,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x09,0x00,0x00,0x98,0x09,0x00,0x00,
+/* 0x00000AB0: */ 0x00,0x00,0x00,0x00,0xF8,0x09,0x00,0x00,0xE4,0x09,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000AC0: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00000AD0: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
+/* 0x00000AE0: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,
+/* 0x00000AF0: */ 0xF0,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x00000B00: */ 0x51,0x00,0x00,0x00,0x90,0x0A,0x00,0x00,0xC0,0x0A,0x00,0x00,0x90,0x0A,0x00,0x00,
+/* 0x00000B10: */ 0x00,0x00,0x00,0x00,0xF0,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00000B20: */ 0x08,0x05,0x00,0x00,0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000B30: */ 0x20,0x04,0x00,0x00,0x51,0x00,0x00,0x00,0x90,0x0A,0x00,0x00,0xC0,0x0A,0x00,0x00,
+/* 0x00000B40: */ 0x90,0x0A,0x00,0x00,0x90,0x0A,0x00,0x00,0xE0,0x0A,0x00,0x00,0x90,0x0A,0x00,0x00,
+/* 0x00000B50: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x00000B60: */ 0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x04,0x00,0x00,
+/* 0x00000B70: */ 0x90,0x0A,0x00,0x00,0xD0,0x0A,0x00,0x00,0x90,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000B80: */ 0xA8,0x0A,0x00,0x00,0xD0,0x0A,0x00,0x00,0x1E,0x00,0x00,0x00,0xA8,0x0A,0x00,0x00,
+/* 0x00000B90: */ 0xE0,0x0A,0x00,0x00,0x1E,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00000BA0: */ 0x64,0x00,0x00,0x00,0x9C,0x0A,0x00,0x00,0xD0,0x0A,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00000BB0: */ 0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x9C,0x0A,0x00,0x00,0x51,0x00,0x00,0x00,
+/* 0x00000BC0: */ 0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xB0,0x01,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00000BD0: */ 0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x9C,0x0A,0x00,0x00,
+/* 0x00000BE0: */ 0x35,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000BF0: */ 0xB0,0x01,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00000C00: */ 0x80,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x9C,0x0A,0x00,0x00,0xC0,0x0A,0x00,0x00,
+/* 0x00000C10: */ 0x08,0x06,0x00,0x00,0x9C,0x0A,0x00,0x00,0x51,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000C20: */ 0x51,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,0xC8,0x03,0x00,0x00,
+/* 0x00000C30: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x00000C40: */ 0x80,0x0B,0x00,0x00,0x08,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000C50: */ 0x7E,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x80,0x0B,0x00,0x00,0x08,0x0C,0x00,0x00,
+/* 0x00000C60: */ 0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,
+/* 0x00000C70: */ 0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x01,0x00,0x00,0x77,0x00,0x00,0x00,
+/* 0x00000C80: */ 0x08,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,0xCC,0x00,0x00,0x00,
+/* 0x00000C90: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x74,0x00,0x00,0x00,
+/* 0x00000CA0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000CB0: */ 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x88,0x0C,0x00,0x00,
+/* 0x00000CC0: */ 0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,
+/* 0x00000CD0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00000CE0: */ 0x33,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x00000CF0: */ 0xAF,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00000D00: */ 0x08,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x04,0x00,0x00,
+/* 0x00000D10: */ 0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x98,0x04,0x00,0x00,
+/* 0x00000D20: */ 0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x74,0x05,0x00,0x00,0x3F,0x00,0x00,0x00,
+/* 0x00000D30: */ 0x00,0x00,0x00,0x00,0x98,0x04,0x00,0x00,0xA4,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00000D40: */ 0x00,0x00,0x00,0x00,0x34,0x0D,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000D50: */ 0xA0,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x0C,0x0D,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00000D60: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x00000D70: */ 0x59,0x00,0x00,0x00,0x44,0x0D,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00000D80: */ 0x08,0x00,0x00,0x00,0x44,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x0D,0x00,0x00,
+/* 0x00000D90: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000DA0: */ 0x0C,0x0D,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00000DB0: */ 0x1C,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x8C,0x0D,0x00,0x00,
+/* 0x00000DC0: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x8C,0x0D,0x00,0x00,
+/* 0x00000DD0: */ 0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+/* 0x00000DE0: */ 0x7B,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xE4,0x01,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000DF0: */ 0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00000E00: */ 0x19,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000E10: */ 0xA2,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0x30,0x02,0x00,0x00,0xB3,0x00,0x00,0x00,
+/* 0x00000E20: */ 0x41,0x00,0x00,0x00,0xD4,0x0D,0x00,0x00,0x8D,0x00,0x00,0x00,0x93,0x00,0x00,0x00,
+/* 0x00000E30: */ 0x7B,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x91,0x00,0x00,0x00,
+/* 0x00000E40: */ 0xA2,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+/* 0x00000E50: */ 0x8E,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00000E60: */ 0x75,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000E70: */ 0xA2,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00000E80: */ 0xD4,0x0D,0x00,0x00,0x7B,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00000E90: */ 0x91,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000EA0: */ 0x35,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00000EB0: */ 0xB3,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0x00,
+/* 0x00000EC0: */ 0x51,0x00,0x00,0x00,0xF4,0x0D,0x00,0x00,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000ED0: */ 0xC0,0x08,0x00,0x00,0x70,0x0E,0x00,0x00,0x33,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00000EE0: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00000EF0: */ 0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,0x70,0x0E,0x00,0x00,
+/* 0x00000F00: */ 0x33,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0E,0x00,0x00,
+/* 0x00000F10: */ 0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00000F20: */ 0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00000F30: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00000F40: */ 0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x68,0x01,0x00,0x00,
+/* 0x00000F50: */ 0x7D,0x00,0x00,0x00,0x94,0x03,0x00,0x00,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000F60: */ 0x8E,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0x03,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00000F70: */ 0x94,0x03,0x00,0x00,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00000F80: */ 0x68,0x01,0x00,0x00,0x03,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x94,0x03,0x00,0x00,
+/* 0x00000F90: */ 0xA2,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x02,0x00,0x00,
+/* 0x00000FA0: */ 0x24,0x0F,0x00,0x00,0xF4,0x0D,0x00,0x00,0x02,0x00,0x00,0x00,0xC8,0x03,0x00,0x00,
+/* 0x00000FB0: */ 0xB0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x22,0x00,0x00,0x00,
+/* 0x00000FC0: */ 0x70,0x0E,0x00,0x00,0x9C,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00000FD0: */ 0x29,0x00,0x00,0x00,0x70,0x0E,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00000FE0: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00000FF0: */ 0x59,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x08,0x05,0x00,0x00,0xB8,0x0F,0x00,0x00,
+/* 0x00001000: */ 0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x22,0x00,0x00,0x00,
+/* 0x00001010: */ 0x70,0x0E,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00001020: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001030: */ 0x7C,0x0F,0x00,0x00,0x08,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x27,0x00,0x00,0x00,
+/* 0x00001040: */ 0x70,0x0E,0x00,0x00,0x9C,0x0F,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00001050: */ 0x59,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0x70,0x0E,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00001060: */ 0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001070: */ 0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x00001080: */ 0xB8,0x0F,0x00,0x00,0x15,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001090: */ 0x22,0x00,0x00,0x00,0x70,0x0E,0x00,0x00,0x04,0x03,0x00,0x00,0xF4,0x0D,0x00,0x00,
+/* 0x000010A0: */ 0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000010B0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x60,0x0F,0x00,0x00,
+/* 0x000010C0: */ 0x08,0x05,0x00,0x00,0xB8,0x0F,0x00,0x00,0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000010D0: */ 0x59,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x70,0x0E,0x00,0x00,0x04,0x03,0x00,0x00,
+/* 0x000010E0: */ 0xF4,0x0D,0x00,0x00,0x04,0x03,0x00,0x00,0x68,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000010F0: */ 0x64,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001100: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00001110: */ 0x59,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x08,0x05,0x00,0x00,0xC0,0x08,0x00,0x00,
+/* 0x00001120: */ 0x10,0x0E,0x00,0x00,0x9C,0x0F,0x00,0x00,0x15,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00001130: */ 0xC0,0x08,0x00,0x00,0x10,0x0E,0x00,0x00,0x04,0x03,0x00,0x00,0xF4,0x0D,0x00,0x00,
+/* 0x00001140: */ 0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x60,0x0F,0x00,0x00,
+/* 0x00001150: */ 0x08,0x05,0x00,0x00,0x9C,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00001160: */ 0xA2,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x68,0x01,0x00,0x00,
+/* 0x00001170: */ 0x7D,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00001180: */ 0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00001190: */ 0x9C,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,
+/* 0x000011A0: */ 0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x000011B0: */ 0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x18,0x50,0x6F,0x73,
+/* 0x000011C0: */ 0x74,0x70,0x6F,0x6E,0x65,0x20,0x63,0x6F,0x75,0x6C,0x64,0x20,0x6E,0x6F,0x74,0x20,
+/* 0x000011D0: */ 0x66,0x69,0x6E,0x64,0x20,0x5A,0x5A,0x5A,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x000011E0: */ 0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000011F0: */ 0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x00001200: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x1C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001210: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001220: */ 0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x44,0x0F,0x00,0x00,0x04,0x3A,0x3A,0x3A,
+/* 0x00001230: */ 0x3A,0x5A,0x5A,0x5A,0x04,0x03,0x00,0x00,0x18,0x03,0x00,0x00,0x68,0x01,0x00,0x00,
+/* 0x00001240: */ 0x04,0x03,0x00,0x00,0x5C,0x11,0x00,0x00,0x04,0x03,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001250: */ 0x78,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x00001260: */ 0x04,0x3B,0x3B,0x3B,0x3B,0x5A,0x5A,0x5A,0x59,0x00,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00001270: */ 0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x12,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00001280: */ 0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xF0,0x0C,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00001290: */ 0x08,0x49,0x6E,0x63,0x6C,0x75,0x64,0x65,0x20,0x5A,0x5A,0x5A,0x35,0x00,0x00,0x00,
+/* 0x000012A0: */ 0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x51,0x00,0x00,0x00,
+/* 0x000012B0: */ 0xA2,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0x48,0x00,0x00,0x00,
+/* 0x000012C0: */ 0x44,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000012D0: */ 0x7C,0x0F,0x00,0x00,0x14,0x43,0x6F,0x75,0x6C,0x64,0x20,0x6E,0x6F,0x74,0x20,0x66,
+/* 0x000012E0: */ 0x69,0x6E,0x64,0x20,0x66,0x69,0x6C,0x65,0x20,0x5A,0x5A,0x5A,0x18,0x0F,0x00,0x00,
+/* 0x000012F0: */ 0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,
+/* 0x00001300: */ 0x9C,0x00,0x00,0x00,0x28,0x12,0x00,0x00,0x35,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00001310: */ 0x2E,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,
+/* 0x00001320: */ 0x02,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001330: */ 0x48,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x2C,0x57,0x61,0x72,0x6E,0x69,0x6E,0x67,
+/* 0x00001340: */ 0x3A,0x20,0x73,0x74,0x61,0x63,0x6B,0x20,0x64,0x65,0x70,0x74,0x68,0x20,0x63,0x68,
+/* 0x00001350: */ 0x61,0x6E,0x67,0x65,0x64,0x20,0x64,0x75,0x72,0x69,0x6E,0x67,0x20,0x69,0x6E,0x63,
+/* 0x00001360: */ 0x6C,0x75,0x64,0x65,0x21,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,0x31,0x00,0x00,0x00,
+/* 0x00001370: */ 0x28,0x00,0x00,0x00,0xCC,0x0C,0x00,0x00,0x8E,0x00,0x00,0x00,0x42,0x00,0x00,0x00,
+/* 0x00001380: */ 0x33,0x00,0x00,0x00,0x5C,0x12,0x00,0x00,0x18,0x12,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00001390: */ 0xBC,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x12,0x20,0x20,0x20,
+/* 0x000013A0: */ 0x20,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x20,0x61,0x64,0x64,0x65,0x64,0x20,0x5A,
+/* 0x000013B0: */ 0x51,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
+/* 0x000013C0: */ 0x7C,0x0F,0x00,0x00,0x06,0x62,0x79,0x74,0x65,0x73,0x2C,0x5A,0x80,0x04,0x00,0x00,
+/* 0x000013D0: */ 0x51,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x000013E0: */ 0x05,0x6C,0x65,0x66,0x74,0x2E,0x5A,0x5A,0x28,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,
+/* 0x000013F0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001400: */ 0x0C,0x73,0x61,0x76,0x65,0x64,0x69,0x63,0x64,0x2E,0x66,0x74,0x68,0x5A,0x5A,0x5A,
+/* 0x00001410: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001420: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001430: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001440: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001450: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001460: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001470: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00001480: */ 0xC0,0x08,0x00,0x00,0xBC,0x0E,0x00,0x00,0x35,0x00,0x00,0x00,0xF4,0x13,0x00,0x00,
+/* 0x00001490: */ 0x18,0x03,0x00,0x00,0x78,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x13,0x00,0x00,
+/* 0x000014A0: */ 0x78,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x000014B0: */ 0x4D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000014C0: */ 0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000014D0: */ 0x0C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x80,0x14,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000014E0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xD4,0x01,0x00,
+/* 0x000014F0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x93,0x04,0x00,
+/* 0x00001500: */ 0x10,0x12,0x00,0x00,0x80,0x04,0x00,0x00,0x68,0x04,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00001510: */ 0xF0,0x14,0x00,0x00,0x9B,0x00,0x00,0x00,0x74,0x04,0x00,0x00,0x5C,0x04,0x00,0x00,
+/* 0x00001520: */ 0x75,0x00,0x00,0x00,0xE0,0x14,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001530: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAD,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00001540: */ 0x5C,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x01,0x00,
+/* 0x00001550: */ 0x7D,0x00,0x00,0x00,0xE0,0x14,0x00,0x00,0x41,0x00,0x00,0x00,0x73,0x00,0x00,0x00,
+/* 0x00001560: */ 0x51,0x00,0x00,0x00,0x68,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001570: */ 0x00,0x00,0x02,0x00,0x7D,0x00,0x00,0x00,0xF0,0x14,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00001580: */ 0x73,0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00001590: */ 0x7C,0x0F,0x00,0x00,0x12,0x53,0x41,0x56,0x45,0x2D,0x46,0x4F,0x52,0x54,0x48,0x20,
+/* 0x000015A0: */ 0x66,0x61,0x69,0x6C,0x65,0x64,0x21,0x5A,0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,
+/* 0x000015B0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x51,0x00,0x00,0x00,
+/* 0x000015C0: */ 0x68,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x02,0x00,
+/* 0x000015D0: */ 0x7D,0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000015E0: */ 0x7C,0x0F,0x00,0x00,0x0F,0x54,0x55,0x52,0x4E,0x4B,0x45,0x59,0x20,0x66,0x61,0x69,
+/* 0x000015F0: */ 0x6C,0x65,0x64,0x21,0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001600: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE8,0x93,0x00,0x00,
+/* 0x00001610: */ 0x51,0x00,0x00,0x00,0x00,0x16,0x00,0x00,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001620: */ 0x35,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x98,0x04,0x00,0x00,0xA9,0x00,0x00,0x00,
+/* 0x00001630: */ 0x9B,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,
+/* 0x00001640: */ 0x9B,0x00,0x00,0x00,0x38,0x04,0x00,0x00,0xAD,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00001650: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x98,0x04,0x00,0x00,
+/* 0x00001660: */ 0x00,0x16,0x00,0x00,0x0C,0x09,0x00,0x00,0x23,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001670: */ 0x38,0x00,0x00,0x00,0xF0,0x0C,0x00,0x00,0x35,0x00,0x00,0x00,0x9C,0x02,0x00,0x00,
+/* 0x00001680: */ 0x7C,0x0F,0x00,0x00,0x11,0x20,0x69,0x73,0x20,0x62,0x65,0x6C,0x6F,0x77,0x20,0x66,
+/* 0x00001690: */ 0x65,0x6E,0x63,0x65,0x21,0x21,0x5A,0x5A,0x28,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000016A0: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x20,0x16,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000016B0: */ 0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,0x4E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000016C0: */ 0x10,0x00,0x00,0x00,0x54,0x16,0x00,0x00,0x15,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
+/* 0x000016D0: */ 0x7C,0x0F,0x00,0x00,0x17,0x46,0x4F,0x52,0x47,0x45,0x54,0x20,0x2D,0x20,0x63,0x6F,
+/* 0x000016E0: */ 0x75,0x6C,0x64,0x6E,0x27,0x74,0x20,0x66,0x69,0x6E,0x64,0x20,0x68,0x01,0x00,0x00,
+/* 0x000016F0: */ 0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001700: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB4,0x93,0x00,0x00,
+/* 0x00001710: */ 0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001720: */ 0x28,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x00,0x17,0x00,0x00,0x0C,0x09,0x00,0x00,
+/* 0x00001730: */ 0x18,0x09,0x00,0x00,0x00,0x17,0x00,0x00,0xF8,0x08,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x00001740: */ 0x15,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x1D,0x49,0x46,0x2E,
+/* 0x00001750: */ 0x46,0x4F,0x52,0x47,0x4F,0x54,0x54,0x45,0x4E,0x20,0x2D,0x20,0x63,0x6F,0x75,0x6C,
+/* 0x00001760: */ 0x64,0x6E,0x27,0x74,0x20,0x66,0x69,0x6E,0x64,0x20,0x5A,0x5A,0x35,0x00,0x00,0x00,
+/* 0x00001770: */ 0x59,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00001780: */ 0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,
+/* 0x00001790: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xB0,0x16,0x00,0x00,
+/* 0x000017A0: */ 0x00,0x17,0x00,0x00,0x0C,0x09,0x00,0x00,0x35,0x00,0x00,0x00,0x27,0x00,0x00,0x00,
+/* 0x000017B0: */ 0xBC,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x51,0x00,0x00,0x00,
+/* 0x000017C0: */ 0x22,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000017D0: */ 0xB0,0x01,0x00,0x00,0xF8,0x04,0x00,0x00,0x40,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x000017E0: */ 0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x00,0x17,0x00,0x00,
+/* 0x000017F0: */ 0xF8,0x08,0x00,0x00,0xB0,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00001800: */ 0xB0,0x08,0x00,0x00,0xBC,0x00,0x00,0x00,0x9C,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,
+/* 0x00001810: */ 0x00,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x08,0x5B,0x46,0x4F,0x52,0x47,0x45,0x54,
+/* 0x00001820: */ 0x5D,0x5A,0x5A,0x5A,0x4D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00001830: */ 0x40,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00001840: */ 0x17,0x46,0x4F,0x52,0x47,0x45,0x54,0x20,0x2D,0x20,0x63,0x6F,0x75,0x6C,0x64,0x6E,
+/* 0x00001850: */ 0x27,0x74,0x20,0x66,0x69,0x6E,0x64,0x20,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00001860: */ 0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,
+/* 0x00001870: */ 0x41,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,
+/* 0x00001880: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,
+/* 0x00001890: */ 0x9B,0x00,0x00,0x00,0x14,0x18,0x00,0x00,0x33,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,
+/* 0x000018A0: */ 0x9B,0x00,0x00,0x00,0x34,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x000018B0: */ 0x0C,0x01,0x00,0x00,0x5C,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x20,0x04,0x00,0x00,
+/* 0x000018C0: */ 0x59,0x00,0x00,0x00,0xD0,0x18,0x00,0x00,0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000018D0: */ 0x41,0x00,0x00,0x00,0x5C,0x04,0x00,0x00,0x7D,0x00,0x00,0x00,0x54,0x16,0x00,0x00,
+/* 0x000018E0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000018F0: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001900: */ 0x61,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001910: */ 0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00001920: */ 0x59,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001930: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00001940: */ 0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001950: */ 0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x39,0x00,0x00,0x00,
+/* 0x00001960: */ 0x7D,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00001970: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x39,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00001980: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001990: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000019A0: */ 0x35,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000019B0: */ 0x38,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x25,0x00,0x00,0x00,
+/* 0x000019C0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x24,0x02,0x00,0x00,0xB0,0x08,0x00,0x00,
+/* 0x000019D0: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x000019E0: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x000019F0: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x25,0x00,0x00,0x00,
+/* 0x00001A00: */ 0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00001A10: */ 0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xF4,0x18,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001A20: */ 0x10,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,
+/* 0x00001A30: */ 0x33,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00001A40: */ 0xA0,0x08,0x00,0x00,0xBC,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00001A50: */ 0xA2,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00001A60: */ 0x3B,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x00001A70: */ 0x41,0x00,0x00,0x00,0x3B,0x00,0x00,0x00,0x39,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00001A80: */ 0x02,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00001A90: */ 0x15,0x00,0x00,0x00,0x64,0xFF,0xFF,0xFF,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001AA0: */ 0x59,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0xF4,0x19,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00001AB0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001AC0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001AD0: */ 0x01,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001AE0: */ 0x02,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001AF0: */ 0x10,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xB4,0x1A,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001B00: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001B10: */ 0x09,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001B20: */ 0x2D,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00001B30: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00001B40: */ 0x02,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0xF4,0x19,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001B50: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x18,0x02,0x00,0x00,
+/* 0x00001B60: */ 0x33,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00001B70: */ 0x6C,0x02,0x00,0x00,0xC4,0x1A,0x00,0x00,0x15,0x00,0x00,0x00,0x54,0x00,0x00,0x00,
+/* 0x00001B80: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00001B90: */ 0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00001BA0: */ 0x11,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,
+/* 0x00001BB0: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x80,0x02,0x00,0x00,0xD4,0x1A,0x00,0x00,
+/* 0x00001BC0: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x18,0x02,0x00,0x00,0xB4,0x1A,0x00,0x00,
+/* 0x00001BD0: */ 0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xE4,0x1A,0x00,0x00,
+/* 0x00001BE0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001BF0: */ 0xD0,0x69,0x56,0x00,0x88,0x07,0x00,0x00,0xE4,0x1B,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00001C00: */ 0xE4,0x1B,0x00,0x00,0x41,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001C10: */ 0x04,0x03,0x00,0x00,0xE4,0x1B,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001C20: */ 0x18,0x02,0x00,0x00,0xE4,0x1B,0x00,0x00,0x41,0x00,0x00,0x00,0x04,0x03,0x00,0x00,
+/* 0x00001C30: */ 0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00001C40: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,
+/* 0x00001C50: */ 0xF4,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00001C60: */ 0x38,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x09,0x00,0x00,0x00,
+/* 0x00001C70: */ 0x7B,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00001C80: */ 0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001C90: */ 0x30,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xF4,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001CA0: */ 0x58,0x1C,0x00,0x00,0x03,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00001CB0: */ 0xBC,0x00,0x00,0x00,0xEC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x10,0x1C,0x00,0x00,
+/* 0x00001CC0: */ 0xA0,0x1C,0x00,0x00,0x20,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0xBC,0x1C,0x00,0x00,
+/* 0x00001CD0: */ 0xA3,0x00,0x00,0x00,0x88,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00001CE0: */ 0xBC,0x1C,0x00,0x00,0x8E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00001CF0: */ 0x94,0x0C,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x02,0x00,0x00,
+/* 0x00001D00: */ 0xF0,0x07,0x00,0x00,0x10,0x1C,0x00,0x00,0xA0,0x1C,0x00,0x00,0x88,0x00,0x00,0x00,
+/* 0x00001D10: */ 0x3C,0x1C,0x00,0x00,0x20,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x1C,0x00,0x00,
+/* 0x00001D20: */ 0xA3,0x00,0x00,0x00,0x88,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00001D30: */ 0xFC,0x1C,0x00,0x00,0x8E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00001D40: */ 0x94,0x0C,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001D50: */ 0x00,0x00,0x00,0x00,0xBC,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001D60: */ 0x00,0x00,0x00,0x00,0xCC,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00001D70: */ 0x4C,0x1D,0x00,0x00,0x8E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00001D80: */ 0x94,0x0C,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00001D90: */ 0xD8,0x07,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1C,0x00,0x00,
+/* 0x00001DA0: */ 0xA0,0x1C,0x00,0x00,0x88,0x00,0x00,0x00,0x3C,0x1C,0x00,0x00,0x20,0x1C,0x00,0x00,
+/* 0x00001DB0: */ 0x00,0x00,0x00,0x00,0x8C,0x1D,0x00,0x00,0xA3,0x00,0x00,0x00,0x88,0x0C,0x00,0x00,
+/* 0x00001DC0: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x8C,0x1D,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00001DD0: */ 0x7B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x94,0x0C,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00001DE0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001DF0: */ 0x00,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x72,0x00,0x00,0x00,
+/* 0x00001E00: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x72,0x00,0x00,0x00,
+/* 0x00001E10: */ 0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00001E20: */ 0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00001E30: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x10,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00001E40: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001E50: */ 0x14,0x1E,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00001E60: */ 0x14,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00001E70: */ 0x1C,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00001E80: */ 0x80,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00001E90: */ 0x00,0x00,0x00,0x00,0xF0,0x10,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00001EA0: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x68,0x1E,0x00,0x00,
+/* 0x00001EB0: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x68,0x1E,0x00,0x00,
+/* 0x00001EC0: */ 0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x00001ED0: */ 0x56,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00001EE0: */ 0x2E,0x48,0x69,0x74,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x74,0x6F,0x20,0x63,0x6F,
+/* 0x00001EF0: */ 0x6E,0x74,0x69,0x6E,0x75,0x65,0x2C,0x20,0x61,0x6E,0x79,0x20,0x6F,0x74,0x68,0x65,
+/* 0x00001F00: */ 0x72,0x20,0x6B,0x65,0x79,0x20,0x74,0x6F,0x20,0x61,0x62,0x6F,0x72,0x74,0x3A,0x5A,
+/* 0x00001F10: */ 0x56,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,
+/* 0x00001F20: */ 0x1E,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0x44,0x0F,0x00,0x00,0x0A,0x54,0x65,0x72,
+/* 0x00001F30: */ 0x6D,0x69,0x6E,0x61,0x74,0x65,0x64,0x5A,0x68,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00001F40: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,
+/* 0x00001F50: */ 0xAF,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x40,0x1F,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00001F60: */ 0x10,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,
+/* 0x00001F70: */ 0x73,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00001F80: */ 0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00001F90: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00001FA0: */ 0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x88,0x1F,0x00,0x00,
+/* 0x00001FB0: */ 0x00,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xDC,0x02,0x00,0x00,
+/* 0x00001FC0: */ 0x59,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x0E,0x00,0x00,0xD8,0x00,0x00,0x00,
+/* 0x00001FD0: */ 0xC4,0x1A,0x00,0x00,0x1E,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x00001FE0: */ 0x14,0x4E,0x6F,0x74,0x20,0x61,0x20,0x73,0x69,0x6E,0x67,0x6C,0x65,0x20,0x6E,0x75,
+/* 0x00001FF0: */ 0x6D,0x62,0x65,0x72,0x21,0x5A,0x5A,0x5A,0x68,0x1E,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00002000: */ 0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002010: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002020: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00002030: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x37,0x00,0x00,0x00,
+/* 0x00002040: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
+/* 0x00002050: */ 0x7D,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00002060: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,
+/* 0x00002070: */ 0x41,0x00,0x00,0x00,0x5C,0x20,0x00,0x00,0x41,0x00,0x00,0x00,0x4C,0x08,0x00,0x00,
+/* 0x00002080: */ 0x5C,0x20,0x00,0x00,0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00002090: */ 0x94,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000020A0: */ 0x0C,0x01,0x00,0x00,0x35,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000020B0: */ 0x30,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x9C,0x02,0x00,0x00,0x6C,0x20,0x00,0x00,
+/* 0x000020C0: */ 0x50,0x1F,0x00,0x00,0xC4,0x1E,0x00,0x00,0x76,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000020D0: */ 0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xC8,0xFF,0xFF,0xFF,
+/* 0x000020E0: */ 0x33,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x000020F0: */ 0x06,0x20,0x77,0x6F,0x72,0x64,0x73,0x5A,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002100: */ 0x98,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002110: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002120: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002130: */ 0x08,0x21,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002140: */ 0x18,0x21,0x00,0x00,0x9B,0x00,0x00,0x00,0x0C,0x01,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00002150: */ 0x27,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00002160: */ 0x77,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00002170: */ 0xB0,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00002180: */ 0x77,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00002190: */ 0x35,0x00,0x00,0x00,0x08,0x21,0x00,0x00,0x9B,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x000021A0: */ 0x15,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x77,0x00,0x00,0x00,
+/* 0x000021B0: */ 0x18,0x21,0x00,0x00,0x41,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000021C0: */ 0x20,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x08,0x21,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000021D0: */ 0x35,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x18,0x21,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000021E0: */ 0xB0,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x000021F0: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00002200: */ 0x4C,0xFF,0xFF,0xFF,0x18,0x02,0x00,0x00,0x08,0x21,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002210: */ 0x00,0x00,0x00,0x00,0xF8,0x04,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00002220: */ 0x08,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00002230: */ 0x59,0x00,0x00,0x00,0x5B,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00002240: */ 0x34,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x40,0x00,0x00,0x00,
+/* 0x00002250: */ 0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002260: */ 0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00002270: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00002280: */ 0xA2,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0x97,0x00,0x00,0x00,
+/* 0x00002290: */ 0xB3,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000022A0: */ 0x00,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,
+/* 0x000022B0: */ 0x96,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,
+/* 0x000022C0: */ 0x9B,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x98,0x00,0x00,0x00,
+/* 0x000022D0: */ 0x00,0x00,0x00,0x00,0x95,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000022E0: */ 0x84,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0xF4,0xFF,0xFF,0xFF,
+/* 0x000022F0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002300: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002310: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002320: */ 0x00,0x00,0x00,0x00,0xF0,0x05,0x00,0x00,0x14,0x23,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002330: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x23,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00002340: */ 0x04,0x23,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002350: */ 0x04,0x23,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x06,0x00,0x00,
+/* 0x00002360: */ 0x59,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002370: */ 0x01,0x00,0x00,0x00,0x04,0x23,0x00,0x00,0x7F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002380: */ 0x01,0x00,0x00,0x00,0x14,0x23,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002390: */ 0xF0,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x000023A0: */ 0x59,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x5C,0x23,0x00,0x00,
+/* 0x000023B0: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x3C,0x02,0x00,0x00,
+/* 0x000023C0: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x000023D0: */ 0x3C,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,
+/* 0x000023E0: */ 0xA0,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xB4,0x23,0x00,0x00,
+/* 0x000023F0: */ 0x08,0x05,0x00,0x00,0x5C,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0xA4,0x06,0x00,0x00,
+/* 0x00002400: */ 0x88,0x07,0x00,0x00,0x14,0x23,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002410: */ 0x14,0x23,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,
+/* 0x00002420: */ 0xF0,0x0C,0x00,0x00,0x7C,0x0F,0x00,0x00,0x16,0x4D,0x69,0x73,0x73,0x69,0x6E,0x67,
+/* 0x00002430: */ 0x20,0x45,0x4E,0x44,0x4F,0x46,0x20,0x69,0x6E,0x20,0x43,0x41,0x53,0x45,0x21,0x5A,
+/* 0x00002440: */ 0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002450: */ 0x08,0x05,0x00,0x00,0x04,0x23,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002460: */ 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x34,0x06,0x00,0x00,
+/* 0x00002470: */ 0x71,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x04,0x23,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00002480: */ 0x14,0x23,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00002490: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000024A0: */ 0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x000024B0: */ 0x01,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,
+/* 0x000024C0: */ 0x1E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x000024D0: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000024E0: */ 0xCC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000024F0: */ 0x20,0x04,0x00,0x00,0x08,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0x7C,0x03,0x00,0x00,
+/* 0x00002500: */ 0xC8,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x14,0x25,0x00,0x00,0xDC,0x06,0x00,0x00,
+/* 0x00002510: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+/* 0x00002520: */ 0xA1,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
+/* 0x00002530: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0xE4,0x01,0x00,0x00,
+/* 0x00002540: */ 0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002550: */ 0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00002560: */ 0x2C,0x22,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,
+/* 0x00002570: */ 0x18,0x00,0x00,0x00,0x2C,0x22,0x00,0x00,0x75,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00002580: */ 0x20,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002590: */ 0x00,0x00,0x00,0x00,0xE4,0x01,0x00,0x00,0x57,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000025A0: */ 0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000025B0: */ 0x71,0x00,0x00,0x00,0xA4,0xFF,0xFF,0xFF,0x18,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000025C0: */ 0xA2,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0xE4,0x01,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x000025D0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000025E0: */ 0x18,0x00,0x00,0x00,0x2C,0x22,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000025F0: */ 0x7C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x2C,0x22,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00002600: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00002610: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x01,0x00,0x00,0x57,0x00,0x00,0x00,
+/* 0x00002620: */ 0x1C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00002630: */ 0x9C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xA4,0xFF,0xFF,0xFF,0x18,0x02,0x00,0x00,
+/* 0x00002640: */ 0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xC0,0x25,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002650: */ 0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xC0,0x25,0x00,0x00,
+/* 0x00002660: */ 0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002670: */ 0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00002680: */ 0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00002690: */ 0x32,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000026A0: */ 0x18,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000026B0: */ 0x28,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000026C0: */ 0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
+/* 0x000026D0: */ 0x57,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xB8,0xFF,0xFF,0xFF,
+/* 0x000026E0: */ 0x18,0x02,0x00,0x00,0x81,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x000026F0: */ 0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00002700: */ 0x2B,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00002710: */ 0x9C,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00002720: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00002730: */ 0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x94,0x03,0x00,0x00,
+/* 0x00002740: */ 0x71,0x00,0x00,0x00,0xE8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x00002750: */ 0x59,0x00,0x00,0x00,0x60,0x27,0x00,0x00,0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002760: */ 0x1C,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002770: */ 0x7C,0x27,0x00,0x00,0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x27,0x00,0x00,
+/* 0x00002780: */ 0x68,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002790: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000027A0: */ 0x00,0x00,0x00,0x00,0x3C,0x36,0x54,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000027B0: */ 0x00,0x00,0x00,0x00,0xAC,0x3A,0x54,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,
+/* 0x000027C0: */ 0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x0C,0x01,0x00,0x00,0x98,0x27,0x00,0x00,
+/* 0x000027D0: */ 0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0x27,0x00,0x00,
+/* 0x000027E0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0x27,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000027F0: */ 0x24,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0x44,0x0F,0x00,0x00,0x0E,0x45,0x78,0x74,
+/* 0x00002800: */ 0x72,0x61,0x20,0x7D,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x3A,0x68,0x1E,0x00,0x00,
+/* 0x00002810: */ 0x0C,0x01,0x00,0x00,0xA8,0x27,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002820: */ 0x98,0x27,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x00002830: */ 0x10,0x4D,0x69,0x73,0x73,0x69,0x6E,0x67,0x20,0x50,0x52,0x49,0x56,0x41,0x54,0x45,
+/* 0x00002840: */ 0x7B,0x5A,0x5A,0x5A,0x68,0x1E,0x00,0x00,0xA8,0x27,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002850: */ 0x24,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x10,0x4D,0x69,0x73,0x73,0x69,0x6E,0x67,
+/* 0x00002860: */ 0x20,0x7D,0x50,0x52,0x49,0x56,0x41,0x54,0x45,0x5A,0x5A,0x5A,0x68,0x1E,0x00,0x00,
+/* 0x00002870: */ 0xA8,0x27,0x00,0x00,0x41,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x98,0x27,0x00,0x00,
+/* 0x00002880: */ 0x41,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00002890: */ 0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xB8,0x27,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x000028A0: */ 0x7B,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000028B0: */ 0xC8,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000028C0: */ 0x98,0x27,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000028D0: */ 0xA8,0x27,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x000028E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x000028F0: */ 0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00002900: */ 0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00002910: */ 0x14,0x25,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x03,0x46,0x49,0x44,
+/* 0x00002920: */ 0x4D,0x45,0x2D,0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002930: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x03,0x56,0x41,0x4C,0x2D,
+/* 0x00002940: */ 0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002950: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x09,0x4E,0x55,0x4D,0x2D,0x5A,
+/* 0x00002960: */ 0x45,0x52,0x4F,0x53,0x69,0x6C,0x6F,0x63,0x73,0x2E,0x66,0x74,0x68,0x5A,0x5A,0x5A,
+/* 0x00002970: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x09,0x4E,0x55,0x4D,0x2D,0x42,0x59,
+/* 0x00002980: */ 0x54,0x45,0x53,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002990: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x07,0x4F,0x4C,0x44,0x49,0x4E,0x44,0x58,
+/* 0x000029A0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000029B0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x04,0x43,0x4E,0x54,0x33,0x5A,0x5A,0x5A,0x5A,
+/* 0x000029C0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000029D0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x04,0x46,0x4C,0x41,0x47,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000029E0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000029F0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x03,0x51,0x55,0x4F,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A00: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A10: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A20: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A30: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A40: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A50: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A60: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A70: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A80: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002A90: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AA0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AB0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AC0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AD0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AE0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002AF0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B00: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B10: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00002B20: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x2A,0x00,0x00,0x00,
+/* 0x00002B30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002B40: */ 0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x2C,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002B50: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x38,0x00,0x00,0x00,
+/* 0x00002B60: */ 0x53,0x00,0x00,0x00,0x0C,0x29,0x00,0x00,0x7B,0x00,0x00,0x00,0x38,0x25,0x00,0x00,
+/* 0x00002B70: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x18,0x02,0x00,0x00,0xB0,0x08,0x00,0x00,
+/* 0x00002B80: */ 0x53,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x00002B90: */ 0xD0,0xFF,0xFF,0xFF,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00002BA0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002BB0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002BC0: */ 0x5F,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x6C,0x01,0x00,0x00,
+/* 0x00002BD0: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002BE0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002BF0: */ 0x60,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x3C,0x01,0x00,0x00,
+/* 0x00002C00: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002C10: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002C20: */ 0x61,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x01,0x00,0x00,
+/* 0x00002C30: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002C40: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002C50: */ 0x62,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xDC,0x00,0x00,0x00,
+/* 0x00002C60: */ 0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002C70: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002C80: */ 0x63,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xAC,0x00,0x00,0x00,
+/* 0x00002C90: */ 0x59,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002CA0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002CB0: */ 0x64,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,
+/* 0x00002CC0: */ 0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002CD0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002CE0: */ 0x65,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,
+/* 0x00002CF0: */ 0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002D00: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002D10: */ 0x66,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00002D20: */ 0x35,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x5E,0x00,0x00,0x00,
+/* 0x00002D30: */ 0x08,0x05,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00002D40: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002D50: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002D60: */ 0x69,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x6C,0x01,0x00,0x00,
+/* 0x00002D70: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002D80: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002D90: */ 0x6A,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x3C,0x01,0x00,0x00,
+/* 0x00002DA0: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002DB0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002DC0: */ 0x6B,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x01,0x00,0x00,
+/* 0x00002DD0: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002DE0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002DF0: */ 0x6C,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xDC,0x00,0x00,0x00,
+/* 0x00002E00: */ 0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002E10: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002E20: */ 0x6D,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xAC,0x00,0x00,0x00,
+/* 0x00002E30: */ 0x59,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002E40: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002E50: */ 0x6E,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,
+/* 0x00002E60: */ 0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002E70: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002E80: */ 0x6F,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,
+/* 0x00002E90: */ 0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00002EA0: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002EB0: */ 0x70,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00002EC0: */ 0x35,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x68,0x00,0x00,0x00,
+/* 0x00002ED0: */ 0x08,0x05,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x2B,0x00,0x00,
+/* 0x00002EE0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x9C,0x2B,0x00,0x00,0xB0,0x08,0x00,0x00,
+/* 0x00002EF0: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x00002F00: */ 0x00,0x00,0x00,0x00,0x2C,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00002F10: */ 0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x00002F20: */ 0x00,0x00,0x00,0x00,0x04,0x2F,0x00,0x00,0x2C,0x2B,0x00,0x00,0x90,0x01,0x00,0x00,
+/* 0x00002F30: */ 0x5B,0x00,0x00,0x00,0x90,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00002F40: */ 0x00,0x00,0x00,0x00,0x2C,0x2B,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002F50: */ 0x7C,0x0F,0x00,0x00,0x11,0x4C,0x6F,0x63,0x61,0x6C,0x73,0x20,0x74,0x75,0x72,0x6E,
+/* 0x00002F60: */ 0x65,0x64,0x20,0x6F,0x66,0x66,0x5A,0x5A,0x28,0x00,0x00,0x00,0x2C,0x2B,0x00,0x00,
+/* 0x00002F70: */ 0x90,0x01,0x00,0x00,0x5B,0x00,0x00,0x00,0x90,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00002F80: */ 0x94,0x17,0x00,0x00,0x50,0x2F,0x00,0x00,0x35,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00002F90: */ 0xDC,0x00,0x00,0x00,0x2C,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,0xEC,0x28,0x00,0x00,
+/* 0x00002FA0: */ 0x48,0x02,0x00,0x00,0x44,0x0F,0x00,0x00,0x19,0x54,0x6F,0x6F,0x20,0x6D,0x61,0x6E,
+/* 0x00002FB0: */ 0x79,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,
+/* 0x00002FC0: */ 0x73,0x21,0x5A,0x5A,0x68,0x1E,0x00,0x00,0x2C,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002FD0: */ 0x0C,0x29,0x00,0x00,0xF4,0x0D,0x00,0x00,0x2C,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00002FE0: */ 0x0C,0x29,0x00,0x00,0x4D,0x00,0x00,0x00,0x24,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00002FF0: */ 0x64,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x10,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x29,
+/* 0x00003000: */ 0x20,0x2D,0x20,0x4E,0x6F,0x74,0x65,0x3A,0x20,0x5A,0x5A,0x5A,0x2C,0x2B,0x00,0x00,
+/* 0x00003010: */ 0x41,0x00,0x00,0x00,0x0C,0x29,0x00,0x00,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00003020: */ 0x7C,0x0F,0x00,0x00,0x22,0x20,0x72,0x65,0x64,0x65,0x66,0x69,0x6E,0x65,0x64,0x20,
+/* 0x00003030: */ 0x61,0x73,0x20,0x61,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x76,0x61,0x72,0x69,0x61,
+/* 0x00003040: */ 0x62,0x6C,0x65,0x20,0x69,0x6E,0x20,0x5A,0x0C,0x01,0x00,0x00,0x9C,0x02,0x00,0x00,
+/* 0x00003050: */ 0x28,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x2C,0x2B,0x00,0x00,
+/* 0x00003060: */ 0x7F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x18,0x02,0x00,0x00,
+/* 0x00003070: */ 0x2C,0x2B,0x00,0x00,0x41,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00003080: */ 0xBC,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00003090: */ 0x25,0x28,0x4C,0x4F,0x43,0x41,0x4C,0x29,0x20,0x2D,0x20,0x57,0x61,0x72,0x6E,0x69,
+/* 0x000030A0: */ 0x6E,0x67,0x3A,0x20,0x6E,0x6F,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x73,0x20,0x64,0x65,
+/* 0x000030B0: */ 0x66,0x69,0x6E,0x65,0x64,0x21,0x5A,0x5A,0x28,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000030C0: */ 0x24,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x000030D0: */ 0x08,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0xDC,0x2E,0x00,0x00,0x5B,0x00,0x00,0x00,
+/* 0x000030E0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x20,0x04,0x00,0x00,
+/* 0x000030F0: */ 0x24,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x31,0x00,0x00,0xDC,0x06,0x00,0x00,
+/* 0x00003100: */ 0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003110: */ 0x1C,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00003120: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00003130: */ 0x00,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,0x3C,0x2B,0x00,0x00,
+/* 0x00003140: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x3C,0x2D,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00003150: */ 0x78,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00003160: */ 0x1E,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x26,0x54,0x4F,0x20,
+/* 0x00003170: */ 0x6F,0x72,0x20,0x2D,0x3E,0x20,0x62,0x65,0x66,0x6F,0x72,0x65,0x20,0x6E,0x6F,0x6E,
+/* 0x00003180: */ 0x2D,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x2D,0x76,0x61,
+/* 0x00003190: */ 0x6C,0x75,0x65,0x5A,0x68,0x1E,0x00,0x00,0xC0,0x04,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x000031A0: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,
+/* 0x000031B0: */ 0x59,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000031C0: */ 0x08,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x31,0x00,0x00,
+/* 0x000031D0: */ 0x00,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,0x3C,0x2B,0x00,0x00,
+/* 0x000031E0: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x000031F0: */ 0x59,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00003200: */ 0x74,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00003210: */ 0x1E,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x21,0x2B,0x2D,0x3E,
+/* 0x00003220: */ 0x20,0x62,0x65,0x66,0x6F,0x72,0x65,0x20,0x6E,0x6F,0x6E,0x2D,0x6C,0x6F,0x63,0x61,
+/* 0x00003230: */ 0x6C,0x20,0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x2D,0x76,0x61,0x6C,0x75,0x65,0x5A,0x5A,
+/* 0x00003240: */ 0x68,0x1E,0x00,0x00,0xC0,0x04,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00003250: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003260: */ 0x7F,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00003270: */ 0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x2F,0x00,0x00,0x1B,0x00,0x00,0x00,
+/* 0x00003280: */ 0x00,0x00,0x00,0x00,0x24,0x2F,0x00,0x00,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003290: */ 0x04,0x2F,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x000032A0: */ 0x00,0x00,0x00,0x00,0x24,0x2F,0x00,0x00,0xF8,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000032B0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000032C0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
+/* 0x000032D0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
+/* 0x000032E0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
+/* 0x000032F0: */ 0xE0,0x32,0x00,0x00,0x90,0x01,0x00,0x00,0xC0,0x32,0x00,0x00,0x90,0x01,0x00,0x00,
+/* 0x00003300: */ 0xD0,0x32,0x00,0x00,0x90,0x01,0x00,0x00,0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x00003310: */ 0x68,0x01,0x00,0x00,0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003320: */ 0x5C,0x01,0x00,0x00,0x7B,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003330: */ 0x7D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003340: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xE0,0x32,0x00,0x00,0x7C,0x01,0x00,0x00,
+/* 0x00003350: */ 0x18,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x1C,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003360: */ 0x7C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003370: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xC0,0x32,0x00,0x00,0x7C,0x01,0x00,0x00,
+/* 0x00003380: */ 0x18,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003390: */ 0x2D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000033A0: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xD0,0x32,0x00,0x00,0x7C,0x01,0x00,0x00,
+/* 0x000033B0: */ 0x18,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000033C0: */ 0x29,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000033D0: */ 0x30,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x12,0x7B,0x20,0x2E,
+/* 0x000033E0: */ 0x2E,0x2E,0x20,0x29,0x20,0x69,0x6D,0x62,0x61,0x6C,0x61,0x6E,0x63,0x65,0x21,0x5A,
+/* 0x000033F0: */ 0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00003400: */ 0x59,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00003410: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x58,0x01,0x00,0x00,
+/* 0x00003420: */ 0x18,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00003430: */ 0xD0,0x32,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00003440: */ 0x18,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xC0,0x32,0x00,0x00,
+/* 0x00003450: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003460: */ 0xA0,0x08,0x00,0x00,0x08,0x05,0x00,0x00,0x88,0x2F,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00003470: */ 0x33,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x18,0x02,0x00,0x00,
+/* 0x00003480: */ 0x84,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x2C,0x45,0x6E,0x64,
+/* 0x00003490: */ 0x20,0x6F,0x66,0x20,0x69,0x6E,0x70,0x75,0x74,0x20,0x77,0x68,0x69,0x6C,0x65,0x20,
+/* 0x000034A0: */ 0x64,0x65,0x66,0x69,0x6E,0x69,0x6E,0x67,0x20,0x6C,0x6F,0x63,0x61,0x6C,0x20,0x76,
+/* 0x000034B0: */ 0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x73,0x21,0x5A,0x5A,0x5A,0x68,0x1E,0x00,0x00,
+/* 0x000034C0: */ 0xE0,0x32,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0xFE,0xFF,0xFF,
+/* 0x000034D0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000034E0: */ 0x88,0x2F,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x000034F0: */ 0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00003500: */ 0xA1,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,
+/* 0x00003510: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x00003520: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00003530: */ 0xB4,0x1D,0x00,0x00,0x60,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003540: */ 0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,
+/* 0x00003550: */ 0x61,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x62,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,
+/* 0x00003560: */ 0x28,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00003570: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x00003580: */ 0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x00003590: */ 0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000035A0: */ 0x60,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x6D,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,
+/* 0x000035B0: */ 0x61,0x00,0x00,0x00,0xD8,0x07,0x00,0x00,0x6E,0x00,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x000035C0: */ 0x63,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x3A,0x00,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x000035D0: */ 0x6F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000035E0: */ 0x74,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000035F0: */ 0x18,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x6F,0x00,0x00,0x00,
+/* 0x00003600: */ 0x15,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00003610: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,
+/* 0x00003620: */ 0x70,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x66,0x00,0x00,0x00,
+/* 0x00003630: */ 0x02,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x70,0x00,0x00,0x00,0x64,0x00,0x00,0x00,
+/* 0x00003640: */ 0x65,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x6F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00003650: */ 0x5C,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003660: */ 0x4C,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003670: */ 0x18,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x00003680: */ 0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x65,0x00,0x00,0x00,
+/* 0x00003690: */ 0x75,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x6F,0x00,0x00,0x00,0x66,0x00,0x00,0x00,
+/* 0x000036A0: */ 0x02,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x70,0x00,0x00,0x00,0x65,0x00,0x00,0x00,
+/* 0x000036B0: */ 0x66,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x000036C0: */ 0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x000036D0: */ 0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000036E0: */ 0x60,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x6D,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,
+/* 0x000036F0: */ 0x61,0x00,0x00,0x00,0xD8,0x07,0x00,0x00,0x6E,0x00,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x00003700: */ 0x63,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x3A,0x00,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x00003710: */ 0x6F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003720: */ 0x34,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x6F,0x00,0x00,0x00,
+/* 0x00003730: */ 0x61,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00003740: */ 0x66,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x70,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00003750: */ 0x20,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003760: */ 0x10,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x70,0x00,0x00,0x00,
+/* 0x00003770: */ 0x65,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003780: */ 0xA2,0x00,0x00,0x00,0x08,0x08,0x00,0x00,0x8E,0x00,0x00,0x00,0xBC,0x36,0x00,0x00,
+/* 0x00003790: */ 0x00,0x00,0x00,0x00,0x80,0x37,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000037A0: */ 0xA2,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0xBC,0x36,0x00,0x00,
+/* 0x000037B0: */ 0x00,0x00,0x00,0x00,0xA0,0x37,0x00,0x00,0x24,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000037C0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000037D0: */ 0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000037E0: */ 0x2C,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000037F0: */ 0x1C,0x00,0x00,0x00,0x5C,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x00003800: */ 0x59,0x00,0x00,0x00,0x8C,0x04,0x00,0x00,0x08,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003810: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00003820: */ 0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x10,0x38,0x00,0x00,
+/* 0x00003830: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003840: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003850: */ 0xE8,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00003860: */ 0x44,0x38,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003870: */ 0x32,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x71,0x00,0x00,0x00,
+/* 0x00003880: */ 0xE0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00003890: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x6C,0x02,0x00,0x00,0x12,0x00,0x00,0x00,
+/* 0x000038A0: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000038B0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x0E,0x56,0x00,
+/* 0x000038C0: */ 0xB0,0x38,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xBD,0x7A,0x00,0x00,
+/* 0x000038D0: */ 0xA1,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x1B,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000038E0: */ 0x59,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x11,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000038F0: */ 0xB0,0x38,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x38,0x00,0x00,
+/* 0x00003900: */ 0xA1,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x88,0x38,0x00,0x00,
+/* 0x00003910: */ 0x00,0x00,0x00,0x00,0x30,0x02,0x00,0x00,0x75,0x00,0x00,0x00,0xFC,0x38,0x00,0x00,
+/* 0x00003920: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00003930: */ 0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003940: */ 0x03,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00003950: */ 0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0xC8,0x03,0x00,0x00,
+/* 0x00003960: */ 0x59,0x00,0x00,0x00,0x70,0x39,0x00,0x00,0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003970: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x58,0x08,0x00,0x00,
+/* 0x00003980: */ 0xC8,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x94,0x39,0x00,0x00,0xDC,0x06,0x00,0x00,
+/* 0x00003990: */ 0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x58,0x08,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000039A0: */ 0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x04,0x1E,0x00,0x00,0xC8,0x03,0x00,0x00,
+/* 0x000039B0: */ 0x59,0x00,0x00,0x00,0xC0,0x39,0x00,0x00,0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000039C0: */ 0x9C,0x00,0x00,0x00,0x04,0x1E,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000039D0: */ 0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xF0,0x02,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000039E0: */ 0xB4,0x1D,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000039F0: */ 0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xB4,0x02,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00003A00: */ 0xB4,0x1D,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003A10: */ 0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xDC,0x02,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00003A20: */ 0xB4,0x1D,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003A30: */ 0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x00003A40: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,
+/* 0x00003A50: */ 0x7A,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003A60: */ 0xFF,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00003A70: */ 0x59,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x11,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003A80: */ 0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x7A,0x00,0x00,0x00,
+/* 0x00003A90: */ 0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,
+/* 0x00003AA0: */ 0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00003AB0: */ 0x5C,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x3C,0x02,0x00,0x00,
+/* 0x00003AC0: */ 0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00003AD0: */ 0x3C,0x02,0x00,0x00,0x5F,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00003AE0: */ 0x11,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00003AF0: */ 0x5F,0x00,0x00,0x00,0x3C,0x02,0x00,0x00,0x5F,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00003B00: */ 0x20,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003B10: */ 0xA2,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00003B20: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,
+/* 0x00003B30: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x19,0x00,0x00,0x00,
+/* 0x00003B40: */ 0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00003B50: */ 0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,
+/* 0x00003B60: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x18,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003B70: */ 0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00003B80: */ 0xC0,0x08,0x00,0x00,0x4C,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00003B90: */ 0x18,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00003BA0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003BB0: */ 0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0xA4,0x3B,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00003BC0: */ 0x00,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003BD0: */ 0x80,0x04,0x00,0x00,0x51,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003BE0: */ 0x7C,0x0F,0x00,0x00,0x0C,0x43,0x6F,0x64,0x65,0x20,0x53,0x65,0x67,0x6D,0x65,0x6E,
+/* 0x00003BF0: */ 0x74,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,
+/* 0x00003C00: */ 0x43,0x4F,0x44,0x45,0x42,0x41,0x53,0x45,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+/* 0x00003C10: */ 0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,0x68,0x04,0x00,0x00,0x10,0x3A,0x00,0x00,
+/* 0x00003C20: */ 0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x48,0x45,0x52,0x45,
+/* 0x00003C30: */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,
+/* 0x00003C40: */ 0x20,0x5A,0x5A,0x5A,0x51,0x00,0x00,0x00,0x10,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003C50: */ 0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x43,0x4F,0x44,0x45,0x4C,0x49,0x4D,0x49,
+/* 0x00003C60: */ 0x54,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003C70: */ 0x80,0x04,0x00,0x00,0x10,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00003C80: */ 0x18,0x20,0x20,0x20,0x43,0x6F,0x6D,0x70,0x69,0x6C,0x65,0x64,0x20,0x43,0x6F,0x64,
+/* 0x00003C90: */ 0x65,0x20,0x53,0x69,0x7A,0x65,0x20,0x3D,0x20,0x5A,0x5A,0x5A,0x51,0x00,0x00,0x00,
+/* 0x00003CA0: */ 0x68,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003CB0: */ 0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x43,0x4F,0x44,0x45,0x2D,0x53,0x49,0x5A,
+/* 0x00003CC0: */ 0x45,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003CD0: */ 0xF0,0x14,0x00,0x00,0x41,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003CE0: */ 0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x43,0x6F,0x64,0x65,0x20,0x52,0x6F,0x6F,
+/* 0x00003CF0: */ 0x6D,0x20,0x55,0x4E,0x55,0x53,0x45,0x44,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003D00: */ 0xD0,0x3B,0x00,0x00,0xB4,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00003D10: */ 0x0C,0x4E,0x61,0x6D,0x65,0x20,0x53,0x65,0x67,0x6D,0x65,0x6E,0x74,0x5A,0x5A,0x5A,
+/* 0x00003D20: */ 0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x4E,0x41,0x4D,0x45,
+/* 0x00003D30: */ 0x42,0x41,0x53,0x45,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,
+/* 0x00003D40: */ 0x20,0x5A,0x5A,0x5A,0x5C,0x04,0x00,0x00,0x10,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003D50: */ 0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x48,0x45,0x41,0x44,0x45,0x52,0x53,0x2D,
+/* 0x00003D60: */ 0x50,0x54,0x52,0x20,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003D70: */ 0xAD,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x10,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003D80: */ 0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x4E,0x41,0x4D,0x45,0x4C,0x49,0x4D,0x49,
+/* 0x00003D90: */ 0x54,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003DA0: */ 0x74,0x04,0x00,0x00,0x10,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00003DB0: */ 0x18,0x20,0x20,0x20,0x43,0x4F,0x4E,0x54,0x45,0x58,0x54,0x20,0x40,0x20,0x20,0x20,
+/* 0x00003DC0: */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,0xA8,0x00,0x00,0x00,
+/* 0x00003DD0: */ 0x41,0x00,0x00,0x00,0x10,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00003DE0: */ 0x18,0x20,0x20,0x20,0x4C,0x41,0x54,0x45,0x53,0x54,0x20,0x20,0x20,0x20,0x20,0x20,
+/* 0x00003DF0: */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,0x0C,0x01,0x00,0x00,
+/* 0x00003E00: */ 0x10,0x3A,0x00,0x00,0x7C,0x0F,0x00,0x00,0x03,0x20,0x3D,0x20,0x0C,0x01,0x00,0x00,
+/* 0x00003E10: */ 0x9C,0x02,0x00,0x00,0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,
+/* 0x00003E20: */ 0x43,0x6F,0x6D,0x70,0x69,0x6C,0x65,0x64,0x20,0x4E,0x61,0x6D,0x65,0x20,0x73,0x69,
+/* 0x00003E30: */ 0x7A,0x65,0x20,0x3D,0x20,0x5A,0x5A,0x5A,0xAD,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00003E40: */ 0x5C,0x04,0x00,0x00,0x75,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003E50: */ 0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x48,0x45,0x41,0x44,0x45,0x52,0x53,0x2D,
+/* 0x00003E60: */ 0x53,0x49,0x5A,0x45,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003E70: */ 0xE0,0x14,0x00,0x00,0x41,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00003E80: */ 0x7C,0x0F,0x00,0x00,0x18,0x20,0x20,0x20,0x4E,0x61,0x6D,0x65,0x20,0x52,0x6F,0x6F,
+/* 0x00003E90: */ 0x6D,0x20,0x4C,0x65,0x66,0x74,0x20,0x20,0x20,0x20,0x20,0x3D,0x20,0x5A,0x5A,0x5A,
+/* 0x00003EA0: */ 0x74,0x04,0x00,0x00,0xAD,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00003EB0: */ 0xB4,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x00003EC0: */ 0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
+/* 0x00003ED0: */ 0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00003EE0: */ 0x6E,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00003EF0: */ 0x64,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0xC4,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00003F00: */ 0x62,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00003F10: */ 0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0x6F,0x00,0x00,0x00,
+/* 0x00003F20: */ 0x62,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00003F30: */ 0x50,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00003F40: */ 0x18,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x55,0x00,0x00,0x00,
+/* 0x00003F50: */ 0x7D,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x21,0x00,0x00,0x00,
+/* 0x00003F60: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0x6F,0x00,0x00,0x00,
+/* 0x00003F70: */ 0x57,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xB8,0xFF,0xFF,0xFF,
+/* 0x00003F80: */ 0x65,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00003F90: */ 0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00003FA0: */ 0x53,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x57,0x00,0x00,0x00,
+/* 0x00003FB0: */ 0x0C,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0x60,0xFF,0xFF,0xFF,0x63,0x00,0x00,0x00,
+/* 0x00003FC0: */ 0x64,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003FD0: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00003FE0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x00003FF0: */ 0x68,0x01,0x00,0x00,0x35,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,
+/* 0x00004000: */ 0x03,0x00,0x00,0x00,0x60,0x0F,0x00,0x00,0x04,0x5B,0x49,0x46,0x5D,0x5A,0x5A,0x5A,
+/* 0x00004010: */ 0x1D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00004020: */ 0x18,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x64,0x00,0x00,0x00,
+/* 0x00004030: */ 0x03,0x00,0x00,0x00,0x60,0x0F,0x00,0x00,0x06,0x5B,0x45,0x4C,0x53,0x45,0x5D,0x5A,
+/* 0x00004040: */ 0x1D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00004050: */ 0x18,0x02,0x00,0x00,0x01,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004060: */ 0x08,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00004070: */ 0x60,0x0F,0x00,0x00,0x06,0x5B,0x54,0x48,0x45,0x4E,0x5D,0x5A,0x1D,0x00,0x00,0x00,
+/* 0x00004080: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00004090: */ 0x81,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x000040A0: */ 0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x40,0xFF,0xFF,0xFF,0x18,0x02,0x00,0x00,
+/* 0x000040B0: */ 0x84,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0xFF,0xFF,0xFF,
+/* 0x000040C0: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000040D0: */ 0x08,0x00,0x00,0x00,0xE0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000040E0: */ 0xC0,0x08,0x00,0x00,0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x000040F0: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004100: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00004110: */ 0xB8,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00004120: */ 0xC0,0x04,0x00,0x00,0xB0,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00004130: */ 0xA0,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004140: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004150: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,
+/* 0x00004160: */ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,
+/* 0x00004170: */ 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,
+/* 0x00004180: */ 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004190: */ 0x20,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x41,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000041A0: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000041B0: */ 0x35,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xD8,0x07,0x00,0x00,0x48,0x41,0x00,0x00,
+/* 0x000041C0: */ 0x41,0x00,0x00,0x00,0x30,0x02,0x00,0x00,0x41,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000041D0: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x000041E0: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x94,0x03,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000041F0: */ 0x24,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00004200: */ 0x11,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00004210: */ 0x7C,0x03,0x00,0x00,0x9C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00004220: */ 0x88,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x90,0x41,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00004230: */ 0xA8,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x41,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00004240: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x42,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00004250: */ 0x48,0x41,0x00,0x00,0x41,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004260: */ 0x38,0x42,0x00,0x00,0x1E,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x00004270: */ 0x32,0x7D,0x55,0x4E,0x49,0x4F,0x4E,0x20,0x2D,0x20,0x54,0x77,0x6F,0x20,0x70,0x61,
+/* 0x00004280: */ 0x72,0x74,0x73,0x20,0x6F,0x66,0x20,0x55,0x4E,0x49,0x4F,0x4E,0x20,0x61,0x72,0x65,
+/* 0x00004290: */ 0x20,0x6E,0x6F,0x74,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x65,0x20,0x73,0x69,
+/* 0x000042A0: */ 0x7A,0x65,0x21,0x5A,0x68,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,
+/* 0x000042B0: */ 0xB0,0x41,0x00,0x00,0x24,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0xC8,0x42,0x00,0x00,
+/* 0x000042C0: */ 0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x41,0x00,0x00,0x10,0x38,0x00,0x00,
+/* 0x000042D0: */ 0x00,0x00,0x00,0x00,0x08,0x41,0x00,0x00,0x64,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000042E0: */ 0x44,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x000042F0: */ 0x7C,0x0F,0x00,0x00,0x06,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x5A,0xB0,0x08,0x00,0x00,
+/* 0x00004300: */ 0x44,0x0F,0x00,0x00,0x1B,0x4F,0x42,0x2E,0x46,0x49,0x4E,0x44,0x49,0x54,0x20,0x2D,
+/* 0x00004310: */ 0x20,0x57,0x6F,0x72,0x64,0x20,0x6E,0x6F,0x74,0x20,0x66,0x6F,0x75,0x6E,0x64,0x21,
+/* 0x00004320: */ 0x68,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x88,0x41,0x00,0x00,
+/* 0x00004330: */ 0x9C,0x00,0x00,0x00,0x98,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0xD4,0x42,0x00,0x00,
+/* 0x00004340: */ 0x28,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0xD4,0x42,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00004350: */ 0x10,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x41,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00004360: */ 0x68,0x41,0x00,0x00,0x1E,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x00004370: */ 0x2A,0x42,0x59,0x54,0x45,0x53,0x20,0x2D,0x20,0x4F,0x6E,0x6C,0x79,0x20,0x76,0x61,
+/* 0x00004380: */ 0x6C,0x69,0x64,0x20,0x69,0x6E,0x20,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,0x20,0x64,
+/* 0x00004390: */ 0x65,0x66,0x69,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x73,0x2E,0x5A,0x68,0x1E,0x00,0x00,
+/* 0x000043A0: */ 0xAC,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0x58,0x43,0x00,0x00,
+/* 0x000043B0: */ 0x00,0x00,0x00,0x00,0x98,0x07,0x00,0x00,0x58,0x43,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000043C0: */ 0xA4,0x01,0x00,0x00,0x58,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000043D0: */ 0x01,0x00,0x00,0x00,0x58,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000043E0: */ 0x02,0x00,0x00,0x00,0x58,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x43,0x00,0x00,
+/* 0x000043F0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x58,0x43,0x00,0x00,
+/* 0x00004400: */ 0x00,0x00,0x00,0x00,0xC0,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x43,0x00,0x00,
+/* 0x00004410: */ 0x58,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004420: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00004430: */ 0x7C,0x03,0x00,0x00,0x51,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00004440: */ 0xC8,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,
+/* 0x00004450: */ 0x00,0x00,0x00,0x00,0x38,0x41,0x00,0x00,0x41,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x00004460: */ 0x30,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,0x20,0x2D,0x20,0x50,0x72,0x65,0x76,0x69,
+/* 0x00004470: */ 0x6F,0x75,0x73,0x20,0x3A,0x53,0x54,0x52,0x55,0x43,0x54,0x20,0x6F,0x72,0x20,0x3A,
+/* 0x00004480: */ 0x43,0x4C,0x41,0x53,0x53,0x20,0x75,0x6E,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,
+/* 0x00004490: */ 0x21,0x5A,0x5A,0x5A,0x14,0x1E,0x00,0x00,0x68,0x41,0x00,0x00,0x38,0x41,0x00,0x00,
+/* 0x000044A0: */ 0x9B,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x48,0x41,0x00,0x00,
+/* 0x000044B0: */ 0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x04,0x00,0x00,
+/* 0x000044C0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000044D0: */ 0xDC,0x44,0x00,0x00,0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x44,0x00,0x00,
+/* 0x000044E0: */ 0x00,0x00,0x00,0x00,0x38,0x41,0x00,0x00,0x41,0x00,0x00,0x00,0x68,0x41,0x00,0x00,
+/* 0x000044F0: */ 0x1E,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0x44,0x0F,0x00,0x00,0x20,0x3B,0x53,0x54,
+/* 0x00004500: */ 0x52,0x55,0x43,0x54,0x20,0x2D,0x20,0x4D,0x69,0x73,0x73,0x69,0x6E,0x67,0x20,0x3A,
+/* 0x00004510: */ 0x53,0x54,0x52,0x55,0x43,0x54,0x20,0x61,0x62,0x6F,0x76,0x65,0x21,0x5A,0x5A,0x5A,
+/* 0x00004520: */ 0x68,0x1E,0x00,0x00,0xA0,0x08,0x00,0x00,0x38,0x41,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00004530: */ 0x0C,0x01,0x00,0x00,0x48,0x41,0x00,0x00,0x41,0x00,0x00,0x00,0xD0,0x04,0x00,0x00,
+/* 0x00004540: */ 0x28,0x21,0x00,0x00,0x75,0x00,0x00,0x00,0x48,0x41,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00004550: */ 0xB0,0x01,0x00,0x00,0x9B,0x00,0x00,0x00,0x48,0x41,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00004560: */ 0x35,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x7C,0x03,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00004570: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x43,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00004580: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00004590: */ 0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x000045A0: */ 0x59,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000045B0: */ 0x08,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000045C0: */ 0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xBA,0x00,0x00,0x00,
+/* 0x000045D0: */ 0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000045E0: */ 0x7D,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xD0,0x08,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x000045F0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x00004600: */ 0xA4,0x01,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004610: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xD4,0x45,0x00,0x00,
+/* 0x00004620: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004630: */ 0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004640: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xC8,0x45,0x00,0x00,
+/* 0x00004650: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004660: */ 0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004670: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xBC,0x45,0x00,0x00,
+/* 0x00004680: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004690: */ 0xFC,0xFF,0xFF,0xFF,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000046A0: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xE0,0x45,0x00,0x00,
+/* 0x000046B0: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x98,0x07,0x00,0x00,
+/* 0x000046C0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000046D0: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xC8,0x45,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x000046E0: */ 0x15,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000046F0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00004700: */ 0x59,0x00,0x00,0x00,0xBC,0x45,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00004710: */ 0x28,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0x44,0x0F,0x00,0x00,0x12,0x73,0x21,0x20,
+/* 0x00004720: */ 0x2D,0x20,0x69,0x6C,0x6C,0x65,0x67,0x61,0x6C,0x20,0x73,0x69,0x7A,0x65,0x21,0x5A,
+/* 0x00004730: */ 0x68,0x1E,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x00004740: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00004750: */ 0x33,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,
+/* 0x00004760: */ 0x59,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00004770: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00004780: */ 0xD0,0x08,0x00,0x00,0x9C,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00004790: */ 0x7C,0x00,0x00,0x00,0xD8,0x07,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x000047A0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000047B0: */ 0x33,0x00,0x00,0x00,0xBA,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x50,0x00,0x00,0x00,
+/* 0x000047C0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000047D0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x000047E0: */ 0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x000047F0: */ 0x12,0x73,0x21,0x20,0x2D,0x20,0x69,0x6C,0x6C,0x65,0x67,0x61,0x6C,0x20,0x73,0x69,
+/* 0x00004800: */ 0x7A,0x65,0x21,0x5A,0x68,0x1E,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004810: */ 0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00004820: */ 0xF8,0x45,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00004830: */ 0x7D,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x3C,0x47,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004840: */ 0x3C,0x43,0x00,0x00,0x10,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x00004850: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00004860: */ 0x33,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xF4,0x00,0x00,0x00,
+/* 0x00004870: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00004880: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,
+/* 0x00004890: */ 0x15,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x000048A0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000048B0: */ 0x33,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,
+/* 0x000048C0: */ 0x59,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000048D0: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000048E0: */ 0xE4,0x08,0x00,0x00,0x15,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x98,0x07,0x00,0x00,
+/* 0x000048F0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00004900: */ 0x33,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0x6C,0x3A,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00004910: */ 0x50,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00004920: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00004930: */ 0x30,0x3A,0x00,0x00,0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,
+/* 0x00004940: */ 0x44,0x0F,0x00,0x00,0x12,0x73,0x40,0x20,0x2D,0x20,0x69,0x6C,0x6C,0x65,0x67,0x61,
+/* 0x00004950: */ 0x6C,0x20,0x73,0x69,0x7A,0x65,0x21,0x5A,0x68,0x1E,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00004960: */ 0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004970: */ 0x7D,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00004980: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00004990: */ 0xE4,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x000049A0: */ 0x30,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,
+/* 0x000049B0: */ 0x6C,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
+/* 0x000049C0: */ 0xA4,0x01,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000049D0: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x7C,0x49,0x00,0x00,
+/* 0x000049E0: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000049F0: */ 0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004A00: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x70,0x49,0x00,0x00,
+/* 0x00004A10: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004A20: */ 0x01,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004A30: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x64,0x49,0x00,0x00,
+/* 0x00004A40: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004A50: */ 0xFC,0xFF,0xFF,0xFF,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004A60: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x88,0x49,0x00,0x00,
+/* 0x00004A70: */ 0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x98,0x07,0x00,0x00,
+/* 0x00004A80: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00004A90: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xA8,0x49,0x00,0x00,0x08,0x05,0x00,0x00,
+/* 0x00004AA0: */ 0x15,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00004AB0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00004AC0: */ 0x59,0x00,0x00,0x00,0x98,0x49,0x00,0x00,0x08,0x05,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00004AD0: */ 0x28,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0x44,0x0F,0x00,0x00,0x12,0x73,0x40,0x20,
+/* 0x00004AE0: */ 0x2D,0x20,0x69,0x6C,0x6C,0x65,0x67,0x61,0x6C,0x20,0x73,0x69,0x7A,0x65,0x21,0x5A,
+/* 0x00004AF0: */ 0x68,0x1E,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00004B00: */ 0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xB8,0x49,0x00,0x00,
+/* 0x00004B10: */ 0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00004B20: */ 0x8E,0x00,0x00,0x00,0x4C,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x43,0x00,0x00,
+/* 0x00004B30: */ 0xFC,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004B40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004B50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004B60: */ 0x00,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00004B70: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x3C,0x05,0x00,0x00,
+/* 0x00004B80: */ 0x48,0x4B,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00004B90: */ 0x58,0x4B,0x00,0x00,0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00004BA0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x58,0x4B,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00004BB0: */ 0x00,0x00,0x00,0x00,0x48,0x4B,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004BC0: */ 0x60,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0x58,0x4B,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00004BD0: */ 0x58,0x4B,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004BE0: */ 0x3C,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x84,0x32,0x00,0x00,
+/* 0x00004BF0: */ 0x48,0x4B,0x00,0x00,0x41,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x48,0x4B,0x00,0x00,
+/* 0x00004C00: */ 0x41,0x00,0x00,0x00,0x98,0x04,0x00,0x00,0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00004C10: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x4B,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00004C20: */ 0x00,0x00,0x00,0x00,0x68,0x4B,0x00,0x00,0x18,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004C30: */ 0x68,0x4B,0x00,0x00,0xF0,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x4B,0x00,0x00,
+/* 0x00004C40: */ 0x14,0x0B,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x4B,0x00,0x00,0x44,0x06,0x00,0x00,
+/* 0x00004C50: */ 0x00,0x00,0x00,0x00,0x34,0x06,0x00,0x00,0xB4,0x4B,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004C60: */ 0xC0,0x06,0x00,0x00,0xB4,0x4B,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x06,0x00,0x00,
+/* 0x00004C70: */ 0xB4,0x4B,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x0C,0x00,0x00,0xB4,0x4B,0x00,0x00,
+/* 0x00004C80: */ 0x00,0x00,0x00,0x00,0x4C,0x0C,0x00,0x00,0xB4,0x4B,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004C90: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004CA0: */ 0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00004CB0: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004CC0: */ 0x32,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00004CD0: */ 0x18,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00004CE0: */ 0x72,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x00004CF0: */ 0xD4,0xFF,0xFF,0xFF,0x60,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004D00: */ 0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x00004D10: */ 0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00004D20: */ 0x00,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00004D30: */ 0x6B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,
+/* 0x00004D40: */ 0x5F,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x76,0x00,0x00,0x00,
+/* 0x00004D50: */ 0x69,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004D60: */ 0xE4,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xA0,0x4C,0x00,0x00,
+/* 0x00004D70: */ 0x59,0x00,0x00,0x00,0x3A,0x3A,0x3A,0x3A,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00004D80: */ 0xBC,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00004D90: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00004DA0: */ 0x68,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x00004DB0: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00004DC0: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00004DD0: */ 0xB0,0x08,0x00,0x00,0x6B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00004DE0: */ 0x88,0x07,0x00,0x00,0x60,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,
+/* 0x00004DF0: */ 0x15,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x3B,0x3B,0x3B,0x3B,
+/* 0x00004E00: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,
+/* 0x00004E10: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00004E20: */ 0x7D,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0x6C,0x00,0x00,0x00,
+/* 0x00004E30: */ 0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00004E40: */ 0x44,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0x6B,0x00,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x00004E50: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x08,0x6B,0x65,0x79,
+/* 0x00004E60: */ 0x62,0x6F,0x61,0x72,0x64,0x5A,0x5A,0x5A,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00004E70: */ 0x44,0x0F,0x00,0x00,0x0A,0x27,0x43,0x27,0x20,0x6B,0x65,0x72,0x6E,0x65,0x6C,0x5A,
+/* 0x00004E80: */ 0x68,0x01,0x00,0x00,0x61,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0xBC,0xFE,0xFF,0xFF,
+/* 0x00004E90: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00004EA0: */ 0x5C,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00004EB0: */ 0x60,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00004EC0: */ 0x4E,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00004ED0: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x00004EE0: */ 0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00004EF0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,
+/* 0x00004F00: */ 0xB8,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x4E,0x00,0x00,0x00,
+/* 0x00004F10: */ 0xBC,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x68,0x01,0x00,0x00,
+/* 0x00004F20: */ 0xA3,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x06,0x20,0x66,0x72,0x6F,0x6D,0x3A,0x5A,
+/* 0x00004F30: */ 0x28,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x4D,0x00,0x00,
+/* 0x00004F40: */ 0x60,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,
+/* 0x00004F50: */ 0xC4,0x1D,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x94,0x0C,0x00,0x00,
+/* 0x00004F60: */ 0xA3,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x76,0x00,0x00,0x00,
+/* 0x00004F70: */ 0x35,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00004F80: */ 0x24,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x98,0x4E,0x00,0x00,
+/* 0x00004F90: */ 0x9C,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00004FA0: */ 0x08,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0xBC,0x00,0x00,0x00,0x8C,0xFF,0xFF,0xFF,
+/* 0x00004FB0: */ 0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00004FC0: */ 0x7C,0x0F,0x00,0x00,0x0B,0x20,0x6E,0x6F,0x74,0x20,0x66,0x6F,0x75,0x6E,0x64,0x21,
+/* 0x00004FD0: */ 0x28,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00004FE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x21,0x00,0x00,
+/* 0x00004FF0: */ 0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x18,0x01,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x00005000: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x09,0x50,0x4F,0x53,
+/* 0x00005010: */ 0x54,0x50,0x4F,0x4E,0x45,0x20,0x5A,0x5A,0x9C,0x02,0x00,0x00,0x88,0x0C,0x00,0x00,
+/* 0x00005020: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005030: */ 0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00005040: */ 0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00005050: */ 0x04,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00005060: */ 0x04,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00005070: */ 0x04,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00005080: */ 0x58,0x50,0x00,0x00,0x41,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005090: */ 0x01,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
+/* 0x000050A0: */ 0xA1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0C,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x000050B0: */ 0x68,0x50,0x00,0x00,0x41,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x02,0x28,0x20,0x5A,
+/* 0x000050C0: */ 0x10,0x3A,0x00,0x00,0x7C,0x0F,0x00,0x00,0x01,0x29,0x5A,0x5A,0x7C,0x50,0x00,0x00,
+/* 0x000050D0: */ 0x94,0x0C,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x000050E0: */ 0x78,0x50,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x000050F0: */ 0x78,0x50,0x00,0x00,0x41,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005100: */ 0x08,0x00,0x00,0x00,0xA8,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00005110: */ 0x78,0x50,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x06,0x00,0x00,0x00,
+/* 0x00005120: */ 0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xEC,0x50,0x00,0x00,
+/* 0x00005130: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00005140: */ 0x78,0x50,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x50,0x00,0x00,
+/* 0x00005150: */ 0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005160: */ 0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,0x41,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005170: */ 0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005180: */ 0x41,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005190: */ 0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x51,0x00,0x00,0xB4,0x1D,0x00,0x00,
+/* 0x000051A0: */ 0x4C,0x51,0x00,0x00,0x34,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x51,0x00,0x00,
+/* 0x000051B0: */ 0x28,0x21,0x00,0x00,0x9C,0x02,0x00,0x00,0x88,0x0C,0x00,0x00,0x4C,0x51,0x00,0x00,
+/* 0x000051C0: */ 0x34,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,
+/* 0x000051D0: */ 0x41,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0x03,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000051E0: */ 0x94,0x03,0x00,0x00,0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000051F0: */ 0xA3,0x00,0x00,0x00,0x34,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x51,0x00,0x00,
+/* 0x00005200: */ 0x10,0x3A,0x00,0x00,0x4C,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x07,0x00,0x00,
+/* 0x00005210: */ 0x0F,0x00,0x00,0x00,0x58,0x50,0x00,0x00,0x7F,0x00,0x00,0x00,0xEC,0x50,0x00,0x00,
+/* 0x00005220: */ 0x60,0x51,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x34,0x00,0x00,0x00,
+/* 0x00005230: */ 0x7C,0x0F,0x00,0x00,0x05,0x45,0x4C,0x53,0x45,0x20,0x5A,0x5A,0x74,0x51,0x00,0x00,
+/* 0x00005240: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x58,0x50,0x00,0x00,
+/* 0x00005250: */ 0x7F,0x00,0x00,0x00,0x24,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00005260: */ 0x7C,0x0F,0x00,0x00,0x07,0x52,0x45,0x50,0x45,0x41,0x54,0x20,0x74,0x51,0x00,0x00,
+/* 0x00005270: */ 0x10,0x3A,0x00,0x00,0x33,0x00,0x00,0x00,0x4C,0x51,0x00,0x00,0xA8,0x50,0x00,0x00,
+/* 0x00005280: */ 0x00,0x00,0x00,0x00,0xEC,0x50,0x00,0x00,0x60,0x51,0x00,0x00,0x25,0x00,0x00,0x00,
+/* 0x00005290: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x0C,0x49,0x46,0x20,
+/* 0x000052A0: */ 0x6F,0x72,0x20,0x57,0x48,0x49,0x4C,0x45,0x20,0x5A,0x5A,0x5A,0x74,0x51,0x00,0x00,
+/* 0x000052B0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x58,0x50,0x00,0x00,
+/* 0x000052C0: */ 0x7F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x000052D0: */ 0x07,0x55,0x4E,0x54,0x49,0x4C,0x3D,0x3E,0x74,0x51,0x00,0x00,0x10,0x3A,0x00,0x00,
+/* 0x000052E0: */ 0x4C,0x51,0x00,0x00,0xA8,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000052F0: */ 0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005300: */ 0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005310: */ 0x5C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x58,0x50,0x00,0x00,
+/* 0x00005320: */ 0x41,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00005330: */ 0x7C,0x0F,0x00,0x00,0x05,0x45,0x58,0x49,0x54,0x20,0x5A,0x5A,0x34,0x51,0x00,0x00,
+/* 0x00005340: */ 0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x01,0x3B,0x5A,0x5A,
+/* 0x00005350: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,
+/* 0x00005360: */ 0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x90,0x02,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005370: */ 0x59,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005380: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x98,0x51,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005390: */ 0x68,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000053A0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000053B0: */ 0xAC,0x51,0x00,0x00,0x15,0x00,0x00,0x00,0x40,0x02,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000053C0: */ 0x15,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000053D0: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x0C,0x52,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000053E0: */ 0x18,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000053F0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00005400: */ 0x84,0x52,0x00,0x00,0x15,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005410: */ 0x71,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005420: */ 0x38,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00005430: */ 0x58,0x50,0x00,0x00,0x7F,0x00,0x00,0x00,0xEC,0x50,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00005440: */ 0x05,0x4C,0x4F,0x4F,0x50,0x20,0x5A,0x5A,0x4C,0x51,0x00,0x00,0xA8,0x50,0x00,0x00,
+/* 0x00005450: */ 0x15,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,
+/* 0x00005460: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,
+/* 0x00005470: */ 0x33,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x58,0x50,0x00,0x00,
+/* 0x00005480: */ 0x7F,0x00,0x00,0x00,0xEC,0x50,0x00,0x00,0x7C,0x0F,0x00,0x00,0x05,0x2B,0x4C,0x4F,
+/* 0x00005490: */ 0x4F,0x50,0x5A,0x5A,0x4C,0x51,0x00,0x00,0xA8,0x50,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000054A0: */ 0x58,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000054B0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000054C0: */ 0xEC,0x50,0x00,0x00,0x7C,0x0F,0x00,0x00,0x02,0x44,0x4F,0x5A,0x59,0x00,0x00,0x00,
+/* 0x000054D0: */ 0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x58,0x50,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x000054E0: */ 0xA8,0x50,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000054F0: */ 0x80,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005500: */ 0x3C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xEC,0x50,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00005510: */ 0x04,0x3F,0x44,0x4F,0x20,0x5A,0x5A,0x5A,0x4C,0x51,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005520: */ 0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x58,0x50,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00005530: */ 0xA8,0x50,0x00,0x00,0x15,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005540: */ 0x7C,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005550: */ 0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x03,0x2E,0x22,0x20,
+/* 0x00005560: */ 0xC8,0x51,0x00,0x00,0x7C,0x0F,0x00,0x00,0x02,0x22,0x20,0x5A,0x15,0x00,0x00,0x00,
+/* 0x00005570: */ 0x88,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00005580: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00005590: */ 0x7C,0x0F,0x00,0x00,0x03,0x43,0x22,0x20,0xC8,0x51,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x000055A0: */ 0x02,0x22,0x20,0x5A,0x15,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000055B0: */ 0x60,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000055C0: */ 0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x03,0x53,0x22,0x20,
+/* 0x000055D0: */ 0xC8,0x51,0x00,0x00,0x7C,0x0F,0x00,0x00,0x02,0x22,0x20,0x5A,0x15,0x00,0x00,0x00,
+/* 0x000055E0: */ 0x18,0x00,0x00,0x00,0x0C,0x51,0x00,0x00,0x5F,0x00,0x00,0x00,0xEC,0x4F,0x00,0x00,
+/* 0x000055F0: */ 0x34,0x51,0x00,0x00,0x33,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005600: */ 0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00005610: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x58,0x50,0x00,0x00,
+/* 0x00005620: */ 0x9B,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,
+/* 0x00005630: */ 0x9B,0x00,0x00,0x00,0xA8,0x50,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005640: */ 0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,0x41,0x00,0x00,0x00,0x34,0x50,0x00,0x00,
+/* 0x00005650: */ 0x6A,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,
+/* 0x00005660: */ 0x41,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x34,0x00,0x00,0x00,
+/* 0x00005670: */ 0x88,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x58,0x50,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00005680: */ 0xEC,0x50,0x00,0x00,0x7C,0x0F,0x00,0x00,0x05,0x54,0x48,0x45,0x4E,0x20,0x5A,0x5A,
+/* 0x00005690: */ 0xA8,0x50,0x00,0x00,0x33,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xB8,0xFF,0xFF,0xFF,
+/* 0x000056A0: */ 0x3C,0x50,0x00,0x00,0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x000056B0: */ 0x60,0x00,0x00,0x00,0xEC,0x52,0x00,0x00,0x0F,0x00,0x00,0x00,0x68,0x50,0x00,0x00,
+/* 0x000056C0: */ 0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x74,0xFF,0xFF,0xFF,
+/* 0x000056D0: */ 0x28,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x000056E0: */ 0x28,0x53,0x45,0x45,0x20,0x63,0x6F,0x6E,0x64,0x69,0x74,0x69,0x6F,0x6E,0x61,0x6C,
+/* 0x000056F0: */ 0x20,0x61,0x6E,0x61,0x6C,0x79,0x73,0x65,0x72,0x20,0x6E,0x65,0x73,0x74,0x69,0x6E,
+/* 0x00005700: */ 0x67,0x20,0x66,0x61,0x69,0x6C,0x65,0x64,0x21,0x5A,0x5A,0x5A,0x68,0x1E,0x00,0x00,
+/* 0x00005710: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00005720: */ 0x59,0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00005730: */ 0x14,0x00,0x00,0x00,0x98,0x04,0x00,0x00,0x00,0x56,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005740: */ 0x3C,0x00,0x00,0x00,0x28,0x21,0x00,0x00,0x9C,0x02,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00005750: */ 0x24,0x20,0x69,0x73,0x20,0x70,0x72,0x69,0x6D,0x69,0x74,0x69,0x76,0x65,0x20,0x64,
+/* 0x00005760: */ 0x65,0x66,0x69,0x6E,0x65,0x64,0x20,0x69,0x6E,0x20,0x27,0x43,0x27,0x20,0x6B,0x65,
+/* 0x00005770: */ 0x72,0x6E,0x65,0x6C,0x2E,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005780: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005790: */ 0x68,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
+/* 0x000057A0: */ 0x88,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xBC,0x3E,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x000057B0: */ 0x18,0x02,0x00,0x00,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x08,0x00,0x00,
+/* 0x000057C0: */ 0xB8,0x00,0x00,0x00,0x0C,0x01,0x00,0x00,0xF0,0x0C,0x00,0x00,0x76,0x00,0x00,0x00,
+/* 0x000057D0: */ 0x35,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,
+/* 0x000057E0: */ 0x03,0x00,0x00,0x00,0x90,0x57,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000057F0: */ 0x35,0x00,0x00,0x00,0x9C,0x02,0x00,0x00,0x6C,0x20,0x00,0x00,0x50,0x1F,0x00,0x00,
+/* 0x00005800: */ 0x15,0x00,0x00,0x00,0xC8,0xFF,0xFF,0xFF,0x18,0x02,0x00,0x00,0xF0,0x0C,0x00,0x00,
+/* 0x00005810: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005820: */ 0x00,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00005830: */ 0x94,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x01,0x00,0x00,
+/* 0x00005840: */ 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x04,0x31,0x00,0x00,
+/* 0x00005850: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x04,0x31,0x00,0x00,
+/* 0x00005860: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x04,0x31,0x00,0x00,
+/* 0x00005870: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,
+/* 0x00005880: */ 0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005890: */ 0x00,0x00,0x00,0x00,0x0D,0x3A,0x3A,0x3A,0x3A,0x74,0x72,0x61,0x63,0x65,0x2E,0x66,
+/* 0x000058A0: */ 0x74,0x68,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000058B0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000058C0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000058D0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000058E0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000058F0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005900: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005910: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005920: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005930: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005940: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005950: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005960: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005970: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005980: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005990: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000059A0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000059B0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000059C0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000059D0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000059E0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x000059F0: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A00: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A10: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A20: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A30: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A40: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A50: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A60: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A70: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A80: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005A90: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005AA0: */ 0x5A,0x5A,0x5A,0x5A,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005AB0: */ 0x00,0x00,0x00,0x00,0xA4,0x5A,0x00,0x00,0x41,0x00,0x00,0x00,0xBC,0x01,0x00,0x00,
+/* 0x00005AC0: */ 0x35,0x00,0x00,0x00,0xA4,0x5A,0x00,0x00,0x9B,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00005AD0: */ 0x00,0x00,0x00,0x00,0xA4,0x5A,0x00,0x00,0x41,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00005AE0: */ 0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xB0,0x01,0x00,0x00,0xA4,0x5A,0x00,0x00,
+/* 0x00005AF0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA4,0x5A,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005B00: */ 0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0x01,0x00,0x00,
+/* 0x00005B10: */ 0xA4,0x5A,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005B20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x58,0x00,0x00,0x78,0x58,0x00,0x00,
+/* 0x00005B30: */ 0x7D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00005B40: */ 0xA4,0x5A,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x00005B50: */ 0xA4,0x5A,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA4,0x5A,0x00,0x00,
+/* 0x00005B60: */ 0x41,0x00,0x00,0x00,0x88,0x58,0x00,0x00,0x23,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x00005B70: */ 0x1C,0x54,0x52,0x41,0x43,0x45,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x73,0x74,
+/* 0x00005B80: */ 0x61,0x63,0x6B,0x20,0x4F,0x56,0x45,0x52,0x46,0x4C,0x4F,0x57,0x21,0x5A,0x5A,0x5A,
+/* 0x00005B90: */ 0x68,0x1E,0x00,0x00,0xA4,0x5A,0x00,0x00,0x41,0x00,0x00,0x00,0x88,0x58,0x00,0x00,
+/* 0x00005BA0: */ 0x78,0x58,0x00,0x00,0x7D,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,
+/* 0x00005BB0: */ 0x7D,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x1D,0x54,0x52,0x41,
+/* 0x00005BC0: */ 0x43,0x45,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x73,0x74,0x61,0x63,0x6B,0x20,
+/* 0x00005BD0: */ 0x55,0x4E,0x44,0x45,0x52,0x46,0x4C,0x4F,0x57,0x21,0x5A,0x5A,0x68,0x1E,0x00,0x00,
+/* 0x00005BE0: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005BF0: */ 0x28,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005C00: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005C10: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005C20: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005C30: */ 0x00,0x00,0x00,0x00,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005C40: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
+/* 0x00005C50: */ 0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x2A,0x00,0x00,0x00,
+/* 0x00005C60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005C70: */ 0x5C,0x5C,0x00,0x00,0x41,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x00005C80: */ 0x5C,0x5C,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,
+/* 0x00005C90: */ 0x6C,0x5C,0x00,0x00,0xE4,0x1B,0x00,0x00,0x6C,0x5C,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x00005CA0: */ 0x6C,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x5B,0x00,0x00,0x5C,0x5C,0x00,0x00,
+/* 0x00005CB0: */ 0x9B,0x00,0x00,0x00,0x8C,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x5C,0x00,0x00,
+/* 0x00005CC0: */ 0x5C,0x5C,0x00,0x00,0x9B,0x00,0x00,0x00,0x8C,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005CD0: */ 0x5C,0x5C,0x00,0x00,0x41,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00005CE0: */ 0x9B,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,0x5C,0x5C,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x00005CF0: */ 0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0xD0,0x5C,0x00,0x00,0xE4,0x1B,0x00,0x00,
+/* 0x00005D00: */ 0xD0,0x5C,0x00,0x00,0xA5,0x00,0x00,0x00,0xD0,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005D10: */ 0xF4,0x5B,0x00,0x00,0x5C,0x5C,0x00,0x00,0x9B,0x00,0x00,0x00,0xF4,0x5C,0x00,0x00,
+/* 0x00005D20: */ 0x00,0x00,0x00,0x00,0x28,0x5C,0x00,0x00,0x5C,0x5C,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00005D30: */ 0xF4,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005D40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005D50: */ 0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x38,0x5D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005D60: */ 0xB4,0x5A,0x00,0x00,0xA4,0x5A,0x00,0x00,0x41,0x00,0x00,0x00,0x38,0x5D,0x00,0x00,
+/* 0x00005D70: */ 0x9B,0x00,0x00,0x00,0xA4,0x5A,0x00,0x00,0x41,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00005D80: */ 0xC8,0x01,0x00,0x00,0x75,0x00,0x00,0x00,0xA4,0x5A,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00005D90: */ 0xA4,0x5A,0x00,0x00,0x41,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00005DA0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00005DB0: */ 0x9B,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00005DC0: */ 0x67,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xE4,0xFF,0xFF,0xFF,0x5D,0x00,0x00,0x00,
+/* 0x00005DD0: */ 0x00,0x00,0x00,0x00,0x38,0x5D,0x00,0x00,0x41,0x00,0x00,0x00,0xA4,0x5A,0x00,0x00,
+/* 0x00005DE0: */ 0x9B,0x00,0x00,0x00,0xD4,0x5A,0x00,0x00,0x38,0x5D,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00005DF0: */ 0x00,0x00,0x00,0x00,0x38,0x5D,0x00,0x00,0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00005E00: */ 0xC8,0x01,0x00,0x00,0x75,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E10: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xF4,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E20: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xF4,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E30: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xF4,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E40: */ 0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xF4,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E50: */ 0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xF4,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E60: */ 0x59,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0xF4,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E70: */ 0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xF4,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E80: */ 0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xF4,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005E90: */ 0x38,0x5D,0x00,0x00,0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xC8,0x01,0x00,0x00,
+/* 0x00005EA0: */ 0x75,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005EB0: */ 0x01,0x00,0x00,0x00,0x90,0x5E,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005EC0: */ 0x02,0x00,0x00,0x00,0x90,0x5E,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005ED0: */ 0x03,0x00,0x00,0x00,0x90,0x5E,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005EE0: */ 0x04,0x00,0x00,0x00,0x90,0x5E,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005EF0: */ 0x05,0x00,0x00,0x00,0x90,0x5E,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005F00: */ 0x06,0x00,0x00,0x00,0x90,0x5E,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005F10: */ 0x07,0x00,0x00,0x00,0x90,0x5E,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00005F20: */ 0x08,0x00,0x00,0x00,0x90,0x5E,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x5D,0x00,0x00,
+/* 0x00005F30: */ 0x41,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xC8,0x01,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00005F40: */ 0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00005F50: */ 0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00005F60: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00005F70: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00005F80: */ 0x24,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xB4,0x5A,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00005F90: */ 0xB4,0x5A,0x00,0x00,0xA4,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00005FA0: */ 0x67,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00005FB0: */ 0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00005FC0: */ 0x5C,0x00,0x00,0x00,0xD4,0x5A,0x00,0x00,0x6A,0x00,0x00,0x00,0xD4,0x5A,0x00,0x00,
+/* 0x00005FD0: */ 0x02,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00005FE0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x00005FF0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00006000: */ 0x28,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0xB4,0x5A,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00006010: */ 0xB4,0x5A,0x00,0x00,0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006020: */ 0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00006030: */ 0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x00006040: */ 0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xD4,0x5A,0x00,0x00,
+/* 0x00006050: */ 0x6B,0x00,0x00,0x00,0xD4,0x5A,0x00,0x00,0x6D,0x00,0x00,0x00,0x63,0x00,0x00,0x00,
+/* 0x00006060: */ 0x5F,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x63,0x00,0x00,0x00,
+/* 0x00006070: */ 0x61,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00006080: */ 0x62,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006090: */ 0x00,0x00,0x00,0x80,0x11,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x000060A0: */ 0x75,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x63,0x00,0x00,0x00,
+/* 0x000060B0: */ 0x75,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
+/* 0x000060C0: */ 0x11,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000060D0: */ 0xA4,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x67,0x00,0x00,0x00,
+/* 0x000060E0: */ 0x15,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0xB4,0x5A,0x00,0x00,
+/* 0x000060F0: */ 0x61,0x00,0x00,0x00,0xB4,0x5A,0x00,0x00,0x60,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006100: */ 0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00006110: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00006120: */ 0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x01,0x00,0x00,
+/* 0x00006130: */ 0x23,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x22,0x00,0x00,0x00,
+/* 0x00006140: */ 0x7A,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00006150: */ 0x1A,0x54,0x52,0x41,0x43,0x45,0x20,0x2D,0x20,0x49,0x50,0x20,0x6F,0x75,0x74,0x20,
+/* 0x00006160: */ 0x6F,0x66,0x20,0x72,0x61,0x6E,0x67,0x65,0x20,0x3D,0x20,0x5A,0x5F,0x00,0x00,0x00,
+/* 0x00006170: */ 0x10,0x3A,0x00,0x00,0x28,0x00,0x00,0x00,0x80,0x05,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00006180: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00006190: */ 0x5F,0x00,0x00,0x00,0xA4,0x04,0x00,0x00,0x28,0x21,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000061A0: */ 0x9C,0x02,0x00,0x00,0x77,0x00,0x00,0x00,0x98,0x04,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000061B0: */ 0x9C,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x02,0x20,0x2B,0x5A,
+/* 0x000061C0: */ 0xB4,0x1D,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,
+/* 0x000061D0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x000061E0: */ 0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x01,0x3C,0x5A,0x5A,
+/* 0x000061F0: */ 0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xB4,0x02,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006200: */ 0x01,0x00,0x00,0x00,0xC4,0x1D,0x00,0x00,0x7C,0x0F,0x00,0x00,0x01,0x3A,0x5A,0x5A,
+/* 0x00006210: */ 0x2E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xC4,0x1D,0x00,0x00,
+/* 0x00006220: */ 0x7C,0x0F,0x00,0x00,0x02,0x3E,0x20,0x5A,0x8E,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x00006230: */ 0x9B,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x05,0x00,0x00,0x00,
+/* 0x00006240: */ 0x74,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006250: */ 0x75,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00006260: */ 0x04,0x2E,0x2E,0x2E,0x20,0x5A,0x5A,0x5A,0x5F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006270: */ 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006280: */ 0x53,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,
+/* 0x00006290: */ 0xB4,0x1D,0x00,0x00,0x71,0x00,0x00,0x00,0xE4,0xFF,0xFF,0xFF,0x5D,0x00,0x00,0x00,
+/* 0x000062A0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x000062B0: */ 0xF0,0x0C,0x00,0x00,0x5F,0x00,0x00,0x00,0x18,0x61,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x000062C0: */ 0x03,0x3C,0x3C,0x20,0x5F,0x00,0x00,0x00,0x84,0x61,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000062D0: */ 0x10,0x00,0x00,0x00,0x24,0x58,0x00,0x00,0xCC,0x61,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000062E0: */ 0x28,0x00,0x00,0x00,0x24,0x58,0x00,0x00,0x7C,0x0F,0x00,0x00,0x03,0x20,0x7C,0x7C,
+/* 0x000062F0: */ 0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,0x41,0x00,0x00,0x00,0x58,0x08,0x00,0x00,
+/* 0x00006300: */ 0x94,0x0C,0x00,0x00,0x5F,0x00,0x00,0x00,0x34,0x50,0x00,0x00,0xA4,0x01,0x00,0x00,
+/* 0x00006310: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00006320: */ 0xEC,0x4F,0x00,0x00,0x88,0x0C,0x00,0x00,0x59,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006330: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00006340: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,
+/* 0x00006350: */ 0x15,0x00,0x00,0x00,0x40,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006360: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00006370: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x0C,0x09,0x00,0x00,0xB4,0x1D,0x00,0x00,
+/* 0x00006380: */ 0x15,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00006390: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000063A0: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,
+/* 0x000063B0: */ 0x15,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000063C0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000063D0: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,
+/* 0x000063E0: */ 0x15,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x000063F0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00006400: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00006410: */ 0x7C,0x0F,0x00,0x00,0x01,0x22,0x5A,0x5A,0x15,0x00,0x00,0x00,0x78,0x00,0x00,0x00,
+/* 0x00006420: */ 0x59,0x00,0x00,0x00,0x44,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006430: */ 0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006440: */ 0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x01,0x22,0x5A,0x5A,
+/* 0x00006450: */ 0x15,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x60,0x0F,0x00,0x00,
+/* 0x00006460: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00006470: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00006480: */ 0x7C,0x0F,0x00,0x00,0x01,0x22,0x5A,0x5A,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00006490: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x58,0x00,0x00,
+/* 0x000064A0: */ 0x7C,0x0F,0x00,0x00,0x03,0x3E,0x3E,0x20,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000064B0: */ 0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x000064C0: */ 0x60,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000064D0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000064E0: */ 0x88,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,0x7F,0x00,0x00,0x00,
+/* 0x000064F0: */ 0xD4,0x5A,0x00,0x00,0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xE8,0x07,0x00,0x00,
+/* 0x00006500: */ 0x59,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006510: */ 0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006520: */ 0xBC,0x01,0x00,0x00,0x14,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00006530: */ 0xB4,0x07,0x00,0x00,0x59,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00006540: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00006550: */ 0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006560: */ 0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x78,0x07,0x00,0x00,
+/* 0x00006570: */ 0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006580: */ 0xBC,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006590: */ 0x0C,0x09,0x00,0x00,0xA4,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x000065A0: */ 0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x3C,0x07,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000065B0: */ 0x15,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000065C0: */ 0x24,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000065D0: */ 0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000065E0: */ 0x04,0x07,0x00,0x00,0x59,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000065F0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00006600: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006610: */ 0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,
+/* 0x00006620: */ 0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xA4,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006630: */ 0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xA8,0x06,0x00,0x00,
+/* 0x00006640: */ 0x59,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006650: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xB4,0x5A,0x00,0x00,
+/* 0x00006660: */ 0x15,0x00,0x00,0x00,0x80,0x06,0x00,0x00,0x59,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00006670: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006680: */ 0x33,0x00,0x00,0x00,0xD4,0x5A,0x00,0x00,0x15,0x00,0x00,0x00,0x58,0x06,0x00,0x00,
+/* 0x00006690: */ 0x59,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000066A0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xF8,0x5A,0x00,0x00,
+/* 0x000066B0: */ 0x15,0x00,0x00,0x00,0x30,0x06,0x00,0x00,0x59,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,
+/* 0x000066C0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000066D0: */ 0x33,0x00,0x00,0x00,0x4C,0x5B,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x06,0x00,0x00,
+/* 0x000066E0: */ 0x59,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000066F0: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xB4,0x5A,0x00,0x00,
+/* 0x00006700: */ 0xB4,0x5A,0x00,0x00,0x15,0x00,0x00,0x00,0xDC,0x05,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006710: */ 0x0B,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006720: */ 0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xD4,0x5A,0x00,0x00,0xD4,0x5A,0x00,0x00,
+/* 0x00006730: */ 0x15,0x00,0x00,0x00,0xB0,0x05,0x00,0x00,0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,
+/* 0x00006740: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00006750: */ 0x33,0x00,0x00,0x00,0xF8,0x5A,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00006760: */ 0x0C,0x5B,0x00,0x00,0x15,0x00,0x00,0x00,0x7C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006770: */ 0x53,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006780: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00006790: */ 0x0C,0x5B,0x00,0x00,0x15,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000067A0: */ 0x55,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000067B0: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x000067C0: */ 0x0C,0x5B,0x00,0x00,0x15,0x00,0x00,0x00,0x1C,0x05,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000067D0: */ 0x57,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000067E0: */ 0x2C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x4C,0x5B,0x00,0x00,0x4C,0x5B,0x00,0x00,
+/* 0x000067F0: */ 0x5F,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x00006800: */ 0x67,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xDC,0x04,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006810: */ 0x71,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006820: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xB0,0x5F,0x00,0x00,
+/* 0x00006830: */ 0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xAC,0x04,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006840: */ 0x7E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006850: */ 0x1C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x34,0x60,0x00,0x00,
+/* 0x00006860: */ 0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x7C,0x04,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006870: */ 0x32,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006880: */ 0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xB4,0x5A,0x00,0x00,0xB4,0x5A,0x00,0x00,
+/* 0x00006890: */ 0x15,0x00,0x00,0x00,0x50,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x000068A0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000068B0: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x48,0x5F,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x000068C0: */ 0x15,0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x59,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x000068D0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
+/* 0x000068E0: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x000068F0: */ 0x5F,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0x94,0x03,0x00,0x00,
+/* 0x00006900: */ 0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xDC,0x03,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00006910: */ 0x44,0x0F,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00006920: */ 0x28,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006930: */ 0x68,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0x94,0x03,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00006940: */ 0x15,0x00,0x00,0x00,0xA0,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x60,0x0F,0x00,0x00,
+/* 0x00006950: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,
+/* 0x00006960: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006970: */ 0x68,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0x94,0x03,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00006980: */ 0x15,0x00,0x00,0x00,0x60,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00006990: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000069A0: */ 0x33,0x00,0x00,0x00,0x48,0x5D,0x00,0x00,0x15,0x00,0x00,0x00,0x38,0x03,0x00,0x00,
+/* 0x000069B0: */ 0x59,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000069C0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xD4,0x5D,0x00,0x00,
+/* 0x000069D0: */ 0x15,0x00,0x00,0x00,0x10,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x5E,0x00,0x00,0x00,
+/* 0x000069E0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000069F0: */ 0x33,0x00,0x00,0x00,0xF4,0x5D,0x00,0x00,0x15,0x00,0x00,0x00,0xE8,0x02,0x00,0x00,
+/* 0x00006A00: */ 0x59,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006A10: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x10,0x5E,0x00,0x00,
+/* 0x00006A20: */ 0x15,0x00,0x00,0x00,0xC0,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00006A30: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006A40: */ 0x33,0x00,0x00,0x00,0x20,0x5E,0x00,0x00,0x15,0x00,0x00,0x00,0x98,0x02,0x00,0x00,
+/* 0x00006A50: */ 0x59,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006A60: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x30,0x5E,0x00,0x00,
+/* 0x00006A70: */ 0x15,0x00,0x00,0x00,0x70,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x62,0x00,0x00,0x00,
+/* 0x00006A80: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006A90: */ 0x33,0x00,0x00,0x00,0x40,0x5E,0x00,0x00,0x15,0x00,0x00,0x00,0x48,0x02,0x00,0x00,
+/* 0x00006AA0: */ 0x59,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006AB0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x50,0x5E,0x00,0x00,
+/* 0x00006AC0: */ 0x15,0x00,0x00,0x00,0x20,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x64,0x00,0x00,0x00,
+/* 0x00006AD0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006AE0: */ 0x33,0x00,0x00,0x00,0x60,0x5E,0x00,0x00,0x15,0x00,0x00,0x00,0xF8,0x01,0x00,0x00,
+/* 0x00006AF0: */ 0x59,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006B00: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x70,0x5E,0x00,0x00,
+/* 0x00006B10: */ 0x15,0x00,0x00,0x00,0xD0,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x66,0x00,0x00,0x00,
+/* 0x00006B20: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006B30: */ 0x33,0x00,0x00,0x00,0x80,0x5E,0x00,0x00,0x15,0x00,0x00,0x00,0xA8,0x01,0x00,0x00,
+/* 0x00006B40: */ 0x59,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006B50: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x90,0x5E,0x00,0x00,
+/* 0x00006B60: */ 0x15,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00006B70: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006B80: */ 0x33,0x00,0x00,0x00,0xAC,0x5E,0x00,0x00,0x15,0x00,0x00,0x00,0x58,0x01,0x00,0x00,
+/* 0x00006B90: */ 0x59,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006BA0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xBC,0x5E,0x00,0x00,
+/* 0x00006BB0: */ 0x15,0x00,0x00,0x00,0x30,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,
+/* 0x00006BC0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006BD0: */ 0x33,0x00,0x00,0x00,0xCC,0x5E,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x01,0x00,0x00,
+/* 0x00006BE0: */ 0x59,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006BF0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xDC,0x5E,0x00,0x00,
+/* 0x00006C00: */ 0x15,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,
+/* 0x00006C10: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006C20: */ 0x33,0x00,0x00,0x00,0xEC,0x5E,0x00,0x00,0x15,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,
+/* 0x00006C30: */ 0x59,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006C40: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xFC,0x5E,0x00,0x00,
+/* 0x00006C50: */ 0x15,0x00,0x00,0x00,0x90,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x6F,0x00,0x00,0x00,
+/* 0x00006C60: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006C70: */ 0x33,0x00,0x00,0x00,0x0C,0x5F,0x00,0x00,0x15,0x00,0x00,0x00,0x68,0x00,0x00,0x00,
+/* 0x00006C80: */ 0x59,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00006C90: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x1C,0x5F,0x00,0x00,
+/* 0x00006CA0: */ 0x15,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x67,0x00,0x00,0x00,
+/* 0x00006CB0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006CC0: */ 0x33,0x00,0x00,0x00,0x2C,0x5F,0x00,0x00,0x15,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00006CD0: */ 0xA2,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
+/* 0x00006CE0: */ 0x33,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00006CF0: */ 0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00006D00: */ 0x5C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x18,0x61,0x00,0x00,0xA8,0x5C,0x00,0x00,
+/* 0x00006D10: */ 0x51,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0x24,0x5D,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00006D20: */ 0x59,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,
+/* 0x00006D30: */ 0x9B,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x34,0x50,0x00,0x00,0x6A,0x00,0x00,0x00,
+/* 0x00006D40: */ 0xA4,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x67,0x00,0x00,0x00,
+/* 0x00006D50: */ 0x60,0x00,0x00,0x00,0x38,0x58,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x00006D60: */ 0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xB0,0x64,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00006D70: */ 0x15,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,
+/* 0x00006D80: */ 0x41,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x74,0x58,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006D90: */ 0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006DA0: */ 0xB4,0x5A,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006DB0: */ 0x64,0x58,0x00,0x00,0x7F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x68,0x04,0x00,0x00,
+/* 0x00006DC0: */ 0x7D,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006DD0: */ 0x5F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xB0,0x64,0x00,0x00,0x69,0x00,0x00,0x00,
+/* 0x00006DE0: */ 0x5C,0x5B,0x00,0x00,0xBC,0x5C,0x00,0x00,0x10,0x5D,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x00006DF0: */ 0xA9,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00006E00: */ 0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00006E10: */ 0x5C,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006E20: */ 0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006E30: */ 0xF0,0x6C,0x00,0x00,0x69,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,
+/* 0x00006E40: */ 0x41,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00006E50: */ 0x5F,0x00,0x00,0x00,0xA4,0x62,0x00,0x00,0x15,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00006E60: */ 0xB6,0x00,0x00,0x00,0x7C,0x01,0x00,0x00,0x7C,0x0F,0x00,0x00,0x09,0x46,0x69,0x6E,
+/* 0x00006E70: */ 0x69,0x73,0x68,0x65,0x64,0x2E,0x5A,0x5A,0x28,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00006E80: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00006E90: */ 0x38,0x58,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00006EA0: */ 0x7C,0x0F,0x00,0x00,0x23,0x53,0x6F,0x72,0x72,0x79,0x2E,0x20,0x59,0x6F,0x75,0x20,
+/* 0x00006EB0: */ 0x63,0x61,0x6E,0x27,0x74,0x20,0x74,0x72,0x61,0x63,0x65,0x20,0x61,0x20,0x70,0x72,
+/* 0x00006EC0: */ 0x69,0x6D,0x69,0x74,0x69,0x76,0x65,0x2E,0x28,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00006ED0: */ 0x60,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006EE0: */ 0x64,0x58,0x00,0x00,0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,
+/* 0x00006EF0: */ 0x41,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x74,0x58,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00006F00: */ 0x28,0x5B,0x00,0x00,0x98,0x04,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x58,0x00,0x00,
+/* 0x00006F10: */ 0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x58,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006F20: */ 0xA4,0x62,0x00,0x00,0xB6,0x00,0x00,0x00,0x90,0x01,0x00,0x00,0xBC,0x5C,0x00,0x00,
+/* 0x00006F30: */ 0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00006F40: */ 0x0F,0x00,0x00,0x00,0x74,0x58,0x00,0x00,0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006F50: */ 0x54,0x58,0x00,0x00,0x41,0x00,0x00,0x00,0x04,0x6E,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006F60: */ 0x54,0x58,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006F70: */ 0x64,0x58,0x00,0x00,0x41,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00006F80: */ 0x74,0x58,0x00,0x00,0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x58,0x00,0x00,
+/* 0x00006F90: */ 0x41,0x00,0x00,0x00,0x04,0x6E,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x58,0x00,0x00,
+/* 0x00006FA0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,
+/* 0x00006FB0: */ 0x41,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x74,0x58,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00006FC0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x00006FD0: */ 0x0F,0x00,0x00,0x00,0x54,0x58,0x00,0x00,0x41,0x00,0x00,0x00,0x04,0x6E,0x00,0x00,
+/* 0x00006FE0: */ 0x0F,0x00,0x00,0x00,0x54,0x58,0x00,0x00,0x9B,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x00006FF0: */ 0xE0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00007000: */ 0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00007010: */ 0x5C,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xF8,0x6F,0x00,0x00,
+/* 0x00007020: */ 0x8C,0x0D,0x00,0x00,0x23,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,
+/* 0x00007030: */ 0x7C,0x0F,0x00,0x00,0x18,0x52,0x65,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x54,
+/* 0x00007040: */ 0x52,0x41,0x43,0x45,0x2E,0x55,0x53,0x45,0x52,0x20,0x21,0x21,0x21,0x5A,0x5A,0x5A,
+/* 0x00007050: */ 0x28,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007060: */ 0xF8,0x6F,0x00,0x00,0x44,0x0D,0x00,0x00,0x5F,0x00,0x00,0x00,0x26,0x00,0x00,0x00,
+/* 0x00007070: */ 0x5F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,
+/* 0x00007080: */ 0x7A,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00007090: */ 0x20,0x47,0x44,0x20,0x6C,0x65,0x76,0x65,0x6C,0x20,0x6F,0x75,0x74,0x20,0x6F,0x66,
+/* 0x000070A0: */ 0x20,0x72,0x61,0x6E,0x67,0x65,0x20,0x28,0x30,0x2D,0x31,0x30,0x29,0x2C,0x20,0x3D,
+/* 0x000070B0: */ 0x20,0x5A,0x5A,0x5A,0x5F,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x28,0x00,0x00,0x00,
+/* 0x000070C0: */ 0x15,0x00,0x00,0x00,0xDC,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,
+/* 0x000070D0: */ 0x41,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x000070E0: */ 0x74,0x58,0x00,0x00,0x9B,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,
+/* 0x000070F0: */ 0x41,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00007100: */ 0x54,0x58,0x00,0x00,0x41,0x00,0x00,0x00,0xF8,0x6F,0x00,0x00,0x81,0x00,0x00,0x00,
+/* 0x00007110: */ 0xBC,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x14,0x54,0x52,0x41,
+/* 0x00007120: */ 0x43,0x45,0x2E,0x55,0x53,0x45,0x52,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x65,0x64,
+/* 0x00007130: */ 0x20,0x5A,0x5A,0x5A,0x35,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00007140: */ 0x16,0x73,0x6F,0x20,0x73,0x74,0x6F,0x70,0x70,0x69,0x6E,0x67,0x20,0x65,0x78,0x65,
+/* 0x00007150: */ 0x63,0x75,0x74,0x69,0x6F,0x6E,0x2E,0x5A,0x28,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007160: */ 0x38,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x58,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00007170: */ 0x04,0x6E,0x00,0x00,0x0F,0x00,0x00,0x00,0x54,0x58,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00007180: */ 0x0F,0x00,0x00,0x00,0x64,0x58,0x00,0x00,0x41,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00007190: */ 0x1F,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x60,0xFF,0xFF,0xFF,
+/* 0x000071A0: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000071B0: */ 0x04,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x37,0x20,0x20,0x54,
+/* 0x000071C0: */ 0x52,0x41,0x43,0x45,0x20,0x20,0x28,0x20,0x69,0x2A,0x78,0x20,0x3C,0x6E,0x61,0x6D,
+/* 0x000071D0: */ 0x65,0x3E,0x20,0x2D,0x2D,0x20,0x2C,0x20,0x73,0x65,0x74,0x75,0x70,0x20,0x74,0x72,
+/* 0x000071E0: */ 0x61,0x63,0x65,0x20,0x66,0x6F,0x72,0x20,0x46,0x6F,0x72,0x74,0x68,0x20,0x77,0x6F,
+/* 0x000071F0: */ 0x72,0x64,0x20,0x29,0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x1B,0x20,0x20,0x53,
+/* 0x00007200: */ 0x20,0x20,0x20,0x20,0x20,0x20,0x28,0x20,0x2D,0x2D,0x20,0x2C,0x20,0x73,0x74,0x65,
+/* 0x00007210: */ 0x70,0x20,0x6F,0x76,0x65,0x72,0x20,0x29,0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00007220: */ 0x2B,0x20,0x20,0x53,0x4D,0x20,0x20,0x20,0x20,0x20,0x28,0x20,0x6D,0x61,0x6E,0x79,
+/* 0x00007230: */ 0x20,0x2D,0x2D,0x20,0x2C,0x20,0x73,0x74,0x65,0x70,0x20,0x6F,0x76,0x65,0x72,0x20,
+/* 0x00007240: */ 0x6D,0x61,0x6E,0x79,0x20,0x74,0x69,0x6D,0x65,0x73,0x20,0x29,0x28,0x00,0x00,0x00,
+/* 0x00007250: */ 0x7C,0x0F,0x00,0x00,0x1B,0x20,0x20,0x53,0x44,0x20,0x20,0x20,0x20,0x20,0x28,0x20,
+/* 0x00007260: */ 0x2D,0x2D,0x20,0x2C,0x20,0x73,0x74,0x65,0x70,0x20,0x64,0x6F,0x77,0x6E,0x20,0x29,
+/* 0x00007270: */ 0x28,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x23,0x20,0x20,0x47,0x20,0x20,0x20,0x20,
+/* 0x00007280: */ 0x20,0x20,0x28,0x20,0x2D,0x2D,0x20,0x2C,0x20,0x67,0x6F,0x20,0x74,0x6F,0x20,0x65,
+/* 0x00007290: */ 0x6E,0x64,0x20,0x6F,0x66,0x20,0x77,0x6F,0x72,0x64,0x20,0x29,0x28,0x00,0x00,0x00,
+/* 0x000072A0: */ 0x7C,0x0F,0x00,0x00,0x36,0x20,0x20,0x47,0x44,0x20,0x20,0x20,0x20,0x20,0x28,0x20,
+/* 0x000072B0: */ 0x6E,0x20,0x2D,0x2D,0x20,0x2C,0x20,0x67,0x6F,0x20,0x64,0x6F,0x77,0x6E,0x20,0x4E,
+/* 0x000072C0: */ 0x20,0x6C,0x65,0x76,0x65,0x6C,0x73,0x20,0x66,0x72,0x6F,0x6D,0x20,0x63,0x75,0x72,
+/* 0x000072D0: */ 0x72,0x65,0x6E,0x74,0x20,0x6C,0x65,0x76,0x65,0x6C,0x2C,0x5A,0x28,0x00,0x00,0x00,
+/* 0x000072E0: */ 0x7C,0x0F,0x00,0x00,0x2D,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+/* 0x000072F0: */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x74,0x6F,0x70,0x20,0x61,0x74,0x20,0x65,
+/* 0x00007300: */ 0x6E,0x64,0x20,0x6F,0x66,0x20,0x74,0x68,0x69,0x73,0x20,0x6C,0x65,0x76,0x65,0x6C,
+/* 0x00007310: */ 0x20,0x29,0x5A,0x5A,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007320: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007330: */ 0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007340: */ 0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007350: */ 0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007360: */ 0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007370: */ 0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007380: */ 0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x4C,0x73,0x00,0x00,
+/* 0x00007390: */ 0xCC,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x5B,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,
+/* 0x000073A0: */ 0x00,0x00,0x00,0x00,0x8C,0x73,0x00,0x00,0x7C,0x0F,0x00,0x00,0x02,0x32,0x4A,0x5A,
+/* 0x000073B0: */ 0x00,0x00,0x00,0x00,0x8C,0x73,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000073C0: */ 0xA2,0x00,0x00,0x00,0xB4,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000073D0: */ 0xC4,0x1D,0x00,0x00,0x8E,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000073E0: */ 0x59,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000073F0: */ 0x8C,0x73,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00007400: */ 0xB4,0x02,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0x1D,0x00,0x00,
+/* 0x00007410: */ 0x8E,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007420: */ 0x43,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x73,0x00,0x00,
+/* 0x00007430: */ 0x59,0x00,0x00,0x00,0x4B,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007440: */ 0x59,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007450: */ 0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x88,0x0C,0x00,0x00,
+/* 0x00007460: */ 0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007470: */ 0x56,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,0x7C,0x0F,0x00,0x00,
+/* 0x00007480: */ 0x04,0x2C,0x20,0x24,0x20,0x5A,0x5A,0x5A,0x35,0x00,0x00,0x00,0x10,0x3A,0x00,0x00,
+/* 0x00007490: */ 0x28,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000074A0: */ 0xBC,0x00,0x00,0x00,0xCC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000074B0: */ 0x7A,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x61,0x00,0x00,0x00,
+/* 0x000074C0: */ 0x32,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x71,0x00,0x00,0x00,
+/* 0x000074D0: */ 0xF4,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xAC,0x74,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000074E0: */ 0x05,0x00,0x00,0x00,0xB4,0x73,0x00,0x00,0x59,0x00,0x00,0x00,0xE8,0x03,0x00,0x00,
+/* 0x000074F0: */ 0x54,0x38,0x00,0x00,0x2C,0x74,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0x74,0x00,0x00,
+/* 0x00007500: */ 0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0xB4,0x73,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007510: */ 0xE8,0x03,0x00,0x00,0x54,0x38,0x00,0x00,0x7C,0x0F,0x00,0x00,0x05,0x31,0x32,0x33,
+/* 0x00007520: */ 0x34,0x35,0x5A,0x5A,0x59,0x00,0x00,0x00,0xE8,0x03,0x00,0x00,0x54,0x38,0x00,0x00,
+/* 0x00007530: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007540: */ 0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007550: */ 0x00,0x08,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007560: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007570: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007580: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007590: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000075A0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000075B0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000075C0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000075D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000075E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000075F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007600: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007610: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007620: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007630: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007640: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007650: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007660: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007670: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007680: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007690: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000076A0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000076B0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000076C0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000076D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000076E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000076F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007700: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007710: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007720: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007730: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007740: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007750: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007760: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007770: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007780: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007790: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000077A0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000077B0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000077C0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000077D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000077E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000077F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007800: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007810: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007820: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007830: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007840: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007850: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007860: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007870: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007880: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007890: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000078A0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000078B0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000078C0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000078D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000078E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000078F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007900: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007910: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007920: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007930: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007940: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007950: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007960: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007970: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007980: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007990: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000079A0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000079B0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000079C0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000079D0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000079E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000079F0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A70: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A80: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007A90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007AA0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007AB0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007AC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007AD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007AE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007AF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B70: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B80: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007B90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007BA0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007BB0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007BC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007BD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007BE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007BF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C70: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C80: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007C90: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007CA0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007CB0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007CC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007CD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007CE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007CF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007D00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007D10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007D20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007D30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007D40: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007D50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007D60: */ 0x54,0x75,0x00,0x00,0x44,0x75,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007D70: */ 0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00007D80: */ 0x88,0x38,0x00,0x00,0x9C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00007D90: */ 0x7A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007DA0: */ 0xF8,0xFF,0xFF,0xFF,0x88,0x38,0x00,0x00,0x7B,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x00007DB0: */ 0x02,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007DC0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007DD0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007DE0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007DF0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007E00: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007E10: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007E20: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00007E30: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00007E40: */ 0x54,0x75,0x00,0x00,0x35,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00007E50: */ 0x44,0x75,0x00,0x00,0x8E,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007E60: */ 0x00,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x10,0x3B,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007E70: */ 0x54,0x75,0x00,0x00,0x68,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007E80: */ 0x00,0x00,0x00,0x00,0xBC,0x7D,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007E90: */ 0xBC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x54,0x75,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00007EA0: */ 0x00,0x00,0x00,0x00,0x90,0x7E,0x00,0x00,0x68,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007EB0: */ 0x70,0x7E,0x00,0x00,0x1D,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007EC0: */ 0xA4,0x7E,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x7E,0x00,0x00,
+/* 0x00007ED0: */ 0x70,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00007EE0: */ 0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007EF0: */ 0x35,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00007F00: */ 0x04,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007F10: */ 0xC0,0x7E,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00007F20: */ 0x59,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00007F30: */ 0x38,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x22,0x4B,0x48,0x2E,0x41,0x44,0x44,0x2E,
+/* 0x00007F40: */ 0x4C,0x49,0x4E,0x45,0x20,0x2D,0x20,0x54,0x6F,0x6F,0x20,0x62,0x69,0x67,0x20,0x66,
+/* 0x00007F50: */ 0x6F,0x72,0x20,0x68,0x69,0x73,0x74,0x6F,0x72,0x79,0x21,0x5A,0x18,0x02,0x00,0x00,
+/* 0x00007F60: */ 0x15,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xB0,0x7E,0x00,0x00,
+/* 0x00007F70: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x18,0x02,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00007F80: */ 0x7C,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00007F90: */ 0xBC,0x7D,0x00,0x00,0x9B,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xB0,0x01,0x00,0x00,
+/* 0x00007FA0: */ 0x3C,0x7E,0x00,0x00,0x8D,0x00,0x00,0x00,0x54,0x75,0x00,0x00,0x2B,0x00,0x00,0x00,
+/* 0x00007FB0: */ 0x8D,0x00,0x00,0x00,0x10,0x7F,0x00,0x00,0x2B,0x00,0x00,0x00,0xDC,0x7D,0x00,0x00,
+/* 0x00007FC0: */ 0x41,0x00,0x00,0x00,0xC0,0x7E,0x00,0x00,0x98,0x7D,0x00,0x00,0xDC,0x7D,0x00,0x00,
+/* 0x00007FD0: */ 0x41,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,
+/* 0x00007FE0: */ 0x11,0x00,0x00,0x00,0xDC,0x7D,0x00,0x00,0x9B,0x00,0x00,0x00,0x54,0x75,0x00,0x00,
+/* 0x00007FF0: */ 0x02,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008000: */ 0xA0,0x08,0x00,0x00,0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
+/* 0x00008010: */ 0x5C,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0x69,0x00,0x00,0x00,0x90,0x7E,0x00,0x00,
+/* 0x00008020: */ 0x18,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x90,0x7E,0x00,0x00,
+/* 0x00008030: */ 0xD8,0x7E,0x00,0x00,0x6A,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x7D,0x00,0x00,
+/* 0x00008040: */ 0x23,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00008050: */ 0x18,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00008060: */ 0x54,0x75,0x00,0x00,0x75,0x00,0x00,0x00,0xBC,0x7D,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00008070: */ 0xA0,0x08,0x00,0x00,0x69,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00008080: */ 0x00,0x00,0x00,0x00,0xBC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00008090: */ 0x35,0x00,0x00,0x00,0x64,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
+/* 0x000080A0: */ 0x90,0x7E,0x00,0x00,0xF0,0x7E,0x00,0x00,0x54,0x75,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000080B0: */ 0xBC,0x7D,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,
+/* 0x000080C0: */ 0xBC,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xA4,0x7E,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x000080D0: */ 0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x24,0x02,0x00,0x00,
+/* 0x000080E0: */ 0x00,0x00,0x00,0x00,0x7C,0x7E,0x00,0x00,0xCC,0x7E,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000080F0: */ 0x75,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x00,0x80,0x00,0x00,
+/* 0x00008100: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x1B,0x4C,0x69,0x6E,
+/* 0x00008110: */ 0x65,0x20,0x6E,0x6F,0x74,0x20,0x69,0x6E,0x20,0x48,0x69,0x73,0x74,0x6F,0x72,0x79,
+/* 0x00008120: */ 0x20,0x42,0x75,0x66,0x66,0x65,0x72,0x21,0x28,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00008130: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008140: */ 0xA8,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0x90,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008150: */ 0x1C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008160: */ 0x00,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008170: */ 0x0D,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x81,0x00,0x00,
+/* 0x00008180: */ 0x2C,0x74,0x00,0x00,0x35,0x00,0x00,0x00,0xEC,0x7D,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x00008190: */ 0x35,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,0x9B,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x000081A0: */ 0x50,0x81,0x00,0x00,0x9C,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x000081B0: */ 0x00,0x00,0x00,0x00,0xFC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x000081C0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000081D0: */ 0xFC,0x7D,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x64,0x02,0x00,0x00,
+/* 0x000081E0: */ 0xBC,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xA4,0x7E,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000081F0: */ 0x50,0x81,0x00,0x00,0xFC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0xC0,0x25,0x00,0x00,
+/* 0x00008200: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xA4,0x7E,0x00,0x00,0x7C,0x81,0x00,0x00,
+/* 0x00008210: */ 0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x00008220: */ 0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008230: */ 0x75,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008240: */ 0x20,0x00,0x00,0x00,0xF0,0x73,0x00,0x00,0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008250: */ 0x0C,0x7E,0x00,0x00,0x9B,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00008260: */ 0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x81,0x00,0x00,0x0C,0x7E,0x00,0x00,
+/* 0x00008270: */ 0x90,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008280: */ 0xBC,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00008290: */ 0xA4,0x7E,0x00,0x00,0x7C,0x81,0x00,0x00,0x2C,0x7E,0x00,0x00,0x7C,0x01,0x00,0x00,
+/* 0x000082A0: */ 0x00,0x00,0x00,0x00,0x84,0x80,0x00,0x00,0xBC,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x000082B0: */ 0x2C,0x7E,0x00,0x00,0x90,0x01,0x00,0x00,0xC4,0x3B,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000082C0: */ 0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xA4,0x7E,0x00,0x00,
+/* 0x000082D0: */ 0x7C,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x7E,0x00,0x00,0xC4,0x3B,0x00,0x00,
+/* 0x000082E0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x81,0x00,0x00,0x2C,0x7E,0x00,0x00,
+/* 0x000082F0: */ 0x90,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008300: */ 0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008310: */ 0x20,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,
+/* 0x00008320: */ 0x7F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xF0,0x73,0x00,0x00,
+/* 0x00008330: */ 0x00,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,0x81,0x00,0x00,0x00,
+/* 0x00008340: */ 0xBC,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,
+/* 0x00008350: */ 0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xB4,0x73,0x00,0x00,
+/* 0x00008360: */ 0x00,0x00,0x00,0x00,0x5C,0x81,0x00,0x00,0x50,0x81,0x00,0x00,0xEC,0x7D,0x00,0x00,
+/* 0x00008370: */ 0x41,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x2C,0x74,0x00,0x00,0x5C,0x81,0x00,0x00,
+/* 0x00008380: */ 0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008390: */ 0x08,0x00,0x00,0x00,0xF0,0x73,0x00,0x00,0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000083A0: */ 0xAF,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,
+/* 0x000083B0: */ 0x41,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x74,0x00,0x00,0x00,
+/* 0x000083C0: */ 0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000083D0: */ 0x3C,0x00,0x00,0x00,0x50,0x81,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000083E0: */ 0x7D,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xEC,0x7D,0x00,0x00,
+/* 0x000083F0: */ 0x41,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00008400: */ 0x19,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x50,0x74,0x00,0x00,
+/* 0x00008410: */ 0x88,0x07,0x00,0x00,0xEC,0x7D,0x00,0x00,0x7F,0x00,0x00,0x00,0x88,0x07,0x00,0x00,
+/* 0x00008420: */ 0x0C,0x7E,0x00,0x00,0x7F,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00008430: */ 0x40,0x74,0x00,0x00,0x64,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,
+/* 0x00008440: */ 0x41,0x00,0x00,0x00,0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+/* 0x00008450: */ 0xBC,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0x50,0x81,0x00,0x00,0x0C,0x7E,0x00,0x00,
+/* 0x00008460: */ 0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00008470: */ 0x01,0x00,0x00,0x00,0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,
+/* 0x00008480: */ 0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008490: */ 0x73,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x88,0x07,0x00,0x00,0xEC,0x7D,0x00,0x00,
+/* 0x000084A0: */ 0x7F,0x00,0x00,0x00,0x64,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000084B0: */ 0x8D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000084C0: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xB4,0x81,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000084D0: */ 0x58,0x01,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x7D,0x00,0x00,
+/* 0x000084E0: */ 0x9B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000084F0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00008500: */ 0x78,0x82,0x00,0x00,0x15,0x00,0x00,0x00,0x20,0x01,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008510: */ 0x50,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008520: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA4,0x82,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008530: */ 0xF8,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00008540: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00008550: */ 0xF8,0x82,0x00,0x00,0x15,0x00,0x00,0x00,0xD0,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008560: */ 0x4B,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008570: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x34,0x83,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008580: */ 0xA8,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x91,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00008590: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000085A0: */ 0xD8,0x82,0x00,0x00,0x15,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000085B0: */ 0x74,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000085C0: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x20,0x82,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000085D0: */ 0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000085E0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000085F0: */ 0x68,0x82,0x00,0x00,0x15,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008600: */ 0x53,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008610: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x3C,0x84,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008620: */ 0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008630: */ 0x41,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008640: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x78,0x82,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008650: */ 0x80,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x42,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00008660: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00008670: */ 0xA4,0x82,0x00,0x00,0x15,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008680: */ 0x43,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008690: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xF8,0x82,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x000086A0: */ 0x30,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000086B0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000086C0: */ 0x34,0x83,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000086D0: */ 0x00,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0xA2,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000086E0: */ 0xE0,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000086F0: */ 0x18,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x56,0x00,0x00,0x00,0xAC,0x84,0x00,0x00,
+/* 0x00008700: */ 0x15,0x00,0x00,0x00,0x30,0x01,0x00,0x00,0x4C,0x73,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x00008710: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x00008720: */ 0x56,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x4F,0x00,0x00,0x00,
+/* 0x00008730: */ 0x1E,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x5B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00008740: */ 0x7A,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x56,0x00,0x00,0x00,
+/* 0x00008750: */ 0x2C,0x86,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,
+/* 0x00008760: */ 0xA0,0x08,0x00,0x00,0xA2,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xC8,0x00,0x00,0x00,
+/* 0x00008770: */ 0x2C,0x73,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008780: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xAC,0x83,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008790: */ 0xA4,0x00,0x00,0x00,0x3C,0x73,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x000087A0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xAC,0x83,0x00,0x00,
+/* 0x000087B0: */ 0x15,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x7C,0x73,0x00,0x00,0x7B,0x00,0x00,0x00,
+/* 0x000087C0: */ 0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
+/* 0x000087D0: */ 0xD8,0x82,0x00,0x00,0x15,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5C,0x73,0x00,0x00,
+/* 0x000087E0: */ 0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x000087F0: */ 0x33,0x00,0x00,0x00,0x68,0x82,0x00,0x00,0x15,0x00,0x00,0x00,0x38,0x00,0x00,0x00,
+/* 0x00008800: */ 0x6C,0x73,0x00,0x00,0x7B,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008810: */ 0x14,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x20,0x82,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008820: */ 0x14,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0xA2,0x00,0x00,0x00,
+/* 0x00008830: */ 0x33,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x56,0x00,0x00,0x00,
+/* 0x00008840: */ 0x35,0x00,0x00,0x00,0xD4,0x86,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00008850: */ 0x33,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xE4,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x00008860: */ 0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00008870: */ 0xA0,0x08,0x00,0x00,0x6A,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008880: */ 0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008890: */ 0x3C,0x00,0x00,0x00,0x50,0x81,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000088A0: */ 0x7D,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xEC,0x7D,0x00,0x00,
+/* 0x000088B0: */ 0x41,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x000088C0: */ 0x1A,0x00,0x00,0x00,0xB0,0x08,0x00,0x00,0x6A,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000088D0: */ 0x50,0x81,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x000088E0: */ 0x2B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,
+/* 0x000088F0: */ 0x7F,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xEC,0x7D,0x00,0x00,
+/* 0x00008900: */ 0x7F,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x00008910: */ 0x64,0x83,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00008920: */ 0xCC,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x00,0x00,0x00,
+/* 0x00008930: */ 0x59,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00008940: */ 0x59,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,
+/* 0x00008950: */ 0x00,0x00,0x00,0x00,0xCC,0x7D,0x00,0x00,0x9B,0x00,0x00,0x00,0xEC,0x7D,0x00,0x00,
+/* 0x00008960: */ 0x90,0x01,0x00,0x00,0x0C,0x7E,0x00,0x00,0x90,0x01,0x00,0x00,0x2C,0x7E,0x00,0x00,
+/* 0x00008970: */ 0x90,0x01,0x00,0x00,0x7C,0x7E,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008980: */ 0xFC,0x7D,0x00,0x00,0x9B,0x00,0x00,0x00,0xCC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008990: */ 0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x000089A0: */ 0x1C,0x00,0x00,0x00,0x3C,0x88,0x00,0x00,0x35,0x00,0x00,0x00,0x2C,0x89,0x00,0x00,
+/* 0x000089B0: */ 0x64,0x02,0x00,0x00,0x15,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000089C0: */ 0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
+/* 0x000089D0: */ 0x60,0x88,0x00,0x00,0x15,0x00,0x00,0x00,0xB0,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,
+/* 0x000089E0: */ 0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x0C,0x7E,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x000089F0: */ 0x75,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00008A00: */ 0x02,0x00,0x00,0x00,0xF0,0x73,0x00,0x00,0x15,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
+/* 0x00008A10: */ 0x88,0x0C,0x00,0x00,0x4F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,
+/* 0x00008A20: */ 0x1C,0x7E,0x00,0x00,0x9B,0x00,0x00,0x00,0x54,0x89,0x00,0x00,0xEC,0x7D,0x00,0x00,
+/* 0x00008A30: */ 0x41,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,
+/* 0x00008A40: */ 0x50,0x81,0x00,0x00,0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x1C,0x7F,0x00,0x00,
+/* 0x00008A50: */ 0xEC,0x7D,0x00,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008A60: */ 0x04,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,
+/* 0x00008A70: */ 0x04,0x03,0x00,0x00,0x59,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x1C,0x8A,0x00,0x00,
+/* 0x00008A80: */ 0x28,0x00,0x00,0x00,0x04,0x03,0x00,0x00,0x9C,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00008A90: */ 0x28,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xD8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+/* 0x00008AA0: */ 0x28,0x00,0x00,0x00,0xBC,0x80,0x00,0x00,0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008AB0: */ 0x44,0x00,0x00,0x00,0xCC,0x7E,0x00,0x00,0x59,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+/* 0x00008AC0: */ 0xC4,0x1D,0x00,0x00,0x7C,0x0F,0x00,0x00,0x02,0x29,0x20,0x5A,0xA3,0x00,0x00,0x00,
+/* 0x00008AD0: */ 0xC4,0x1E,0x00,0x00,0x28,0x00,0x00,0x00,0x84,0x80,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00008AE0: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xA4,0x7E,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008AF0: */ 0xC4,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xBC,0x80,0x00,0x00,
+/* 0x00008B00: */ 0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,
+/* 0x00008B10: */ 0xC4,0x1E,0x00,0x00,0x28,0x00,0x00,0x00,0x84,0x80,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00008B20: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xA4,0x7E,0x00,0x00,0x15,0x00,0x00,0x00,
+/* 0x00008B30: */ 0xDC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xE4,0x80,0x00,0x00,0x81,0x00,0x00,0x00,
+/* 0x00008B40: */ 0xBC,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0x78,0x22,0x00,0x00,
+/* 0x00008B50: */ 0x00,0x00,0x00,0x00,0x54,0x75,0x00,0x00,0x44,0x75,0x00,0x00,0x44,0x3B,0x00,0x00,
+/* 0x00008B60: */ 0xDC,0x7D,0x00,0x00,0x90,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x54,0x8B,0x00,0x00,
+/* 0x00008B70: */ 0x59,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x8C,0x0D,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008B80: */ 0x0D,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00008B90: */ 0x59,0x00,0x00,0x00,0x1C,0x8A,0x00,0x00,0x59,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,
+/* 0x00008BA0: */ 0x44,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,
+/* 0x00008BB0: */ 0x8C,0x0D,0x00,0x00,0x59,0x00,0x00,0x00,0x1C,0x8A,0x00,0x00,0x1E,0x00,0x00,0x00,
+/* 0x00008BC0: */ 0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,
+/* 0x00008BD0: */ 0x59,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x44,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008BE0: */ 0x00,0x15,0x00,0x00,0x6C,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0x8B,0x00,0x00,
+/* 0x00008BF0: */ 0xE0,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x2F,0x00,0x00,0xA8,0x8B,0x00,0x00,
+/* 0x00008C00: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008C10: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
+/* 0x00008C20: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
+/* 0x00008C30: */ 0x2A,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
+/* 0x00008C40: */ 0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x78,0x30,0x30,
+/* 0x00008C50: */ 0x2C,0x30,0x78,0x30,0x30,0x2C,0x30,0x78,0x30,0x30,0x2C,0x30,0x78,0x30,0x30,0x2C,
+/* 0x00008C60: */ 0x30,0x78,0x30,0x30,0x2C,0x30,0x78,0x30,0x30,0x2C,0x30,0x78,0x33,0x30,0x2C,0x30,
+/* 0x00008C70: */ 0x78,0x37,0x38,0x2C,0x30,0x78,0x33,0x33,0x33,0x2C,0x30,0x78,0x33,0x33,0x2C,0x30,
+/* 0x00008C80: */ 0x78,0x33,0x33,0x2C,0x30,0x78,0x32,0x43,0x2C,0x30,0x78,0x33,0x30,0x2C,0x30,0x78,
+/* 0x00008C90: */ 0x37,0x38,0x2C,0x30,0x78,0x33,0x33,0x2C,0x30,0x78,0x33,0x33,0x2C,0x30,0x78,0x32,
+/* 0x00008CA0: */ 0x43,0x2C,0x30,0x78,0x33,0x30,0x2C,0x0A,0x2F,0x78,0x32,0x46,0x2C,0x30,0x78,0x37,
+/* 0x00008CB0: */ 0x38,0x2C,0x30,0x78,0x33,0x32,0x2C,0x30,0x78,0x34,0x36,0x2C,0x30,0x78,0x32,0x43,
+/* 0x00008CC0: */ 0x2C,0x30,0x78,0x33,0x30,0x2C,0x30,0x78,0x37,0x38,0x2C,0x30,0x78,0x33,0x37,0x2C,
+/* 0x00008CD0: */ 0x0A,0x2F,0x2A,0x20,0x30,0x78,0x30,0x30,0x30,0x30,0x2C,0x30,0x78,0x32,0x43,0x2C,
+/* 0x00008CE0: */ 0x30,0x78,0x33,0x30,0x2C,0x30,0x78,0x37,0x38,0x2C,0x30,0x78,0x33,0x32,0x2C,0x30,
+/* 0x00008CF0: */ 0x78,0x34,0x33,0x2C,0x30,0x78,0x32,0x43,0x2C,0x0A,0x2F,0x2A,0x20,0x30,0x78,0x30,
+/* 0x00008D00: */ 0x30,0x30,0x30,0x38,0x43,0x45,0x30,0x3A,0x20,0x2A,0x2F,0x20,0x30,0x2C,0x30,0x78,
+/* 0x00008D10: */ 0x33,0x30,0x2C,0x30,0x78,0x32,0x43,0x2C,0x30,0x78,0x33,0x30,0x2C,0x30,0x78,0x37,
+/* 0x00008D20: */ 0x38,0x2C,0x0A,0x2F,0x2A,0x20,0x30,0x78,0x30,0x30,0x30,0x30,0x38,0x44,0x31,0x30,
+/* 0x00008D30: */ 0x3A,0x20,0x2A,0x2F,0x20,0x30,0x78,0x33,0x33,0x2C,0x30,0x78,0x33,0x30,0x33,0x30,
+/* 0x00008D40: */ 0x2C,0x30,0x78,0x33,0x33,0x2C,0x30,0x78,0x33,0x30,0x2C,0x0A,0x2A,0x00,0x00,0x00,
+/* 0x00008D50: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9D,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,
+/* 0x00008D60: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFA,0x42,0x00,0x40,0x8C,0x00,0x00,
+/* 0x00008D70: */ 0x4C,0x8D,0x00,0x00,0x41,0x00,0x00,0x00,0x5C,0x8D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008D80: */ 0x4B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x8D,0x00,0x00,
+/* 0x00008D90: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x8D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008DA0: */ 0x30,0x8C,0x00,0x00,0x48,0x02,0x00,0x00,0xBC,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00008DB0: */ 0x6C,0x8D,0x00,0x00,0x44,0x0F,0x00,0x00,0x12,0x53,0x44,0x41,0x44,0x2E,0x46,0x4C,
+/* 0x00008DC0: */ 0x55,0x53,0x48,0x20,0x66,0x61,0x69,0x6C,0x65,0x64,0x21,0x5A,0x68,0x1E,0x00,0x00,
+/* 0x00008DD0: */ 0x40,0x8C,0x00,0x00,0x4C,0x8D,0x00,0x00,0x41,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,
+/* 0x00008DE0: */ 0x2B,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x4C,0x8D,0x00,0x00,
+/* 0x00008DF0: */ 0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E00: */ 0x32,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x98,0x8D,0x00,0x00,
+/* 0x00008E10: */ 0x02,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xEC,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,
+/* 0x00008E20: */ 0x00,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xF8,0x8D,0x00,0x00,0x3E,0x00,0x00,0x00,
+/* 0x00008E30: */ 0x98,0x8D,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00008E40: */ 0x10,0x1C,0x00,0x00,0x58,0x1C,0x00,0x00,0x58,0x1C,0x00,0x00,0x58,0x1C,0x00,0x00,
+/* 0x00008E50: */ 0x58,0x1C,0x00,0x00,0x58,0x1C,0x00,0x00,0x58,0x1C,0x00,0x00,0x58,0x1C,0x00,0x00,
+/* 0x00008E60: */ 0xA0,0x1C,0x00,0x00,0x20,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008E70: */ 0x00,0x00,0x00,0x00,0x10,0x1C,0x00,0x00,0x58,0x1C,0x00,0x00,0xA0,0x1C,0x00,0x00,
+/* 0x00008E80: */ 0x20,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x8D,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008E90: */ 0x81,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x6C,0x8D,0x00,0x00,
+/* 0x00008EA0: */ 0x44,0x0F,0x00,0x00,0x12,0x53,0x44,0x41,0x44,0x2E,0x46,0x4C,0x55,0x53,0x48,0x20,
+/* 0x00008EB0: */ 0x66,0x61,0x69,0x6C,0x65,0x64,0x21,0x5A,0x68,0x1E,0x00,0x00,0x42,0x00,0x00,0x00,
+/* 0x00008EC0: */ 0x33,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x8D,0x00,0x00,
+/* 0x00008ED0: */ 0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x8E,0x00,0x00,0x60,0x0F,0x00,0x00,
+/* 0x00008EE0: */ 0x0A,0x70,0x66,0x64,0x69,0x63,0x64,0x61,0x74,0x2E,0x68,0x5A,0x49,0x00,0x00,0x00,
+/* 0x00008EF0: */ 0x43,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,
+/* 0x00008F00: */ 0x3C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x7C,0x0F,0x00,0x00,0x20,0x43,0x6F,0x75,
+/* 0x00008F10: */ 0x6C,0x64,0x20,0x6E,0x6F,0x74,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x66,0x69,
+/* 0x00008F20: */ 0x6C,0x65,0x20,0x70,0x66,0x64,0x69,0x63,0x64,0x61,0x74,0x2E,0x68,0x5A,0x5A,0x5A,
+/* 0x00008F30: */ 0x28,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x5C,0x8D,0x00,0x00,
+/* 0x00008F40: */ 0x9B,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x00008F50: */ 0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,
+/* 0x00008F60: */ 0xA2,0x00,0x00,0x00,0xDC,0x02,0x00,0x00,0x60,0x0F,0x00,0x00,0x02,0x30,0x78,0x5A,
+/* 0x00008F70: */ 0xF8,0x8D,0x00,0x00,0x5F,0x00,0x00,0x00,0x38,0x8E,0x00,0x00,0xF8,0x8D,0x00,0x00,
+/* 0x00008F80: */ 0x8E,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x00008F90: */ 0x00,0x00,0x00,0x00,0x60,0x0F,0x00,0x00,0x03,0x20,0x20,0x20,0xF8,0x8D,0x00,0x00,
+/* 0x00008FA0: */ 0x4C,0x8F,0x00,0x00,0x59,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x98,0x8D,0x00,0x00,
+/* 0x00008FB0: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00008FC0: */ 0xA5,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xDC,0x02,0x00,0x00,
+/* 0x00008FD0: */ 0x60,0x0F,0x00,0x00,0x02,0x30,0x78,0x5A,0xF8,0x8D,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x00008FE0: */ 0x6C,0x8E,0x00,0x00,0xF8,0x8D,0x00,0x00,0x8E,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,
+/* 0x00008FF0: */ 0x9B,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB4,0x8F,0x00,0x00,
+/* 0x00009000: */ 0x59,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x98,0x8D,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009010: */ 0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00009020: */ 0x60,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,
+/* 0x00009030: */ 0x62,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
+/* 0x00009040: */ 0x98,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,
+/* 0x00009050: */ 0x11,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x00009060: */ 0x7C,0x0F,0x00,0x00,0x02,0x30,0x78,0x5A,0x53,0x00,0x00,0x00,0x10,0x3A,0x00,0x00,
+/* 0x00009070: */ 0x28,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00009080: */ 0x11,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
+/* 0x00009090: */ 0x3E,0x00,0x00,0x00,0x98,0x8D,0x00,0x00,0x60,0x0F,0x00,0x00,0x03,0x2F,0x2A,0x20,
+/* 0x000090A0: */ 0xF8,0x8D,0x00,0x00,0x53,0x00,0x00,0x00,0x4C,0x8F,0x00,0x00,0x60,0x0F,0x00,0x00,
+/* 0x000090B0: */ 0x05,0x3A,0x20,0x2A,0x2F,0x20,0x5A,0x5A,0xF8,0x8D,0x00,0x00,0x5F,0x00,0x00,0x00,
+/* 0x000090C0: */ 0x53,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xFC,0x8F,0x00,0x00,
+/* 0x000090D0: */ 0x71,0x00,0x00,0x00,0x70,0xFF,0xFF,0xFF,0x61,0x00,0x00,0x00,0x59,0x00,0x00,0x00,
+/* 0x000090E0: */ 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x53,0x00,0x00,0x00,
+/* 0x000090F0: */ 0x59,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x11,0x00,0x00,0x00,0x24,0x00,0x00,0x00,
+/* 0x00009100: */ 0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0xB4,0x1D,0x00,0x00,
+/* 0x00009110: */ 0x28,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
+/* 0x00009120: */ 0x11,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,
+/* 0x00009130: */ 0x3E,0x00,0x00,0x00,0x98,0x8D,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x00009140: */ 0xFC,0x8F,0x00,0x00,0x71,0x00,0x00,0x00,0xA4,0xFF,0xFF,0xFF,0x5D,0x00,0x00,0x00,
+/* 0x00009150: */ 0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,
+/* 0x00009160: */ 0x60,0x0F,0x00,0x00,0x08,0x23,0x64,0x65,0x66,0x69,0x6E,0x65,0x20,0x5A,0x5A,0x5A,
+/* 0x00009170: */ 0xF8,0x8D,0x00,0x00,0x5F,0x00,0x00,0x00,0x68,0x01,0x00,0x00,0xF8,0x8D,0x00,0x00,
+/* 0x00009180: */ 0x60,0x0F,0x00,0x00,0x03,0x20,0x20,0x28,0xF8,0x8D,0x00,0x00,0x60,0x00,0x00,0x00,
+/* 0x00009190: */ 0x4C,0x8F,0x00,0x00,0x44,0x0F,0x00,0x00,0x01,0x29,0x5A,0x5A,0x24,0x8E,0x00,0x00,
+/* 0x000091A0: */ 0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x000091B0: */ 0x04,0x03,0x00,0x00,0x9B,0x00,0x00,0x00,0x04,0x03,0x00,0x00,0x18,0x00,0x00,0x00,
+/* 0x000091C0: */ 0x00,0x00,0x00,0x00,0xA0,0x08,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x000091D0: */ 0x5C,0x00,0x00,0x00,0xD8,0x8E,0x00,0x00,0x44,0x0F,0x00,0x00,0x11,0x73,0x64,0x61,
+/* 0x000091E0: */ 0x64,0x2E,0x6F,0x70,0x65,0x6E,0x20,0x66,0x61,0x69,0x6C,0x65,0x64,0x21,0x5A,0x5A,
+/* 0x000091F0: */ 0x68,0x1E,0x00,0x00,0x44,0x0F,0x00,0x00,0x33,0x2F,0x2A,0x20,0x54,0x68,0x69,0x73,
+/* 0x00009200: */ 0x20,0x66,0x69,0x6C,0x65,0x20,0x67,0x65,0x6E,0x65,0x72,0x61,0x74,0x65,0x64,0x20,
+/* 0x00009210: */ 0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x46,0x6F,0x72,0x74,0x68,0x20,0x63,0x6F,0x6D,
+/* 0x00009220: */ 0x6D,0x61,0x6E,0x64,0x20,0x53,0x44,0x41,0x44,0x20,0x2A,0x2F,0x24,0x8E,0x00,0x00,
+/* 0x00009230: */ 0x44,0x0F,0x00,0x00,0x09,0x48,0x45,0x41,0x44,0x45,0x52,0x50,0x54,0x52,0x5A,0x5A,
+/* 0x00009240: */ 0xAD,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x5C,0x04,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00009250: */ 0x54,0x91,0x00,0x00,0x44,0x0F,0x00,0x00,0x0A,0x52,0x45,0x4C,0x43,0x4F,0x4E,0x54,
+/* 0x00009260: */ 0x45,0x58,0x54,0x5A,0xA8,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x5C,0x04,0x00,0x00,
+/* 0x00009270: */ 0x75,0x00,0x00,0x00,0x54,0x91,0x00,0x00,0x44,0x0F,0x00,0x00,0x07,0x43,0x4F,0x44,
+/* 0x00009280: */ 0x45,0x50,0x54,0x52,0x51,0x00,0x00,0x00,0x68,0x04,0x00,0x00,0x75,0x00,0x00,0x00,
+/* 0x00009290: */ 0x54,0x91,0x00,0x00,0x44,0x0F,0x00,0x00,0x10,0x49,0x46,0x5F,0x4C,0x49,0x54,0x54,
+/* 0x000092A0: */ 0x4C,0x45,0x5F,0x45,0x4E,0x44,0x49,0x41,0x4E,0x5A,0x5A,0x5A,0xA8,0x91,0x00,0x00,
+/* 0x000092B0: */ 0xBC,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+/* 0x000092C0: */ 0x15,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* 0x000092D0: */ 0x54,0x91,0x00,0x00,0x7C,0x0F,0x00,0x00,0x0C,0x53,0x61,0x76,0x69,0x6E,0x67,0x20,
+/* 0x000092E0: */ 0x4E,0x61,0x6D,0x65,0x73,0x5A,0x5A,0x5A,0x28,0x00,0x00,0x00,0x60,0x0F,0x00,0x00,
+/* 0x000092F0: */ 0x24,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x63,0x6F,0x6E,0x73,0x74,0x20,0x75,0x69,
+/* 0x00009300: */ 0x6E,0x74,0x38,0x20,0x4D,0x69,0x6E,0x44,0x69,0x63,0x4E,0x61,0x6D,0x65,0x73,0x5B,
+/* 0x00009310: */ 0x5D,0x20,0x3D,0x20,0x7B,0x5A,0x5A,0x5A,0xF8,0x8D,0x00,0x00,0x5C,0x04,0x00,0x00,
+/* 0x00009320: */ 0xAD,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x10,0x8C,0x00,0x00,0x10,0x90,0x00,0x00,
+/* 0x00009330: */ 0x3E,0x00,0x00,0x00,0x98,0x8D,0x00,0x00,0x44,0x0F,0x00,0x00,0x02,0x7D,0x3B,0x5A,
+/* 0x00009340: */ 0x24,0x8E,0x00,0x00,0x7C,0x0F,0x00,0x00,0x0B,0x53,0x61,0x76,0x69,0x6E,0x67,0x20,
+/* 0x00009350: */ 0x43,0x6F,0x64,0x65,0x28,0x00,0x00,0x00,0x60,0x0F,0x00,0x00,0x23,0x73,0x74,0x61,
+/* 0x00009360: */ 0x74,0x69,0x63,0x20,0x63,0x6F,0x6E,0x73,0x74,0x20,0x75,0x69,0x6E,0x74,0x38,0x20,
+/* 0x00009370: */ 0x4D,0x69,0x6E,0x44,0x69,0x63,0x43,0x6F,0x64,0x65,0x5B,0x5D,0x20,0x3D,0x20,0x7B,
+/* 0x00009380: */ 0xF8,0x8D,0x00,0x00,0x68,0x04,0x00,0x00,0x51,0x00,0x00,0x00,0x20,0x8C,0x00,0x00,
+/* 0x00009390: */ 0x10,0x90,0x00,0x00,0x3E,0x00,0x00,0x00,0x98,0x8D,0x00,0x00,0x44,0x0F,0x00,0x00,
+/* 0x000093A0: */ 0x02,0x7D,0x3B,0x5A,0x24,0x8E,0x00,0x00,0x88,0x8E,0x00,0x00,0x5D,0x00,0x00,0x00,
+/* 0x000093B0: */ 0x00,0x00,0x00,0x00,0xF8,0x8B,0x00,0x00,0x88,0x8E,0x00,0x00,0xE0,0x8B,0x00,0x00,
+/* 0x000093C0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x8D,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000093D0: */ 0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x8D,0x00,0x00,0x9B,0x00,0x00,0x00,
+/* 0x000093E0: */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,
+};
diff --git a/csrc/pfinnrfp.h b/csrc/pfinnrfp.h
new file mode 100644 (file)
index 0000000..d0bd4ab
--- /dev/null
@@ -0,0 +1,336 @@
+/*  @(#) pfinnrfp.h 98/02/26 1.4 */\r
+/***************************************************************\r
+** Compile FP routines.\r
+** This file is included from "pf_inner.c"\r
+**\r
+** These routines could be left out of an execute only version.\r
+**\r
+** Author: Darren Gibbs, Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+**\r
+***************************************************************/\r
+\r
+#ifdef PF_SUPPORT_FP\r
+\r
+#define FP_DHI1  (((PF_FLOAT)0x40000000)*4.0)\r
+\r
+       case ID_FP_D_TO_F: /* ( dlo dhi -- ) ( F: -- r ) */\r
+               PUSH_FP_TOS;\r
+               Scratch = M_POP; /* dlo */\r
+               DBUG(("dlo = 0x%8x , ", Scratch));\r
+               DBUG(("dhi = 0x%8x\n", TOS));\r
+               \r
+               if( ((TOS ==  0) && (Scratch >= 0)) ||\r
+                   ((TOS == -1) && (Scratch < 0)))\r
+               {\r
+                       /* <=  32 bit precision. */\r
+                       FP_TOS = ((PF_FLOAT) Scratch);  /* Convert dlo and push on FP stack. */\r
+               }\r
+               else /* > 32 bit precision. */\r
+               {\r
+                       fpTemp = ((PF_FLOAT) TOS); /* dhi */\r
+                       fpTemp *= FP_DHI1;\r
+                       fpScratch = ( (PF_FLOAT) ((uint32)Scratch) );  /* Convert TOS and push on FP stack. */\r
+                       FP_TOS = fpTemp + fpScratch;\r
+               }       \r
+               M_DROP;\r
+               /* printf("d2f = %g\n", FP_TOS); */\r
+               break;\r
+\r
+       case ID_FP_FSTORE: /* ( addr -- ) ( F: r -- ) */\r
+#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
+               if( IN_CODE_DIC(TOS) )\r
+               {\r
+                       WRITE_FLOAT_DIC( (PF_FLOAT *) TOS, FP_TOS );\r
+               }\r
+               else\r
+               {\r
+                       *((PF_FLOAT *) TOS) = FP_TOS;\r
+               }\r
+#else\r
+               *((PF_FLOAT *) TOS) = FP_TOS;\r
+#endif\r
+               M_FP_DROP;              /* drop FP value */\r
+               M_DROP;                 /* drop addr */\r
+               break; \r
+\r
+       case ID_FP_FTIMES:  /* ( F: r1 r2 -- r1*r2 ) */\r
+               FP_TOS = M_FP_POP * FP_TOS;\r
+               break;\r
+\r
+       case ID_FP_FPLUS:  /* ( F: r1 r2 -- r1+r2 ) */\r
+               FP_TOS = M_FP_POP + FP_TOS;\r
+               break;\r
+                       \r
+       case ID_FP_FMINUS:  /* ( F: r1 r2 -- r1-r2 ) */\r
+               FP_TOS = M_FP_POP - FP_TOS;\r
+               break;\r
+\r
+       case ID_FP_FSLASH:  /* ( F: r1 r2 -- r1/r2 ) */\r
+               FP_TOS = M_FP_POP / FP_TOS;\r
+               break;\r
+\r
+       case ID_FP_F_ZERO_LESS_THAN: /* ( -- flag )  ( F: r --  ) */\r
+               PUSH_TOS;\r
+               TOS = (FP_TOS < 0.0) ? FTRUE : FFALSE ;\r
+               M_FP_DROP;\r
+               break;\r
+\r
+       case ID_FP_F_ZERO_EQUALS: /* ( -- flag )  ( F: r --  ) */\r
+               PUSH_TOS;\r
+               TOS = (FP_TOS == 0.0) ? FTRUE : FFALSE ;\r
+               M_FP_DROP;\r
+               break;\r
+\r
+       case ID_FP_F_LESS_THAN: /* ( -- flag )  ( F: r1 r2 -- ) */\r
+               PUSH_TOS;\r
+               TOS = (M_FP_POP < FP_TOS) ? FTRUE : FFALSE ;\r
+               M_FP_DROP;\r
+               break;\r
+               \r
+       case ID_FP_F_TO_D: /* ( -- dlo dhi) ( F: r -- ) */\r
+               /* printf("f2d = %g\n", FP_TOS); */\r
+               {\r
+                       uint32 dlo;\r
+                       int32 dhi;\r
+                       int ifNeg;\r
+       /* Convert absolute value, then negate D if negative. */\r
+                       PUSH_TOS;   /* Save old TOS */\r
+                       fpTemp = FP_TOS;\r
+                       M_FP_DROP;\r
+                       ifNeg = (fpTemp < 0.0);\r
+                       if( ifNeg )\r
+                       {\r
+                               fpTemp = 0.0 - fpTemp;\r
+                       }\r
+                       fpScratch = fpTemp / FP_DHI1;\r
+               /* printf("f2d - fpScratch = %g\n", fpScratch); */\r
+                       dhi = (int32) fpScratch;  /* dhi */\r
+                       fpScratch = ((PF_FLOAT) dhi) * FP_DHI1;\r
+               /* printf("f2d - , dhi = 0x%x, fpScratch = %g\n", dhi, fpScratch); */\r
+               \r
+                       fpTemp = fpTemp - fpScratch; /* Remainder */\r
+                       dlo = (uint32) fpTemp;\r
+               /* printf("f2d - , dlo = 0x%x, fpTemp = %g\n", dlo, fpTemp); */\r
+                       if( ifNeg )\r
+                       {\r
+                               dlo = 0 - dlo;\r
+                               dhi = 0 - dhi - 1;\r
+                       }\r
+       /* Push onto stack. */\r
+                       TOS = dlo;\r
+                       PUSH_TOS;\r
+                       TOS = dhi;\r
+               }\r
+               break;\r
+\r
+       case ID_FP_FFETCH:  /* ( addr -- ) ( F: -- r ) */\r
+               PUSH_FP_TOS;\r
+#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
+               if( IN_CODE_DIC(TOS) )\r
+               {\r
+                       FP_TOS = READ_FLOAT_DIC( (PF_FLOAT *) TOS );\r
+               }\r
+               else\r
+               {\r
+                       FP_TOS = *((PF_FLOAT *) TOS);\r
+               }\r
+#else\r
+               FP_TOS = *((PF_FLOAT *) TOS);\r
+#endif\r
+               M_DROP;\r
+               break;\r
+               \r
+       case ID_FP_FDEPTH: /* ( -- n ) ( F: -- ) */\r
+               PUSH_TOS;\r
+       /* Add 1 to account for FP_TOS in cached in register. */\r
+               TOS = (( M_FP_SPZERO - FP_STKPTR) + 1);\r
+               break;\r
+               \r
+       case ID_FP_FDROP: /* ( -- ) ( F: r -- ) */\r
+               M_FP_DROP;\r
+               break;\r
+               \r
+       case ID_FP_FDUP: /* ( -- ) ( F: r -- r r ) */\r
+               PUSH_FP_TOS;\r
+               break;\r
+               \r
+       case ID_FP_FLOAT_PLUS: /* ( addr1 -- addr2 ) ( F: -- ) */\r
+               TOS = TOS + sizeof(PF_FLOAT);\r
+               break;\r
+               \r
+       case ID_FP_FLOATS: /* ( n -- size ) ( F: -- ) */\r
+               TOS = TOS * sizeof(PF_FLOAT);\r
+               break;\r
+               \r
+       case ID_FP_FLOOR: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_floor( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FMAX: /* ( -- ) ( F: r1 r2 -- r3 ) */\r
+               fpScratch = M_FP_POP;\r
+               FP_TOS = ( FP_TOS > fpScratch ) ? FP_TOS : fpScratch ;\r
+               break;\r
+                \r
+       case ID_FP_FMIN: /* ( -- ) ( F: r1 r2 -- r3 ) */\r
+               fpScratch = M_FP_POP;\r
+               FP_TOS = ( FP_TOS < fpScratch ) ? FP_TOS : fpScratch ;\r
+               break;\r
+               \r
+       case ID_FP_FNEGATE:\r
+               FP_TOS = -FP_TOS;\r
+               break;\r
+               \r
+       case ID_FP_FOVER: /* ( -- ) ( F: r1 r2 -- r1 r2 r1 ) */\r
+               PUSH_FP_TOS;\r
+               FP_TOS = M_FP_STACK(1);\r
+               break;\r
+               \r
+       case ID_FP_FROT: /* ( -- ) ( F: r1 r2 r3 -- r2 r3 r1 ) */\r
+               fpScratch = M_FP_POP;           /* r2 */\r
+               fpTemp = M_FP_POP;                      /* r1 */\r
+               M_FP_PUSH( fpScratch );         /* r2 */\r
+               PUSH_FP_TOS;                            /* r3 */\r
+               FP_TOS = fpTemp;                        /* r1 */\r
+               break;\r
+               \r
+       case ID_FP_FROUND:\r
+               ERR("\nID_FP_FROUND -  Not Yet!! FIXME\n");\r
+               break;\r
+               \r
+       case ID_FP_FSWAP: /* ( -- ) ( F: r1 r2 -- r2 r1 ) */\r
+               fpScratch = FP_TOS;\r
+               FP_TOS = *FP_STKPTR;\r
+               *FP_STKPTR = fpScratch;\r
+               break;\r
+               \r
+       case ID_FP_FSTAR_STAR: /* ( -- ) ( F: r1 r2 -- r1^r2 ) */\r
+               fpScratch = M_FP_POP;\r
+               FP_TOS = (PF_FLOAT) fp_pow(fpScratch, FP_TOS);\r
+               break;\r
+               \r
+       case ID_FP_FABS: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_fabs( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FACOS: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_acos( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FACOSH: /* ( -- ) ( F: r1 -- r2 ) */\r
+               /* fp_acosh(x) = fp_log(y + sqrt(y^2 - 1) */\r
+               FP_TOS = (PF_FLOAT) fp_log(FP_TOS + (fp_sqrt((FP_TOS * FP_TOS) - 1)));\r
+               break;\r
+               \r
+       case ID_FP_FALOG: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_pow(10.0,FP_TOS);\r
+               break;\r
+               \r
+       case ID_FP_FASIN: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_asin( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FASINH: /* ( -- ) ( F: r1 -- r2 ) */\r
+               /* asinh(x) = fp_log(y + fp_sqrt(y^2 + 1) */\r
+               FP_TOS = (PF_FLOAT) fp_log(FP_TOS + (fp_sqrt((FP_TOS * FP_TOS) + 1)));\r
+               break;\r
+               \r
+       case ID_FP_FATAN: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_atan( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FATAN2: /* ( -- ) ( F: r1 r2 -- atan(r1/r2) ) */\r
+               fpTemp = M_FP_POP;\r
+               FP_TOS = (PF_FLOAT) fp_atan2( fpTemp, FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FATANH: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) (0.5 * fp_log((1 + FP_TOS) / (1 - FP_TOS)));\r
+               break;\r
+               \r
+       case ID_FP_FCOS: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_cos( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FCOSH: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_cosh( FP_TOS );\r
+               break;\r
+               \r
+#ifndef PF_NO_SHELL\r
+       case ID_FP_FLITERAL:\r
+               ffFPLiteral( FP_TOS );\r
+               M_FP_DROP;\r
+               endcase;\r
+#endif  /* !PF_NO_SHELL */\r
+\r
+       case ID_FP_FLITERAL_P:\r
+               PUSH_FP_TOS;\r
+#if 0\r
+/* Some wimpy compilers can't handle this! */\r
+               FP_TOS = *(((PF_FLOAT *)InsPtr)++);\r
+#else\r
+               {\r
+                       PF_FLOAT *fptr;\r
+                       fptr = (PF_FLOAT *)InsPtr;\r
+                       FP_TOS = READ_FLOAT_DIC( fptr++ );\r
+                       InsPtr = (cell *) fptr;\r
+               }\r
+#endif\r
+               endcase;\r
+\r
+       case ID_FP_FLN: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_log(FP_TOS);\r
+               break;\r
+               \r
+       case ID_FP_FLNP1: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) (fp_log(FP_TOS) + 1.0);\r
+               break;\r
+               \r
+       case ID_FP_FLOG: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_log10( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FSIN: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_sin( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FSINCOS: /* ( -- ) ( F: r1 -- r2 r3 ) */\r
+               M_FP_PUSH((PF_FLOAT) fp_sin(FP_TOS));\r
+               FP_TOS = (PF_FLOAT) fp_cos(FP_TOS);\r
+               break;\r
+               \r
+       case ID_FP_FSINH: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_sinh( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FSQRT: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_sqrt( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FTAN: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_tan( FP_TOS );\r
+               break;\r
+               \r
+       case ID_FP_FTANH: /* ( -- ) ( F: r1 -- r2 ) */\r
+               FP_TOS = (PF_FLOAT) fp_tanh( FP_TOS );\r
+               break;\r
+\r
+       case ID_FP_FPICK: /* ( n -- ) ( F: -- f[n] ) */\r
+               PUSH_FP_TOS;  /* push cached floats into RAM */\r
+               FP_TOS = FP_STKPTR[TOS];  /* 0 FPICK gets top of FP stack */\r
+               M_DROP;\r
+               break;\r
+               \r
+\r
+#endif\r
diff --git a/csrc/pforth.h b/csrc/pforth.h
new file mode 100644 (file)
index 0000000..39a1290
--- /dev/null
@@ -0,0 +1,92 @@
+/* @(#) pforth.h 98/01/26 1.2 */\r
+#ifndef _pforth_h\r
+#define _pforth_h\r
+\r
+/***************************************************************\r
+** Include file for pForth, a portable Forth based on 'C'\r
+**\r
+** This file is included in any application that uses pForth as a tool.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+**\r
+***************************************************************/\r
+\r
+/* Define stubs for data types so we can pass pointers but not touch inside. */\r
+typedef void *PForthTask;\r
+typedef void *PForthDictionary;\r
+\r
+typedef unsigned long ExecToken;              /* Execution Token */\r
+typedef long          ThrowCode;\r
+\r
+#ifndef int32\r
+       typedef long int32;\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/* Main entry point to pForth. */\r
+int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit );\r
+\r
+/* Turn off messages. */\r
+void  pfSetQuiet( int32 IfQuiet );\r
+\r
+/* Query message status. */\r
+int32  pfQueryQuiet( void );\r
+\r
+/* Send a message using low level I/O of pForth */\r
+void  pfMessage( const char *CString );\r
+\r
+/* Create a task used to maintain context of execution. */\r
+PForthTask pfCreateTask( int32 UserStackDepth, int32 ReturnStackDepth );\r
+\r
+/* Establish this task as the current task. */\r
+void  pfSetCurrentTask( PForthTask task );\r
+\r
+/* Delete task created by pfCreateTask */\r
+void  pfDeleteTask( PForthTask task );\r
+\r
+/* Build a dictionary with all the basic kernel words. */\r
+PForthDictionary pfBuildDictionary( int32 HeaderSize, int32 CodeSize );\r
+\r
+/* Create an empty dictionary. */\r
+PForthDictionary pfCreateDictionary( int32 HeaderSize, int32 CodeSize );\r
+\r
+/* Load dictionary from a file. */\r
+PForthDictionary pfLoadDictionary( const char *FileName, ExecToken *EntryPointPtr );\r
+\r
+/* Load dictionary from static array in "pfdicdat.h". */\r
+PForthDictionary pfLoadStaticDictionary( void );\r
+\r
+/* Delete dictionary data. */\r
+void  pfDeleteDictionary( PForthDictionary dict );\r
+\r
+/* Execute the pForth interpreter. Yes, QUIT is an odd name but it has historical meaning. */\r
+ThrowCode pfQuit( void );\r
+\r
+/* Execute a single execution token in the current task and return 0 or an error code. */\r
+int pfCatch( ExecToken XT );\r
\r
+/* Include the given pForth source code file. */\r
+ThrowCode pfIncludeFile( const char *FileName );\r
+\r
+/* Execute a Forth word by name. */\r
+ThrowCode  pfExecIfDefined( const char *CString );\r
+\r
+#ifdef __cplusplus\r
+}   \r
+#endif\r
+\r
+#endif  /* _pforth_h */\r
diff --git a/csrc/posix/pf_io_posix.c b/csrc/posix/pf_io_posix.c
new file mode 100644 (file)
index 0000000..bf4a5c3
--- /dev/null
@@ -0,0 +1,109 @@
+/* $Id$ */\r
+/***************************************************************\r
+** I/O subsystem for PForth based on 'C'\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 941004 PLB Extracted IO calls from pforth_main.c\r
+***************************************************************/\r
+\r
+#include "../pf_all.h"\r
+\r
+#if PF_POSIX_IO\r
+/* Configure console so that characters are not buffered.\r
+ * This allows KEY to work and also HISTORY.ON\r
+ * Thanks to Ralf Baechle and David Feuer for contributing this.\r
+ */\r
+\r
+#include <unistd.h>\r
+#ifdef sun\r
+#include <sys/int_types.h> /* Needed on Solaris for uint32_t in termio.h */\r
+#endif\r
+#include <termios.h>\r
+#include <sys/poll.h>\r
+\r
+#define stdin_fd 1\r
+\r
+static struct termios save_termios;\r
+static int stdin_is_tty;\r
+\r
+/* Default portable terminal I/O. */\r
+int  sdTerminalOut( char c )\r
+{\r
+       return putchar(c);\r
+}\r
+/* We don't need to echo because getchar() echos. */\r
+int  sdTerminalEcho( char c )\r
+{\r
+       TOUCH(c);\r
+       return 0;\r
+}\r
+int  sdTerminalIn( void )\r
+{\r
+       return getchar();\r
+}\r
+\r
+int  sdTerminalFlush( void )\r
+{\r
+#ifdef PF_NO_FILEIO\r
+       return -1;\r
+#else\r
+       return fflush(PF_STDOUT);\r
+#endif\r
+}\r
+\r
+/****************************************************/\r
+int sdQueryTerminal( void )\r
+{\r
+       struct pollfd  pfd;\r
+       sdTerminalFlush();\r
+       pfd.fd = stdin_fd;\r
+       pfd.events = stdin_fd;\r
+       return poll( &pfd, 1, 0 );      \r
+}\r
+\r
+/****************************************************/\r
+void sdTerminalInit(void)\r
+{\r
+        struct termios term;\r
+       \r
+        stdin_is_tty = isatty(stdin_fd);\r
+        if (!stdin_is_tty)\r
+                return;\r
+               \r
+/* Get current terminal attributes and save them so we can restore them. */\r
+        tcgetattr(stdin_fd, &term);\r
+        save_termios = term;\r
+       \r
+/* ICANON says to wait upon read until a character is received,\r
+ * and then to return it immediately (or soon enough....)\r
+ * ECHOCTL says not to echo backspaces and other control chars as ^H */\r
+        term.c_lflag &= ~( ECHO | ECHONL | ECHOCTL | ICANON );\r
+        term.c_cc[VTIME] = 0;\r
+        term.c_cc[VMIN] = 1;\r
+        tcsetattr(stdin_fd, TCSANOW, &term);\r
+}\r
+\r
+/****************************************************/\r
+void sdTerminalTerm(void)\r
+{\r
+        if (!stdin_is_tty)\r
+                return;\r
+\r
+        tcsetattr(stdin_fd, TCSANOW, &save_termios);\r
+}\r
+\r
+#undef stdin_fd\r
+\r
+#endif\r
diff --git a/csrc/stdio/pf_io_stdio.c b/csrc/stdio/pf_io_stdio.c
new file mode 100644 (file)
index 0000000..75decfc
--- /dev/null
@@ -0,0 +1,57 @@
+/* $Id$ */\r
+/***************************************************************\r
+** I/O subsystem for PForth for common systems.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 941004 PLB Extracted IO calls from pforth_main.c\r
+***************************************************************/\r
+\r
+#include "../pf_all.h"\r
+\r
+/* Default portable terminal I/O. */\r
+int  sdTerminalOut( char c )\r
+{\r
+       return putchar(c);\r
+}\r
+/* We don't need to echo because getchar() echos. */\r
+int  sdTerminalEcho( char c )\r
+{\r
+       return 0;\r
+}\r
+int  sdTerminalIn( void )\r
+{\r
+       return getchar();\r
+}\r
+int  sdQueryTerminal( void )\r
+{\r
+       return 0;\r
+}\r
+\r
+int  sdTerminalFlush( void )\r
+{\r
+#ifdef PF_NO_FILEIO\r
+       return -1;\r
+#else\r
+       return fflush(PF_STDOUT);\r
+#endif\r
+}\r
+\r
+void sdTerminalInit( void )\r
+{\r
+}\r
+void sdTerminalTerm( void )\r
+{\r
+}\r
+\r
diff --git a/csrc/win32/pf_io_win32.c b/csrc/win32/pf_io_win32.c
new file mode 100644 (file)
index 0000000..24bfa8e
--- /dev/null
@@ -0,0 +1,64 @@
+/* $Id$ */\r
+/***************************************************************\r
+** I/O subsystem for PForth for WIN32 systems.\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+****************************************************************\r
+** 941004 PLB Extracted IO calls from pforth_main.c\r
+***************************************************************/\r
+\r
+#include "../pf_all.h"\r
+\r
+#include <conio.h>\r
+\r
+/* Use console mode I/O so that KEY and ?TERMINAL will work. */\r
+#if WIN32\r
+int  sdTerminalOut( char c )\r
+{\r
+       return _putch((char)(c));\r
+}\r
+\r
+/* Needed cuz _getch() does not echo. */\r
+int  sdTerminalEcho( char c )\r
+{\r
+       return _putch((char)(c));\r
+}\r
+\r
+int  sdTerminalIn( void )\r
+{\r
+       return _getch();\r
+}\r
+\r
+int  sdQueryTerminal( void )\r
+{\r
+       return _kbhit();\r
+}\r
+\r
+int  sdTerminalFlush( void )\r
+{\r
+#ifdef PF_NO_FILEIO\r
+       return -1;\r
+#else\r
+       return fflush(PF_STDOUT);\r
+#endif\r
+}\r
+\r
+void sdTerminalInit( void )\r
+{\r
+}\r
+\r
+void sdTerminalTerm( void )\r
+{\r
+}\r
+#endif\r
diff --git a/csrc/win32_console/pf_io_win32_console.c b/csrc/win32_console/pf_io_win32_console.c
new file mode 100644 (file)
index 0000000..8efd7d8
--- /dev/null
@@ -0,0 +1,231 @@
+/* $Id$ */\r
+/***************************************************************\r
+** I/O subsystem for PForth for WIN32 systems.\r
+**\r
+** Use Windows Console so we can add the ANSI console commands needed to support HISTORY\r
+**\r
+** Author: Phil Burk\r
+** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r
+**\r
+** The pForth software code is dedicated to the public domain,\r
+** and any third party may reproduce, distribute and modify\r
+** the pForth software code or any derivative works thereof\r
+** without any compensation or license.  The pForth software\r
+** code is provided on an "as is" basis without any warranty\r
+** of any kind, including, without limitation, the implied\r
+** warranties of merchantability and fitness for a particular\r
+** purpose and their equivalents under the laws of any jurisdiction.\r
+**\r
+***************************************************************/\r
+\r
+#include "../pf_all.h"\r
+\r
+#if WIN32\r
+\r
+#include <windows.h>\r
+\r
+#define ASCII_ESCAPE  (0x1B)\r
+\r
+static HANDLE sConsoleHandle = INVALID_HANDLE_VALUE;\r
+static int sIsConsoleValid = FALSE;\r
+\r
+typedef enum ConsoleState_e\r
+{\r
+       SDCONSOLE_STATE_IDLE = 0,\r
+       SDCONSOLE_STATE_GOT_ESCAPE,\r
+       SDCONSOLE_STATE_GOT_BRACKET,\r
+\r
+} ConsoleState;\r
+\r
+static int sConsoleState = SDCONSOLE_STATE_IDLE;\r
+static int sParam1 = 0;\r
+static CONSOLE_SCREEN_BUFFER_INFO sScreenInfo;\r
+\r
+/******************************************************************/\r
+static void sdConsoleEmit( char c )\r
+{\r
+       // Write a WCHAR in case we have compiled with Unicode support.\r
+       // Otherwise we will see '?' printed.\r
+       WCHAR  wc = (WCHAR) c;\r
+       DWORD count;\r
+       if( sIsConsoleValid )\r
+       {\r
+               WriteConsoleW(sConsoleHandle, &wc, 1, &count, NULL );\r
+       }\r
+       else\r
+       {\r
+               // This will get called if we are redirecting to a file.\r
+               WriteFile(sConsoleHandle, &c, 1, &count, NULL );\r
+       }\r
+}\r
+\r
+/******************************************************************/\r
+static void sdClearScreen( void )\r
+{\r
+       if( GetConsoleScreenBufferInfo( sConsoleHandle, &sScreenInfo ) )\r
+       {\r
+               COORD XY;\r
+               int numNeeded;\r
+               DWORD count;\r
+               XY.X = 0;\r
+               XY.Y = sScreenInfo.srWindow.Top;\r
+               numNeeded = sScreenInfo.dwSize.X * (sScreenInfo.srWindow.Bottom - sScreenInfo.srWindow.Top + 1);\r
+               FillConsoleOutputCharacter(\r
+                       sConsoleHandle, ' ', numNeeded, XY, &count );\r
+               SetConsoleCursorPosition( sConsoleHandle, XY );\r
+       }\r
+}\r
+\r
+/******************************************************************/\r
+static void sdEraseEOL( void )\r
+{\r
+       if( GetConsoleScreenBufferInfo( sConsoleHandle, &sScreenInfo ) )\r
+       {\r
+               COORD savedXY;\r
+               int numNeeded;\r
+               DWORD count;\r
+               savedXY.X = sScreenInfo.dwCursorPosition.X;\r
+               savedXY.Y = sScreenInfo.dwCursorPosition.Y;\r
+               numNeeded = sScreenInfo.dwSize.X - savedXY.X;\r
+               FillConsoleOutputCharacter(\r
+                       sConsoleHandle, ' ', numNeeded, savedXY, &count );\r
+       }\r
+}\r
+\r
+/******************************************************************/\r
+static void sdCursorBack( int dx )\r
+{\r
+       if( GetConsoleScreenBufferInfo( sConsoleHandle, &sScreenInfo ) )\r
+       {\r
+               COORD XY;\r
+               XY.X = sScreenInfo.dwCursorPosition.X;\r
+               XY.Y = sScreenInfo.dwCursorPosition.Y;\r
+               XY.X -= dx;\r
+               if( XY.X < 0 ) XY.X = 0;\r
+               SetConsoleCursorPosition( sConsoleHandle, XY );\r
+       }\r
+}\r
+/******************************************************************/\r
+static void sdCursorForward( int dx )\r
+{\r
+       if( GetConsoleScreenBufferInfo( sConsoleHandle, &sScreenInfo ) )\r
+       {\r
+               COORD XY;\r
+               int width = sScreenInfo.dwSize.X;\r
+               XY.X = sScreenInfo.dwCursorPosition.X;\r
+               XY.Y = sScreenInfo.dwCursorPosition.Y;\r
+               XY.X += dx;\r
+               if( XY.X > width ) XY.X = width;\r
+               SetConsoleCursorPosition( sConsoleHandle, XY );\r
+       }\r
+}\r
+\r
+/******************************************************************/\r
+/* Use console mode I/O so that KEY and ?TERMINAL will work.\r
+ * Parse ANSI escape sequences and call the appropriate cursor\r
+ * control functions.\r
+ */\r
+int  sdTerminalOut( char c )\r
+{\r
+       switch( sConsoleState )\r
+       {\r
+       case SDCONSOLE_STATE_IDLE:\r
+               switch( c )\r
+               {\r
+               case ASCII_ESCAPE:\r
+                       sConsoleState = SDCONSOLE_STATE_GOT_ESCAPE;\r
+                       break;\r
+               default:\r
+                       sdConsoleEmit( c );\r
+               }\r
+               break;\r
+\r
+       case SDCONSOLE_STATE_GOT_ESCAPE:\r
+               switch( c )\r
+               {\r
+               case '[':\r
+                       sConsoleState = SDCONSOLE_STATE_GOT_BRACKET;\r
+                       sParam1 = 0;\r
+                       break;\r
+               default:\r
+                       sConsoleState = SDCONSOLE_STATE_IDLE;\r
+                       sdConsoleEmit( c );\r
+               }\r
+               break;\r
+\r
+       case SDCONSOLE_STATE_GOT_BRACKET:\r
+               if( (c >= '0') && (c <= '9') )\r
+               {\r
+                       sParam1 = (sParam1 * 10) + (c - '0');\r
+               }\r
+               else\r
+               {\r
+                       sConsoleState = SDCONSOLE_STATE_IDLE;\r
+                       if( c == 'K')\r
+                       {\r
+                               sdEraseEOL();\r
+                       }\r
+                       else if( c == 'D' )\r
+                       {\r
+                               sdCursorBack( sParam1 );\r
+                       }\r
+                       else if( c == 'C' )\r
+                       {\r
+                               sdCursorForward( sParam1 );\r
+                       }\r
+                       else if( (c == 'J') && (sParam1 == 2) )\r
+                       {\r
+                               sdClearScreen();\r
+                       }\r
+               }\r
+               break;\r
+       }\r
+       return 0;\r
+}\r
+\r
+/* Needed cuz _getch() does not echo. */\r
+int  sdTerminalEcho( char c )\r
+{\r
+       sdConsoleEmit((char)(c));\r
+       return 0;\r
+}\r
+\r
+int  sdTerminalIn( void )\r
+{\r
+       return _getch();\r
+}\r
+\r
+int  sdQueryTerminal( void )\r
+{\r
+       return _kbhit();\r
+}\r
+\r
+int  sdTerminalFlush( void )\r
+{\r
+#ifdef PF_NO_FILEIO\r
+       return -1;\r
+#else\r
+       return fflush(PF_STDOUT);\r
+#endif\r
+}\r
+\r
+void sdTerminalInit( void )\r
+{\r
+       DWORD mode = 0;\r
+       sConsoleHandle = GetStdHandle( STD_OUTPUT_HANDLE );\r
+       if( GetConsoleMode( sConsoleHandle, &mode ) )\r
+       {\r
+               //printf("GetConsoleMode() mode is 0x%08X\n", mode );\r
+               sIsConsoleValid = TRUE;\r
+       }\r
+       else\r
+       {\r
+               //printf("GetConsoleMode() failed\n", mode );\r
+               sIsConsoleValid = FALSE;\r
+       }\r
+}\r
+\r
+void sdTerminalTerm( void )\r
+{\r
+}\r
+#endif\r
diff --git a/fth/ansilocs.fth b/fth/ansilocs.fth
new file mode 100644 (file)
index 0000000..29d9075
--- /dev/null
@@ -0,0 +1,203 @@
+\ @(#) ansilocs.fth 98/01/26 1.3\r
+\ local variable support words\r
+\ These support the ANSI standard (LOCAL) and TO words.\r
+\\r
+\ They are built from the following low level primitives written in 'C':\r
+\    (local@) ( i+1 -- n , fetch from ith local variable )\r
+\    (local!) ( n i+1 -- , store to ith local variable )\r
+\    (local.entry) ( num -- , allocate stack frame for num local variables )\r
+\    (local.exit)  ( -- , free local variable stack frame )\r
+\    local-compiler ( -- addr , variable containing CFA of locals compiler )\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\\r
+\ 10/27/99 Fixed  : foo { -- } 55 ; was entering local frame but not exiting.\r
+\r
+anew task-ansilocs.fth\r
+\r
+private{\r
+\r
+decimal\r
+16 constant LV_MAX_VARS    \ maximum number of local variables\r
+31 constant LV_MAX_CHARS   \ maximum number of letters in name\r
+\r
+lv_max_vars lv_max_chars $array LV-NAMES\r
+variable LV-#NAMES   \ number of names currently defined\r
+\r
+\ Search name table for match\r
+: LV.MATCH ( $string -- index true | $string false )\r
+    0 swap\r
+    lv-#names @ 0\r
+    ?DO  i lv-names\r
+        over $=\r
+        IF  2drop true i LEAVE\r
+        THEN\r
+    LOOP swap\r
+;\r
+\r
+: LV.COMPILE.FETCH  ( index -- )\r
+       1+  \ adjust for optimised (local@), LocalsPtr points above vars\r
+       CASE\r
+       1 OF compile (1_local@) ENDOF\r
+       2 OF compile (2_local@) ENDOF\r
+       3 OF compile (3_local@) ENDOF\r
+       4 OF compile (4_local@) ENDOF\r
+       5 OF compile (5_local@) ENDOF\r
+       6 OF compile (6_local@) ENDOF\r
+       7 OF compile (7_local@) ENDOF\r
+       8 OF compile (8_local@) ENDOF\r
+       dup [compile] literal compile (local@)\r
+       ENDCASE\r
+;\r
+\r
+: LV.COMPILE.STORE  ( index -- )\r
+       1+  \ adjust for optimised (local!), LocalsPtr points above vars\r
+       CASE\r
+       1 OF compile (1_local!) ENDOF\r
+       2 OF compile (2_local!) ENDOF\r
+       3 OF compile (3_local!) ENDOF\r
+       4 OF compile (4_local!) ENDOF\r
+       5 OF compile (5_local!) ENDOF\r
+       6 OF compile (6_local!) ENDOF\r
+       7 OF compile (7_local!) ENDOF\r
+       8 OF compile (8_local!) ENDOF\r
+       dup [compile] literal compile (local!)\r
+       ENDCASE\r
+;\r
+\r
+: LV.COMPILE.LOCAL  ( $name -- handled? , check for matching locals name )\r
+\ ." LV.COMPILER.LOCAL name = " dup count type cr\r
+       lv.match\r
+       IF ( index )\r
+               lv.compile.fetch\r
+               true\r
+       ELSE\r
+               drop false\r
+       THEN\r
+;\r
+\r
+: LV.CLEANUP ( -- , restore stack frame on exit from colon def )\r
+       lv-#names @\r
+       IF\r
+               compile (local.exit)\r
+       THEN\r
+;\r
+: LV.FINISH ( -- , restore stack frame on exit from colon def )\r
+       lv.cleanup\r
+       lv-#names off\r
+       local-compiler off\r
+;\r
+\r
+: LV.SETUP ( -- )\r
+       0 lv-#names !\r
+;\r
+\r
+: LV.TERM\r
+       ." Locals turned off" cr\r
+       lv-#names off\r
+       local-compiler off\r
+;\r
+\r
+if.forgotten lv.term\r
+\r
+}private\r
+\r
+: (LOCAL)  ( adr len -- , ANSI local primitive )\r
+       dup\r
+       IF\r
+               lv-#names @ lv_max_vars >= abort" Too many local variables!"\r
+               lv-#names @  lv-names place\r
+\ Warn programmer if local variable matches an existing dictionary name.\r
+               lv-#names @  lv-names find nip\r
+               IF\r
+                       ." (LOCAL) - Note: "\r
+                       lv-#names @  lv-names count type\r
+                       ."  redefined as a local variable in "\r
+                       latest id. cr\r
+               THEN\r
+               1 lv-#names +!\r
+       ELSE\r
+\ Last local. Finish building local stack frame.\r
+               2drop\r
+               lv-#names @ dup 0=  \ fixed 10/27/99, Thanks to John Providenza\r
+               IF\r
+                       drop ." (LOCAL) - Warning: no locals defined!" cr\r
+               ELSE\r
+                       [compile] literal   compile (local.entry)\r
+                       ['] lv.compile.local local-compiler !\r
+               THEN\r
+       THEN\r
+;\r
+\r
+\r
+: VALUE\r
+       CREATE ( n <name> )\r
+               ,\r
+               immediate\r
+       DOES>\r
+               state @\r
+               IF\r
+                       [compile] aliteral\r
+                       compile @\r
+               ELSE\r
+                       @\r
+               THEN\r
+;\r
+\r
+: TO  ( val <name> -- )\r
+       bl word\r
+       lv.match\r
+       IF  ( -- index )\r
+               lv.compile.store\r
+       ELSE\r
+               find \r
+               1 = 0= abort" TO or -> before non-local or non-value"\r
+               >body  \ point to data\r
+               state @\r
+               IF  \ compiling  ( -- pfa )\r
+                       [compile] aliteral\r
+                       compile !\r
+               ELSE \ executing  ( -- val pfa )\r
+                       !\r
+               THEN\r
+       THEN\r
+; immediate\r
+\r
+: ->  ( -- )  [compile] to  ; immediate\r
+\r
+: +->  ( val <name> -- )\r
+       bl word\r
+       lv.match\r
+       IF  ( -- index )\r
+               1+  \ adjust for optimised (local!), LocalsPtr points above vars\r
+               [compile] literal compile (local+!)\r
+       ELSE\r
+               find \r
+               1 = 0= abort" +-> before non-local or non-value"\r
+               >body  \ point to data\r
+               state @\r
+               IF  \ compiling  ( -- pfa )\r
+                       [compile] aliteral\r
+                       compile +!\r
+               ELSE \ executing  ( -- val pfa )\r
+                       +!\r
+               THEN\r
+       THEN\r
+; immediate\r
+\r
+: :      lv.setup   : ;\r
+: ;      lv.finish  [compile] ;      ; immediate\r
+: exit   lv.cleanup  compile exit   ; immediate\r
+: does>  lv.finish  [compile] does>  ; immediate\r
+\r
+privatize\r
diff --git a/fth/bench.fth b/fth/bench.fth
new file mode 100644 (file)
index 0000000..bd5c430
--- /dev/null
@@ -0,0 +1,198 @@
+\ @(#) bench.fth 97/12/10 1.1\r
+\ Benchmark Forth\r
+\ by Phil Burk\r
+\ 11/17/95\r
+\\r
+\ pForthV9 on Indy, compiled with gcc\r
+\  bench1  took 15 seconds\r
+\  bench2  took 16 seconds\r
+\  bench3  took 17 seconds\r
+\  bench4  took 17 seconds\r
+\  bench5  took 19 seconds\r
+\  sieve   took  4 seconds\r
+\\r
+\ Darren Gibbs reports that on an SGI Octane loaded with multiple users:\r
+\  bench1  took 2.8sec\r
+\  bench2  took 2.7\r
+\  bench3  took 2.9\r
+\  bench4  took 2.1\r
+\  bench 5 took 2.5\r
+\  seive   took .6\r
+\\r
+\ HForth on Mac Quadra 800, 68040\r
+\  bench1  took 1.73 seconds\r
+\  bench2  took 6.48 seconds\r
+\  bench3  took 2.65 seconds\r
+\  bench4  took 2.50 seconds\r
+\  bench5  took 1.91 seconds\r
+\  sieve   took 0.45 seconds\r
+\\r
+\ pForthV9 on Mac Quadra 800\r
+\  bench1  took 40 seconds\r
+\  bench2  took 43 seconds\r
+\  bench3  took 43 seconds\r
+\  bench4  took 44 seconds\r
+\  bench5  took 42 seconds\r
+\  sieve   took 20 seconds\r
+\\r
+\ pForthV9 on PB5300, 100 MHz PPC 603 based Mac Powerbook\r
+\  bench1  took 8.6 seconds\r
+\  bench2  took 9.0 seconds\r
+\  bench3  took 9.7 seconds\r
+\  bench4  took 8.8 seconds\r
+\  bench5  took 10.3 seconds\r
+\  sieve   took 2.3 seconds\r
+\\r
+\ HForth on PB5300\r
+\  bench1  took 1.1 seconds\r
+\  bench2  took 3.6 seconds\r
+\  bench3  took 1.7 seconds\r
+\  bench4  took 1.2 seconds\r
+\  bench5  took 1.3 seconds\r
+\  sieve   took 0.2 seconds\r
+\r
+anew task-bench.fth\r
+\r
+decimal\r
+\r
+\ benchmark primitives\r
+create #do 2000000   ,\r
+\r
+: t1           #do @ 0      do                     loop ;\r
+: t2  23 45    #do @ 0      do  swap               loop   2drop ;\r
+: t3  23       #do @ 0      do  dup drop           loop drop ;\r
+: t4  23 45    #do @ 0      do  over drop          loop 2drop ;\r
+: t5           #do @ 0      do  23 45 + drop       loop ;\r
+: t6  23       #do @ 0      do  >r r>              loop drop ;\r
+: t7  23 45 67 #do @ 0      do  rot                loop 2drop drop ;\r
+: t8           #do @ 0      do  23 2* drop         loop  ;\r
+: t9           #do @ 10 / 0 do  23 5 /mod 2drop    loop ;\r
+: t10     #do  #do @ 0      do  dup @ drop         loop drop ;\r
+\r
+: foo ( noop ) ;\r
+: t11          #do @ 0      do  foo                loop ;\r
+\r
+\ more complex benchmarks -----------------------\r
+\r
+\ BENCH1 - sum data ---------------------------------------\r
+create data1 23 , 45 , 67 , 89 , 111 , 222 , 333 , 444 ,\r
+: sum.cells ( addr num -- sum )\r
+       0 swap \ sum\r
+       0 DO\r
+               over \ get address\r
+               i cells + @ +\r
+       LOOP\r
+       swap drop\r
+;\r
+\r
+: bench1 ( -- )\r
+       200000 0\r
+       DO\r
+               data1 8 sum.cells drop\r
+       LOOP\r
+;\r
+\r
+\ BENCH2 - recursive factorial --------------------------\r
+: factorial ( n -- n! )\r
+       dup 1 >\r
+       IF\r
+               dup 1- recurse *\r
+       ELSE\r
+               drop 1\r
+       THEN\r
+;\r
+\r
+: bench2 ( -- )\r
+       200000 0\r
+       DO\r
+               10 factorial drop\r
+       LOOP\r
+;\r
+\r
+\ BENCH3 - DEFER ----------------------------------\r
+defer calc.answer\r
+: answer ( n -- m )\r
+       dup +\r
+       $ a5a5 xor\r
+       1000 max\r
+;\r
+' answer is calc.answer\r
+: bench3\r
+       1500000 0\r
+       DO\r
+               i calc.answer drop\r
+       LOOP\r
+;\r
+       \r
+\ BENCH4 - locals ---------------------------------\r
+: use.locals { x1 x2 | aa bb -- result }\r
+       x1 2* -> aa\r
+       x2 2/ -> bb\r
+       x1 aa *\r
+       x2 bb * +\r
+;\r
+\r
+: bench4\r
+       400000 0\r
+       DO\r
+               234 567 use.locals drop\r
+       LOOP\r
+;\r
+\r
+\ BENCH5 - string compare -------------------------------\r
+: match.strings { $s1 $s2 | adr1 len1 adr2 len2 -- flag }\r
+       $s1 count -> len1 -> adr1\r
+       $s2 count -> len2 -> adr2\r
+       len1 len2 -\r
+       IF\r
+               FALSE\r
+       ELSE\r
+               TRUE\r
+               len1 0\r
+               DO\r
+                       adr1 i + c@\r
+                       adr2 i + c@ -\r
+                       IF\r
+                               drop FALSE\r
+                               leave\r
+                       THEN\r
+               LOOP\r
+       THEN\r
+;\r
+\r
+: bench5 ( -- )\r
+       60000 0\r
+       DO\r
+               " This is a string. X foo"\r
+               " This is a string. Y foo" match.strings drop\r
+       LOOP\r
+;\r
+\r
+\ SIEVE OF ERATOSTHENES from BYTE magazine -----------------------\r
+\r
+DECIMAL 8190 CONSTANT TSIZE\r
+\r
+VARIABLE FLAGS TSIZE ALLOT\r
+\r
+: <SIEVE>  ( --- #primes )  FLAGS TSIZE 1 FILL\r
+ 0  TSIZE 0\r
+ DO   ( n )  I FLAGS + C@\r
+      IF    I  DUP +  3 +   DUP I +  (  I2*+3 I3*+3 )\r
+           BEGIN  DUP TSIZE <  ( same flag )\r
+           WHILE  0 OVER FLAGS + C! (  i' i'' )   OVER +\r
+           REPEAT 2DROP  1+\r
+      THEN\r
+ LOOP       ;\r
+\r
+: SIEVE  ." 10 iterations " CR  0   10 0 \r
+  DO     <SIEVE> swap drop \r
+  LOOP   . ." primes " CR ;\r
+\r
+: SIEVE50  ." 50 iterations " CR  0   50 0 \r
+  DO     <SIEVE> swap drop \r
+  LOOP   . ." primes " CR ;\r
+\r
+\ 10 iterations\r
+\ 21.5 sec  Amiga Multi-Forth  Indirect Threaded\r
+\ 8.82 sec  Amiga 1000 running JForth\r
+\ ~5 sec  SGI Indy running pForthV9\r
diff --git a/fth/c_struct.fth b/fth/c_struct.fth
new file mode 100644 (file)
index 0000000..5898bf8
--- /dev/null
@@ -0,0 +1,242 @@
+\ @(#) c_struct.fth 98/01/26 1.2\r
+\ STRUCTUREs are for interfacing with 'C' programs.\r
+\ Structures are created using :STRUCT and ;STRUCT\r
+\\r
+\ This file must be loaded before loading any .J files.\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\\r
+\ MOD: PLB 1/16/87 Use abort" instead of er.report\r
+\      MDH 4/14/87 Added sign-extend words to ..@\r
+\ MOD: PLB 9/1/87 Add pointer to last member for debug.\r
+\ MOD: MDH 4/30/88 Use fast addressing for ..@ and ..!\r
+\ MOD: PLB/MDH 9/30/88 Fixed offsets for 16@+long and 8@+long\r
+\        fixed OB.COMPILE.+@/! for 0 offset\r
+\ MOD: PLB 1/11/89 Added EVEN-UP in case of last member BYTE\r
+\ MOD: RDG 9/19/90 Added floating point member support\r
+\ MOD: PLB 12/21/90 Optimized ..@ and ..!\r
+\ 00001 PLB 11/20/91 Make structures IMMEDIATE with ALITERAL for speed\r
+\           Don't need MOVEQ.L  #0,D0 for 16@+WORD and 8@+WORD\r
+\ 00002 PLB 8/3/92 Added S@ and S!, and support for RPTR\r
+\ 951112 PLB Added FS@ and FS!\r
+\ This version for the pForth system.\r
+\r
+ANEW TASK-C_STRUCT\r
+\r
+decimal\r
+\ STRUCT ======================================================\r
+: <:STRUCT> ( pfa -- , run time action for a structure)\r
+    [COMPILE] CREATE  \r
+        @ even-up here swap dup ( -- here # # )\r
+        allot  ( make room for ivars )\r
+        0 fill  ( initialize to zero )\r
+\              immediate \ 00001\r
+\      DOES> [compile] aliteral \ 00001\r
+;\r
+\r
+\ Contents of a structure definition.\r
+\    CELL 0 = size of instantiated structures\r
+\    CELL 1 = #bytes to last member name in dictionary.\r
+\             this is relative so it will work with structure\r
+\             relocation schemes like MODULE\r
+\r
+: :STRUCT (  -- , Create a 'C' structure )\r
+\ Check pairs\r
+   ob-state @\r
+   warning" :STRUCT - Previous :STRUCT or :CLASS unfinished!"\r
+   ob_def_struct ob-state !     ( set pair flags )\r
+\\r
+\ Create new struct defining word.\r
+  CREATE\r
+      here ob-current-class !  ( set current )\r
+      0 ,        ( initial ivar offset )\r
+      0 ,        ( location for #byte to last )\r
+   DOES>  <:STRUCT>\r
+;\r
+\r
+: ;STRUCT ( -- , terminate structure )\r
+   ob-state @ ob_def_struct = NOT\r
+   abort" ;STRUCT - Missing :STRUCT above!"\r
+   false ob-state !\r
+\r
+\ Point to last member.\r
+   latest ob-current-class @ body> >name -  ( byte difference of NFAs )\r
+   ob-current-class @ cell+ !\r
+\\r
+\ Even up byte offset in case last member was BYTE.\r
+   ob-current-class @ dup @ even-up swap !\r
+;\r
+\r
+\ Member reference words.\r
+: ..   ( object <member> -- member_address , calc addr of member )\r
+    ob.stats? drop state @\r
+    IF   ?dup\r
+         IF   [compile] literal compile +\r
+         THEN\r
+    ELSE +\r
+    THEN\r
+; immediate\r
+\r
+\r
+: (S+C!)  ( val addr offset -- )  + c! ;\r
+: (S+W!)  ( val addr  offset -- )  + w! ;\r
+: (S+!)  ( val addr offset -- )  + ! ;\r
+: (S+REL!)  ( ptr addr offset -- )  + >r if.use->rel r> ! ;\r
+\r
+: compile+!bytes ( offset size -- )\r
+\      ." compile+!bytes ( " over . dup . ." )" cr\r
+       swap [compile] literal   \ compile offset into word\r
+       CASE\r
+       cell OF compile (s+!)  ENDOF\r
+       2 OF compile (s+w!)      ENDOF\r
+       1 OF compile (s+c!)      ENDOF\r
+       -4 OF compile (s+rel!)   ENDOF \ 00002\r
+       -2 OF compile (s+w!)     ENDOF\r
+       -1 OF compile (s+c!)     ENDOF\r
+       true abort" s! - illegal size!"\r
+       ENDCASE\r
+;\r
+\r
+: !BYTES ( value address size -- )\r
+    CASE\r
+    cell OF ! ENDOF\r
+       -4 OF ( aptr addr )  swap if.use->rel swap ! ENDOF \ 00002\r
+       ABS\r
+       2 OF w! ENDOF\r
+       1 OF c! ENDOF\r
+       true abort" s! - illegal size!"\r
+    ENDCASE\r
+;\r
+\r
+\ These provide ways of setting and reading members values\r
+\ without knowing their size in bytes.\r
+: (S!) ( offset size -- , compile proper fetch )\r
+       state @\r
+    IF  compile+!bytes \r
+    ELSE ( -- value addr off size )\r
+        >r + r> !bytes\r
+    THEN\r
+;\r
+: S! ( value object <member> -- , store value in member )\r
+    ob.stats?\r
+       (s!)\r
+; immediate\r
+\r
+: @BYTES ( addr +/-size -- value )\r
+    CASE\r
+    cell OF @  ENDOF\r
+       2 OF w@      ENDOF\r
+       1 OF c@      ENDOF\r
+      -4 OF @ if.rel->use      ENDOF \ 00002\r
+      -2 OF w@ w->s     ENDOF\r
+      -1 OF c@ b->s     ENDOF\r
+       true abort" s@ - illegal size!"\r
+    ENDCASE\r
+;\r
+\r
+: (S+UC@)  ( addr offset -- val )  + c@ ;\r
+: (S+UW@)  ( addr offset -- val )  + w@ ;\r
+: (S+@)  ( addr offset -- val )  + @ ;\r
+: (S+REL@)  ( addr offset -- val )  + @ if.rel->use ;\r
+: (S+C@)  ( addr offset -- val )  + c@ b->s ;\r
+: (S+W@)  ( addr offset -- val )  + w@ w->s ;\r
+\r
+: compile+@bytes ( offset size -- )\r
+\      ." compile+@bytes ( " over . dup . ." )" cr\r
+       swap [compile] literal   \ compile offset into word\r
+       CASE\r
+       cell OF compile (s+@)  ENDOF\r
+       2 OF compile (s+uw@)      ENDOF\r
+       1 OF compile (s+uc@)      ENDOF\r
+       -4 OF compile (s+rel@)      ENDOF \ 00002\r
+       -2 OF compile (s+w@)     ENDOF\r
+       -1 OF compile (s+c@)     ENDOF\r
+       true abort" s@ - illegal size!"\r
+       ENDCASE\r
+;\r
+\r
+: (S@) ( offset size -- , compile proper fetch )\r
+       state @\r
+       IF compile+@bytes\r
+       ELSE >r + r> @bytes\r
+       THEN\r
+;\r
+\r
+: S@ ( object <member> -- value , fetch value from member )\r
+    ob.stats?\r
+       (s@)\r
+; immediate\r
+\r
+\r
+\r
+exists? F* [IF]\r
+\ 951112 Floating Point support\r
+: FLPT  ( <name> -- , declare space for a floating point value. )\r
+     1 floats bytes\r
+;\r
+: (S+F!)  ( val addr offset -- )  + f! ;\r
+: (S+F@)  ( addr offset -- val )  + f@ ;\r
+\r
+: FS! ( value object <member> -- , fetch value from member )\r
+    ob.stats?\r
+    1 floats <> abort" FS@ with non-float!"\r
+       state @\r
+       IF\r
+               [compile] literal\r
+               compile (s+f!)\r
+       ELSE (s+f!)\r
+       THEN\r
+; immediate\r
+: FS@ ( object <member> -- value , fetch value from member )\r
+    ob.stats?\r
+    1 floats <> abort" FS@ with non-float!"\r
+       state @\r
+       IF\r
+               [compile] literal\r
+               compile (s+f@)\r
+       ELSE (s+f@)\r
+       THEN\r
+; immediate\r
+[THEN]\r
+\r
+0 [IF]\r
+:struct mapper\r
+    long map_l1\r
+    long map_l2\r
+    aptr map_a1\r
+    rptr map_r1\r
+    flpt map_f1\r
+    short map_s1\r
+    ushort map_s2\r
+    byte map_b1\r
+    ubyte map_b2\r
+;struct\r
+mapper map1\r
+\r
+: TT\r
+       -500 map1 s! map_s1\r
+       map1 s@ map_s1 -500 - abort" map_s1 failed!"\r
+       -500 map1 s! map_s2\r
+       map1 s@ map_s2 -500 $ FFFF and - abort" map_s2 failed!"\r
+       -89 map1 s! map_b1\r
+       map1 s@ map_b1 -89 - abort" map_s1 failed!"\r
+       here map1 s! map_r1\r
+       map1 s@ map_r1 here - abort" map_r1 failed!"\r
+       -89 map1 s! map_b2\r
+       map1 s@ map_b2 -89 $ FF and - abort" map_s2 failed!"\r
+       23.45 map1 fs! map_f1\r
+       map1 fs@ map_f1 f. ." =?= 23.45" cr\r
+;\r
+." Testing c_struct.fth" cr\r
+TT\r
+[THEN]\r
diff --git a/fth/case.fth b/fth/case.fth
new file mode 100644 (file)
index 0000000..ab71641
--- /dev/null
@@ -0,0 +1,78 @@
+\ @(#) case.fth 98/01/26 1.2\r
+\ CASE Statement\r
+\\r
+\ This definition is based upon Wil Baden's assertion that\r
+\ >MARK >RESOLVE ?BRANCH etc. are not needed if one has IF ELSE THEN etc.\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\\r
+\ MOD: PLB 6/24/91 Check for missing ENDOF\r
+\ MOD: PLB 8/7/91 Add ?OF and RANGEOF\r
+\ MOD: PLB 11/2/99 Fixed nesting of CASE. Needed to save of-depth on stack as well as case-depth.\r
+\r
+anew TASK-CASE\r
+\r
+variable CASE-DEPTH\r
+variable OF-DEPTH\r
+\r
+: CASE  ( n -- , start case statement ) ( -c- case-depth )\r
+       ?comp\r
+       of-depth @   0 of-depth !   \ 11/2/99\r
+       case-depth @ 0 case-depth !  ( allow nesting )\r
+; IMMEDIATE\r
+\r
+: ?OF  ( n flag -- | n , doit if true ) ( -c- addr )\r
+       [compile] IF\r
+       compile drop\r
+       1 case-depth +!\r
+       1 of-depth +!\r
+; IMMEDIATE\r
+\r
+: OF  ( n t -- | n , doit if match ) ( -c- addr )\r
+       ?comp\r
+       compile over compile =\r
+       [compile] ?OF\r
+; IMMEDIATE\r
+\r
+: (RANGEOF?)  ( n lo hi -- | n  flag )\r
+       >r over ( n lo n ) <=\r
+       IF\r
+               dup r> ( n n hi ) <=\r
+       ELSE\r
+               rdrop false\r
+       THEN\r
+;\r
+\r
+: RANGEOF  ( n lo hi -- | n , doit if within ) ( -c- addr )\r
+       compile (rangeof?)\r
+       [compile] ?OF\r
+; IMMEDIATE\r
+\r
+: ENDOF  ( -- ) ( addr -c- addr' )\r
+       [compile] ELSE\r
+       -1 of-depth +!\r
+; IMMEDIATE\r
+\r
+: ENDCASE ( n -- )  ( old-case-depth addr' addr' ??? -- )\r
+       of-depth @\r
+       IF >newline ." Missing ENDOF in CASE!" cr abort\r
+       THEN\r
+\\r
+       compile drop\r
+       case-depth @ 0\r
+       ?DO [compile] THEN\r
+       LOOP\r
+       case-depth !\r
+       of-depth !\r
+; IMMEDIATE\r
+\r
diff --git a/fth/condcomp.fth b/fth/condcomp.fth
new file mode 100644 (file)
index 0000000..d312ca1
--- /dev/null
@@ -0,0 +1,50 @@
+\ @(#) condcomp.fth 98/01/26 1.2\r
+\ Conditional Compilation support\r
+\\r
+\ Words: STRINGS= [IF] [ELSE] [THEN] EXISTS?\r
+\\r
+\ Lifted from X3J14 dpANS-6 document.\r
+\r
+anew task-condcomp.fth\r
+\r
+: [ELSE]  ( -- )\r
+    1\r
+    BEGIN                                 \ level\r
+      BEGIN\r
+        BL WORD                           \ level $word\r
+        COUNT  DUP                        \ level adr len len\r
+      WHILE                               \ level adr len\r
+        2DUP  S" [IF]"  COMPARE 0=\r
+        IF                                \ level adr len\r
+          2DROP 1+                        \ level'\r
+        ELSE                              \ level adr len\r
+          2DUP  S" [ELSE]"\r
+          COMPARE 0=                      \ level adr len flag\r
+          IF                              \ level adr len\r
+             2DROP 1- DUP IF 1+ THEN      \ level'\r
+          ELSE                            \ level adr len\r
+            S" [THEN]"  COMPARE 0=\r
+            IF\r
+              1-                          \ level'\r
+            THEN\r
+          THEN\r
+        THEN\r
+        ?DUP 0=  IF EXIT THEN             \ level'\r
+      REPEAT  2DROP                       \ level\r
+    REFILL 0= UNTIL                       \ level\r
+    DROP\r
+;  IMMEDIATE\r
+\r
+: [IF]  ( flag -- )\r
+       0=\r
+       IF POSTPONE [ELSE]\r
+       THEN\r
+;  IMMEDIATE\r
+\r
+: [THEN]  ( -- )\r
+;  IMMEDIATE\r
+\r
+: EXISTS? ( <name> -- flag , true if defined )\r
+    bl word find\r
+    swap drop\r
+; immediate\r
diff --git a/fth/coretest.fth b/fth/coretest.fth
new file mode 100644 (file)
index 0000000..c91b27c
--- /dev/null
@@ -0,0 +1,999 @@
+\ From: John Hayes S1I\r
+\ Subject: core.fr\r
+\ Date: Mon, 27 Nov 95 13:10\r
+\r
+\ (C) 1995 JOHNS HOPKINS UNIVERSITY / APPLIED PHYSICS LABORATORY\r
+\ MAY BE DISTRIBUTED FREELY AS LONG AS THIS COPYRIGHT NOTICE REMAINS.\r
+\ VERSION 1.2\r
+\ THIS PROGRAM TESTS THE CORE WORDS OF AN ANS FORTH SYSTEM.\r
+\ THE PROGRAM ASSUMES A TWO'S COMPLEMENT IMPLEMENTATION WHERE\r
+\ THE RANGE OF SIGNED NUMBERS IS -2^(N-1) ... 2^(N-1)-1 AND\r
+\ THE RANGE OF UNSIGNED NUMBERS IS 0 ... 2^(N)-1.\r
+\ I HAVEN'T FIGURED OUT HOW TO TEST KEY, QUIT, ABORT, OR ABORT"...\r
+\ I ALSO HAVEN'T THOUGHT OF A WAY TO TEST ENVIRONMENT?...\r
+\r
+\ Load test tools - Phil Burk\r
+include? testing tester.fth\r
+\r
+TESTING CORE WORDS\r
+HEX\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING BASIC ASSUMPTIONS\r
+\r
+{ -> }                                 \ START WITH CLEAN SLATE\r
+( TEST IF ANY BITS ARE SET; ANSWER IN BASE 1 )\r
+{ : BITSSET? IF 0 0 ELSE 0 THEN ; -> }\r
+{  0 BITSSET? -> 0 }           ( ZERO IS ALL BITS CLEAR )\r
+{  1 BITSSET? -> 0 0 }         ( OTHER NUMBER HAVE AT LEAST ONE BIT )\r
+{ -1 BITSSET? -> 0 0 }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING BOOLEANS: INVERT AND OR XOR\r
+\r
+{ 0 0 AND -> 0 }\r
+{ 0 1 AND -> 0 }\r
+{ 1 0 AND -> 0 }\r
+{ 1 1 AND -> 1 }\r
+\r
+{ 0 INVERT 1 AND -> 1 }\r
+{ 1 INVERT 1 AND -> 0 }\r
+\r
+0       CONSTANT 0S\r
+0 INVERT CONSTANT 1S\r
+\r
+{ 0S INVERT -> 1S }\r
+{ 1S INVERT -> 0S }\r
+\r
+{ 0S 0S AND -> 0S }\r
+{ 0S 1S AND -> 0S }\r
+{ 1S 0S AND -> 0S }\r
+{ 1S 1S AND -> 1S }\r
+\r
+{ 0S 0S OR -> 0S }\r
+{ 0S 1S OR -> 1S }\r
+{ 1S 0S OR -> 1S }\r
+{ 1S 1S OR -> 1S }\r
+\r
+{ 0S 0S XOR -> 0S }\r
+{ 0S 1S XOR -> 1S }\r
+{ 1S 0S XOR -> 1S }\r
+{ 1S 1S XOR -> 0S }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING 2* 2/ LSHIFT RSHIFT\r
+\r
+( WE TRUST 1S, INVERT, AND BITSSET?; WE WILL CONFIRM RSHIFT LATER )\r
+1S 1 RSHIFT INVERT CONSTANT MSB\r
+{ MSB BITSSET? -> 0 0 }\r
+\r
+{ 0S 2* -> 0S }\r
+{ 1 2* -> 2 }\r
+{ 4000 2* -> 8000 }\r
+{ 1S 2* 1 XOR -> 1S }\r
+{ MSB 2* -> 0S }\r
+\r
+{ 0S 2/ -> 0S }\r
+{ 1 2/ -> 0 }\r
+{ 4000 2/ -> 2000 }\r
+{ 1S 2/ -> 1S }                                \ MSB PROPOGATED\r
+{ 1S 1 XOR 2/ -> 1S }\r
+{ MSB 2/ MSB AND -> MSB }\r
+\r
+{ 1 0 LSHIFT -> 1 }\r
+{ 1 1 LSHIFT -> 2 }\r
+{ 1 2 LSHIFT -> 4 }\r
+{ 1 F LSHIFT -> 8000 }                 \ BIGGEST GUARANTEED SHIFT\r
+{ 1S 1 LSHIFT 1 XOR -> 1S }\r
+{ MSB 1 LSHIFT -> 0 }\r
+\r
+{ 1 0 RSHIFT -> 1 }\r
+{ 1 1 RSHIFT -> 0 }\r
+{ 2 1 RSHIFT -> 1 }\r
+{ 4 2 RSHIFT -> 1 }\r
+{ 8000 F RSHIFT -> 1 }                 \ BIGGEST\r
+{ MSB 1 RSHIFT MSB AND -> 0 }          \ RSHIFT ZERO FILLS MSBS\r
+{ MSB 1 RSHIFT 2* -> MSB }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING COMPARISONS: 0= = 0< < > U< MIN MAX\r
+0 INVERT                       CONSTANT MAX-UINT\r
+0 INVERT 1 RSHIFT              CONSTANT MAX-INT\r
+0 INVERT 1 RSHIFT INVERT       CONSTANT MIN-INT\r
+0 INVERT 1 RSHIFT              CONSTANT MID-UINT\r
+0 INVERT 1 RSHIFT INVERT       CONSTANT MID-UINT+1\r
+\r
+0S CONSTANT <FALSE>\r
+1S CONSTANT <TRUE>\r
+\r
+{ 0 0= -> <TRUE> }\r
+{ 1 0= -> <FALSE> }\r
+{ 2 0= -> <FALSE> }\r
+{ -1 0= -> <FALSE> }\r
+{ MAX-UINT 0= -> <FALSE> }\r
+{ MIN-INT 0= -> <FALSE> }\r
+{ MAX-INT 0= -> <FALSE> }\r
+\r
+{ 0 0 = -> <TRUE> }\r
+{ 1 1 = -> <TRUE> }\r
+{ -1 -1 = -> <TRUE> }\r
+{ 1 0 = -> <FALSE> }\r
+{ -1 0 = -> <FALSE> }\r
+{ 0 1 = -> <FALSE> }\r
+{ 0 -1 = -> <FALSE> }\r
+\r
+{ 0 0< -> <FALSE> }\r
+{ -1 0< -> <TRUE> }\r
+{ MIN-INT 0< -> <TRUE> }\r
+{ 1 0< -> <FALSE> }\r
+{ MAX-INT 0< -> <FALSE> }\r
+\r
+{ 0 1 < -> <TRUE> }\r
+{ 1 2 < -> <TRUE> }\r
+{ -1 0 < -> <TRUE> }\r
+{ -1 1 < -> <TRUE> }\r
+{ MIN-INT 0 < -> <TRUE> }\r
+{ MIN-INT MAX-INT < -> <TRUE> }\r
+{ 0 MAX-INT < -> <TRUE> }\r
+{ 0 0 < -> <FALSE> }\r
+{ 1 1 < -> <FALSE> }\r
+{ 1 0 < -> <FALSE> }\r
+{ 2 1 < -> <FALSE> }\r
+{ 0 -1 < -> <FALSE> }\r
+{ 1 -1 < -> <FALSE> }\r
+{ 0 MIN-INT < -> <FALSE> }\r
+{ MAX-INT MIN-INT < -> <FALSE> }\r
+{ MAX-INT 0 < -> <FALSE> }\r
+\r
+{ 0 1 > -> <FALSE> }\r
+{ 1 2 > -> <FALSE> }\r
+{ -1 0 > -> <FALSE> }\r
+{ -1 1 > -> <FALSE> }\r
+{ MIN-INT 0 > -> <FALSE> }\r
+{ MIN-INT MAX-INT > -> <FALSE> }\r
+{ 0 MAX-INT > -> <FALSE> }\r
+{ 0 0 > -> <FALSE> }\r
+{ 1 1 > -> <FALSE> }\r
+{ 1 0 > -> <TRUE> }\r
+{ 2 1 > -> <TRUE> }\r
+{ 0 -1 > -> <TRUE> }\r
+{ 1 -1 > -> <TRUE> }\r
+{ 0 MIN-INT > -> <TRUE> }\r
+{ MAX-INT MIN-INT > -> <TRUE> }\r
+{ MAX-INT 0 > -> <TRUE> }\r
+\r
+{ 0 1 U< -> <TRUE> }\r
+{ 1 2 U< -> <TRUE> }\r
+{ 0 MID-UINT U< -> <TRUE> }\r
+{ 0 MAX-UINT U< -> <TRUE> }\r
+{ MID-UINT MAX-UINT U< -> <TRUE> }\r
+{ 0 0 U< -> <FALSE> }\r
+{ 1 1 U< -> <FALSE> }\r
+{ 1 0 U< -> <FALSE> }\r
+{ 2 1 U< -> <FALSE> }\r
+{ MID-UINT 0 U< -> <FALSE> }\r
+{ MAX-UINT 0 U< -> <FALSE> }\r
+{ MAX-UINT MID-UINT U< -> <FALSE> }\r
+\r
+{ 0 1 MIN -> 0 }\r
+{ 1 2 MIN -> 1 }\r
+{ -1 0 MIN -> -1 }\r
+{ -1 1 MIN -> -1 }\r
+{ MIN-INT 0 MIN -> MIN-INT }\r
+{ MIN-INT MAX-INT MIN -> MIN-INT }\r
+{ 0 MAX-INT MIN -> 0 }\r
+{ 0 0 MIN -> 0 }\r
+{ 1 1 MIN -> 1 }\r
+{ 1 0 MIN -> 0 }\r
+{ 2 1 MIN -> 1 }\r
+{ 0 -1 MIN -> -1 }\r
+{ 1 -1 MIN -> -1 }\r
+{ 0 MIN-INT MIN -> MIN-INT }\r
+{ MAX-INT MIN-INT MIN -> MIN-INT }\r
+{ MAX-INT 0 MIN -> 0 }\r
+\r
+{ 0 1 MAX -> 1 }\r
+{ 1 2 MAX -> 2 }\r
+{ -1 0 MAX -> 0 }\r
+{ -1 1 MAX -> 1 }\r
+{ MIN-INT 0 MAX -> 0 }\r
+{ MIN-INT MAX-INT MAX -> MAX-INT }\r
+{ 0 MAX-INT MAX -> MAX-INT }\r
+{ 0 0 MAX -> 0 }\r
+{ 1 1 MAX -> 1 }\r
+{ 1 0 MAX -> 1 }\r
+{ 2 1 MAX -> 2 }\r
+{ 0 -1 MAX -> 0 }\r
+{ 1 -1 MAX -> 1 }\r
+{ 0 MIN-INT MAX -> 0 }\r
+{ MAX-INT MIN-INT MAX -> MAX-INT }\r
+{ MAX-INT 0 MAX -> MAX-INT }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING STACK OPS: 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP\r
+\r
+{ 1 2 2DROP -> }\r
+{ 1 2 2DUP -> 1 2 1 2 }\r
+{ 1 2 3 4 2OVER -> 1 2 3 4 1 2 }\r
+{ 1 2 3 4 2SWAP -> 3 4 1 2 }\r
+{ 0 ?DUP -> 0 }\r
+{ 1 ?DUP -> 1 1 }\r
+{ -1 ?DUP -> -1 -1 }\r
+{ DEPTH -> 0 }\r
+{ 0 DEPTH -> 0 1 }\r
+{ 0 1 DEPTH -> 0 1 2 }\r
+{ 0 DROP -> }\r
+{ 1 2 DROP -> 1 }\r
+{ 1 DUP -> 1 1 }\r
+{ 1 2 OVER -> 1 2 1 }\r
+{ 1 2 3 ROT -> 2 3 1 }\r
+{ 1 2 SWAP -> 2 1 }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING >R R> R@\r
+\r
+{ : GR1 >R R> ; -> }\r
+{ : GR2 >R R@ R> DROP ; -> }\r
+{ 123 GR1 -> 123 }\r
+{ 123 GR2 -> 123 }\r
+{ 1S GR1 -> 1S }   ( RETURN STACK HOLDS CELLS )\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING ADD/SUBTRACT: + - 1+ 1- ABS NEGATE\r
+\r
+{ 0 5 + -> 5 }\r
+{ 5 0 + -> 5 }\r
+{ 0 -5 + -> -5 }\r
+{ -5 0 + -> -5 }\r
+{ 1 2 + -> 3 }\r
+{ 1 -2 + -> -1 }\r
+{ -1 2 + -> 1 }\r
+{ -1 -2 + -> -3 }\r
+{ -1 1 + -> 0 }\r
+{ MID-UINT 1 + -> MID-UINT+1 }\r
+\r
+{ 0 5 - -> -5 }\r
+{ 5 0 - -> 5 }\r
+{ 0 -5 - -> 5 }\r
+{ -5 0 - -> -5 }\r
+{ 1 2 - -> -1 }\r
+{ 1 -2 - -> 3 }\r
+{ -1 2 - -> -3 }\r
+{ -1 -2 - -> 1 }\r
+{ 0 1 - -> -1 }\r
+{ MID-UINT+1 1 - -> MID-UINT }\r
+\r
+{ 0 1+ -> 1 }\r
+{ -1 1+ -> 0 }\r
+{ 1 1+ -> 2 }\r
+{ MID-UINT 1+ -> MID-UINT+1 }\r
+\r
+{ 2 1- -> 1 }\r
+{ 1 1- -> 0 }\r
+{ 0 1- -> -1 }\r
+{ MID-UINT+1 1- -> MID-UINT }\r
+\r
+{ 0 NEGATE -> 0 }\r
+{ 1 NEGATE -> -1 }\r
+{ -1 NEGATE -> 1 }\r
+{ 2 NEGATE -> -2 }\r
+{ -2 NEGATE -> 2 }\r
+\r
+{ 0 ABS -> 0 }\r
+{ 1 ABS -> 1 }\r
+{ -1 ABS -> 1 }\r
+{ MIN-INT ABS -> MID-UINT+1 }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING MULTIPLY: S>D * M* UM*\r
+\r
+{ 0 S>D -> 0 0 }\r
+{ 1 S>D -> 1 0 }\r
+{ 2 S>D -> 2 0 }\r
+{ -1 S>D -> -1 -1 }\r
+{ -2 S>D -> -2 -1 }\r
+{ MIN-INT S>D -> MIN-INT -1 }\r
+{ MAX-INT S>D -> MAX-INT 0 }\r
+\r
+{ 0 0 M* -> 0 S>D }\r
+{ 0 1 M* -> 0 S>D }\r
+{ 1 0 M* -> 0 S>D }\r
+{ 1 2 M* -> 2 S>D }\r
+{ 2 1 M* -> 2 S>D }\r
+{ 3 3 M* -> 9 S>D }\r
+{ -3 3 M* -> -9 S>D }\r
+{ 3 -3 M* -> -9 S>D }\r
+{ -3 -3 M* -> 9 S>D }\r
+{ 0 MIN-INT M* -> 0 S>D }\r
+{ 1 MIN-INT M* -> MIN-INT S>D }\r
+{ 2 MIN-INT M* -> 0 1S }\r
+{ 0 MAX-INT M* -> 0 S>D }\r
+{ 1 MAX-INT M* -> MAX-INT S>D }\r
+{ 2 MAX-INT M* -> MAX-INT 1 LSHIFT 0 }\r
+{ MIN-INT MIN-INT M* -> 0 MSB 1 RSHIFT }\r
+{ MAX-INT MIN-INT M* -> MSB MSB 2/ }\r
+{ MAX-INT MAX-INT M* -> 1 MSB 2/ INVERT }\r
+\r
+{ 0 0 * -> 0 }                         \ TEST IDENTITIES\r
+{ 0 1 * -> 0 }\r
+{ 1 0 * -> 0 }\r
+{ 1 2 * -> 2 }\r
+{ 2 1 * -> 2 }\r
+{ 3 3 * -> 9 }\r
+{ -3 3 * -> -9 }\r
+{ 3 -3 * -> -9 }\r
+{ -3 -3 * -> 9 }\r
+\r
+{ MID-UINT+1 1 RSHIFT 2 * -> MID-UINT+1 }\r
+{ MID-UINT+1 2 RSHIFT 4 * -> MID-UINT+1 }\r
+{ MID-UINT+1 1 RSHIFT MID-UINT+1 OR 2 * -> MID-UINT+1 }\r
+\r
+{ 0 0 UM* -> 0 0 }\r
+{ 0 1 UM* -> 0 0 }\r
+{ 1 0 UM* -> 0 0 }\r
+{ 1 2 UM* -> 2 0 }\r
+{ 2 1 UM* -> 2 0 }\r
+{ 3 3 UM* -> 9 0 }\r
+\r
+{ MID-UINT+1 1 RSHIFT 2 UM* -> MID-UINT+1 0 }\r
+{ MID-UINT+1 2 UM* -> 0 1 }\r
+{ MID-UINT+1 4 UM* -> 0 2 }\r
+{ 1S 2 UM* -> 1S 1 LSHIFT 1 }\r
+{ MAX-UINT MAX-UINT UM* -> 1 1 INVERT }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING DIVIDE: FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD\r
+\r
+{ 0 S>D 1 FM/MOD -> 0 0 }\r
+{ 1 S>D 1 FM/MOD -> 0 1 }\r
+{ 2 S>D 1 FM/MOD -> 0 2 }\r
+{ -1 S>D 1 FM/MOD -> 0 -1 }\r
+{ -2 S>D 1 FM/MOD -> 0 -2 }\r
+{ 0 S>D -1 FM/MOD -> 0 0 }\r
+{ 1 S>D -1 FM/MOD -> 0 -1 }\r
+{ 2 S>D -1 FM/MOD -> 0 -2 }\r
+{ -1 S>D -1 FM/MOD -> 0 1 }\r
+{ -2 S>D -1 FM/MOD -> 0 2 }\r
+{ 2 S>D 2 FM/MOD -> 0 1 }\r
+{ -1 S>D -1 FM/MOD -> 0 1 }\r
+{ -2 S>D -2 FM/MOD -> 0 1 }\r
+{  7 S>D  3 FM/MOD -> 1 2 }\r
+{  7 S>D -3 FM/MOD -> -2 -3 }\r
+{ -7 S>D  3 FM/MOD -> 2 -3 }\r
+{ -7 S>D -3 FM/MOD -> -1 2 }\r
+{ MAX-INT S>D 1 FM/MOD -> 0 MAX-INT }\r
+{ MIN-INT S>D 1 FM/MOD -> 0 MIN-INT }\r
+{ MAX-INT S>D MAX-INT FM/MOD -> 0 1 }\r
+{ MIN-INT S>D MIN-INT FM/MOD -> 0 1 }\r
+{ 1S 1 4 FM/MOD -> 3 MAX-INT }\r
+{ 1 MIN-INT M* 1 FM/MOD -> 0 MIN-INT }\r
+{ 1 MIN-INT M* MIN-INT FM/MOD -> 0 1 }\r
+{ 2 MIN-INT M* 2 FM/MOD -> 0 MIN-INT }\r
+{ 2 MIN-INT M* MIN-INT FM/MOD -> 0 2 }\r
+{ 1 MAX-INT M* 1 FM/MOD -> 0 MAX-INT }\r
+{ 1 MAX-INT M* MAX-INT FM/MOD -> 0 1 }\r
+{ 2 MAX-INT M* 2 FM/MOD -> 0 MAX-INT }\r
+{ 2 MAX-INT M* MAX-INT FM/MOD -> 0 2 }\r
+{ MIN-INT MIN-INT M* MIN-INT FM/MOD -> 0 MIN-INT }\r
+{ MIN-INT MAX-INT M* MIN-INT FM/MOD -> 0 MAX-INT }\r
+{ MIN-INT MAX-INT M* MAX-INT FM/MOD -> 0 MIN-INT }\r
+{ MAX-INT MAX-INT M* MAX-INT FM/MOD -> 0 MAX-INT }\r
+\r
+{ 0 S>D 1 SM/REM -> 0 0 }\r
+{ 1 S>D 1 SM/REM -> 0 1 }\r
+{ 2 S>D 1 SM/REM -> 0 2 }\r
+{ -1 S>D 1 SM/REM -> 0 -1 }\r
+{ -2 S>D 1 SM/REM -> 0 -2 }\r
+{ 0 S>D -1 SM/REM -> 0 0 }\r
+{ 1 S>D -1 SM/REM -> 0 -1 }\r
+{ 2 S>D -1 SM/REM -> 0 -2 }\r
+{ -1 S>D -1 SM/REM -> 0 1 }\r
+{ -2 S>D -1 SM/REM -> 0 2 }\r
+{ 2 S>D 2 SM/REM -> 0 1 }\r
+{ -1 S>D -1 SM/REM -> 0 1 }\r
+{ -2 S>D -2 SM/REM -> 0 1 }\r
+{  7 S>D  3 SM/REM -> 1 2 }\r
+{  7 S>D -3 SM/REM -> 1 -2 }\r
+{ -7 S>D  3 SM/REM -> -1 -2 }\r
+{ -7 S>D -3 SM/REM -> -1 2 }\r
+{ MAX-INT S>D 1 SM/REM -> 0 MAX-INT }\r
+{ MIN-INT S>D 1 SM/REM -> 0 MIN-INT }\r
+{ MAX-INT S>D MAX-INT SM/REM -> 0 1 }\r
+{ MIN-INT S>D MIN-INT SM/REM -> 0 1 }\r
+{ 1S 1 4 SM/REM -> 3 MAX-INT }\r
+{ 2 MIN-INT M* 2 SM/REM -> 0 MIN-INT }\r
+{ 2 MIN-INT M* MIN-INT SM/REM -> 0 2 }\r
+{ 2 MAX-INT M* 2 SM/REM -> 0 MAX-INT }\r
+{ 2 MAX-INT M* MAX-INT SM/REM -> 0 2 }\r
+{ MIN-INT MIN-INT M* MIN-INT SM/REM -> 0 MIN-INT }\r
+{ MIN-INT MAX-INT M* MIN-INT SM/REM -> 0 MAX-INT }\r
+{ MIN-INT MAX-INT M* MAX-INT SM/REM -> 0 MIN-INT }\r
+{ MAX-INT MAX-INT M* MAX-INT SM/REM -> 0 MAX-INT }\r
+\r
+{ 0 0 1 UM/MOD -> 0 0 }\r
+{ 1 0 1 UM/MOD -> 0 1 }\r
+{ 1 0 2 UM/MOD -> 1 0 }\r
+{ 3 0 2 UM/MOD -> 1 1 }\r
+{ MAX-UINT 2 UM* 2 UM/MOD -> 0 MAX-UINT }\r
+{ MAX-UINT 2 UM* MAX-UINT UM/MOD -> 0 2 }\r
+{ MAX-UINT MAX-UINT UM* MAX-UINT UM/MOD -> 0 MAX-UINT }\r
+\r
+: IFFLOORED\r
+   [ -3 2 / -2 = INVERT ] LITERAL IF POSTPONE \ THEN ;\r
+: IFSYM\r
+   [ -3 2 / -1 = INVERT ] LITERAL IF POSTPONE \ THEN ;\r
+\r
+\ THE SYSTEM MIGHT DO EITHER FLOORED OR SYMMETRIC DIVISION.\r
+\ SINCE WE HAVE ALREADY TESTED M*, FM/MOD, AND SM/REM WE CAN USE THEM IN TEST.\r
+IFFLOORED : T/MOD  >R S>D R> FM/MOD ;\r
+IFFLOORED : T/     T/MOD SWAP DROP ;\r
+IFFLOORED : TMOD   T/MOD DROP ;\r
+IFFLOORED : T*/MOD >R M* R> FM/MOD ;\r
+IFFLOORED : T*/    T*/MOD SWAP DROP ;\r
+IFSYM     : T/MOD  >R S>D R> SM/REM ;\r
+IFSYM     : T/     T/MOD SWAP DROP ;\r
+IFSYM     : TMOD   T/MOD DROP ;\r
+IFSYM     : T*/MOD >R M* R> SM/REM ;\r
+IFSYM     : T*/    T*/MOD SWAP DROP ;\r
+\r
+{ 0 1 /MOD -> 0 1 T/MOD }\r
+{ 1 1 /MOD -> 1 1 T/MOD }\r
+{ 2 1 /MOD -> 2 1 T/MOD }\r
+{ -1 1 /MOD -> -1 1 T/MOD }\r
+{ -2 1 /MOD -> -2 1 T/MOD }\r
+{ 0 -1 /MOD -> 0 -1 T/MOD }\r
+{ 1 -1 /MOD -> 1 -1 T/MOD }\r
+{ 2 -1 /MOD -> 2 -1 T/MOD }\r
+{ -1 -1 /MOD -> -1 -1 T/MOD }\r
+{ -2 -1 /MOD -> -2 -1 T/MOD }\r
+{ 2 2 /MOD -> 2 2 T/MOD }\r
+{ -1 -1 /MOD -> -1 -1 T/MOD }\r
+{ -2 -2 /MOD -> -2 -2 T/MOD }\r
+{ 7 3 /MOD -> 7 3 T/MOD }\r
+{ 7 -3 /MOD -> 7 -3 T/MOD }\r
+{ -7 3 /MOD -> -7 3 T/MOD }\r
+{ -7 -3 /MOD -> -7 -3 T/MOD }\r
+{ MAX-INT 1 /MOD -> MAX-INT 1 T/MOD }\r
+{ MIN-INT 1 /MOD -> MIN-INT 1 T/MOD }\r
+{ MAX-INT MAX-INT /MOD -> MAX-INT MAX-INT T/MOD }\r
+{ MIN-INT MIN-INT /MOD -> MIN-INT MIN-INT T/MOD }\r
+\r
+{ 0 1 / -> 0 1 T/ }\r
+{ 1 1 / -> 1 1 T/ }\r
+{ 2 1 / -> 2 1 T/ }\r
+{ -1 1 / -> -1 1 T/ }\r
+{ -2 1 / -> -2 1 T/ }\r
+{ 0 -1 / -> 0 -1 T/ }\r
+{ 1 -1 / -> 1 -1 T/ }\r
+{ 2 -1 / -> 2 -1 T/ }\r
+{ -1 -1 / -> -1 -1 T/ }\r
+{ -2 -1 / -> -2 -1 T/ }\r
+{ 2 2 / -> 2 2 T/ }\r
+{ -1 -1 / -> -1 -1 T/ }\r
+{ -2 -2 / -> -2 -2 T/ }\r
+{ 7 3 / -> 7 3 T/ }\r
+{ 7 -3 / -> 7 -3 T/ }\r
+{ -7 3 / -> -7 3 T/ }\r
+{ -7 -3 / -> -7 -3 T/ }\r
+{ MAX-INT 1 / -> MAX-INT 1 T/ }\r
+{ MIN-INT 1 / -> MIN-INT 1 T/ }\r
+{ MAX-INT MAX-INT / -> MAX-INT MAX-INT T/ }\r
+{ MIN-INT MIN-INT / -> MIN-INT MIN-INT T/ }\r
+\r
+{ 0 1 MOD -> 0 1 TMOD }\r
+{ 1 1 MOD -> 1 1 TMOD }\r
+{ 2 1 MOD -> 2 1 TMOD }\r
+{ -1 1 MOD -> -1 1 TMOD }\r
+{ -2 1 MOD -> -2 1 TMOD }\r
+{ 0 -1 MOD -> 0 -1 TMOD }\r
+{ 1 -1 MOD -> 1 -1 TMOD }\r
+{ 2 -1 MOD -> 2 -1 TMOD }\r
+{ -1 -1 MOD -> -1 -1 TMOD }\r
+{ -2 -1 MOD -> -2 -1 TMOD }\r
+{ 2 2 MOD -> 2 2 TMOD }\r
+{ -1 -1 MOD -> -1 -1 TMOD }\r
+{ -2 -2 MOD -> -2 -2 TMOD }\r
+{ 7 3 MOD -> 7 3 TMOD }\r
+{ 7 -3 MOD -> 7 -3 TMOD }\r
+{ -7 3 MOD -> -7 3 TMOD }\r
+{ -7 -3 MOD -> -7 -3 TMOD }\r
+{ MAX-INT 1 MOD -> MAX-INT 1 TMOD }\r
+{ MIN-INT 1 MOD -> MIN-INT 1 TMOD }\r
+{ MAX-INT MAX-INT MOD -> MAX-INT MAX-INT TMOD }\r
+{ MIN-INT MIN-INT MOD -> MIN-INT MIN-INT TMOD }\r
+\r
+{ 0 2 1 */ -> 0 2 1 T*/ }\r
+{ 1 2 1 */ -> 1 2 1 T*/ }\r
+{ 2 2 1 */ -> 2 2 1 T*/ }\r
+{ -1 2 1 */ -> -1 2 1 T*/ }\r
+{ -2 2 1 */ -> -2 2 1 T*/ }\r
+{ 0 2 -1 */ -> 0 2 -1 T*/ }\r
+{ 1 2 -1 */ -> 1 2 -1 T*/ }\r
+{ 2 2 -1 */ -> 2 2 -1 T*/ }\r
+{ -1 2 -1 */ -> -1 2 -1 T*/ }\r
+{ -2 2 -1 */ -> -2 2 -1 T*/ }\r
+{ 2 2 2 */ -> 2 2 2 T*/ }\r
+{ -1 2 -1 */ -> -1 2 -1 T*/ }\r
+{ -2 2 -2 */ -> -2 2 -2 T*/ }\r
+{ 7 2 3 */ -> 7 2 3 T*/ }\r
+{ 7 2 -3 */ -> 7 2 -3 T*/ }\r
+{ -7 2 3 */ -> -7 2 3 T*/ }\r
+{ -7 2 -3 */ -> -7 2 -3 T*/ }\r
+{ MAX-INT 2 MAX-INT */ -> MAX-INT 2 MAX-INT T*/ }\r
+{ MIN-INT 2 MIN-INT */ -> MIN-INT 2 MIN-INT T*/ }\r
+\r
+{ 0 2 1 */MOD -> 0 2 1 T*/MOD }\r
+{ 1 2 1 */MOD -> 1 2 1 T*/MOD }\r
+{ 2 2 1 */MOD -> 2 2 1 T*/MOD }\r
+{ -1 2 1 */MOD -> -1 2 1 T*/MOD }\r
+{ -2 2 1 */MOD -> -2 2 1 T*/MOD }\r
+{ 0 2 -1 */MOD -> 0 2 -1 T*/MOD }\r
+{ 1 2 -1 */MOD -> 1 2 -1 T*/MOD }\r
+{ 2 2 -1 */MOD -> 2 2 -1 T*/MOD }\r
+{ -1 2 -1 */MOD -> -1 2 -1 T*/MOD }\r
+{ -2 2 -1 */MOD -> -2 2 -1 T*/MOD }\r
+{ 2 2 2 */MOD -> 2 2 2 T*/MOD }\r
+{ -1 2 -1 */MOD -> -1 2 -1 T*/MOD }\r
+{ -2 2 -2 */MOD -> -2 2 -2 T*/MOD }\r
+{ 7 2 3 */MOD -> 7 2 3 T*/MOD }\r
+{ 7 2 -3 */MOD -> 7 2 -3 T*/MOD }\r
+{ -7 2 3 */MOD -> -7 2 3 T*/MOD }\r
+{ -7 2 -3 */MOD -> -7 2 -3 T*/MOD }\r
+{ MAX-INT 2 MAX-INT */MOD -> MAX-INT 2 MAX-INT T*/MOD }\r
+{ MIN-INT 2 MIN-INT */MOD -> MIN-INT 2 MIN-INT T*/MOD }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2! ALIGN ALIGNED +! ALLOT\r
+\r
+HERE 1 ALLOT\r
+HERE\r
+CONSTANT 2NDA\r
+CONSTANT 1STA\r
+{ 1STA 2NDA U< -> <TRUE> }             \ HERE MUST GROW WITH ALLOT\r
+{ 1STA 1+ -> 2NDA }                    \ ... BY ONE ADDRESS UNIT\r
+( MISSING TEST: NEGATIVE ALLOT )\r
+\r
+HERE 1 ,\r
+HERE 2 ,\r
+CONSTANT 2ND\r
+CONSTANT 1ST\r
+{ 1ST 2ND U< -> <TRUE> }                       \ HERE MUST GROW WITH ALLOT\r
+{ 1ST CELL+ -> 2ND }                   \ ... BY ONE CELL\r
+{ 1ST 1 CELLS + -> 2ND }\r
+{ 1ST @ 2ND @ -> 1 2 }\r
+{ 5 1ST ! -> }\r
+{ 1ST @ 2ND @ -> 5 2 }\r
+{ 6 2ND ! -> }\r
+{ 1ST @ 2ND @ -> 5 6 }\r
+{ 1ST 2@ -> 6 5 }\r
+{ 2 1 1ST 2! -> }\r
+{ 1ST 2@ -> 2 1 }\r
+{ 1S 1ST !  1ST @ -> 1S }              \ CAN STORE CELL-WIDE VALUE\r
+\r
+HERE 1 C,\r
+HERE 2 C,\r
+CONSTANT 2NDC\r
+CONSTANT 1STC\r
+{ 1STC 2NDC U< -> <TRUE> }             \ HERE MUST GROW WITH ALLOT\r
+{ 1STC CHAR+ -> 2NDC }                 \ ... BY ONE CHAR\r
+{ 1STC 1 CHARS + -> 2NDC }\r
+{ 1STC C@ 2NDC C@ -> 1 2 }\r
+{ 3 1STC C! -> }\r
+{ 1STC C@ 2NDC C@ -> 3 2 }\r
+{ 4 2NDC C! -> }\r
+{ 1STC C@ 2NDC C@ -> 3 4 }\r
+\r
+ALIGN 1 ALLOT HERE ALIGN HERE 3 CELLS ALLOT\r
+CONSTANT A-ADDR  CONSTANT UA-ADDR\r
+{ UA-ADDR ALIGNED -> A-ADDR }\r
+{    1 A-ADDR C!  A-ADDR C@ ->    1 }\r
+{ 1234 A-ADDR  !  A-ADDR  @ -> 1234 }\r
+{ 123 456 A-ADDR 2!  A-ADDR 2@ -> 123 456 }\r
+{ 2 A-ADDR CHAR+ C!  A-ADDR CHAR+ C@ -> 2 }\r
+{ 3 A-ADDR CELL+ C!  A-ADDR CELL+ C@ -> 3 }\r
+{ 1234 A-ADDR CELL+ !  A-ADDR CELL+ @ -> 1234 }\r
+{ 123 456 A-ADDR CELL+ 2!  A-ADDR CELL+ 2@ -> 123 456 }\r
+\r
+: BITS ( X -- U )\r
+   0 SWAP BEGIN DUP WHILE DUP MSB AND IF >R 1+ R> THEN 2* REPEAT DROP ;\r
+( CHARACTERS >= 1 AU, <= SIZE OF CELL, >= 8 BITS )\r
+{ 1 CHARS 1 < -> <FALSE> }\r
+{ 1 CHARS 1 CELLS > -> <FALSE> }\r
+( TBD: HOW TO FIND NUMBER OF BITS? )\r
+\r
+( CELLS >= 1 AU, INTEGRAL MULTIPLE OF CHAR SIZE, >= 16 BITS )\r
+{ 1 CELLS 1 < -> <FALSE> }\r
+{ 1 CELLS 1 CHARS MOD -> 0 }\r
+{ 1S BITS 10 < -> <FALSE> }\r
+\r
+{ 0 1ST ! -> }\r
+{ 1 1ST +! -> }\r
+{ 1ST @ -> 1 }\r
+{ -1 1ST +! 1ST @ -> 0 }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING CHAR [CHAR] [ ] BL S"\r
+\r
+{ BL -> 20 }\r
+{ CHAR X -> 58 }\r
+{ CHAR HELLO -> 48 }\r
+{ : GC1 [CHAR] X ; -> }\r
+{ : GC2 [CHAR] HELLO ; -> }\r
+{ GC1 -> 58 }\r
+{ GC2 -> 48 }\r
+{ : GC3 [ GC1 ] LITERAL ; -> }\r
+{ GC3 -> 58 }\r
+{ : GC4 S" XY" ; -> }\r
+{ GC4 SWAP DROP -> 2 }\r
+{ GC4 DROP DUP C@ SWAP CHAR+ C@ -> 58 59 }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING ' ['] FIND EXECUTE IMMEDIATE COUNT LITERAL POSTPONE STATE\r
+\r
+{ : GT1 123 ; -> }\r
+{ ' GT1 EXECUTE -> 123 }\r
+{ : GT2 ['] GT1 ; IMMEDIATE -> }\r
+{ GT2 EXECUTE -> 123 }\r
+HERE 3 C, CHAR G C, CHAR T C, CHAR 1 C, CONSTANT GT1STRING\r
+HERE 3 C, CHAR G C, CHAR T C, CHAR 2 C, CONSTANT GT2STRING\r
+{ GT1STRING FIND -> ' GT1 -1 }\r
+{ GT2STRING FIND -> ' GT2 1 }\r
+( HOW TO SEARCH FOR NON-EXISTENT WORD? )\r
+{ : GT3 GT2 LITERAL ; -> }\r
+{ GT3 -> ' GT1 }\r
+{ GT1STRING COUNT -> GT1STRING CHAR+ 3 }\r
+\r
+{ : GT4 POSTPONE GT1 ; IMMEDIATE -> }\r
+{ : GT5 GT4 ; -> }\r
+{ GT5 -> 123 }\r
+{ : GT6 345 ; IMMEDIATE -> }\r
+{ : GT7 POSTPONE GT6 ; -> }\r
+{ GT7 -> 345 }\r
+\r
+{ : GT8 STATE @ ; IMMEDIATE -> }\r
+{ GT8 -> 0 }\r
+{ : GT9 GT8 LITERAL ; -> }\r
+{ GT9 0= -> <FALSE> }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE\r
+\r
+{ : GI1 IF 123 THEN ; -> }\r
+{ : GI2 IF 123 ELSE 234 THEN ; -> }\r
+{ 0 GI1 -> }\r
+{ 1 GI1 -> 123 }\r
+{ -1 GI1 -> 123 }\r
+{ 0 GI2 -> 234 }\r
+{ 1 GI2 -> 123 }\r
+{ -1 GI1 -> 123 }\r
+\r
+{ : GI3 BEGIN DUP 5 < WHILE DUP 1+ REPEAT ; -> }\r
+{ 0 GI3 -> 0 1 2 3 4 5 }\r
+{ 4 GI3 -> 4 5 }\r
+{ 5 GI3 -> 5 }\r
+{ 6 GI3 -> 6 }\r
+\r
+{ : GI4 BEGIN DUP 1+ DUP 5 > UNTIL ; -> }\r
+{ 3 GI4 -> 3 4 5 6 }\r
+{ 5 GI4 -> 5 6 }\r
+{ 6 GI4 -> 6 7 }\r
+\r
+{ : GI5 BEGIN DUP 2 > WHILE DUP 5 < WHILE DUP 1+ REPEAT 123 ELSE 345 THEN ; -> }\r
+{ 1 GI5 -> 1 345 }\r
+{ 2 GI5 -> 2 345 }\r
+{ 3 GI5 -> 3 4 5 123 }\r
+{ 4 GI5 -> 4 5 123 }\r
+{ 5 GI5 -> 5 123 }\r
+\r
+{ : GI6 ( N -- 0,1,..N ) DUP IF DUP >R 1- RECURSE R> THEN ; -> }\r
+{ 0 GI6 -> 0 }\r
+{ 1 GI6 -> 0 1 }\r
+{ 2 GI6 -> 0 1 2 }\r
+{ 3 GI6 -> 0 1 2 3 }\r
+{ 4 GI6 -> 0 1 2 3 4 }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING DO LOOP +LOOP I J UNLOOP LEAVE EXIT\r
+\r
+{ : GD1 DO I LOOP ; -> }\r
+{ 4 1 GD1 -> 1 2 3 }\r
+{ 2 -1 GD1 -> -1 0 1 }\r
+{ MID-UINT+1 MID-UINT GD1 -> MID-UINT }\r
+\r
+{ : GD2 DO I -1 +LOOP ; -> }\r
+{ 1 4 GD2 -> 4 3 2 1 }\r
+{ -1 2 GD2 -> 2 1 0 -1 }\r
+{ MID-UINT MID-UINT+1 GD2 -> MID-UINT+1 MID-UINT }\r
+\r
+{ : GD3 DO 1 0 DO J LOOP LOOP ; -> }\r
+{ 4 1 GD3 -> 1 2 3 }\r
+{ 2 -1 GD3 -> -1 0 1 }\r
+{ MID-UINT+1 MID-UINT GD3 -> MID-UINT }\r
+\r
+{ : GD4 DO 1 0 DO J LOOP -1 +LOOP ; -> }\r
+{ 1 4 GD4 -> 4 3 2 1 }\r
+{ -1 2 GD4 -> 2 1 0 -1 }\r
+{ MID-UINT MID-UINT+1 GD4 -> MID-UINT+1 MID-UINT }\r
+\r
+{ : GD5 123 SWAP 0 DO I 4 > IF DROP 234 LEAVE THEN LOOP ; -> }\r
+{ 1 GD5 -> 123 }\r
+{ 5 GD5 -> 123 }\r
+{ 6 GD5 -> 234 }\r
+\r
+{ : GD6  ( PAT: {0 0},{0 0}{1 0}{1 1},{0 0}{1 0}{1 1}{2 0}{2 1}{2 2} )\r
+   0 SWAP 0 DO\r
+      I 1+ 0 DO I J + 3 = IF I UNLOOP I UNLOOP EXIT THEN 1+ LOOP\r
+    LOOP ; -> }\r
+{ 1 GD6 -> 1 }\r
+{ 2 GD6 -> 3 }\r
+{ 3 GD6 -> 4 1 2 }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING DEFINING WORDS: : ; CONSTANT VARIABLE CREATE DOES> >BODY\r
+\r
+{ 123 CONSTANT X123 -> }\r
+{ X123 -> 123 }\r
+{ : EQU CONSTANT ; -> }\r
+{ X123 EQU Y123 -> }\r
+{ Y123 -> 123 }\r
+\r
+{ VARIABLE V1 -> }\r
+{ 123 V1 ! -> }\r
+{ V1 @ -> 123 }\r
+\r
+{ : NOP : POSTPONE ; ; -> }\r
+{ NOP NOP1 NOP NOP2 -> }\r
+{ NOP1 -> }\r
+{ NOP2 -> }\r
+\r
+{ : DOES1 DOES> @ 1 + ; -> }\r
+{ : DOES2 DOES> @ 2 + ; -> }\r
+{ CREATE CR1 -> }\r
+{ CR1 -> HERE }\r
+{ ' CR1 >BODY -> HERE }\r
+{ 1 , -> }\r
+{ CR1 @ -> 1 }\r
+{ DOES1 -> }\r
+{ CR1 -> 2 }\r
+{ DOES2 -> }\r
+{ CR1 -> 3 }\r
+\r
+{ : WEIRD: CREATE DOES> 1 + DOES> 2 + ; -> }\r
+{ WEIRD: W1 -> }\r
+{ ' W1 >BODY -> HERE }\r
+{ W1 -> HERE 1 + }\r
+{ W1 -> HERE 2 + }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING EVALUATE\r
+\r
+: GE1 S" 123" ; IMMEDIATE\r
+: GE2 S" 123 1+" ; IMMEDIATE\r
+: GE3 S" : GE4 345 ;" ;\r
+: GE5 EVALUATE ; IMMEDIATE\r
+\r
+{ GE1 EVALUATE -> 123 }                        ( TEST EVALUATE IN INTERP. STATE )\r
+{ GE2 EVALUATE -> 124 }\r
+{ GE3 EVALUATE -> }\r
+{ GE4 -> 345 }\r
+\r
+{ : GE6 GE1 GE5 ; -> }                 ( TEST EVALUATE IN COMPILE STATE )\r
+{ GE6 -> 123 }\r
+{ : GE7 GE2 GE5 ; -> }\r
+{ GE7 -> 124 }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING SOURCE >IN WORD\r
+\r
+: GS1 S" SOURCE" 2DUP EVALUATE\r
+       >R SWAP >R = R> R> = ;\r
+{ GS1 -> <TRUE> <TRUE> }\r
+\r
+VARIABLE SCANS\r
+: RESCAN?  -1 SCANS +! SCANS @ IF 0 >IN ! THEN ;\r
+\r
+{ 2 SCANS !\r
+345 RESCAN?\r
+-> 345 345 }\r
+\r
+: GS2  5 SCANS ! S" 123 RESCAN?" EVALUATE ;\r
+{ GS2 -> 123 123 123 123 123 }\r
+\r
+: GS3 WORD COUNT SWAP C@ ;\r
+{ BL GS3 HELLO -> 5 CHAR H }\r
+{ CHAR " GS3 GOODBYE" -> 7 CHAR G }\r
+{ BL GS3\r
+DROP -> 0 }                            \ BLANK LINE RETURN ZERO-LENGTH STRING\r
+\r
+: GS4 SOURCE >IN ! DROP ;\r
+{ GS4 123 456\r
+-> }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL\r
+\r
+: S=  \ ( ADDR1 C1 ADDR2 C2 -- T/F ) COMPARE TWO STRINGS.\r
+   >R SWAP R@ = IF                     \ MAKE SURE STRINGS HAVE SAME LENGTH\r
+      R> ?DUP IF                       \ IF NON-EMPTY STRINGS\r
+        0 DO\r
+           OVER C@ OVER C@ - IF 2DROP <FALSE> UNLOOP EXIT THEN\r
+           SWAP CHAR+ SWAP CHAR+\r
+         LOOP\r
+      THEN\r
+      2DROP <TRUE>                     \ IF WE GET HERE, STRINGS MATCH\r
+   ELSE\r
+      R> DROP 2DROP <FALSE>            \ LENGTHS MISMATCH\r
+   THEN ;\r
+\r
+: GP1  <# 41 HOLD 42 HOLD 0 0 #> S" BA" S= ;\r
+{ GP1 -> <TRUE> }\r
+\r
+: GP2  <# -1 SIGN 0 SIGN -1 SIGN 0 0 #> S" --" S= ;\r
+{ GP2 -> <TRUE> }\r
+\r
+: GP3  <# 1 0 # # #> S" 01" S= ;\r
+{ GP3 -> <TRUE> }\r
+\r
+: GP4  <# 1 0 #S #> S" 1" S= ;\r
+{ GP4 -> <TRUE> }\r
+\r
+24 CONSTANT MAX-BASE                   \ BASE 2 .. 36\r
+: COUNT-BITS\r
+   0 0 INVERT BEGIN DUP WHILE >R 1+ R> 2* REPEAT DROP ;\r
+COUNT-BITS 2* CONSTANT #BITS-UD                \ NUMBER OF BITS IN UD\r
+\r
+: GP5\r
+   BASE @ <TRUE>\r
+   MAX-BASE 1+ 2 DO                    \ FOR EACH POSSIBLE BASE\r
+      I BASE !                         \ TBD: ASSUMES BASE WORKS\r
+      I 0 <# #S #> S" 10" S= AND\r
+   LOOP\r
+   SWAP BASE ! ;\r
+{ GP5 -> <TRUE> }\r
+\r
+: GP6\r
+   BASE @ >R  2 BASE !\r
+   MAX-UINT MAX-UINT <# #S #>          \ MAXIMUM UD TO BINARY\r
+   R> BASE !                           \ S: C-ADDR U\r
+   DUP #BITS-UD = SWAP\r
+   0 DO                                        \ S: C-ADDR FLAG\r
+      OVER C@ [CHAR] 1 = AND           \ ALL ONES\r
+      >R CHAR+ R>\r
+   LOOP SWAP DROP ;\r
+{ GP6 -> <TRUE> }\r
+\r
+: GP7\r
+   BASE @ >R    MAX-BASE BASE !\r
+   <TRUE>\r
+   A 0 DO\r
+      I 0 <# #S #>\r
+      1 = SWAP C@ I 30 + = AND AND\r
+   LOOP\r
+   MAX-BASE A DO\r
+      I 0 <# #S #>\r
+      1 = SWAP C@ 41 I A - + = AND AND\r
+   LOOP\r
+   R> BASE ! ;\r
+\r
+{ GP7 -> <TRUE> }\r
+\r
+\ >NUMBER TESTS\r
+CREATE GN-BUF 0 C,\r
+: GN-STRING    GN-BUF 1 ;\r
+: GN-CONSUMED  GN-BUF CHAR+ 0 ;\r
+: GN'          [CHAR] ' WORD CHAR+ C@ GN-BUF C!  GN-STRING ;\r
+\r
+{ 0 0 GN' 0' >NUMBER -> 0 0 GN-CONSUMED }\r
+{ 0 0 GN' 1' >NUMBER -> 1 0 GN-CONSUMED }\r
+{ 1 0 GN' 1' >NUMBER -> BASE @ 1+ 0 GN-CONSUMED }\r
+{ 0 0 GN' -' >NUMBER -> 0 0 GN-STRING }        \ SHOULD FAIL TO CONVERT THESE\r
+{ 0 0 GN' +' >NUMBER -> 0 0 GN-STRING }\r
+{ 0 0 GN' .' >NUMBER -> 0 0 GN-STRING }\r
+\r
+: >NUMBER-BASED\r
+   BASE @ >R BASE ! >NUMBER R> BASE ! ;\r
+\r
+{ 0 0 GN' 2' 10 >NUMBER-BASED -> 2 0 GN-CONSUMED }\r
+{ 0 0 GN' 2'  2 >NUMBER-BASED -> 0 0 GN-STRING }\r
+{ 0 0 GN' F' 10 >NUMBER-BASED -> F 0 GN-CONSUMED }\r
+{ 0 0 GN' G' 10 >NUMBER-BASED -> 0 0 GN-STRING }\r
+{ 0 0 GN' G' MAX-BASE >NUMBER-BASED -> 10 0 GN-CONSUMED }\r
+{ 0 0 GN' Z' MAX-BASE >NUMBER-BASED -> 23 0 GN-CONSUMED }\r
+\r
+: GN1  \ ( UD BASE -- UD' LEN ) UD SHOULD EQUAL UD' AND LEN SHOULD BE ZERO.\r
+   BASE @ >R BASE !\r
+   <# #S #>\r
+   0 0 2SWAP >NUMBER SWAP DROP         \ RETURN LENGTH ONLY\r
+   R> BASE ! ;\r
+{ 0 0 2 GN1 -> 0 0 0 }\r
+{ MAX-UINT 0 2 GN1 -> MAX-UINT 0 0 }\r
+{ MAX-UINT DUP 2 GN1 -> MAX-UINT DUP 0 }\r
+{ 0 0 MAX-BASE GN1 -> 0 0 0 }\r
+{ MAX-UINT 0 MAX-BASE GN1 -> MAX-UINT 0 0 }\r
+{ MAX-UINT DUP MAX-BASE GN1 -> MAX-UINT DUP 0 }\r
+\r
+: GN2  \ ( -- 16 10 )\r
+   BASE @ >R  HEX BASE @  DECIMAL BASE @  R> BASE ! ;\r
+{ GN2 -> 10 A }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING FILL MOVE\r
+\r
+CREATE FBUF 00 C, 00 C, 00 C,\r
+CREATE SBUF 12 C, 34 C, 56 C,\r
+: SEEBUF FBUF C@  FBUF CHAR+ C@  FBUF CHAR+ CHAR+ C@ ;\r
+\r
+{ FBUF 0 20 FILL -> }\r
+{ SEEBUF -> 00 00 00 }\r
+\r
+{ FBUF 1 20 FILL -> }\r
+{ SEEBUF -> 20 00 00 }\r
+\r
+{ FBUF 3 20 FILL -> }\r
+{ SEEBUF -> 20 20 20 }\r
+\r
+{ FBUF FBUF 3 CHARS MOVE -> }          \ BIZARRE SPECIAL CASE\r
+{ SEEBUF -> 20 20 20 }\r
+\r
+{ SBUF FBUF 0 CHARS MOVE -> }\r
+{ SEEBUF -> 20 20 20 }\r
+\r
+{ SBUF FBUF 1 CHARS MOVE -> }\r
+{ SEEBUF -> 12 20 20 }\r
+\r
+{ SBUF FBUF 3 CHARS MOVE -> }\r
+{ SEEBUF -> 12 34 56 }\r
+\r
+{ FBUF FBUF CHAR+ 2 CHARS MOVE -> }\r
+{ SEEBUF -> 12 12 34 }\r
+\r
+{ FBUF CHAR+ FBUF 2 CHARS MOVE -> }\r
+{ SEEBUF -> 12 34 34 }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING OUTPUT: . ." CR EMIT SPACE SPACES TYPE U.\r
+\r
+: OUTPUT-TEST\r
+   ." YOU SHOULD SEE THE STANDARD GRAPHIC CHARACTERS:" CR\r
+   41 BL DO I EMIT LOOP CR\r
+   61 41 DO I EMIT LOOP CR\r
+   7F 61 DO I EMIT LOOP CR\r
+   ." YOU SHOULD SEE 0-9 SEPARATED BY A SPACE:" CR\r
+   9 1+ 0 DO I . LOOP CR\r
+   ." YOU SHOULD SEE 0-9 (WITH NO SPACES):" CR\r
+   [CHAR] 9 1+ [CHAR] 0 DO I 0 SPACES EMIT LOOP CR\r
+   ." YOU SHOULD SEE A-G SEPARATED BY A SPACE:" CR\r
+   [CHAR] G 1+ [CHAR] A DO I EMIT SPACE LOOP CR\r
+   ." YOU SHOULD SEE 0-5 SEPARATED BY TWO SPACES:" CR\r
+   5 1+ 0 DO I [CHAR] 0 + EMIT 2 SPACES LOOP CR\r
+   ." YOU SHOULD SEE TWO SEPARATE LINES:" CR\r
+   S" LINE 1" TYPE CR S" LINE 2" TYPE CR\r
+   ." YOU SHOULD SEE THE NUMBER RANGES OF SIGNED AND UNSIGNED NUMBERS:" CR\r
+   ."   SIGNED: " MIN-INT . MAX-INT . CR\r
+   ." UNSIGNED: " 0 U. MAX-UINT U. CR\r
+;\r
+\r
+{ OUTPUT-TEST -> }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING INPUT: ACCEPT\r
+\r
+CREATE ABUF 80 CHARS ALLOT\r
+\r
+: ACCEPT-TEST\r
+   CR ." PLEASE TYPE UP TO 80 CHARACTERS:" CR\r
+   ABUF 80 ACCEPT\r
+   CR ." RECEIVED: " [CHAR] " EMIT\r
+   ABUF SWAP TYPE [CHAR] " EMIT CR\r
+;\r
+\r
+{ ACCEPT-TEST -> }\r
+\r
+\ ------------------------------------------------------------------------\r
+TESTING DICTIONARY SEARCH RULES\r
+\r
+{ : GDX   123 ; : GDX   GDX 234 ; -> }\r
+\r
+{ GDX -> 123 234 }\r
+\r
+\r
diff --git a/fth/filefind.fth b/fth/filefind.fth
new file mode 100644 (file)
index 0000000..1d97f84
--- /dev/null
@@ -0,0 +1,119 @@
+\ @(#) filefind.fth 98/01/26 1.2\r
+\ FILE?  ( <name> -- , report which file this Forth word was defined in )\r
+\\r
+\ FILE? looks for ::::Filename and ;;;; in the dictionary\r
+\ that have been left by INCLUDE.  It figures out nested\r
+\ includes and reports each file that defines the word.\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1992 Phil Burk\r
+\\r
+\ 00001 PLB 2/21/92 Handle words from kernel or keyboard.\r
+\              Support EACH.FILE?\r
+\ 961213 PLB Port to pForth.\r
+\r
+ANEW TASK-FILEFIND.FTH\r
+\r
+: BE@ { addr | val -- val , fetch from unaligned address in BigEndian order }\r
+       4 0\r
+       DO\r
+               addr i + c@\r
+               val 8 lshift or -> val\r
+       LOOP\r
+       val\r
+;\r
+\r
+: BE! { val addr -- , store to unaligned address in BigEndian order }\r
+       4 0\r
+       DO\r
+           val 3 i - 8 * rshift\r
+               addr i + c!\r
+       LOOP\r
+;\r
+: BEW@ { addr -- , fetch word from unaligned address in BigEndian order }\r
+       addr c@ 8 lshift\r
+       addr 1+ c@ OR\r
+;\r
+\r
+: BEW! { val addr -- , store word to unaligned address in BigEndian order }\r
+       val 8 rshift addr c!\r
+       val addr 1+ c!\r
+;\r
+\r
+\ scan dictionary from NFA for filename\r
+: F?.SEARCH.NFA { nfa | dpth stoploop keyb nfa0 -- addr count }\r
+       0 -> dpth\r
+       0 -> stoploop\r
+       0 -> keyb\r
+       nfa -> nfa0\r
+       BEGIN\r
+               nfa prevname -> nfa\r
+               nfa 0>\r
+               IF\r
+                       nfa 1+ be@\r
+                       CASE\r
+                               $ 3a3a3a3a ( :::: )\r
+                               OF\r
+                                       dpth 0=\r
+                                       IF\r
+                                               nfa count 31 and\r
+                                               4 - swap 4 + swap\r
+                                               true -> stoploop\r
+                                       ELSE\r
+                                               -1 dpth + -> dpth\r
+                                       THEN\r
+                               ENDOF\r
+                               $ 3b3b3b3b ( ;;;; )\r
+                               OF\r
+                                               1 dpth + -> dpth\r
+                                               true -> keyb     \ maybe from keyboard\r
+                               ENDOF\r
+                       ENDCASE\r
+               ELSE\r
+                       true -> stoploop\r
+                       keyb\r
+                       IF\r
+                               " keyboard"\r
+                       ELSE\r
+                               " 'C' kernel"\r
+                       THEN\r
+                       count\r
+               THEN\r
+               stoploop\r
+       UNTIL\r
+;\r
+\r
+: FINDNFA.FROM { $name start_nfa -- nfa true | $word false }\r
+       context @ >r\r
+       start_nfa context !\r
+       $name findnfa\r
+       r> context !\r
+;\r
+\r
+\ Search entire dictionary for all occurences of named word.\r
+: FILE? {  | $word nfa done? -- , take name from input }\r
+       0 -> done?\r
+       bl word -> $word\r
+       $word findnfa\r
+       IF  ( -- nfa )\r
+               $word count type ."  from:" cr\r
+               -> nfa\r
+               BEGIN\r
+                       nfa f?.search.nfa ( addr cnt )\r
+                       nfa name> 12 .r   \ print xt\r
+                       4 spaces type cr\r
+                       nfa prevname dup -> nfa\r
+                       0>\r
+                       IF\r
+                               $word nfa findnfa.from  \ search from one behind found nfa\r
+                               swap -> nfa\r
+                               not\r
+                       ELSE\r
+                               true\r
+                       THEN\r
+               UNTIL\r
+       ELSE ( -- $word )\r
+               count type ."  not found!" cr\r
+       THEN\r
+;\r
+\r
diff --git a/fth/floats.fth b/fth/floats.fth
new file mode 100644 (file)
index 0000000..cb77770
--- /dev/null
@@ -0,0 +1,497 @@
+\ @(#) floats.fth 98/02/26 1.4 17:51:40\r
+\ High Level Forth support for Floating Point\r
+\\r
+\ Author: Phil Burk and Darren Gibbs\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\\r
+\ 19970702 PLB Drop 0.0 in REPRESENT to fix  0.0 F.\r
+\ 19980220 PLB Added FG. , fixed up large and small formatting\r
+\ 19980812 PLB Now don't drop 0.0 in REPRESENT to fix  0.0 F.  (!!!)\r
+\              Fixed F~ by using (F.EXACTLY)\r
+\r
+ANEW TASK-FLOATS.FTH\r
+\r
+: FALIGNED     ( addr -- a-addr )\r
+       1 floats 1- +\r
+       1 floats /\r
+       1 floats *\r
+;\r
+\r
+: FALIGN       ( -- , align DP )\r
+       dp @ faligned dp !\r
+;\r
+\r
+\ account for size of create when aligning floats\r
+here\r
+create fp-create-size\r
+fp-create-size swap - constant CREATE_SIZE\r
+\r
+: FALIGN.CREATE  ( -- , align DP for float after CREATE )\r
+       dp @\r
+       CREATE_SIZE +\r
+       faligned\r
+       CREATE_SIZE -\r
+       dp !\r
+;\r
+\r
+: FCREATE  ( <name> -- , create with float aligned data )\r
+       falign.create\r
+       CREATE\r
+;\r
+\r
+: FVARIABLE ( <name> -- ) ( F: -- )\r
+       FCREATE 1 floats allot\r
+;\r
+\r
+: FCONSTANT\r
+       FCREATE here   1 floats allot   f! \r
+       DOES> f@ \r
+;\r
+\r
+: F0SP ( -- ) ( F: ? -- )\r
+       fdepth 0 max  0 ?DO fdrop LOOP \r
+;\r
+\r
+\ Convert between single precision and floating point\r
+: S>F ( s -- ) ( F: -- r )\r
+       s>d d>f\r
+;\r
+: F>S ( -- s ) ( F: r -- )\r
+       f>d d>s\r
+;              \r
+\r
+: (F.EXACTLY) ( r1 r2 -f- flag , return true if encoded equally ) { | caddr1 caddr2 fsize fcells }\r
+       1 floats -> fsize\r
+       fsize cell 1- + cell 1- invert and  \ round up to nearest multiple of stack size\r
+       cell / -> fcells ( number of cells per float )\r
+\ make room on data stack for floats data\r
+       fcells 0 ?DO 0 LOOP\r
+       sp@ -> caddr1\r
+       fcells 0 ?DO 0 LOOP\r
+       sp@ -> caddr2\r
+\ compare bit representation\r
+       caddr1 f!\r
+       caddr2 f!\r
+       caddr1 fsize caddr2 fsize compare 0= \r
+       >r fcells 2* 0 ?DO drop LOOP r>  \ drop float bits\r
+;\r
+\r
+: F~ ( -0- flag ) ( r1 r2 r3 -f- )\r
+       fdup F0<\r
+       IF\r
+               frot frot  ( -- r3 r1 r2 )\r
+               fover fover ( -- r3 r1 r2 r1 r2 )\r
+               f- fabs    ( -- r3 r1 r2 |r1-r2| )\r
+               frot frot  ( -- r3  |r1-r2| r1 r2 )\r
+               fabs fswap fabs f+ ( -- r3 |r1-r2|  |r1|+|r2| )\r
+               frot fabs f* ( -- |r1-r2|  |r1|+|r2|*|r3| )\r
+               f<\r
+       ELSE\r
+               fdup f0=\r
+               IF\r
+                       fdrop\r
+                       (f.exactly)  \ f- f0=  \ 19980812 Used to cheat. Now actually compares bit patterns.\r
+               ELSE\r
+                       frot frot  ( -- r3 r1 r2 )\r
+                       f- fabs    ( -- r3 |r1-r2| )\r
+                       fswap f<\r
+               THEN\r
+       THEN\r
+;\r
+\r
+\ FP Output --------------------------------------------------------\r
+fvariable FVAR-REP  \ scratch var for represent\r
+: REPRESENT { c-addr u | n flag1 flag2 --  n flag1 flag2 , FLOATING } ( F: r -- )\r
+       TRUE -> flag2   \ FIXME - need to check range\r
+       fvar-rep f!\r
+\\r
+       fvar-rep f@ f0<\r
+       IF\r
+               -1 -> flag1\r
+               fvar-rep f@ fabs fvar-rep f!   \ absolute value\r
+       ELSE\r
+               0 -> flag1\r
+       THEN\r
+\\r
+       fvar-rep f@ f0=\r
+       IF\r
+\              fdrop \ 19970702 \ 19980812 Remove FDROP to fix "0.0 F."\r
+               c-addr u [char] 0 fill\r
+               0 -> n\r
+       ELSE\r
+               fvar-rep f@ \r
+               flog\r
+               fdup f0< not\r
+               IF\r
+                       1 s>f f+ \ round up exponent\r
+               THEN\r
+               f>s -> n   \r
+\ ." REP - n = " n . cr\r
+\ normalize r to u digits\r
+               fvar-rep f@\r
+               10 s>f u n - s>f f** f*\r
+               1 s>f 2 s>f f/ f+   \ round result\r
+\\r
+\ convert float to double_int then convert to text\r
+               f>d\r
+\ ." REP - d = " over . dup . cr\r
+               <#  u 1- 0 ?DO # loop #s #>  \ ( -- addr cnt )\r
+\ Adjust exponent if rounding caused number of digits to increase.\r
+\ For example from 9999 to 10000.\r
+               u - +-> n  \r
+               c-addr u move\r
+       THEN\r
+\\r
+       n flag1 flag2\r
+;\r
+\r
+variable FP-PRECISION\r
+\r
+\ Set maximum digits that are meaningful for the precision that we use.\r
+1 FLOATS 4 / 7 * constant FP_PRECISION_MAX\r
+\r
+: PRECISION ( -- u )\r
+       fp-precision @\r
+;\r
+: SET-PRECISION ( u -- )\r
+       fp_precision_max min\r
+       fp-precision !\r
+;\r
+7 set-precision\r
+\r
+32 constant FP_REPRESENT_SIZE\r
+64 constant FP_OUTPUT_SIZE\r
+\r
+create FP-REPRESENT-PAD FP_REPRESENT_SIZE allot  \ used with REPRESENT\r
+create FP-OUTPUT-PAD FP_OUTPUT_SIZE allot     \ used to assemble final output\r
+variable FP-OUTPUT-PTR            \ points into FP-OUTPUT-PAD\r
+\r
+: FP.HOLD ( char -- , add char to output )\r
+       fp-output-ptr @ fp-output-pad 64 + <\r
+       IF\r
+               fp-output-ptr @ tuck c!\r
+               1+ fp-output-ptr !\r
+       ELSE\r
+               drop\r
+       THEN\r
+;\r
+: FP.APPEND { addr cnt -- , add string to output }\r
+       cnt 0 max   0\r
+       ?DO\r
+               addr i + c@ fp.hold\r
+       LOOP\r
+;\r
+\r
+: FP.STRIP.TRAILING.ZEROS ( -- , remove trailing zeros from fp output )\r
+       BEGIN\r
+               fp-output-ptr @ fp-output-pad u>\r
+               fp-output-ptr @ 1- c@ [char] 0 =\r
+               and\r
+       WHILE\r
+               -1 fp-output-ptr +!\r
+       REPEAT\r
+;\r
+\r
+: FP.APPEND.ZEROS ( numZeros -- )\r
+       0 max   0\r
+       ?DO [char] 0 fp.hold\r
+       LOOP\r
+;\r
+\r
+: FP.MOVE.DECIMAL   { n prec -- , append with decimal point shifted }\r
+       fp-represent-pad n prec min fp.append\r
+       n prec - fp.append.zeros\r
+       [char] . fp.hold\r
+       fp-represent-pad n +\r
+       prec n - 0 max fp.append\r
+;\r
+\r
+: (EXP.) ( n -- addr cnt , convert exponent to two digit value )\r
+       dup abs 0\r
+       <# # #s\r
+       rot 0<\r
+       IF [char] - HOLD\r
+       ELSE [char] + hold\r
+       THEN\r
+       #>\r
+;\r
+\r
+: FP.REPRESENT ( -- n flag1 flag2 ) ( r -f- )\r
+;\r
+\r
+: (FS.)  ( -- addr cnt ) ( F: r -- , scientific notation )\r
+       fp-output-pad fp-output-ptr !  \ setup pointer\r
+       fp-represent-pad   precision  represent\r
+\ ." (FS.) - represent " fp-represent-pad precision type cr\r
+       ( -- n flag1 flag2 )\r
+       IF\r
+               IF [char] - fp.hold\r
+               THEN\r
+               1 precision fp.move.decimal\r
+               [char] e fp.hold\r
+               1- (exp.) fp.append \ n\r
+       ELSE\r
+               2drop\r
+               s" <FP-OUT-OF-RANGE>" fp.append\r
+       THEN\r
+       fp-output-pad fp-output-ptr @ over -\r
+;\r
+\r
+: FS.  ( F: r -- , scientific notation )\r
+       (fs.) type space\r
+;\r
+\r
+: (FE.)  ( -- addr cnt ) ( F: r -- , engineering notation ) { | n n3 -- }\r
+       fp-output-pad fp-output-ptr !  \ setup pointer\r
+       fp-represent-pad precision represent\r
+       ( -- n flag1 flag2 )\r
+       IF\r
+               IF [char] - fp.hold\r
+               THEN\r
+\ convert exponent to multiple of three\r
+               -> n\r
+               n 1- s>d 3 fm/mod \ use floored divide\r
+               3 * -> n3\r
+               1+ precision fp.move.decimal \ amount to move decimal point\r
+               [char] e fp.hold\r
+               n3 (exp.) fp.append \ n\r
+       ELSE\r
+               2drop\r
+               s" <FP-OUT-OF-RANGE>" fp.append\r
+       THEN\r
+       fp-output-pad fp-output-ptr @ over -\r
+;\r
+\r
+: FE.  ( F: r -- , engineering notation )\r
+       (FE.) type space\r
+;\r
+\r
+: (FG.)  ( F: r -- , normal or scientific ) { | n n3 ndiff -- }\r
+       fp-output-pad fp-output-ptr !  \ setup pointer\r
+       fp-represent-pad precision represent\r
+       ( -- n flag1 flag2 )\r
+       IF\r
+               IF [char] - fp.hold\r
+               THEN\r
+\ compare n with precision to see whether we do scientific display\r
+               dup precision >\r
+               over -3 < OR\r
+               IF  \ use exponential notation\r
+                       1 precision fp.move.decimal\r
+                       fp.strip.trailing.zeros\r
+                       [char] e fp.hold\r
+                       1- (exp.) fp.append \ n\r
+               ELSE\r
+                       dup 0>\r
+                       IF\r
+\ POSITIVE EXPONENT - place decimal point in middle\r
+                               precision fp.move.decimal\r
+                       ELSE\r
+\ NEGATIVE EXPONENT - use 0.000????\r
+                               s" 0." fp.append\r
+\ output leading zeros\r
+                               negate fp.append.zeros\r
+                               fp-represent-pad precision fp.append\r
+                       THEN\r
+                       fp.strip.trailing.zeros\r
+               THEN\r
+       ELSE\r
+               2drop\r
+               s" <FP-OUT-OF-RANGE>" fp.append\r
+       THEN\r
+       fp-output-pad fp-output-ptr @ over -\r
+;\r
+\r
+: FG.  ( F: r -- )\r
+       (fg.) type space\r
+;\r
+\r
+: (F.)  ( F: r -- , normal or scientific ) { | n n3 ndiff prec' -- }\r
+       fp-output-pad fp-output-ptr !  \ setup pointer\r
+       fp-represent-pad  \ place to put number\r
+       fdup flog 1 s>f f+ f>s precision max\r
+       fp_precision_max min dup -> prec'\r
+       represent\r
+       ( -- n flag1 flag2 )\r
+       IF\r
+\ add '-' sign if negative\r
+               IF [char] - fp.hold\r
+               THEN\r
+\ compare n with precision to see whether we must do scientific display\r
+               dup fp_precision_max >\r
+               IF  \ use exponential notation\r
+                       1 precision fp.move.decimal\r
+                       fp.strip.trailing.zeros\r
+                       [char] e fp.hold\r
+                       1- (exp.) fp.append \ n\r
+               ELSE\r
+                       dup 0>\r
+                       IF\r
+       \ POSITIVE EXPONENT - place decimal point in middle\r
+                               prec' fp.move.decimal\r
+                       ELSE\r
+       \ NEGATIVE EXPONENT - use 0.000????\r
+                               s" 0." fp.append\r
+       \ output leading zeros\r
+                               dup negate precision min\r
+                               fp.append.zeros\r
+                               fp-represent-pad precision rot + fp.append\r
+                       THEN\r
+               THEN\r
+       ELSE\r
+               2drop\r
+               s" <FP-OUT-OF-RANGE>" fp.append\r
+       THEN\r
+       fp-output-pad fp-output-ptr @ over -\r
+;\r
+\r
+: F.  ( F: r -- )\r
+       (f.) type space\r
+;\r
+\r
+: F.S  ( -- , print FP stack )\r
+       ." FP> "\r
+       fdepth 0>\r
+       IF\r
+               fdepth 0\r
+               DO\r
+                       cr?\r
+                       fdepth i - 1-  \ index of next float\r
+                       fpick f. cr?\r
+               LOOP\r
+       ELSE\r
+               ." empty"\r
+       THEN\r
+       cr\r
+;\r
+\r
+\ FP Input ----------------------------------------------------------\r
+variable FP-REQUIRE-E   \ must we put an E in FP numbers?\r
+false fp-require-e !   \ violate ANSI !!\r
+\r
+: >FLOAT { c-addr u | dlo dhi u' fsign flag nshift -- flag }\r
+       u 0= IF false exit THEN\r
+       false -> flag\r
+       0 -> nshift\r
+\\r
+\ check for minus sign\r
+       c-addr c@ [char] - =     dup -> fsign\r
+       c-addr c@ [char] + = OR\r
+       IF   1 +-> c-addr   -1 +-> u   \ skip char\r
+       THEN\r
+\\r
+\ convert first set of digits\r
+       0 0 c-addr u >number -> u' -> c-addr -> dhi -> dlo\r
+       u' 0>\r
+       IF\r
+\ convert optional second set of digits\r
+               c-addr c@ [char] . =\r
+               IF\r
+                       dlo dhi c-addr 1+ u' 1- dup -> nshift >number\r
+                       dup nshift - -> nshift\r
+                       -> u' -> c-addr -> dhi -> dlo\r
+               THEN\r
+\ convert exponent\r
+               u' 0>\r
+               IF\r
+                       c-addr c@ [char] E =\r
+                       c-addr c@ [char] e =  OR\r
+                       IF\r
+                               1 +-> c-addr   -1 +-> u'   \ skip char\r
+                               c-addr c@ [char] + = \ ignore + on exponent\r
+                               IF\r
+                                       1 +-> c-addr   -1 +-> u'   \ skip char\r
+                               THEN\r
+                               c-addr u' ((number?))\r
+                               num_type_single =\r
+                               IF\r
+                                       nshift + -> nshift\r
+                                       true -> flag\r
+                               THEN\r
+                       THEN\r
+               ELSE\r
+\ only require E field if this variable is true\r
+                       fp-require-e @ not -> flag\r
+               THEN\r
+       THEN\r
+\ convert double precision int to float\r
+       flag\r
+       IF\r
+               dlo dhi d>f\r
+               10 s>f nshift s>f f** f*   \ apply exponent\r
+               fsign\r
+               IF\r
+                       fnegate\r
+               THEN\r
+       THEN\r
+       flag\r
+;\r
+\r
+3 constant NUM_TYPE_FLOAT   \ possible return type for NUMBER?\r
+\r
+: (FP.NUMBER?)   ( $addr -- 0 | n 1 | d 2 | r 3 , convert string to number )\r
+\ check to see if it is a valid float, if not use old (NUMBER?)\r
+       dup count >float\r
+       IF\r
+               drop NUM_TYPE_FLOAT\r
+       ELSE\r
+               (number?)\r
+       THEN\r
+;\r
+\r
+defer fp.old.number?\r
+variable FP-IF-INIT\r
+\r
+: FP.TERM    ( -- , deinstall fp conversion )\r
+       fp-if-init @\r
+       IF\r
+               what's  fp.old.number? is number?\r
+               fp-if-init off\r
+       THEN\r
+;\r
+\r
+: FP.INIT  ( -- , install FP converion )\r
+       fp.term\r
+       what's number? is fp.old.number?\r
+       ['] (fp.number?) is number?\r
+       fp-if-init on\r
+       ." Floating point numeric conversion installed." cr\r
+;\r
+\r
+FP.INIT\r
+if.forgotten fp.term\r
+\r
+\r
+0 [IF]\r
+\r
+23.8e-9 fconstant fsmall\r
+1.0 fsmall f- fconstant falmost1\r
+." Should be 1.0 = " falmost1 f. cr\r
+\r
+: TSEGF  ( r -f- , print in all formats )\r
+." --------------------------------" cr\r
+       34 0\r
+       DO\r
+               fdup fs. 4 spaces  fdup fe. 4 spaces\r
+               fdup fg. 4 spaces  fdup f.  cr\r
+               10.0 f/\r
+       LOOP\r
+       fdrop\r
+;\r
+\r
+: TFP\r
+       1.234e+22 tsegf\r
+       1.23456789e+22 tsegf\r
+       0.927 fsin 1.234e+22 f* tsegf\r
+;\r
+\r
+[THEN]\r
diff --git a/fth/forget.fth b/fth/forget.fth
new file mode 100644 (file)
index 0000000..9dfd800
--- /dev/null
@@ -0,0 +1,97 @@
+\ @(#) forget.fth 98/01/26 1.2\r
+\ forget.fth\r
+\\r
+\ forget part of dictionary\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\\r
+\ 19970701 PLB Use unsigned compares for machines with "negative" addresses.\r
+\r
+variable RFENCE    \ relocatable value below which we won't forget\r
+\r
+: FREEZE  ( -- , protect below here )\r
+       here rfence a!\r
+;\r
+\r
+: FORGET.NFA  ( nfa -- , set DP etc. )\r
+       dup name> >code dp !\r
+       prevname ( dup current ! ) dup context ! n>nextlink headers-ptr !\r
+;\r
+\r
+: VERIFY.FORGET  ( nfa -- , ask for verification if below fence )\r
+       dup name> >code rfence a@ u<  \ 19970701\r
+       IF\r
+               >newline dup id. ."  is below fence!!" cr\r
+               drop\r
+       ELSE forget.nfa\r
+       THEN\r
+;\r
+\r
+: (FORGET)  ( <name> -- )\r
+       BL word findnfa\r
+       IF      verify.forget\r
+       ELSE ." FORGET - couldn't find " count type cr abort\r
+       THEN\r
+;\r
+\r
+variable LAST-FORGET   \ contains address of last if.forgotten frame\r
+0 last-forget !\r
+\r
+: IF.FORGOTTEN  ( <name> -- , place links in dictionary without header )\r
+       bl word find\r
+       IF      ( xt )\r
+               here                \ start of frame\r
+               last-forget a@ a,   \ Cell[0] = rel address of previous frame\r
+               last-forget a!      \ point to this frame\r
+               compile,            \ Cell[1] = xt for this frame\r
+       ELSE ." IF.FORGOTTEN - couldn't find " dup 9 dump cr count type cr abort\r
+       THEN\r
+;\r
+if.forgotten noop\r
+\r
+: [FORGET]  ( <name> -- , forget then exec forgotten words )\r
+       (forget)\r
+       last-forget\r
+       BEGIN a@ dup 0<>   \ 19970701\r
+               IF dup here u>   \ 19970701\r
+                       IF dup cell+ x@ execute false\r
+                       ELSE dup last-forget a! true\r
+                       THEN\r
+               ELSE true\r
+               THEN\r
+       UNTIL drop\r
+;\r
+\r
+: FORGET ( <name> -- , execute latest [FORGET] )\r
+       " [FORGET]" find\r
+       IF  execute\r
+       ELSE ." FORGET - couldn't find " count type cr abort\r
+       THEN\r
+;\r
+\r
+: ANEW ( -- , forget if defined then redefine )\r
+       >in @\r
+       bl word find\r
+       IF over >in ! forget\r
+       THEN drop\r
+       >in ! variable\r
+;\r
+\r
+: MARKER  ( <name> -- , define a word that forgets itself when executed, ANS )\r
+       CREATE\r
+               latest namebase -  \ convert to relocatable\r
+               ,                  \ save for DOES>\r
+       DOES>  ( -- body )\r
+               @ namebase +       \ convert back to NFA\r
+               verify.forget\r
+;\r
diff --git a/fth/history.fth b/fth/history.fth
new file mode 100644 (file)
index 0000000..dfb7baa
--- /dev/null
@@ -0,0 +1,509 @@
+\ Command Line History\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1988 Phil Burk\r
+\ Revised 2001 for pForth\r
+\r
+0 [IF]\r
+\r
+Requires an ANSI compatible terminal.\r
+\r
+To get Windows computers to use ANSI mode in their DOS windows,\r
+Add this line to "C:\CONFIG.SYS" then reboot.\r
+  \r
+  device=c:\windows\command\ansi.sys\r
+\r
+When command line history is on, you can use the UP and DOWN arrow to scroll\r
+through previous commands. Use the LEFT and RIGHT arrows to edit within a line.\r
+   CONTROL-A moves to beginning of line.\r
+   CONTROL-E moves to end of line.\r
+   CONTROL-X erases entire line.\r
+\r
+\r
+HISTORY#       ( -- , dump history buffer with numbers)\r
+HISTORY        ( -- , dump history buffer )\r
+XX             ( line# -- , execute line x of history )\r
+HISTORY.RESET  ( -- , clear history tables )\r
+HISTORY.ON     ( -- , install history vectors )\r
+HISTORY.OFF    ( -- , uninstall history vectors )\r
+\r
+[THEN]\r
+\r
+include? ESC[ termio.fth\r
+\r
+ANEW TASK-HISTORY.FTH\r
+decimal\r
+\r
+private{\r
+\r
+\ You can expand the history buffer by increasing this constant!!!!!!!!!!\r
+2048 constant KH_HISTORY_SIZE\r
+\r
+create KH-HISTORY kh_history_size allot\r
+KH-HISTORY kh_history_size erase\r
+\r
+\ An entry in the history buffer consists of\r
+\   byte  - Count byte = N,\r
+\   chars - N chars,\r
+\   short -  line number in Big Endian format,\r
+\   byte  - another Count byte = N, for reverse scan\r
+\\r
+\ The most recent entry is put at the beginning,\r
+\ older entries are shifted up.\r
+\r
+: KH-END ( -- addr , end of history buffer )\r
+       kh-history kh_history_size +\r
+;\r
+\r
+: LINENUM@ ( addr -- w , stores in BigEndian format )\r
+       dup c@ 8 shift\r
+       swap 1+ c@ or\r
+;\r
+\r
+: LINENUM! ( w addr -- )\r
+       over -8 shift over c!\r
+       1+ c!\r
+;\r
+\r
+variable KH-LOOK      ( cursor offset into history, point to 1st count byte of line )\r
+variable KH-MAX\r
+variable KH-COUNTER       ( 16 bit counter for line # )\r
+variable KH-SPAN          ( total number of characters in line )\r
+variable KH-MATCH-SPAN    ( span for matching on shift-up )\r
+variable KH-CURSOR        ( points to next insertion point )\r
+variable KH-ADDRESS       ( address to store chars )\r
+variable KH-INSIDE        ( true if we are scrolling inside the history buffer )\r
+\r
+: KH.MAKE.ROOM ( N -- , make room for N more bytes at beginning)\r
+       >r  ( save N )\r
+       kh-history dup r@ + ( source dest )\r
+       kh_history_size r> - 0 max move\r
+;\r
+\r
+: KH.NEWEST.LINE  ( -- addr count , most recent line )\r
+       kh-history count\r
+;\r
+\r
+: KH.REWIND ( -- , move cursor to most recent line )\r
+       0 kh-look !\r
+;\r
+\r
+: KH.CURRENT.ADDR ( -- $addr , count byte of current line )\r
+       kh-look @ kh-history +\r
+;\r
+\r
+: KH.CURRENT.LINE ( -- addr count )\r
+       kh.current.addr count\r
+;\r
+\r
+: KH.COMPARE ( addr count -- flag , true if redundant )\r
+       kh.newest.line compare 0=   \ note: ANSI COMPARE is different than JForth days\r
+;\r
+\r
+: KH.NUM.ADDR ( -- addr , address of current line's line count )\r
+       kh.current.line +\r
+;\r
+\r
+: KH.CURRENT.NUM ( -- # , number of current line )\r
+       kh.num.addr LINENUM@\r
+;\r
+\r
+: KH.ADDR++  ( $addr -- $addr' , convert one kh to previous )\r
+       count + 3 +\r
+;\r
+: KH.ADDR--  ( $addr -- $addr' , convert one kh to next )\r
+       dup 1- c@   \ get next lines endcount\r
+       4 +      \ account for lineNum and two count bytes\r
+       -       \ calc previous address\r
+;\r
+\r
+: KH.ENDCOUNT.ADDR ( -- addr , address of current end count )\r
+       kh.num.addr 2+\r
+;\r
+\r
+: KH.ADD.LINE ( addr count -- )\r
+       dup 256 >\r
+       IF ." KH.ADD.LINE - Too big for history!" 2drop\r
+       ELSE   ( add to end )\r
+\ Compare with most recent line.\r
+               2dup kh.compare\r
+               IF 2drop\r
+               ELSE\r
+                       >r ( save count )\r
+\ Set look pointer to point to first count byte of last string.\r
+                       0 kh-look !\r
+                       r@ cell+ kh.make.room\r
+\ Set count bytes at beginning and end.\r
+                       r@ kh-history c!  ( start count )\r
+                       r@ kh.endcount.addr c!\r
+                       kh-counter @ kh.num.addr LINENUM!  ( line )\r
+\ Number lines modulo 1024\r
+                       kh-counter @ 1+ $ 3FF and kh-counter !\r
+                       kh-history 1+   ( calc destination )\r
+                       r> cmove  ( copy chars into space )\r
+               THEN\r
+       THEN\r
+;\r
+\r
+: KH.BACKUP.LINE  { | cantmove addr' -- cantmove , advance KH-LOOK if in bounds }\r
+       true -> cantmove ( default flag, at end of history )\r
+\ KH-LOOK points to count at start of current line\r
+       kh.current.addr c@       \ do we have any lines?\r
+       IF\r
+               kh.current.addr kh.addr++ -> addr'\r
+               addr' kh-end U<      \ within bounds?\r
+               IF  \r
+                       addr' c@     \ older line has chars?\r
+                       IF\r
+                               addr' kh-history - kh-look !\r
+                               false -> cantmove\r
+                       THEN\r
+               THEN\r
+       THEN\r
+       cantmove\r
+;\r
+\r
+: KH.FORWARD.LINE ( -- cantmove? )\r
+    kh-look @ 0= dup not\r
+    IF  kh.current.addr kh.addr--\r
+       kh-history - kh-look !\r
+    THEN\r
+;\r
+\r
+: KH.OLDEST.LINE   ( -- addr count | 0, oldest in buffer )\r
+    BEGIN kh.backup.line\r
+    UNTIL\r
+    kh.current.line dup 0=\r
+    IF\r
+       nip\r
+    THEN\r
+;\r
+\r
+: KH.FIND.LINE ( line# -- $addr )\r
+       kh.rewind\r
+    BEGIN kh.current.num over -\r
+    WHILE kh.backup.line\r
+        IF ." Line not in History Buffer!" cr drop 0 exit\r
+        THEN\r
+    REPEAT\r
+    drop kh.current.addr\r
+;\r
+\r
+\r
+: KH-BUFFER ( -- buffer )\r
+    kh-address @\r
+;\r
+\r
+: KH.RETURN ( -- , move to beginning of line )\r
+    0 out !\r
+    13 emit\r
+;\r
+\r
+: KH.REPLACE.LINE  ( addr count -- , make this the current line of input )\r
+    kh.return\r
+    tio.erase.eol\r
+    dup kh-span !\r
+    dup kh-cursor !\r
+    2dup kh-buffer swap cmove\r
+    type\r
+;\r
+\r
+: KH.GET.MATCH ( -- , search for line with same start )\r
+    kh-match-span @ 0=  ( keep length for multiple matches )\r
+    IF kh-span @ kh-match-span !\r
+    THEN\r
+    BEGIN\r
+       kh.backup.line not\r
+    WHILE\r
+       kh.current.line drop\r
+       kh-buffer kh-match-span @ text=\r
+        IF kh.current.line kh.replace.line\r
+           exit\r
+        THEN\r
+    REPEAT\r
+;\r
+\r
+: KH.FAR.RIGHT\r
+    kh-span @ kh-cursor @ - dup 0>\r
+    IF\r
+       tio.forwards\r
+        kh-span @ kh-cursor !\r
+    ELSE drop\r
+    THEN\r
+;\r
+\r
+: KH.FAR.LEFT ( -- )\r
+    kh.return\r
+    kh-cursor off\r
+;\r
+\r
+: KH.GET.OLDER ( -- , goto previous line )\r
+       kh-inside @\r
+       IF kh.backup.line drop\r
+       THEN\r
+       kh.current.line kh.replace.line\r
+       kh-inside on\r
+;\r
+\r
+: KH.GET.NEWER ( -- , next line )\r
+       kh.forward.line\r
+       IF\r
+               kh-inside off\r
+               tib 0\r
+       ELSE  kh.current.line\r
+       THEN\r
+       kh.replace.line\r
+;\r
+\r
+: KH.CLEAR.LINE ( -- , rewind history scrolling and clear line )\r
+       kh.rewind\r
+       tib 0 kh.replace.line\r
+       kh-inside off\r
+;\r
+\r
+: KH.GO.RIGHT  ( -- )\r
+    kh-cursor @ kh-span @ <\r
+    IF 1 kh-cursor +!\r
+       1 tio.forwards\r
+    THEN\r
+;\r
+\r
+: KH.GO.LEFT ( -- )\r
+    kh-cursor @ ?dup\r
+    IF 1- kh-cursor !\r
+       1 tio.backwards\r
+    THEN\r
+;\r
+\r
+: KH.REFRESH  ( -- , redraw current line as is )\r
+       kh.return\r
+       kh-buffer kh-span @ type\r
+       tio.erase.eol\r
+       \r
+       kh.return\r
+       kh-cursor @ ?dup \r
+       IF tio.forwards\r
+       THEN\r
+       \r
+       kh-span @ out !\r
+;\r
+\r
+: KH.BACKSPACE ( -- , backspace character from buffer and screen )\r
+    kh-cursor @ ?dup  ( past 0? )\r
+    IF  kh-span @ <\r
+        IF  ( inside line )\r
+            kh-buffer kh-cursor @ +  ( -- source )\r
+            dup 1- ( -- source dest )\r
+            kh-span @ kh-cursor @ - cmove\r
+\            ." Deleted!" cr \r
+        ELSE\r
+            backspace\r
+        THEN\r
+        -1 kh-span +!\r
+        -1 kh-cursor +!\r
+    ELSE bell\r
+    THEN\r
+    kh.refresh\r
+;\r
+\r
+: KH.DELETE ( -- , forward delete )\r
+    kh-cursor @ kh-span @ <  ( before end )\r
+    IF  ( inside line )\r
+        kh-buffer kh-cursor @ + 1+ ( -- source )\r
+        dup 1- ( -- source dest )\r
+        kh-span @ kh-cursor @ - 0 max cmove\r
+        -1 kh-span +!\r
+        kh.refresh\r
+    THEN\r
+;\r
+    \r
+: KH.HANDLE.WINDOWS.KEY ( char -- , handle fkeys or arrows used by Windows ANSI.SYS )\r
+       CASE\r
+               $ 8D OF kh.get.match    ENDOF\r
+                       0 kh-match-span ! ( reset if any other key )\r
+               $ 48 OF kh.get.older    ENDOF\r
+               $ 50 OF kh.get.newer  ENDOF\r
+               $ 4D OF kh.go.right ENDOF\r
+               $ 4B OF kh.go.left  ENDOF\r
+               $ 91 OF kh.clear.line  ENDOF\r
+               $ 74 OF kh.far.right ENDOF\r
+               $ 73 OF kh.far.left  ENDOF\r
+               $ 53 OF kh.delete  ENDOF\r
+       ENDCASE\r
+;\r
+\r
+: KH.HANDLE.ANSI.KEY ( char -- , handle fkeys or arrows used by ANSI terminal )\r
+       CASE\r
+               $ 41 OF kh.get.older    ENDOF\r
+               $ 42 OF kh.get.newer  ENDOF\r
+               $ 43 OF kh.go.right ENDOF\r
+               $ 44 OF kh.go.left  ENDOF\r
+       ENDCASE\r
+;\r
+\r
+\r
+: KH.SPECIAL.KEY ( char  -- true | false , handle fkeys or arrows, true if handled )\r
+       true >r\r
+       CASE\r
+       \r
+       $ E0 OF key kh.handle.windows.key\r
+       ENDOF\r
+       \r
+       ASCII_ESCAPE OF\r
+               key dup $ 4F = \ for TELNET\r
+               $ 5B = OR \ for regular ANSI terminals\r
+               IF\r
+                       key kh.handle.ansi.key\r
+               ELSE\r
+                       rdrop false >r\r
+               THEN\r
+       ENDOF\r
+       \r
+        ASCII_BACKSPACE OF kh.backspace ENDOF\r
+        ASCII_DELETE    OF kh.backspace ENDOF\r
+        ASCII_CTRL_X    OF kh.clear.line ENDOF\r
+        ASCII_CTRL_A    OF kh.far.left ENDOF\r
+        ASCII_CTRL_E    OF kh.far.right ENDOF\r
+       \r
+       rdrop false >r\r
+       \r
+       ENDCASE\r
+       r>\r
+;\r
+               \r
+: KH.SMART.KEY ( -- char )\r
+    BEGIN\r
+       key dup kh.special.key\r
+    WHILE\r
+       drop\r
+    REPEAT\r
+;\r
+        \r
+: KH.INSCHAR  { charc | repaint -- }\r
+       false -> repaint\r
+       kh-cursor @ kh-span @ <\r
+       IF \r
+\ Move characters up\r
+               kh-buffer kh-cursor @ +  ( -- source )\r
+               dup 1+ ( -- source dest )\r
+               kh-span @ kh-cursor @ - cmove>\r
+               true -> repaint\r
+       THEN\r
+\ write character to buffer\r
+       charc kh-buffer kh-cursor @ + c!\r
+       1 kh-cursor +!\r
+       1 kh-span +!\r
+       repaint\r
+       IF kh.refresh\r
+       ELSE charc emit\r
+       THEN\r
+;\r
+\r
+: EOL? ( char -- flag , true if an end of line character )\r
+       dup 13 =\r
+       swap 10 = OR\r
+;\r
+\r
+: KH.GETLINE ( max -- )\r
+       kh-max !\r
+       kh-span off\r
+       kh-cursor off\r
+       kh-inside off\r
+       kh.rewind\r
+       0 kh-match-span !\r
+       BEGIN\r
+               kh-max @ kh-span @ >\r
+               IF  kh.smart.key\r
+                       dup EOL? not  ( <cr?> )\r
+               ELSE 0 false\r
+               THEN  ( -- char flag )\r
+       WHILE ( -- char )\r
+               kh.inschar\r
+       REPEAT drop\r
+       kh-span @ kh-cursor @ - ?dup\r
+       IF 1+ tio.forwards  ( move to end of line )\r
+       ELSE space\r
+       THEN\r
+       flushemit\r
+;\r
+\r
+: KH.ACCEPT ( addr max -- numChars )\r
+       swap kh-address !\r
+       kh.getline\r
+       kh-span @ 0>\r
+       IF kh-buffer kh-span @ kh.add.line\r
+       THEN\r
+       kh-span @\r
+;\r
+\r
+: TEST.HISTORY\r
+       4 0 DO\r
+               pad 128 kh.accept\r
+               cr pad swap type cr\r
+       LOOP\r
+;\r
+\r
+}private\r
+\r
+\r
+: HISTORY# ( -- , dump history buffer with numbers)\r
+       cr kh.oldest.line ?dup\r
+       IF\r
+               BEGIN kh.current.num 3 .r ." ) " type ?pause cr\r
+                       kh.forward.line 0=\r
+               WHILE kh.current.line\r
+               REPEAT\r
+       THEN\r
+;\r
+\r
+: HISTORY ( -- , dump history buffer )\r
+       cr kh.oldest.line ?dup\r
+       IF\r
+               BEGIN type ?pause cr\r
+                       kh.forward.line 0=\r
+               WHILE kh.current.line\r
+               REPEAT\r
+       THEN\r
+;\r
+\r
+: XX  ( line# -- , execute line x of history )\r
+       kh.find.line ?dup\r
+       IF count evaluate\r
+       THEN\r
+;\r
+\r
+\r
+: HISTORY.RESET  ( -- , clear history tables )\r
+       kh-history kh_history_size erase\r
+       kh-counter off\r
+;\r
+\r
+: HISTORY.ON ( -- , install history vectors )\r
+       history.reset\r
+       what's accept ['] (accept) =\r
+       IF ['] kh.accept is accept\r
+       THEN\r
+;\r
+\r
+: HISTORY.OFF ( -- , uninstall history vectors )\r
+       what's accept ['] kh.accept =\r
+       IF ['] (accept) is accept\r
+       THEN\r
+;\r
+\r
+\r
+: AUTO.INIT\r
+       auto.init\r
+       history.on\r
+;\r
+: AUTO.TERM\r
+       history.off\r
+       auto.init\r
+;\r
+\r
+if.forgotten history.off\r
+\r
+0 [IF]\r
+history.reset\r
+history.on\r
+[THEN]\r
diff --git a/fth/loadhist.fth b/fth/loadhist.fth
new file mode 100644 (file)
index 0000000..a7168fc
--- /dev/null
@@ -0,0 +1,7 @@
+\ Load history and save new dictionary.\r
+\ This is not part of the standard build because some computers\r
+\ do not support ANSI terminal I/O.\r
+\r
+include? ESC[ termio.fth\r
+include? HISTORY history.fth\r
+c" pforth.dic" save-forth\r
diff --git a/fth/loadp4th.fth b/fth/loadp4th.fth
new file mode 100644 (file)
index 0000000..a558ea6
--- /dev/null
@@ -0,0 +1,46 @@
+\ @(#) loadp4th.fth 98/01/28 1.3\r
+\ Load various files needed by PForth\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\r
+include? forget  forget.fth\r
+include? >number numberio.fth\r
+include? task-misc1.fth   misc1.fth\r
+include? case    case.fth\r
+include? $=      strings.fth\r
+include? privatize   private.fth\r
+include? (local) ansilocs.fth\r
+include? {       locals.fth\r
+include? fm/mod  math.fth\r
+include? task-misc2.fth misc2.fth\r
+include? [if]    condcomp.fth\r
+\r
+\ load floating point support if basic support is in kernel\r
+exists? F*\r
+   [IF]  include? task-floats.fth floats.fth\r
+   [THEN]\r
+\r
+\ useful but optional stuff follows --------------------\r
+\r
+include? task-member.fth   member.fth\r
+include? :struct c_struct.fth\r
+include? smif{   smart_if.fth\r
+include? file?   filefind.fth\r
+include? see     see.fth\r
+include? words.like wordslik.fth\r
+include? trace   trace.fth\r
+include? ESC[    termio.fth\r
+include? HISTORY history.fth\r
+include? SDAD    savedicd.fth\r
+\r
+map\r
diff --git a/fth/locals.fth b/fth/locals.fth
new file mode 100644 (file)
index 0000000..eb02ceb
--- /dev/null
@@ -0,0 +1,77 @@
+\ @(#) $M$ 98/01/26 1.2\r
+\ standard { v0 v1 ... vn | l0 l1 .. lm -- } syntax\r
+\ based on ANSI basis words (LOCAL) and TO\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\r
+\ MOD: PLB 2/11/00 Allow EOL and \ between { }.\r
+\r
+anew task-locals.fth\r
+\r
+private{\r
+variable loc-temp-mode    \ if true, declaring temporary variables\r
+variable loc-comment-mode \ if true, in comment section\r
+variable loc-done\r
+}private\r
+\r
+: { ( <local-declaration}> -- )\r
+       loc-done off\r
+       loc-temp-mode off\r
+       loc-comment-mode off\r
+       BEGIN\r
+               bl word count\r
+               dup 0>           \ make sure we are not at the end of a line\r
+               IF\r
+                       over c@\r
+                       CASE\r
+       \ handle special characters\r
+                       ascii }  OF  loc-done on          2drop  ENDOF\r
+                       ascii |  OF  loc-temp-mode on     2drop  ENDOF\r
+                       ascii -  OF  loc-comment-mode on  2drop  ENDOF\r
+                       ascii )  OF  ." { ... ) imbalance!" cr abort  ENDOF\r
+                       ascii \  OF  postpone \  2drop ENDOF   \ Forth comment\r
+                       \r
+       \ process name\r
+                       >r  ( save char )\r
+                       ( addr len )\r
+                       loc-comment-mode @\r
+                       IF\r
+                               2drop\r
+                       ELSE\r
+       \ if in temporary mode, assign local var = 0\r
+                               loc-temp-mode @\r
+                               IF compile false\r
+                               THEN\r
+       \ otherwise take value from stack\r
+                               (local)\r
+                       THEN\r
+                       r>\r
+                       ENDCASE\r
+               ELSE\r
+                       2drop refill 0= abort" End of input while defining local variables!"\r
+               THEN\r
+               loc-done @\r
+       UNTIL\r
+       0 0 (local)\r
+; immediate\r
+\r
+privatize\r
+\r
+\ tests\r
+: tlv1  { n -- }  n  dup n *  dup n *  ;\r
+\r
+: tlv2 { v1 v2 | l1 l2 -- }\r
+       v1 . v2 . cr\r
+       v1 v2 + -> l1\r
+       l1 . l2 . cr\r
+;\r
diff --git a/fth/math.fth b/fth/math.fth
new file mode 100644 (file)
index 0000000..bad711d
--- /dev/null
@@ -0,0 +1,89 @@
+\ @(#) math.fth 98/01/26 1.2\r
+\ Extended Math routines\r
+\ FM/MOD SM/REM\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\r
+anew task-math.fth\r
+decimal\r
+\r
+: FM/MOD { dl dh nn | dlp dhp nnp rem quo -- rem quo , floored }\r
+       dl dh dabs -> dhp -> dlp\r
+       nn abs -> nnp\r
+       dlp dhp nnp um/mod -> quo -> rem\r
+       dh 0<  \r
+       IF  \ negative dividend\r
+               nn 0< \r
+               IF   \ negative divisor\r
+                       rem negate -> rem\r
+               ELSE  \ positive divisor\r
+                       rem 0=\r
+                       IF\r
+                               quo negate -> quo\r
+                       ELSE\r
+                               quo 1+ negate -> quo\r
+                               nnp rem - -> rem\r
+                       THEN\r
+               THEN\r
+       ELSE  \ positive dividend\r
+               nn 0<  \r
+               IF  \ negative divisor\r
+                       rem 0=\r
+                       IF\r
+                               quo negate -> quo\r
+                       ELSE\r
+                               nnp rem - negate -> rem\r
+                               quo 1+ negate -> quo\r
+                       THEN\r
+               THEN\r
+       THEN\r
+       rem quo\r
+;\r
+\r
+: SM/REM { dl dh nn | dlp dhp nnp rem quo -- rem quo , symmetric }\r
+       dl dh dabs -> dhp -> dlp\r
+       nn abs -> nnp\r
+       dlp dhp nnp um/mod -> quo -> rem\r
+       dh 0<  \r
+       IF  \ negative dividend\r
+               rem negate -> rem\r
+               nn 0> \r
+               IF   \ positive divisor\r
+                       quo negate -> quo\r
+               THEN\r
+       ELSE  \ positive dividend\r
+               nn 0<  \r
+               IF  \ negative divisor\r
+                       quo negate -> quo\r
+               THEN\r
+       THEN\r
+       rem quo\r
+;\r
+\r
+\r
+: /MOD ( a b -- rem quo )\r
+       >r s>d r> sm/rem\r
+;\r
+\r
+: MOD ( a b -- rem )\r
+       /mod drop\r
+;\r
+\r
+: */MOD ( a b c -- rem a*b/c , use double precision intermediate value )\r
+       >r m*\r
+       r> sm/rem\r
+;\r
+: */ ( a b c -- a*b/c , use double precision intermediate value )\r
+       */mod\r
+       nip\r
+;\r
diff --git a/fth/member.fth b/fth/member.fth
new file mode 100644 (file)
index 0000000..c690dbe
--- /dev/null
@@ -0,0 +1,155 @@
+\ @(#) member.fth 98/01/26 1.2\r
+\ This files, along with c_struct.fth, supports the definition of\r
+\ structure members similar to those used in 'C'.\r
+\\r
+\ Some of this same code is also used by ODE,\r
+\ the Object Development Environment.\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\\r
+\ MOD: PLB 1/16/87 Use abort" instead of er.report.\r
+\ MOD: PLB 2/19/87 Made OB.MEMBER immediate, use literal.\r
+\ MOD: PLB/MDH 6/7/88 Use 16 bit values in member defs.\r
+\ MOD: PLB 7/31/88 Add USHORT and UBYTE.\r
+\ MOD: PLB 1/20/89 Treat LITERAL as state sensitive.\r
+\ MOD: RDG 9/19/90 Add floating point member support.\r
+\ MOD: PLB 6/10/91 Add RPTR\r
+\ 00001 PLB 8/3/92 Make RPTR a -4 for S@ and S!\r
+\ 941102 RDG port to pforth\r
+\ 941108 PLB more porting to pforth. Use ?LITERAL instead os smart literal.\r
+\ 960710 PLB align long members for SUN\r
+\r
+ANEW TASK-MEMBER.FTH\r
+decimal\r
+\r
+: FIND.BODY   ( -- , pfa true | $name false , look for word in dict. )\r
+\ Return address of parameter data.\r
+     32 word find\r
+     IF  >body true\r
+     ELSE false\r
+     THEN\r
+;\r
+\r
+\ Variables shared with object oriented code.\r
+    VARIABLE OB-STATE  ( Compilation state. )\r
+    VARIABLE OB-CURRENT-CLASS  ( ABS_CLASS_BASE of current class )\r
+    1 constant OB_DEF_CLASS   ( defining a class )\r
+    2 constant OB_DEF_STRUCT  ( defining a structure )\r
+\r
+4 constant OB_OFFSET_SIZE\r
+\r
+: OB.OFFSET@ ( member_def -- offset ) @ ;\r
+: OB.OFFSET, ( value -- ) , ;\r
+: OB.SIZE@ ( member_def -- offset )\r
+        ob_offset_size + @ ;\r
+: OB.SIZE, ( value -- ) , ;\r
+\r
+( Members are associated with an offset from the base of a structure. )\r
+: OB.MAKE.MEMBER ( +-bytes -- , make room in an object at compile time)\r
+       dup >r  ( -- +-b , save #bytes )\r
+       ABS     ( -- |+-b| )\r
+       ob-current-class @ ( -- b addr-space)\r
+       tuck @          ( as #b c , current space needed )\r
+       over 3 and 0=        ( multiple of four? )\r
+       IF\r
+               aligned\r
+       ELSE\r
+               over 1 and 0=   ( multiple of two? )\r
+               IF\r
+                       even-up\r
+               THEN\r
+       THEN\r
+       swap over + rot !    ( update space needed )\r
+\ Save data in member definition. %M\r
+       ob.offset,    ( save old offset for ivar )\r
+       r> ob.size,   ( store size in bytes for ..! and ..@ )\r
+;\r
+\r
+\ Unions allow one to address the same memory as different members.\r
+\ Unions work by saving the current offset for members on\r
+\ the stack and then reusing it for different members.\r
+: UNION{  ( -- offset , Start union definition. )\r
+    ob-current-class @ @\r
+;\r
+\r
+: }UNION{ ( old-offset -- new-offset , Middle of union )\r
+    union{     ( Get current for }UNION to compare )\r
+    swap ob-current-class @ !  ( Set back to old )\r
+;\r
+\r
+: }UNION ( offset -- , Terminate union definition, check lengths. )\r
+    union{ = NOT\r
+    abort" }UNION - Two parts of UNION are not the same size!"\r
+;\r
+\r
+\ Make members compile their offset, for "disposable includes".\r
+: OB.MEMBER  ( #bytes -- , make room in an object at compile time)\r
+           ( -- offset , run time for structure )\r
+    CREATE ob.make.member immediate\r
+    DOES> ob.offset@  ( get offset ) ?literal\r
+;\r
+\r
+: OB.FINDIT  ( <thing> -- pfa , get pfa of thing or error )\r
+    find.body not\r
+    IF cr count type ."    ???"\r
+       true abort" OB.FINDIT - Word not found!"\r
+    THEN\r
+;\r
+\r
+: OB.STATS ( member_pfa --  offset #bytes )\r
+    dup ob.offset@ swap\r
+    ob.size@\r
+;\r
+\r
+: OB.STATS? ( <member> -- offset #bytes )\r
+    ob.findit ob.stats\r
+;\r
+\r
+: SIZEOF() ( <struct>OR<class> -- #bytes , lookup size of object )\r
+    ob.findit @\r
+    ?literal\r
+; immediate\r
+\r
+\ Basic word for defining structure members.\r
+: BYTES ( #bytes -- , error check for structure only )\r
+    ob-state @ ob_def_struct = not\r
+    abort" BYTES - Only valid in :STRUCT definitions."\r
+    ob.member\r
+;\r
+\r
+\ Declare various types of structure members.\r
+\ Negative size indicates a signed member.\r
+: BYTE ( <name> -- , declare space for a byte )\r
+    -1 bytes ;\r
+\r
+: SHORT ( <name> -- , declare space for a 16 bit value )\r
+    -2 bytes ;\r
+\r
+: LONG ( <name> -- )\r
+    cell bytes ;\r
+\r
+: UBYTE ( <name> -- , declare space for signed  byte )\r
+    1 bytes ;\r
+\r
+: USHORT ( <name> -- , declare space for signed 16 bit value )\r
+    2 bytes ;\r
+\r
+\r
+\ Aliases\r
+: APTR    ( <name> -- ) long ;\r
+: RPTR    ( <name> -- ) -4 bytes ; \ relative relocatable pointer 00001\r
+: ULONG   ( <name> -- ) long ;\r
+\r
+: STRUCT ( <struct> <new_ivar> -- , define a structure as an ivar )\r
+    [compile] sizeof() bytes\r
+;\r
diff --git a/fth/misc1.fth b/fth/misc1.fth
new file mode 100644 (file)
index 0000000..29e8ede
--- /dev/null
@@ -0,0 +1,176 @@
+\ @(#) misc1.fth 98/01/26 1.2\r
+\ miscellaneous words\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\r
+anew task-misc1.fth\r
+decimal\r
+\r
+: >> rshift ;\r
+: << lshift ;\r
+: CELL* ( n -- n*cell )  2 lshift ;\r
+\r
+: (WARNING")  ( flag $message -- )\r
+    swap\r
+    IF count type\r
+    ELSE drop\r
+    THEN\r
+;\r
+\r
+: WARNING" ( flag <message> -- , print warning if true. )\r
+       [compile] "  ( compile message )\r
+       state @\r
+       IF  compile (warning")\r
+       ELSE (warning")\r
+       THEN\r
+; IMMEDIATE\r
+\r
+: (ABORT")  ( flag $message -- )\r
+    swap\r
+    IF count type cr abort\r
+    ELSE drop\r
+    THEN\r
+;\r
+\r
+: ABORT" ( flag <message> -- , print warning if true. )\r
+       [compile] "  ( compile message )\r
+       state @\r
+       IF  compile (abort")\r
+       ELSE (abort")\r
+       THEN\r
+; IMMEDIATE\r
+\r
+\r
+: ?PAUSE ( -- , Pause if key hit. )\r
+    ?terminal\r
+    IF  key drop cr ." Hit space to continue, any other key to abort:"\r
+        key dup emit BL = not abort" Terminated"\r
+    THEN\r
+;\r
+\r
+60 constant #cols\r
+\r
+: CR?  ( -- , do CR if near end )\r
+    OUT @ #cols 16 - 10 max >\r
+    IF cr\r
+    THEN\r
+;\r
+\r
+: CLS ( -- clear screen )\r
+       40 0 do cr loop\r
+;\r
+: PAGE ( -- , clear screen, compatible with Brodie )\r
+       cls\r
+;\r
+\r
+: $ ( <number> -- N , convert next number as hex )\r
+    base @ hex\r
+    32 lword number? num_type_single = not\r
+    abort" Not a single number!"\r
+    swap base !\r
+    state @\r
+    IF [compile] literal\r
+    THEN\r
+; immediate\r
+\r
+: .HX   ( nibble -- )\r
+       dup 9 >\r
+       IF    $ 37\r
+       ELSE  $ 30\r
+       THEN  + emit\r
+;\r
+\r
+variable TAB-WIDTH  8 TAB-WIDTH !\r
+: TAB  ( -- , tab over to next stop )\r
+    out @ tab-width @ mod\r
+    tab-width @   swap - spaces\r
+;\r
+\r
+\ Vocabulary listing\r
+: WORDS  ( -- )\r
+       0 latest\r
+       BEGIN  dup 0<>\r
+       WHILE  dup id. tab cr? ?pause\r
+               prevname\r
+               swap 1+ swap\r
+       REPEAT drop\r
+       cr . ."  words" cr\r
+;\r
+\r
+: VLIST words ;\r
+\r
+variable CLOSEST-NFA\r
+variable CLOSEST-XT\r
+\r
+: >NAME  ( xt -- nfa , scans dictionary for closest nfa, SLOW! )\r
+       0 closest-nfa !\r
+       0 closest-xt !\r
+       latest\r
+       BEGIN  dup 0<>\r
+               IF ( -- addr nfa ) 2dup name> ( addr nfa addr xt ) <\r
+                       IF true  ( addr below this cfa, can't be it)\r
+                       ELSE ( -- addr nfa )\r
+                               2dup name>  ( addr nfa addr xt ) =\r
+                               IF ( found it ! ) dup closest-nfa ! false\r
+                               ELSE dup name> closest-xt @ >\r
+                                       IF dup closest-nfa ! dup name> closest-xt !\r
+                                       THEN\r
+                                       true\r
+                               THEN\r
+                       THEN\r
+               ELSE false\r
+               THEN\r
+       WHILE  \r
+           prevname\r
+       REPEAT ( -- cfa nfa )\r
+       2drop\r
+       closest-nfa @\r
+;\r
+\r
+: @EXECUTE  ( addr -- , execute if non-zero )\r
+       x@ ?dup\r
+       IF execute\r
+       THEN\r
+;\r
+\r
+: TOLOWER ( char -- char_lower )\r
+    dup ascii [ <\r
+    IF  dup ascii @ >\r
+               IF ascii A - ascii a +\r
+               THEN\r
+    THEN\r
+;\r
+\r
+: EVALUATE ( i*x c-addr num -- j*x , evaluate string of Forth )\r
+\ save current input state and switch to passed in string\r
+       source >r >r\r
+       set-source\r
+       -1 push-source-id\r
+       >in @ >r\r
+       0 >in !\r
+\ interpret the string\r
+       interpret\r
+\ restore input state\r
+       pop-source-id drop\r
+       r> >in !\r
+       r> r> set-source\r
+;\r
+\r
+: \S ( -- , comment out rest of file )\r
+    source-id\r
+    IF\r
+       BEGIN \ using REFILL is safer than popping SOURCE-ID\r
+               refill 0=\r
+       UNTIL\r
+    THEN\r
+;\r
diff --git a/fth/misc2.fth b/fth/misc2.fth
new file mode 100644 (file)
index 0000000..7d1dafa
--- /dev/null
@@ -0,0 +1,235 @@
+\ @(#) misc2.fth 98/01/26 1.2\r
+\ Utilities for PForth extracted from HMSL\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\\r
+\ 00001 9/14/92 Added call, 'c w->s\r
+\ 00002 11/23/92 Moved redef of : to loadcom.fth\r
+\r
+anew task-misc2.fth\r
+\r
+: 'N  ( <name> -- , make 'n state smart )\r
+       bl word find\r
+       IF\r
+               state @\r
+               IF      namebase - ( make nfa relocatable )\r
+                       [compile] literal       ( store nfa of word to be compiled )\r
+                       compile namebase+\r
+               THEN\r
+       THEN\r
+; IMMEDIATE\r
+\r
+: ?LITERAL  ( n -- , do literal if compiling )\r
+       state @\r
+       IF [compile] literal\r
+       THEN\r
+;\r
+\r
+: 'c ( <name> -- xt , state sensitive ' )\r
+       ' ?literal\r
+; immediate\r
+\r
+variable if-debug\r
+\r
+decimal\r
+create msec-delay 10000 ,  ( default for SUN )\r
+: (MSEC) ( #msecs -- )\r
+    0\r
+    do  msec-delay @ 0\r
+        do loop\r
+    loop\r
+;\r
+\r
+defer msec\r
+' (msec) is msec\r
+\r
+: SHIFT ( val n -- val<<n )\r
+       dup 0<\r
+       IF negate arshift\r
+       ELSE lshift\r
+       THEN\r
+;\r
+\r
+\r
+variable rand-seed here rand-seed !\r
+: random ( -- random_number )\r
+    rand-seed @\r
+    31421 * 6927 + \r
+    65535 and dup rand-seed !\r
+;\r
+: choose  ( range -- random_number , in range )\r
+    random * -16 shift\r
+;\r
+\r
+: wchoose ( hi lo -- random_number )\r
+    tuck - choose +\r
+;\r
+\r
+\r
+\ sort top two items on stack.\r
+: 2sort ( a b -- a<b | b<a , largest on top of stack)\r
+    2dup >\r
+    if swap\r
+    then\r
+;\r
+\r
+\ sort top two items on stack.\r
+: -2sort ( a b -- a>b | b>a , smallest on top of stack)\r
+    2dup <\r
+    if swap\r
+    then\r
+;\r
+\r
+: barray  ( #bytes -- ) ( index -- addr )\r
+    create allot\r
+    does>  +\r
+;\r
+\r
+: warray  ( #words -- ) ( index -- addr )\r
+    create 2* allot\r
+    does> swap 2* +\r
+;\r
+\r
+: array  ( #cells -- ) ( index -- addr )\r
+    create cell* allot\r
+    does> swap cell* +\r
+;\r
+\r
+: .bin  ( n -- , print in binary )\r
+    base @ binary swap . base !\r
+;\r
+: .dec  ( n -- )\r
+    base @ decimal swap . base !\r
+;\r
+: .hex  ( n -- )\r
+    base @ hex swap . base !\r
+;\r
+\r
+: B->S ( c -- c' , sign extend byte )\r
+       dup $ 80 and \r
+       IF\r
+               $ FFFFFF00 or\r
+       ELSE\r
+               $ 000000FF and\r
+       THEN\r
+;\r
+: W->S ( 16bit-signed -- 32bit-signed )\r
+       dup $ 8000 and\r
+       if\r
+               $ FFFF0000 or\r
+       ELSE\r
+               $ 0000FFFF and\r
+       then\r
+;\r
+\r
+: WITHIN { n1 n2 n3 -- flag }\r
+       n2 n3 <=\r
+       IF\r
+               n2 n1 <=\r
+               n1 n3 <  AND\r
+       ELSE\r
+               n2 n1 <=\r
+               n1 n3 <  OR\r
+       THEN\r
+;\r
+\r
+: MOVE ( src dst num -- )\r
+       >r 2dup - 0<\r
+       IF\r
+               r> CMOVE>\r
+       ELSE\r
+               r> CMOVE\r
+       THEN\r
+;\r
+\r
+: ERASE ( caddr num -- )\r
+       dup 0>\r
+       IF\r
+               0 fill\r
+       ELSE\r
+               2drop\r
+       THEN\r
+;\r
+\r
+: BLANK ( addr u -- , set memory to blank )\r
+       DUP 0>\r
+       IF\r
+               BL FILL \r
+       ELSE \r
+               2DROP \r
+       THEN \r
+;\r
+\r
+\ Obsolete but included for CORE EXT word set.\r
+: QUERY REFILL DROP ;\r
+VARIABLE SPAN\r
+: EXPECT accept span ! ;\r
+: TIB source drop ;\r
+\r
+\r
+: UNUSED ( -- unused , dictionary space )\r
+       CODELIMIT HERE -\r
+;\r
+\r
+: MAP  ( -- , dump interesting dictionary info )\r
+       ." Code Segment" cr\r
+       ."    CODEBASE           = " codebase .hex cr\r
+       ."    HERE               = " here .hex cr\r
+       ."    CODELIMIT          = " codelimit .hex cr\r
+       ."    Compiled Code Size = " here codebase - . cr\r
+       ."    CODE-SIZE          = " code-size @ . cr\r
+       ."    Code Room UNUSED   = " UNUSED . cr\r
+       ." Name Segment" cr\r
+       ."    NAMEBASE           = " namebase .hex cr\r
+       ."    HEADERS-PTR @      = " headers-ptr @ .hex cr\r
+       ."    NAMELIMIT          = " namelimit .hex cr\r
+       ."    CONTEXT @          = " context @ .hex cr\r
+       ."    LATEST             = " latest .hex  ."  = " latest id. cr\r
+       ."    Compiled Name size = " headers-ptr @ namebase - . cr\r
+       ."    HEADERS-SIZE       = " headers-size @ . cr\r
+       ."    Name Room Left     = " namelimit headers-ptr @ - . cr\r
+;\r
+\r
+\r
+\ Search for substring S2 in S1\r
+: SEARCH { addr1 cnt1 addr2 cnt2 | addr3 cnt3 flag --  addr3 cnt3 flag }\r
+\ ." Search for " addr2 cnt2 type  ."  in "  addr1 cnt1 type cr\r
+\ if true, s1 contains s2 at addr3 with cnt3 chars remaining\r
+\ if false, s3 = s1    \r
+       addr1 -> addr3\r
+       cnt1 -> cnt3\r
+       cnt1 cnt2 < not\r
+       IF\r
+           cnt1 cnt2 - 1+ 0\r
+               DO\r
+                       true -> flag\r
+                       cnt2 0\r
+                       ?DO\r
+                               addr2 i chars + c@\r
+                               addr1 i j + chars + c@ <> \ mismatch?\r
+                               IF\r
+                                       false -> flag\r
+                                       LEAVE\r
+                               THEN\r
+                       LOOP\r
+                       flag\r
+                       IF\r
+                               addr1 i chars + -> addr3\r
+                               cnt1 i - -> cnt3\r
+                               LEAVE\r
+                       THEN\r
+               LOOP\r
+       THEN\r
+       addr3 cnt3 flag\r
+;\r
+\r
diff --git a/fth/numberio.fth b/fth/numberio.fth
new file mode 100644 (file)
index 0000000..0641c0b
--- /dev/null
@@ -0,0 +1,204 @@
+\ @(#) numberio.fth 98/01/26 1.2\r
+\ numberio.fth\r
+\\r
+\ numeric conversion\r
+\ \r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\r
+anew task-numberio.fth\r
+decimal\r
+\r
+\ ------------------------ INPUT -------------------------------\r
+\ Convert a single character to a number in the given base.\r
+: DIGIT   ( char base -- n true | char false )\r
+       >r\r
+\ convert lower to upper\r
+       dup ascii a < not\r
+       IF\r
+               ascii a - ascii A +\r
+       THEN\r
+\\r
+       dup dup ascii A 1- >\r
+       IF ascii A - ascii 9 + 1+\r
+       ELSE ( char char )\r
+               dup ascii 9 >\r
+               IF\r
+                       ( between 9 and A is bad )\r
+                       drop 0 ( trigger error below )\r
+               THEN\r
+       THEN\r
+       ascii 0 -\r
+       dup r> <\r
+       IF dup 1+ 0>\r
+               IF nip true\r
+               ELSE drop FALSE\r
+               THEN\r
+       ELSE drop FALSE\r
+       THEN\r
+;\r
+\r
+: >NUMBER ( ud1 c-addr1 u1 -- ud2 c-addr2 u2 , convert till bad char , CORE )\r
+       >r\r
+       BEGIN\r
+               r@ 0>    \ any characters left?\r
+               IF\r
+                       dup c@ base @\r
+                       digit ( ud1 c-addr , n true | char false )\r
+                       IF\r
+                               TRUE\r
+                       ELSE\r
+                               drop FALSE\r
+                       THEN\r
+               ELSE\r
+                       false\r
+               THEN\r
+       WHILE ( -- ud1 c-addr n  )\r
+               swap >r  ( -- ud1lo ud1hi n  )\r
+               swap  base @ ( -- ud1lo n ud1hi base  )\r
+               um* drop ( -- ud1lo n ud1hi*baselo  )\r
+               rot  base @ ( -- n ud1hi*baselo ud1lo base )\r
+               um* ( -- n ud1hi*baselo ud1lo*basello ud1lo*baselhi )\r
+               d+  ( -- ud2 )\r
+               r> 1+     \ increment char*\r
+               r> 1- >r  \ decrement count\r
+       REPEAT\r
+       r>\r
+;\r
+\r
+\ obsolete\r
+: CONVERT  ( ud1 c-addr1 -- ud2 c-addr2 , convert till bad char , CORE EXT )\r
+       256 >NUMBER DROP\r
+;\r
+\r
+0 constant NUM_TYPE_BAD\r
+1 constant NUM_TYPE_SINGLE\r
+2 constant NUM_TYPE_DOUBLE\r
+\r
+\ This is similar to the F83 NUMBER? except that it returns a number type\r
+\ and then either a single or double precision number.\r
+: ((NUMBER?))   ( c-addr u -- 0 | n 1 | d 2 , convert string to number )\r
+       dup 0= IF 2drop NUM_TYPE_BAD exit THEN   \ any chars?\r
+       \r
+\ prepare for >number\r
+       0 0 2swap ( 0 0 c-addr cnt )\r
+\r
+\ check for '-' at beginning, skip if present\r
+       over c@ ascii - = \ is it a '-'\r
+       dup >r            \ save flag\r
+       IF 1- >r 1+ r>  ( -- 0 0 c-addr+1 cnt-1 , skip past minus sign )\r
+       THEN\r
+\\r
+       >number dup 0=   \ convert as much as we can\r
+       IF\r
+               2drop    \ drop addr cnt\r
+               drop     \ drop hi part of num\r
+               r@       \ check flag to see if '-' sign used\r
+               IF  negate\r
+               THEN\r
+               NUM_TYPE_SINGLE\r
+       ELSE  ( -- d addr cnt )\r
+               1 = swap             \ if final character is '.' then double\r
+               c@ ascii . =  AND\r
+               IF\r
+                       r@      \ check flag to see if '-' sign used\r
+                       IF  dnegate\r
+                       THEN\r
+                       NUM_TYPE_DOUBLE\r
+               ELSE\r
+                       2drop\r
+                       NUM_TYPE_BAD\r
+               THEN\r
+       THEN\r
+       rdrop\r
+;\r
+\r
+: (NUMBER?)   ( $addr -- 0 | n 1 | d 2 , convert string to number )\r
+       count ((number?))\r
+;\r
+\r
+' (number?) is number?\r
+\ hex\r
+\ 0sp c" xyz" (number?) .s\r
+\ 0sp c" 234" (number?) .s\r
+\ 0sp c" -234" (number?) .s\r
+\ 0sp c" 234." (number?) .s\r
+\ 0sp c" -234." (number?) .s\r
+\ 0sp c" 1234567855554444." (number?) .s\r
+\r
+\r
+\ ------------------------ OUTPUT ------------------------------\r
+\ Number output based on F83\r
+variable HLD    \ points to last character added \r
+\r
+: hold   ( char -- , add character to text representation)\r
+       -1 hld  +!\r
+       hld @  c!\r
+;\r
+: <#     ( -- , setup conversion )\r
+       pad hld !\r
+;\r
+: #>     ( d -- addr len , finish conversion )\r
+       2drop  hld @  pad  over -\r
+;\r
+: sign   ( n -- , add '-' if negative )\r
+       0<  if  ascii - hold  then\r
+;\r
+: #      ( d -- d , convert one digit )\r
+   base @  mu/mod rot 9 over <\r
+   IF  7 +\r
+   THEN\r
+   ascii 0 + hold\r
+;\r
+: #s     ( d -- d , convert remaining digits )\r
+       BEGIN  #  2dup or 0=\r
+       UNTIL\r
+;\r
+\r
+\r
+: (UD.) ( ud -- c-addr cnt )\r
+       <# #s #>\r
+;\r
+: UD.   ( ud -- , print unsigned double number )\r
+       (ud.)  type space\r
+;\r
+: UD.R  ( ud n -- )\r
+       >r  (ud.)  r> over - spaces type\r
+;\r
+: (D.)  ( d -- c-addr cnt )\r
+       tuck dabs <# #s rot sign #>\r
+;\r
+: D.    ( d -- )\r
+       (d.)  type space\r
+;\r
+: D.R   ( d n -- , right justified )\r
+       >r  (d.)  r>  over - spaces  type\r
+;\r
+\r
+: (U.)  ( u -- c-addr cnt )\r
+       0 (ud.)\r
+;\r
+: U.    ( u -- , print unsigned number )\r
+       0 ud.\r
+;\r
+: U.R   ( u n -- , print right justified )\r
+       >r  (u.)  r> over - spaces  type\r
+;\r
+: (.)   ( n -- c-addr cnt )\r
+       dup abs 0 <# #s rot sign #>\r
+;\r
+: .     ( n -- , print signed number)\r
+   (.)  type space\r
+;\r
+: .R    ( n l -- , print right justified)\r
+       >r  (.)  r> over - spaces type\r
+;\r
diff --git a/fth/private.fth b/fth/private.fth
new file mode 100644 (file)
index 0000000..782ec1c
--- /dev/null
@@ -0,0 +1,48 @@
+\ @(#) private.fth 98/01/26 1.2\r
+\ PRIVATIZE\r
+\\r
+\ Privatize words that are only needed within the file\r
+\ and do not need to be exported.\r
+\\r
+\ Usage:\r
+\    PRIVATE{\r
+\    : FOO ;  \ Everything between PRIVATE{ and }PRIVATE will become private.\r
+\    : MOO ;\r
+\    }PRIVATE\r
+\    : GOO   foo moo ;  \ can use foo and moo\r
+\    PRIVATIZE          \ smudge foo and moo\r
+\    ' foo              \ will fail\r
+\\r
+\ Copyright 1996 Phil Burk\r
+\\r
+\ 19970701 PLB Use unsigned compares for machines with "negative" addresses.\r
+\r
+anew task-private.fth\r
+\r
+variable private-start\r
+variable private-stop\r
+$ 20 constant FLAG_SMUDGE\r
+\r
+: PRIVATE{\r
+       latest private-start !\r
+       0 private-stop !\r
+;\r
+: }PRIVATE\r
+       private-stop @ 0= not abort" Extra }PRIVATE"\r
+       latest private-stop !\r
+;\r
+: PRIVATIZE  ( -- , smudge all words between PRIVATE{ and }PRIVATE )\r
+       private-start @ 0= abort" Missing PRIVATE{"\r
+       private-stop @ 0= abort" Missing }PRIVATE"\r
+       private-stop @\r
+       BEGIN\r
+               dup private-start @ u>    \ 19970701\r
+       WHILE\r
+\              ." Smudge " dup id. cr\r
+               dup c@ flag_smudge or over c!\r
+               prevname\r
+       REPEAT\r
+       drop\r
+       0 private-start !\r
+       0 private-stop !\r
+;\r
diff --git a/fth/savedicd.fth b/fth/savedicd.fth
new file mode 100644 (file)
index 0000000..8e465b3
--- /dev/null
@@ -0,0 +1,177 @@
+\ @(#) savedicd.fth 98/01/26 1.2\r
+\ Save dictionary as data table.\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1987 Phil Burk\r
+\ All Rights Reserved.\r
+\\r
+\ 970311 PLB Fixed problem with calling SDAD when in HEX mode.\r
+\ 20010606 PLB Fixed AUTO.INIT , started with ';' !!\r
+\r
+decimal\r
+ANEW TASK-SAVE_DIC_AS_DATA\r
+\r
+\ !!! set to 4 for minimally sized dictionary to prevent DIAB\r
+\ compiler from crashing!  Allocate more space in pForth.\r
+4 constant SDAD_NAMES_EXTRA   \ space for additional names\r
+4 constant SDAD_CODE_EXTRA    \ space for additional names\r
+\r
+\ buffer the file I/O for better performance\r
+256 constant SDAD_BUFFER_SIZE\r
+create SDAD-BUFFER SDAD_BUFFER_SIZE allot\r
+variable SDAD-BUFFER-INDEX\r
+variable SDAD-BUFFER-FID\r
+               0 SDAD-BUFFER-FID !\r
+\r
+: SDAD.FLUSH  ( -- ior )\r
+       sdad-buffer sdad-buffer-index @  \ data\r
+\ 2dup type\r
+       sdad-buffer-fid @  write-file\r
+       0 sdad-buffer-index !\r
+;\r
+\r
+: SDAD.EMIT  ( char -- )\r
+    sdad-buffer-index @  sdad_buffer_size >=\r
+    IF\r
+       sdad.flush abort" SDAD.FLUSH failed!"\r
+    THEN\r
+\\r
+    sdad-buffer sdad-buffer-index @ + c!\r
+    1 sdad-buffer-index +!\r
+;\r
+\r
+: SDAD.TYPE  ( c-addr cnt -- )\r
+       0 DO\r
+               dup c@ sdad.emit    \ char to buffer\r
+               1+   \ advance char pointer\r
+       LOOP\r
+       drop\r
+;\r
+\r
+: $SDAD.LINE  ( $addr -- )\r
+       count sdad.type\r
+       EOL sdad.emit\r
+;\r
+\r
+: (U8.)  ( u -- a l , unsigned conversion, at least 8 digits )\r
+       0 <#  # # # #  # # # #S #>\r
+;\r
+: (U2.)  ( u -- a l , unsigned conversion, at least 2 digits )\r
+       0 <#  # #S #>\r
+;\r
+\r
+: SDAD.CLOSE ( -- )\r
+       SDAD-BUFFER-FID @ ?dup\r
+       IF\r
+               sdad.flush abort" SDAD.FLUSH failed!"\r
+               close-file drop\r
+               0 SDAD-BUFFER-FID !\r
+       THEN\r
+;\r
+\r
+: SDAD.OPEN  ( -- ior, open file )\r
+       sdad.close\r
+       s" pfdicdat.h" r/w create-file dup >r\r
+       IF\r
+               drop ." Could not create file pfdicdat.h" cr\r
+       ELSE\r
+               SDAD-BUFFER-FID !\r
+       THEN\r
+       r>\r
+;\r
+\r
+: SDAD.DUMP.HEX  { val -- }\r
+       base @ >r hex\r
+       s" 0x" sdad.type\r
+       val (u8.) sdad.type\r
+       r> base !\r
+;\r
+: SDAD.DUMP.HEX, \r
+       s"    " sdad.type\r
+       sdad.dump.hex\r
+       ascii , sdad.emit\r
+;\r
+\r
+: SDAD.DUMP.HEX.BYTE  { val -- }\r
+       base @ >r hex\r
+       s" 0x" sdad.type\r
+       val (u2.) sdad.type\r
+       r> base !\r
+;\r
+: SDAD.DUMP.HEX.BYTE,\r
+       sdad.dump.hex.byte\r
+       ascii , sdad.emit\r
+;\r
+\r
+: SDAD.DUMP.DATA { start-address end-address num-zeros | num-bytes -- }\r
+       end-address start-address - -> num-bytes\r
+       num-bytes 0\r
+       ?DO\r
+               i $ 7FF and 0= IF ." 0x" i .hex cr THEN   \ progress report\r
+               i 15 and 0=\r
+               IF\r
+                        \r
+                        EOL sdad.emit\r
+                        s" /* " sdad.type\r
+                        i sdad.dump.hex\r
+                        s" : */ " sdad.type\r
+               THEN   \ 16 bytes per line, print offset\r
+               start-address   i + c@\r
+               sdad.dump.hex.byte,\r
+       LOOP\r
+\\r
+       num-zeros 0\r
+       ?DO\r
+               i $ 7FF and 0= IF i . cr THEN   \ progress report\r
+               i 15 and 0= IF EOL sdad.emit THEN   \ 15 numbers per line\r
+               0 sdad.dump.hex.byte,\r
+       LOOP\r
+;\r
+\r
+: SDAD.DEFINE  { $name val -- }\r
+       s" #define " sdad.type\r
+       $name  count sdad.type\r
+       s"   (" sdad.type\r
+       val sdad.dump.hex\r
+       c" )" $sdad.line\r
+;\r
+\r
+: IS.LITTLE.ENDIAN?  ( -- flag , is Forth in Little Endian mode? )\r
+       1 pad !\r
+       pad c@\r
+;\r
+       \r
+: SDAD   { | fid -- }\r
+       sdad.open abort" sdad.open failed!"\r
+\ Write headers.\r
+       c" /* This file generated by the Forth command SDAD */" $sdad.line\r
+\r
+       c" HEADERPTR" headers-ptr @ namebase - sdad.define\r
+       c" RELCONTEXT" context @ namebase - sdad.define\r
+       c" CODEPTR" here codebase - sdad.define\r
+       c" IF_LITTLE_ENDIAN" IS.LITTLE.ENDIAN? IF 1 ELSE 0 THEN sdad.define\r
+       \r
+." Saving Names" cr\r
+       s" static const uint8 MinDicNames[] = {" sdad.type\r
+       namebase headers-ptr @ SDAD_NAMES_EXTRA sdad.dump.data\r
+       EOL sdad.emit\r
+       c" };" $sdad.line\r
+       \r
+." Saving Code" cr\r
+       s" static const uint8 MinDicCode[] = {" sdad.type\r
+       codebase here SDAD_CODE_EXTRA sdad.dump.data\r
+       EOL sdad.emit\r
+       c" };" $sdad.line\r
+\r
+       sdad.close\r
+;\r
+\r
+if.forgotten sdad.close\r
+\r
+: AUTO.INIT ( -- , init at launch )\r
+       auto.init \ daisy chain initialization\r
+       0 SDAD-BUFFER-FID !\r
+       0 SDAD-BUFFER-INDEX !\r
+;\r
+\r
+." Enter: SDAD" cr\r
diff --git a/fth/see.fth b/fth/see.fth
new file mode 100644 (file)
index 0000000..d0765d1
--- /dev/null
@@ -0,0 +1,218 @@
+\ @(#) see.fth 98/01/26 1.4\r
+\ SEE ( <name> -- , disassemble pForth word )\r
+\\r
+\ Copyright 1996 Phil Burk\r
+\r
+' file? >code rfence a!\r
+\r
+anew task-see.fth\r
+\r
+: .XT ( xt -- , print execution tokens name )\r
+       >name\r
+       dup c@ flag_immediate and\r
+       IF\r
+               ." POSTPONE "\r
+       THEN\r
+       id. space\r
+;\r
+\r
+\ dictionary may be defined as byte code or cell code\r
+0 constant BYTE_CODE\r
+\r
+BYTE_CODE [IF]\r
+       : CODE@ ( addr -- xt , fetch from code space )   C@ ;\r
+       1 constant CODE_CELL\r
+       .( BYTE_CODE not implemented) abort\r
+[ELSE]\r
+       : CODE@ ( addr -- xt , fetch from code space )   @ ;\r
+       CELL constant CODE_CELL\r
+[THEN]\r
+\r
+private{\r
+\r
+0 value see_level  \ level of conditional imdentation\r
+0 value see_addr   \ address of next token\r
+0 value see_out\r
+\r
+: SEE.INDENT.BY ( -- n )\r
+       see_level 1+ 1 max 4 *\r
+;\r
+\r
+: SEE.CR\r
+       >newline\r
+       see_addr ." ( ".hex ." )"\r
+       see.indent.by spaces\r
+       0 -> see_out\r
+;\r
+: SEE.NEWLINE\r
+       see_out 0>\r
+       IF see.cr\r
+       THEN\r
+;\r
+: SEE.CR?\r
+       see_out 6 >\r
+       IF\r
+               see.newline\r
+       THEN\r
+;\r
+: SEE.OUT+\r
+       1 +-> see_out\r
+;\r
+\r
+: SEE.ADVANCE\r
+       code_cell +-> see_addr\r
+;\r
+: SEE.GET.INLINE ( -- n )\r
+       see_addr @\r
+;\r
+\r
+: SEE.GET.TARGET  ( -- branch-target-addr )\r
+       see_addr @ see_addr +\r
+;\r
+\r
+: SEE.SHOW.LIT ( -- )\r
+       see.get.inline .\r
+       see.advance\r
+       see.out+\r
+;\r
+\r
+exists? F* [IF]\r
+: SEE.SHOW.FLIT ( -- )\r
+       see_addr f@ f.\r
+       1 floats +-> see_addr\r
+       see.out+\r
+;\r
+[THEN]\r
+\r
+: SEE.SHOW.ALIT ( -- )\r
+       see.get.inline >name id. space\r
+       see.advance\r
+       see.out+\r
+;\r
+\r
+: SEE.SHOW.STRING ( -- )\r
+       see_addr count 2dup + aligned -> see_addr type\r
+       see.out+\r
+;\r
+: SEE.SHOW.TARGET ( -- )\r
+       see.get.target .hex see.advance\r
+;\r
+\r
+: SEE.BRANCH ( -- addr | , handle branch )\r
+       -1 +-> see_level\r
+       see.newline \r
+       see.get.inline  0>\r
+       IF  \ forward branch\r
+               ." ELSE "\r
+               see.get.target \ calculate address of target\r
+               1 +-> see_level\r
+               nip \ remove old address for THEN\r
+       ELSE\r
+               ." REPEAT " see.get.target .hex\r
+               drop \ remove old address for THEN\r
+       THEN\r
+       see.advance\r
+       see.cr\r
+;\r
+\r
+: SEE.0BRANCH ( -- addr | , handle 0branch )\r
+       see.newline \r
+       see.get.inline 0>\r
+       IF  \ forward branch\r
+               ." IF or WHILE "\r
+               see.get.target \ calculate adress of target\r
+               1 +-> see_level\r
+       ELSE\r
+               ." UNTIL=>" see.get.target .hex\r
+       THEN\r
+       see.advance\r
+       see.cr\r
+;\r
+\r
+: SEE.XT  { xt -- }\r
+       xt\r
+       CASE\r
+               0 OF see_level 0> IF ." EXIT " see.out+ ELSE ." ;" 0  -> see_addr THEN ENDOF\r
+               ['] (LITERAL) OF see.show.lit ENDOF\r
+               ['] (ALITERAL) OF see.show.alit ENDOF\r
+[ exists? (FLITERAL) [IF] ]\r
+               ['] (FLITERAL) OF see.show.flit ENDOF\r
+[ [THEN] ]\r
+               ['] BRANCH    OF see.branch ENDOF\r
+               ['] 0BRANCH   OF see.0branch ENDOF\r
+               ['] (LOOP)    OF -1 +-> see_level see.newline ." LOOP " see.advance see.cr  ENDOF\r
+               ['] (+LOOP)   OF -1 +-> see_level see.newline ." +LOOP" see.advance see.cr  ENDOF\r
+               ['] (DO)      OF see.newline ." DO" 1 +-> see_level see.cr ENDOF\r
+               ['] (?DO)     OF see.newline ." ?DO " see.advance 1 +-> see_level see.cr ENDOF\r
+               ['] (.") OF .' ." ' see.show.string .' " ' ENDOF\r
+               ['] (C") OF .' C" ' see.show.string .' " ' ENDOF\r
+               ['] (S") OF .' S" ' see.show.string .' " ' ENDOF\r
+\r
+               see.cr? xt .xt see.out+\r
+       ENDCASE\r
+;\r
+\r
+: (SEE) { cfa | xt  -- }\r
+       0 -> see_level\r
+       cfa -> see_addr\r
+       see.cr\r
+       0 \ fake address for THEN handler\r
+       BEGIN\r
+               see_addr code@ -> xt\r
+               BEGIN\r
+                       dup see_addr ( >newline .s ) =\r
+               WHILE\r
+                       -1 +-> see_level see.newline \r
+                       ." THEN " see.cr\r
+                       drop\r
+               REPEAT\r
+               CODE_CELL +-> see_addr\r
+               xt see.xt\r
+               see_addr 0=\r
+       UNTIL\r
+       cr\r
+       0= not abort" SEE conditional analyser nesting failed!"\r
+;\r
+\r
+}PRIVATE\r
+\r
+: SEE  ( <name> -- , disassemble )\r
+       '\r
+       dup ['] FIRST_COLON >\r
+       IF\r
+               >code (see)\r
+       ELSE\r
+               >name id.\r
+               ."  is primitive defined in 'C' kernel." cr\r
+       THEN\r
+;\r
+\r
+PRIVATIZE\r
+\r
+0 [IF]\r
+\r
+: SEE.JOKE\r
+       dup swap drop\r
+;\r
+\r
+: SEE.IF\r
+       IF\r
+               ." hello" cr\r
+       ELSE\r
+               ." bye" cr\r
+       THEN\r
+       see.joke\r
+;\r
+: SEE.DO\r
+       4 0\r
+       DO\r
+               i . cr\r
+       LOOP\r
+;\r
+: SEE."\r
+       ." Here are some strings." cr\r
+       c" Forth string." count type cr\r
+       s" Addr/Cnt string" type cr\r
+;\r
+\r
+[THEN]\r
diff --git a/fth/siev.fth b/fth/siev.fth
new file mode 100644 (file)
index 0000000..7cebf51
--- /dev/null
@@ -0,0 +1,31 @@
+\ #! /usr/stud/paysan/bin/forth\r
+\r
+DECIMAL\r
+\ : SECS TIME&DATE  SWAP 60 * + SWAP 3600 * +  NIP NIP NIP ;\r
+CREATE FLAGS 8190 ALLOT\r
+variable eflag\r
+\ FLAGS 8190 + CONSTANT EFLAG\r
+\r
+\ use secondary fill like pForth   !!!\r
+: FILL { caddr num charval -- }\r
+       num 0\r
+       ?DO\r
+               charval caddr i + c!\r
+       LOOP\r
+;\r
+\r
+: PRIMES  ( -- n )  FLAGS 8190 1 FILL  0 3  EFLAG @ FLAGS\r
+  DO   I C@\r
+       IF  DUP I + DUP EFLAG @ <\r
+           IF    EFLAG @ SWAP\r
+                 DO  0 I C! DUP  +LOOP\r
+           ELSE  DROP  THEN  SWAP 1+ SWAP\r
+           THEN  2 +\r
+       LOOP  DROP ;\r
+\r
+: BENCHMARK  0 100 0 DO  PRIMES NIP  LOOP ;                      \ !!! ONLY 100\r
+\ SECS BENCHMARK . SECS SWAP - CR . .( secs)\r
+: main \r
+       flags 8190 + eflag !\r
+       benchmark ( . ) drop\r
+;\r
diff --git a/fth/smart_if.fth b/fth/smart_if.fth
new file mode 100644 (file)
index 0000000..65077c0
--- /dev/null
@@ -0,0 +1,57 @@
+\ @(#) smart_if.fth 98/01/26 1.2\r
+\ Smart Conditionals\r
+\ Allow use of if, do, begin, etc.outside of colon definitions.\r
+\\r
+\ Thanks to Mitch Bradley for the idea.\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\r
+anew task-smart_if.fth\r
+\r
+variable SMIF-XT    \ execution token for conditional code\r
+variable SMIF-DEPTH \ depth of nested conditionals\r
+\r
+: SMIF{   ( -- , if executing, start compiling, setup depth )\r
+       state @ 0=\r
+       IF\r
+               :noname smif-xt !\r
+               1 smif-depth !\r
+       ELSE\r
+               1 smif-depth +!\r
+       THEN\r
+;\r
+\r
+: }SMIF  ( -- , unnest, stop compiling, execute code and forget )\r
+       smif-xt @\r
+       IF\r
+               -1 smif-depth +!\r
+               smif-depth @ 0 <=\r
+               IF\r
+                       postpone ;             \ stop compiling\r
+                       smif-xt @ execute      \ execute conditional code\r
+                       smif-xt @ >code dp !   \ forget conditional code\r
+                       0 smif-xt !   \ clear so we don't mess up later\r
+               THEN\r
+       THEN\r
+;\r
+               \r
+\ redefine conditionals to use smart mode\r
+: IF      smif{   postpone if     ; immediate\r
+: DO      smif{   postpone do     ; immediate\r
+: ?DO     smif{   postpone ?do    ; immediate\r
+: BEGIN   smif{   postpone begin  ; immediate\r
+: THEN    postpone then    }smif  ; immediate\r
+: REPEAT  postpone repeat  }smif  ; immediate\r
+: UNTIL   postpone until   }smif  ; immediate\r
+: LOOP    postpone loop    }smif  ; immediate\r
+: +LOOP   postpone +loop   }smif  ; immediate\r
diff --git a/fth/strings.fth b/fth/strings.fth
new file mode 100644 (file)
index 0000000..ff0fc91
--- /dev/null
@@ -0,0 +1,97 @@
+\ @(#) strings.fth 98/01/26 1.2\r
+\ String support for PForth\r
+\\r
+\ Copyright Phil Burk 1994\r
+\r
+ANEW TASK-STRINGS.FTH\r
+\r
+: -TRAILING  ( c-addr u1 -- c-addr u2 , strip trailing blanks )\r
+       dup 0>\r
+       IF\r
+               BEGIN\r
+                       2dup 1- chars + c@ bl =\r
+                       over 0> and\r
+               WHILE\r
+                       1-\r
+               REPEAT\r
+       THEN\r
+;\r
+\r
+\ Structure of string table\r
+: $ARRAY  (  )\r
+    CREATE  ( #strings #chars_max --  ) \r
+        dup ,\r
+        2+ * even-up allot\r
+    DOES>    ( index -- $addr )\r
+        dup @  ( get #chars )\r
+        rot * + 4 +\r
+;\r
+\r
+\ Compare two strings\r
+: $= ( $1 $2 -- flag , true if equal )\r
+    -1 -rot\r
+    dup c@ 1+ 0\r
+    DO  dup c@ tolower\r
+        2 pick c@ tolower -\r
+        IF rot drop 0 -rot LEAVE\r
+        THEN\r
+               1+ swap 1+ swap\r
+    LOOP 2drop\r
+;\r
+\r
+: TEXT=  ( addr1 addr2 count -- flag )\r
+    >r -1 -rot\r
+       r> 0\r
+    DO  dup c@ tolower\r
+        2 pick c@ tolower -\r
+        IF rot drop 0 -rot LEAVE\r
+        THEN\r
+               1+ swap 1+ swap\r
+    LOOP 2drop\r
+;\r
+\r
+: TEXT=?  ( addr1 count addr2 -- flag , for JForth compatibility )\r
+       swap text=\r
+;\r
+\r
+: $MATCH?  ( $string1 $string2 -- flag , case INsensitive )\r
+       dup c@ 1+ text=\r
+;\r
+\r
+\r
+: INDEX ( $string char -- false | address_char true , search for char in string )\r
+    >r >r 0 r> r>\r
+    over c@ 1+ 1\r
+    DO  over i + c@ over =\r
+        IF  rot drop\r
+            over i + rot rot LEAVE\r
+        THEN\r
+    LOOP 2drop\r
+    ?dup 0= 0=\r
+;\r
+\r
+\r
+: $APPEND.CHAR  ( $string char -- ) \ ugly stack diagram\r
+    over count chars + c!\r
+    dup c@ 1+ swap c!\r
+;\r
+\r
+\ ----------------------------------------------\r
+: ($ROM)  ( index address -- $string )\r
+    ( -- index address )\r
+    swap 0\r
+    DO dup c@ 1+ + aligned\r
+    LOOP\r
+;\r
+\r
+: $ROM ( packed array of strings, unalterable )\r
+    CREATE ( <name> -- )\r
+    DOES> ( index -- $string )  ($rom)\r
+;\r
+\r
+: TEXTROM ( packed array of strings, unalterable )\r
+    CREATE ( <name> -- )\r
+    DOES> ( index -- address count )  ($rom) count\r
+;\r
+\r
+\ -----------------------------------------------\r
diff --git a/fth/system.fth b/fth/system.fth
new file mode 100644 (file)
index 0000000..c83136d
--- /dev/null
@@ -0,0 +1,827 @@
+: FIRST_COLON ;\r
+\r
+: LATEST context @ ;\r
+\r
+: FLAG_IMMEDIATE 64 ;\r
+\r
+: IMMEDIATE\r
+        latest dup c@ flag_immediate OR\r
+        swap c!\r
+;\r
+\r
+: (   41 word drop ; immediate\r
+( That was the definition for the comment word. )\r
+( Now we can add comments to what we are doing! )\r
+( Note that we are in decimal numeric input mode. )\r
+\r
+: \ ( <line> -- , comment out rest of line )\r
+        EOL word drop\r
+; immediate\r
+\r
+\ *********************************************************************\r
+\ This is another style of comment that is common in Forth.\r
+\ pFORTH - Portable Forth System\r
+\ Based on HMSL Forth\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\ *********************************************************************\r
+\r
+: COUNT  dup 1+ swap c@ ;\r
+\r
+\ Miscellaneous support words\r
+: ON ( addr -- , set true )\r
+        -1 swap !\r
+;\r
+: OFF ( addr -- , set false )\r
+        0 swap !\r
+;\r
+\r
+\ size of data items\r
+\ FIXME - move these into 'C' code for portability ????\r
+: CELL ( -- size_of_stack_item ) 4 ;\r
+\r
+: CELL+ ( n -- n+cell )  cell + ;\r
+: CELL- ( n -- n+cell )  cell - ;\r
+: CELLS ( n -- n*cell )  2 lshift ;\r
+\r
+: CHAR+ ( n -- n+size_of_char ) 1+ ;\r
+: CHARS ( n -- n*size_of_char , don't do anything)  ; immediate\r
+\r
+\ useful stack manipulation words\r
+: -ROT ( a b c -- c a b )\r
+        rot rot\r
+;\r
+: 3DUP ( a b c -- a b c a b c )\r
+        2 pick 2 pick 2 pick\r
+;\r
+: 2DROP ( a b -- )\r
+        drop drop\r
+;\r
+: NIP ( a b -- b )\r
+        swap drop\r
+;\r
+: TUCK ( a b -- b a b )\r
+        swap over\r
+;\r
+\r
+: <= ( a b -- f , true if A <= b )\r
+        > 0=\r
+;\r
+: >= ( a b -- f , true if A >= b )\r
+        < 0=\r
+;\r
+\r
+: INVERT ( n -- 1'comp )\r
+    -1 xor\r
+;\r
+\r
+: NOT ( n -- !n , logical negation )\r
+        0=\r
+;\r
+\r
+: NEGATE ( n -- -n )\r
+        0 swap -\r
+;\r
+\r
+: DNEGATE ( d -- -d , negate by doing 0-d )\r
+        0 0 2swap d-\r
+;\r
+\r
+\r
+\ --------------------------------------------------------------------\r
+\r
+: ID.   ( nfa -- )\r
+    count 31 and type\r
+;\r
+\r
+: DECIMAL   10 base !  ;\r
+: OCTAL      8 base !  ;\r
+: HEX       16 base !  ;\r
+: BINARY     2 base !  ;\r
+\r
+: PAD ( -- addr )\r
+        here 128 +\r
+;\r
+\r
+: $MOVE ( $src $dst -- )\r
+        over c@ 1+ cmove\r
+;\r
+: BETWEEN ( n lo hi -- flag , true if between lo & hi )\r
+        >r over r> > >r\r
+        < r> or 0=\r
+;\r
+: [ ( -- , enter interpreter mode )\r
+        0 state !\r
+; immediate\r
+: ] ( -- enter compile mode )\r
+        1 state !\r
+;\r
+\r
+: EVEN-UP  ( n -- n | n+1 , make even )  dup 1 and +  ;\r
+: ALIGNED  ( addr -- a-addr )\r
+        [ cell 1- ] literal +\r
+        [ cell 1- invert ] literal and\r
+;\r
+: ALIGN ( -- , align DP )  dp @ aligned dp ! ;\r
+: ALLOT ( nbytes -- , allot space in dictionary ) dp +! ( align ) ;\r
+\r
+: C,    ( c -- )  here c! 1 chars dp +! ;\r
+: W,    ( w -- )  dp @ even-up dup dp !    w!  2 chars dp +! ;\r
+: , ( n -- , lay into dictionary )  align here !  cell allot ;\r
+\r
+\ Dictionary conversions ------------------------------------------\r
+\r
+: N>NEXTLINK  ( nfa -- nextlink , traverses name field )\r
+        dup c@ 31 and 1+ + aligned\r
+;\r
+\r
+: NAMEBASE  ( -- base-of-names )\r
+        Headers-Base @\r
+;\r
+: CODEBASE  ( -- base-of-code dictionary )\r
+        Code-Base @\r
+;\r
+\r
+: NAMELIMIT  ( -- limit-of-names )\r
+        Headers-limit @\r
+;\r
+: CODELIMIT  ( -- limit-of-code, last address in dictionary )\r
+        Code-limit @\r
+;\r
+\r
+: NAMEBASE+   ( rnfa -- nfa , convert relocatable nfa to actual )\r
+        namebase +\r
+;\r
+\r
+: >CODE ( xt -- secondary_code_address, not valid for primitives )\r
+        codebase +\r
+;\r
+\r
+: CODE> ( secondary_code_address -- xt , not valid for primitives )\r
+        codebase -\r
+;\r
+\r
+: N>LINK  ( nfa -- lfa )\r
+        8 -\r
+;\r
+\r
+: >BODY   ( xt -- pfa )\r
+    >code body_offset +\r
+;\r
+\r
+: BODY>   ( pfa -- xt )\r
+    body_offset - code>\r
+;\r
+\r
+\ convert between addresses useable by @, and relocatable addresses.\r
+: USE->REL  ( useable_addr -- rel_addr )\r
+        codebase -\r
+;\r
+: REL->USE  ( rel_addr -- useable_addr )\r
+        codebase +\r
+;\r
+\r
+\ for JForth code\r
+\ : >REL  ( adr -- adr )  ; immediate\r
+\ : >ABS  ( adr -- adr )  ; immediate\r
+\r
+: X@ ( addr -- xt , fetch execution token from relocatable )   @ ;\r
+: X! ( addr -- xt , store execution token as relocatable )   ! ;\r
+\r
+\ Compiler support ------------------------------------------------\r
+: COMPILE, ( xt -- , compile call to xt )\r
+        ,\r
+;\r
+\r
+( Compiler support , based on FIG )\r
+: [COMPILE]  ( <name> -- , compile now even if immediate )\r
+    ' compile,\r
+;  IMMEDIATE\r
+\r
+: (COMPILE) ( xt -- , postpone compilation of token )\r
+        [compile] literal       ( compile a call to literal )\r
+        ( store xt of word to be compiled )\r
+        \r
+        [ ' compile, ] literal   \ compile call to compile,\r
+        compile,\r
+;\r
+        \r
+: COMPILE  ( <name> -- , save xt and compile later )\r
+    ' (compile)\r
+; IMMEDIATE\r
+\r
+\r
+: :NONAME ( -- xt , begin compilation of headerless secondary )\r
+        align\r
+        here code>   \ convert here to execution token\r
+        ]\r
+;\r
+\r
+\ Error codes defined in ANSI Exception word set.\r
+: ERR_ABORT         -1 ;   \ general abort\r
+: ERR_EXECUTING    -14 ;   \ compile time word while not compiling\r
+: ERR_PAIRS        -22 ;   \ mismatch in conditional\r
+: ERR_DEFER       -258 ;  \ not a deferred word\r
+\r
+: ABORT ( i*x -- )\r
+       ERR_ABORT throw\r
+;\r
+\r
+\ Conditionals in '83 form -----------------------------------------\r
+: CONDITIONAL_KEY ( -- , lazy constant ) 29521 ;\r
+: ?CONDITION   ( f -- )  conditional_key - err_pairs ?error ;\r
+: >MARK      ( -- addr )   here 0 ,  ;\r
+: >RESOLVE   ( addr -- )   here over - swap !  ;\r
+: <MARK      ( -- addr )   here  ;\r
+: <RESOLVE   ( addr -- )   here - ,  ;\r
+\r
+: ?COMP  ( -- , error if not compiling )\r
+        state @ 0= err_executing ?error\r
+;\r
+: ?PAIRS ( n m -- )\r
+        - err_pairs ?error\r
+;\r
+\ conditional primitives\r
+: IF     ( -- f orig )  ?comp compile 0branch  conditional_key >mark     ; immediate\r
+: THEN   ( f orig -- )  swap ?condition  >resolve   ; immediate\r
+: BEGIN  ( -- f dest )  ?comp conditional_key <mark   ; immediate\r
+: AGAIN  ( f dest -- )  compile branch  swap ?condition  <resolve  ; immediate\r
+: UNTIL  ( f dest -- )  compile 0branch swap ?condition  <resolve  ; immediate\r
+: AHEAD  ( -- f orig )  compile branch   conditional_key >mark     ; immediate\r
+\r
+\ conditionals built from primitives\r
+: ELSE   ( f orig1 -- f orig2 )\r
+       [compile] AHEAD  2swap [compile] THEN  ; immediate\r
+: WHILE  ( f dest -- f orig f dest )  [compile]  if   2swap ; immediate\r
+: REPEAT ( -- f orig f dest ) [compile] again  [compile] then  ; immediate\r
+\r
+: [']  ( <name> -- xt , define compile time tick )\r
+        ?comp ' [compile] literal\r
+; immediate\r
+\r
+\ for example:\r
+\ compile time:  compile create , (does>) then ;\r
+\ execution time:  create <name>, ',' data, then patch pi to point to @\r
+\    : con create , does> @ ;\r
+\    345 con pi\r
+\    pi\r
+\ \r
+: (DOES>)  ( xt -- , modify previous definition to execute code at xt )\r
+        latest name> >code \ get address of code for new word\r
+        cell + \ offset to second cell in create word\r
+        !      \ store execution token of DOES> code in new word\r
+;\r
+\r
+: DOES>   ( -- , define execution code for CREATE word )\r
+        0 [compile] literal \ dummy literal to hold xt\r
+        here cell-          \ address of zero in literal\r
+        compile (does>)     \ call (DOES>) from new creation word\r
+               >r                  \ move addrz to return stack so ; doesn't see stack garbage\r
+        [compile] ;         \ terminate part of code before does>\r
+               r>\r
+        :noname       ( addrz xt )\r
+        swap !              \ save execution token in literal\r
+; immediate\r
+\r
+: VARIABLE  ( <name> -- )\r
+    CREATE 0 , \ IMMEDIATE\r
+\       DOES> [compile] aliteral  \ %Q This could be optimised\r
+;\r
+\r
+: 2VARIABLE  ( <name> -c- ) ( -x- addr )\r
+        create 0 , 0 ,\r
+;\r
+\r
+: CONSTANT  ( n <name> -c- ) ( -x- n )\r
+        CREATE , ( n -- )\r
+        DOES> @ ( -- n )\r
+;\r
+\r
+\r
+\r
+0 1- constant -1\r
+0 2- constant -2\r
+\r
+: 2! ( x1 x2 addr -- , store x2 followed by x1 )\r
+        swap over ! cell+ !\r
+;\r
+: 2@ ( addr -- x1 x2 )\r
+        dup cell+ @ swap @\r
+;\r
+\r
+\r
+: ABS ( n -- |n| )\r
+        dup 0<\r
+        IF negate\r
+        THEN\r
+;\r
+: DABS ( d -- |d| )\r
+        dup 0<\r
+        IF dnegate\r
+        THEN\r
+;\r
+\r
+: S>D  ( s -- d , extend signed single precision to double )\r
+        dup 0<\r
+        IF -1\r
+        ELSE 0\r
+        THEN\r
+;\r
+\r
+: D>S ( d -- s ) drop ;\r
+\r
+: /MOD ( a b -- rem quo , unsigned version, FIXME )\r
+        >r s>d r> um/mod\r
+;\r
+\r
+: MOD ( a b -- rem )\r
+        /mod drop\r
+;\r
+\r
+: 2* ( n -- n*2 )\r
+        1 lshift\r
+;\r
+: 2/ ( n -- n/2 )\r
+        1 arshift\r
+;\r
+\r
+: D2*  ( d -- d*2 )\r
+        2* over 31 rshift or  swap\r
+        2* swap\r
+;\r
+\r
+\ define some useful constants ------------------------------\r
+1 0= constant FALSE\r
+0 0= constant TRUE\r
+32 constant BL\r
+\r
+\r
+\ Store and Fetch relocatable data addresses. ---------------\r
+: IF.USE->REL  ( use -- rel , preserve zero )\r
+        dup IF use->rel THEN\r
+;\r
+: IF.REL->USE  ( rel -- use , preserve zero )\r
+        dup IF rel->use THEN\r
+;\r
+\r
+: A!  ( dictionary_address addr -- )\r
+    >r if.use->rel r> !\r
+;\r
+: A@  ( addr -- dictionary_address )\r
+    @ if.rel->use\r
+;\r
+\r
+: A, ( dictionary_address -- )\r
+    if.use->rel ,\r
+;\r
+\r
+\ Stack data structure ----------------------------------------\r
+\ This is a general purpose stack utility used to implement necessary\r
+\ stacks for the compiler or the user.  Not real fast.\r
+\ These stacks grow up which is different then normal.\r
+\   cell 0 - stack pointer, offset from pfa of word\r
+\   cell 1 - limit for range checking\r
+\   cell 2 - first data location\r
+\r
+: :STACK   ( #cells -- )\r
+        CREATE  2 cells ,          ( offset of first data location )\r
+                dup ,              ( limit for range checking, not currently used )\r
+                cells cell+ allot  ( allot an extra cell for safety )\r
+;\r
+\r
+: >STACK  ( n stack -- , push onto stack, postincrement )\r
+        dup @ 2dup cell+ swap ! ( -- n stack offset )\r
+        + !\r
+;\r
+\r
+: STACK>  ( stack -- n , pop , predecrement )\r
+        dup @ cell- 2dup swap !\r
+        + @\r
+;\r
+\r
+: STACK@ ( stack -- n , copy )\r
+        dup @ cell- + @ \r
+;\r
+\r
+: STACK.PICK ( index stack -- n , grab Nth from top of stack )\r
+        dup @ cell- +\r
+        swap cells -   \ offset for index\r
+        @ \r
+;\r
+: STACKP ( stack -- ptr , to next empty location on stack )\r
+       dup @ +\r
+;\r
+\r
+: 0STACKP  ( stack -- , clear stack)\r
+    8 swap !\r
+;\r
+\r
+32 :stack ustack\r
+ustack 0stackp\r
+\r
+\ Define JForth like words.\r
+: >US ustack >stack ;\r
+: US> ustack stack> ;\r
+: US@ ustack stack@ ;\r
+: 0USP ustack 0stackp ;\r
+\r
+\r
+\ DO LOOP ------------------------------------------------\r
+\r
+3 constant do_flag\r
+4 constant leave_flag\r
+5 constant ?do_flag\r
+\r
+: DO    ( -- , loop-back do_flag jump-from ?do_flag )\r
+        ?comp\r
+        compile  (do)\r
+        here >us do_flag  >us  ( for backward branch )\r
+; immediate\r
+\r
+: ?DO    ( -- , loop-back do_flag jump-from ?do_flag  , on user stack )\r
+        ?comp\r
+        ( leave address to set for forward branch )\r
+        compile  (?do)\r
+        here 0 ,\r
+        here >us do_flag  >us  ( for backward branch )\r
+        >us ( for forward branch ) ?do_flag >us\r
+; immediate\r
+\r
+: LEAVE  ( -- addr leave_flag )\r
+        compile (leave)\r
+        here 0 , >us\r
+        leave_flag >us\r
+; immediate\r
+\r
+: LOOP-FORWARD  ( -us- jump-from ?do_flag -- )\r
+        BEGIN\r
+                us@ leave_flag =\r
+                us@ ?do_flag =\r
+                OR\r
+        WHILE\r
+                us> leave_flag =\r
+                IF\r
+                        us> here over - cell+ swap !\r
+                ELSE\r
+                        us> dup\r
+                        here swap -\r
+                        cell+ swap !\r
+                THEN\r
+        REPEAT\r
+;\r
+\r
+: LOOP-BACK  (  loop-addr do_flag -us- )\r
+        us> do_flag ?pairs\r
+        us> here -  here\r
+        !\r
+        cell allot\r
+;\r
+\r
+: LOOP    ( -- , loop-back do_flag jump-from ?do_flag )\r
+   compile  (loop)\r
+   loop-forward loop-back\r
+; immediate\r
+\r
+\ : DOTEST 5 0 do 333 . loop 888 . ;\r
+\ : ?DOTEST0 0 0 ?do 333 . loop 888 . ;\r
+\ : ?DOTEST1 5 0 ?do 333 . loop 888 . ;\r
+\r
+: +LOOP    ( -- , loop-back do_flag jump-from ?do_flag )\r
+   compile  (+loop)\r
+   loop-forward loop-back\r
+; immediate\r
+        \r
+: UNLOOP ( loop-sys -r- )\r
+        r> \ save return pointer\r
+        rdrop rdrop\r
+        >r\r
+;\r
+\r
+: RECURSE ( ? -- ? , call the word currently being defined )\r
+        latest  name> compile,\r
+; immediate\r
+\r
+\r
+\r
+: SPACE  bl emit ;\r
+: SPACES  512 min 0 max 0 ?DO space LOOP ;\r
+: 0SP depth 0 ?do drop loop ;\r
+\r
+: >NEWLINE ( -- , CR if needed )\r
+        out @ 0>\r
+        IF cr\r
+        THEN\r
+;\r
+\r
+\r
+\ Support for DEFER --------------------\r
+: CHECK.DEFER  ( xt -- , error if not a deferred word by comparing to type )\r
+    >code @\r
+        ['] emit >code @\r
+        - err_defer ?error\r
+;\r
+\r
+: >is ( xt -- address_of_vector )\r
+        >code\r
+        cell +\r
+;\r
+\r
+: (IS)  ( xt_do xt_deferred -- )\r
+        >is !\r
+;\r
+\r
+: IS  ( xt <name> -- , act like normal IS )\r
+        '  \ xt\r
+        dup check.defer \r
+        state @\r
+        IF [compile] literal compile (is)\r
+        ELSE (is)\r
+        THEN\r
+; immediate\r
+\r
+: (WHAT'S)  ( xt -- xt_do )\r
+        >is @\r
+;\r
+: WHAT'S  ( <name> -- xt , what will deferred word call? )\r
+        '  \ xt\r
+        dup check.defer\r
+        state @\r
+        IF [compile] literal compile (what's)\r
+        ELSE (what's)\r
+        THEN\r
+; immediate\r
+\r
+: /STRING   ( addr len n -- addr' len' )\r
+   over min  rot over   +  -rot  -\r
+;\r
+: PLACE   ( addr len to -- , move string )\r
+   3dup  1+  swap cmove  c! drop\r
+;\r
+\r
+: PARSE-WORD   ( char -- addr len )\r
+   >r  source tuck >in @ /string  r@ skip over swap r> scan\r
+   >r  over -  rot r>  dup 0<> + - >in !\r
+;\r
+: PARSE   ( char -- addr len )\r
+   >r  source >in @  /string  over swap  r> scan\r
+   >r  over -  dup r> 0<>  -  >in +!\r
+;\r
+\r
+: LWORD  ( char -- addr )\r
+        parse-word here place here \ 00002 , use PARSE-WORD\r
+;\r
+\r
+: ASCII ( <char> -- char , state smart )\r
+        bl parse drop c@\r
+        state @\r
+        IF [compile] literal\r
+        THEN\r
+; immediate\r
+\r
+: CHAR ( <char> -- char , interpret mode )\r
+        bl parse drop c@\r
+;\r
+\r
+: [CHAR] ( <char> -- char , for compile mode )\r
+        char [compile] literal\r
+; immediate\r
+\r
+: $TYPE  ( $string -- )\r
+        count type\r
+;\r
+\r
+: 'word   ( -- addr )   here ;\r
+\r
+: EVEN    ( addr -- addr' )   dup 1 and +  ;\r
+\r
+: (C")   ( -- $addr , some Forths return addr AND count, OBSOLETE?)\r
+        r> dup count + aligned >r\r
+;\r
+: (S")   ( -- c-addr cnt )\r
+        r> count 2dup + aligned >r\r
+;\r
+\r
+: (.")  ( -- , type following string )\r
+        r> count 2dup + aligned >r type\r
+;\r
+\r
+: ",  ( adr len -- , place string into dictionary )\r
+         tuck 'word place 1+ allot align\r
+;\r
+: ,"   ( -- )\r
+   [char] " parse ",\r
+;\r
+\r
+: .(  ( <string> -- , type string delimited by parentheses )\r
+       [CHAR] ) PARSE TYPE\r
+; IMMEDIATE\r
+\r
+: ."   ( <string> -- , type string )\r
+        state @\r
+        IF      compile (.")  ,"\r
+        ELSE [char] " parse type\r
+        THEN\r
+; immediate\r
+\r
+\r
+: .'   ( <string> -- , type string delimited by single quote )\r
+        state @\r
+        IF    compile (.")  [char] ' parse ",\r
+        ELSE [char] ' parse type\r
+        THEN\r
+; immediate\r
+\r
+: C"    ( <string> -- addr , return string address, ANSI )\r
+        state @\r
+        IF compile (c")   ,"\r
+        ELSE [char] " parse pad place pad\r
+        THEN\r
+; immediate\r
+\r
+: S"    ( <string> -- , -- addr , return string address, ANSI )\r
+        state @\r
+        IF compile (s")   ,"\r
+        ELSE [char] " parse pad place pad count\r
+        THEN\r
+; immediate\r
+\r
+: "    ( <string> -- , -- addr , return string address )\r
+        [compile] C"\r
+; immediate\r
+: P"    ( <string> -- , -- addr , return string address )\r
+        [compile] C"\r
+; immediate\r
+\r
+: ""  ( <string> -- addr )\r
+        state @\r
+        IF \r
+                compile (C")\r
+                bl parse-word  ",\r
+        ELSE\r
+                bl parse-word pad place pad\r
+        THEN\r
+; immediate\r
+\r
+: SLITERAL ( addr cnt -- , compile string )\r
+       compile (S")\r
+       ",\r
+; IMMEDIATE\r
+\r
+: $APPEND ( addr count $1 -- , append text to $1 )\r
+    over >r\r
+        dup >r\r
+    count +  ( -- a2 c2 end1 )\r
+    swap cmove\r
+    r> dup c@  ( a1 c1 )\r
+    r> + ( -- a1 totalcount )\r
+    swap c!\r
+;\r
+\r
+\r
+\ ANSI word to replace [COMPILE] and COMPILE ----------------\r
+: POSTPONE  ( <name> -- )\r
+       bl word find\r
+       dup 0=\r
+       IF\r
+               ." Postpone could not find " count type cr abort\r
+       ELSE\r
+               0>\r
+               IF compile,  \ immediate\r
+               ELSE (compile)  \ normal\r
+               THEN\r
+       THEN\r
+; immediate\r
+\r
+\ -----------------------------------------------------------------\r
+\ Auto Initialization\r
+: AUTO.INIT  ( -- )\r
+\ Kernel finds AUTO.INIT and executes it after loading dictionary.\r
+\      ." Begin AUTO.INIT ------" cr\r
+;\r
+: AUTO.TERM  ( -- )\r
+\ Kernel finds AUTO.TERM and executes it on bye.\r
+\      ." End AUTO.TERM ------" cr\r
+;\r
+\r
+\ -------------- INCLUDE ------------------------------------------\r
+variable TRACE-INCLUDE\r
+\r
+: INCLUDE.MARK.START  ( $filename -- , mark start of include for FILE?)\r
+       " ::::"  pad $MOVE\r
+       count pad $APPEND\r
+       pad ['] noop (:)\r
+;\r
+\r
+: INCLUDE.MARK.END  ( -- , mark end of include )\r
+       " ;;;;" ['] noop (:)\r
+;\r
+\r
+: $INCLUDE ( $filename -- )\r
+\ Print messages.\r
+        trace-include @\r
+        IF\r
+                >newline ." Include " dup count type cr\r
+        THEN\r
+        here >r\r
+        dup\r
+        count r/o open-file \r
+        IF  ( -- $filename bad-fid )\r
+                drop ." Could not find file " $type cr abort\r
+        ELSE ( -- $filename good-fid )\r
+                swap include.mark.start\r
+                dup >r   \ save fid for close-file\r
+                depth >r\r
+                include-file\r
+                depth 1+ r> -\r
+                IF\r
+                        ." Warning: stack depth changed during include!" cr\r
+                        .s cr\r
+                        0sp\r
+                THEN\r
+                r> close-file drop\r
+                include.mark.end\r
+        THEN\r
+        trace-include @\r
+        IF\r
+                ."     include added " here r@ - . ." bytes,"\r
+                codelimit here - . ." left." cr\r
+        THEN\r
+        rdrop\r
+;\r
+\r
+create INCLUDE-SAVE-NAME 128 allot\r
+: INCLUDE ( <fname> -- )\r
+        BL lword\r
+        dup include-save-name $move  \ save for RI\r
+        $include\r
+;\r
+\r
+: RI ( -- , ReInclude previous file as a convenience )\r
+        include-save-name $include\r
+;\r
+\r
+: INCLUDE? ( <word> <file> -- , load file if word not defined )\r
+        bl word find\r
+        IF drop bl word drop  ( eat word from source )\r
+        ELSE drop include\r
+        THEN\r
+;\r
+\r
+\ desired sizes for dictionary loaded after SAVE-FORTH\r
+variable HEADERS-SIZE  \r
+variable CODE-SIZE\r
+\r
+: AUTO.INIT\r
+       auto.init\r
+       codelimit codebase - code-size !\r
+       namelimit namebase - headers-size !\r
+;\r
+auto.init\r
+\r
+: SAVE-FORTH ( $name -- )\r
+    0                                    \ Entry point\r
+    headers-ptr @ namebase - 65536 +     \ NameSize\r
+    headers-size @ MAX\r
+    here codebase - 131072 +              \ CodeSize\r
+    code-size @ MAX\r
+    (save-forth)\r
+    IF\r
+               ." SAVE-FORTH failed!" cr abort\r
+    THEN\r
+;\r
+\r
+: TURNKEY ( $name entry-token-- )\r
+    0     \ NameSize = 0, names not saved in turnkey dictionary\r
+    here codebase - 131072 +             \ CodeSize, remember that base is HEX\r
+    (save-forth)\r
+    IF\r
+               ." TURNKEY failed!" cr abort\r
+    THEN\r
+;\r
+\r
+\ load remainder of dictionary\r
+\r
+trace-include on\r
+trace-stack on\r
+\r
+include loadp4th.fth\r
+\r
+decimal\r
+\r
+: ;;;; ;  \ Mark end of this file so FILE? can find things in here.\r
+FREEZE    \ prevent forgetting below this point\r
+\r
+.( Dictionary compiled, save in "pforth.dic".) cr\r
+c" pforth.dic" save-forth\r
+\r
+SDAD\r
diff --git a/fth/t_alloc.fth b/fth/t_alloc.fth
new file mode 100644 (file)
index 0000000..63bf0f1
--- /dev/null
@@ -0,0 +1,116 @@
+\ @(#) t_alloc.fth 97/01/28 1.4\r
+\ Test PForth ALLOCATE\r
+\\r
+\ Copyright 1994 3DO, Phil Burk\r
+\r
+anew task-t_alloc.fth\r
+decimal\r
+\r
+64 constant NUM_TAF_SLOTS\r
+\r
+variable TAF-MAX-ALLOC\r
+variable TAF-MAX-SLOT\r
+\r
+\ hold addresses and sizes\r
+NUM_TAF_SLOTS array TAF-ADDRESSES\r
+NUM_TAF_SLOTS array TAF-SIZES\r
+\r
+: TAF.MAX.ALLOC? { | numb addr ior maxb -- max }\r
+        0 -> maxb\r
+\ determine maximum amount we can allocate\r
+        1024 40 * -> numb\r
+        BEGIN\r
+                numb 0>\r
+        WHILE\r
+                numb allocate -> ior -> addr\r
+                ior 0=\r
+                IF  \ success\r
+                        addr free abort" Free failed!"\r
+                        numb -> maxb\r
+                        0 -> numb\r
+                ELSE\r
+                        numb 1024 - -> numb\r
+                THEN\r
+        REPEAT\r
+        maxb\r
+;\r
+\r
+: TAF.INIT  ( -- )\r
+        NUM_TAF_SLOTS 0\r
+        DO\r
+                0 i taf-addresses !\r
+        LOOP\r
+\\r
+        taf.max.alloc? ." Total Avail = " dup . cr\r
+        dup taf-max-alloc !\r
+        NUM_TAF_SLOTS / taf-max-slot !\r
+;\r
+\r
+: TAF.ALLOC.SLOT { slotnum | addr size -- }\r
+\ allocate some RAM\r
+        taf-max-slot @ 8 -\r
+        choose 8 + \r
+        dup allocate abort" Allocation failed!"\r
+        -> addr\r
+        -> size\r
+        addr slotnum taf-addresses !\r
+        size slotnum taf-sizes !\r
+\\r
+\ paint RAM with slot number\r
+        addr size slotnum fill\r
+;\r
+\r
+: TAF.FREE.SLOT { slotnum | addr size -- }\r
+        slotnum taf-addresses @  -> addr\r
+\ something allocated so check it and free it.\r
+        slotnum taf-sizes @  0\r
+        DO\r
+                addr i + c@  slotnum -\r
+                IF\r
+                        ." Error at " addr i + .\r
+                        ." , slot# " slotnum . cr\r
+                        abort\r
+                THEN\r
+        LOOP\r
+        addr free abort" Free failed!"\r
+        0 slotnum taf-addresses !\r
+;\r
+\r
+: TAF.DO.SLOT { slotnum  -- }\r
+        slotnum taf-addresses @ 0=\r
+        IF\r
+                slotnum taf.alloc.slot\r
+        ELSE\r
+                slotnum taf.free.slot\r
+        THEN\r
+;\r
+\r
+: TAF.TERM\r
+        NUM_TAF_SLOTS 0\r
+        DO\r
+                i taf-addresses @\r
+                IF\r
+                        i taf.free.slot\r
+                THEN\r
+        LOOP\r
+\\r
+        taf.max.alloc? dup ." Final    MAX = " . cr\r
+        ." Original MAX = " taf-max-alloc @ dup . cr\r
+        = IF ." Test PASSED." ELSE ." Test FAILED!" THEN cr\r
+        \r
+;\r
+\r
+: TAF.TEST ( NumTests -- )\r
+        1 max\r
+        dup . ." tests" cr \ flushemit\r
+        taf.init\r
+        ." Please wait for test to complete..." cr\r
+        0\r
+        DO  NUM_TAF_SLOTS choose taf.do.slot\r
+        LOOP\r
+        taf.term\r
+;\r
+\r
+.( Testing ALLOCATE and FREE) cr\r
+10000 taf.test\r
+\r
diff --git a/fth/t_case.fth b/fth/t_case.fth
new file mode 100644 (file)
index 0000000..e1997fb
--- /dev/null
@@ -0,0 +1,16 @@
+\ test CASE\r
+anew test-case\r
+: TCASE  ( N -- )\r
+       CASE\r
+       0 OF ." is zero" ENDOF\r
+       1 OF\r
+               2 choose\r
+               CASE\r
+               0 OF ." chose zero" ENDOF\r
+               1 OF ." chose one" ENDOF\r
+               [ .s cr ." of-depth = " of-depth @ . cr ]\r
+               ENDCASE\r
+       ENDOF\r
+       [ .s cr ." of-depth = " of-depth @ . cr ]\r
+       ENDCASE\r
+;\r
diff --git a/fth/t_corex.fth b/fth/t_corex.fth
new file mode 100644 (file)
index 0000000..d747941
--- /dev/null
@@ -0,0 +1,226 @@
+\ @(#) t_corex.fth 98/03/16 1.2\r
+\ Test ANS Forth Core Extensions\r
+\\r
+\ Copyright 1994 3DO, Phil Burk\r
+\r
+INCLUDE? }T{  t_tools.fth\r
+\r
+ANEW TASK-T_COREX.FTH\r
+\r
+DECIMAL\r
+\r
+\ STUB because missing definition in pForth - FIXME\r
+: SAVE-INPUT ;\r
+: RESTORE-INPUT -1 ;\r
+\r
+TEST{\r
+\r
+\ ==========================================================\r
+T{ 1 2 3 }T{ 1 2 3 }T\r
+\r
+\  ----------------------------------------------------- .(\r
+T{ 27 .( IF YOU SEE THIS THEN .( WORKED!) }T{ 27 }T\r
+\r
+CR .(     1234 - SHOULD LINE UP WITH NEXT LINE.) CR 1234 8 .R CR\r
+\r
+T{ .( )   987   .( TEST NULL STRING IN .( ) CR }T{ 987 }T\r
+\r
+\  ----------------------------------------------------- 0<>\r
+T{ 5 0<> }T{ TRUE }T\r
+T{ 0 0<> }T{ 0 }T\r
+T{ -1000 0<> }T{ TRUE }T\r
+\r
+\  ----------------------------------------------------- 2>R 2R> 2R@\r
+: T2>R  ( -- .... )\r
+       17\r
+       20 5 2>R\r
+       19\r
+       2R@\r
+       37\r
+       2R>\r
+\ 2>R should be the equivalent of SWAP >R >R so this next construct\r
+\ should reduce to a SWAP.\r
+       88 77 2>R R> R>\r
+;\r
+T{ T2>R }T{ 17 19 20 5 37 20 5 77 88 }T\r
+\r
+\  ----------------------------------------------------- :NONAME\r
+T{ :NONAME  100 50 + ; EXECUTE }T{ 150 }T\r
+\r
+\  ----------------------------------------------------- <>\r
+T{ 12345 12305 <> }T{ TRUE }T\r
+T{ HEX 98765432 98765432 DECIMAL <> }T{ 0 }T\r
+\r
+\  ----------------------------------------------------- ?DO\r
+: T?DO  ( n -- sum_n ) 0 SWAP 1+ 0 ?DO i + LOOP ;\r
+T{ 0 T?DO }T{ 0 }T\r
+T{ 4 T?DO }T{ 10 }T\r
+\r
+\  ----------------------------------------------------- AGAIN\r
+: T.AGAIN  ( n --  )\r
+       BEGIN\r
+               DUP .\r
+               DUP 6 < IF EXIT THEN\r
+               1-\r
+       AGAIN\r
+;\r
+T{ 10 T.AGAIN CR }T{ 5 }T\r
+\r
+\  ----------------------------------------------------- C"\r
+: T.C"  ( -- $STRING )\r
+       C" x5&"\r
+;\r
+T{ T.C"  C@  }T{ 3 }T\r
+T{ T.C"  COUNT DROP C@  }T{ CHAR x }T\r
+T{ T.C"  COUNT DROP CHAR+ C@ }T{  CHAR 5 }T\r
+T{ T.C"  COUNT DROP 2 CHARS + C@  }T{ CHAR & }T\r
+\r
+\  ----------------------------------------------------- CASE\r
+: T.CASE  ( N -- )\r
+       CASE\r
+               1 OF 101 ENDOF\r
+               27 OF 892 ENDOF\r
+               941 SWAP \ default\r
+       ENDCASE\r
+;\r
+T{ 1 T.CASE }T{ 101 }T\r
+T{ 27 T.CASE }T{ 892 }T\r
+T{ 49 T.CASE }T{ 941 }T\r
+\r
+\  ----------------------------------------------------- COMPILE,\r
+: COMPILE.SWAP    ['] SWAP COMPILE, ; IMMEDIATE\r
+: T.COMPILE,\r
+       19 20 27 COMPILE.SWAP 39\r
+;\r
+T{ T.COMPILE, }T{ 19 27 20 39 }T\r
+\r
+\  ----------------------------------------------------- CONVERT\r
+: T.CONVERT\r
+       0 S>D  S" 1234xyz" DROP CONVERT\r
+       >R\r
+       D>S\r
+       R> C@\r
+;\r
+T{ T.CONVERT }T{ 1234 CHAR x }T\r
+\r
+\  ----------------------------------------------------- ERASE\r
+: T.COMMA.SEQ  ( n -- , lay down N sequential bytes )\r
+       0 ?DO I C, LOOP\r
+;\r
+CREATE T-ERASE-DATA   64 T.COMMA.SEQ\r
+T{ T-ERASE-DATA 8 + C@ }T{ 8 }T\r
+T{ T-ERASE-DATA 7 + 3 ERASE\r
+T{ T-ERASE-DATA 6 + C@ }T{ 6 }T\r
+T{ T-ERASE-DATA 7 + C@ }T{ 0 }T\r
+T{ T-ERASE-DATA 8 + C@ }T{ 0 }T\r
+T{ T-ERASE-DATA 9 + C@ }T{ 0 }T\r
+T{ T-ERASE-DATA 10 + C@ }T{ 10 }T\r
+\r
+\  ----------------------------------------------------- FALSE\r
+T{ FALSE }T{ 0 }T\r
+\r
+\  ----------------------------------------------------- HEX\r
+T{ HEX 10 DECIMAL }T{ 16 }T\r
+\r
+\  ----------------------------------------------------- MARKER\r
+: INDIC?  ( <name> -- ifInDic , is the following word defined? )\r
+       bl word find\r
+       swap drop 0= 0=\r
+;\r
+create FOOBAR\r
+MARKER MYMARK  \ create word that forgets itself\r
+create GOOFBALL\r
+MYMARK\r
+T{ indic? foobar  indic? mymark indic? goofball }T{ true false false }T\r
+\r
+\  ----------------------------------------------------- NIP\r
+T{ 33 44 55 NIP  }T{ 33 55 }T\r
+\r
+\  ----------------------------------------------------- PARSE\r
+: T.PARSE  ( char <string>char -- addr num )\r
+       PARSE\r
+       >R  \ save length\r
+       PAD R@ CMOVE  \ move string to pad\r
+       PAD R>\r
+;\r
+T{ CHAR % T.PARSE wxyz% SWAP C@ }T{  4  CHAR w }T\r
+\r
+\  ----------------------------------------------------- PICK\r
+T{ 13 12 11 10 2 PICK  }T{ 13 12 11 10 12 }T\r
+\r
+\  ----------------------------------------------------- QUERY\r
+T{ ' QUERY 0<> }T{ TRUE }T\r
+\r
+\  ----------------------------------------------------- REFILL\r
+T{ ' REFILL 0<> }T{ TRUE }T\r
+\r
+\  ----------------------------------------------------- RESTORE-INPUT\r
+T{ : T.SAVE-INPUT SAVE-INPUT RESTORE-INPUT ; T.SAVE-INPUT }T{ 0 }T  \ EXPECTED FAILURE\r
+\r
+\  ----------------------------------------------------- ROLL\r
+T{ 15 14 13 12 11 10 0 ROLL  }T{  15 14 13 12 11 10 }T\r
+T{ 15 14 13 12 11 10 1 ROLL  }T{  15 14 13 12 10 11 }T\r
+T{ 15 14 13 12 11 10 2 ROLL  }T{  15 14 13 11 10 12 }T\r
+T{ 15 14 13 12 11 10 3 ROLL  }T{  15 14 12 11 10 13 }T\r
+T{ 15 14 13 12 11 10 4 ROLL  }T{  15 13 12 11 10 14 }T\r
+\r
+\  ----------------------------------------------------- SOURCE-ID\r
+T{ SOURCE-ID 0<> }T{ TRUE }T\r
+T{ : T.SOURCE-ID  S" SOURCE-ID" EVALUATE  ;   T.SOURCE-ID }T{ -1 }T\r
+\r
+\  ----------------------------------------------------- SPAN\r
+T{ ' SPAN 0<>  }T{ TRUE }T\r
+\r
+\  ----------------------------------------------------- TO VALUE\r
+333 VALUE  MY-VALUE\r
+T{ MY-VALUE }T{ 333 }T\r
+T{ 1000 TO MY-VALUE   MY-VALUE }T{ 1000 }T\r
+: TEST.VALUE  ( -- 19 100 )\r
+       100 TO MY-VALUE\r
+       19\r
+       MY-VALUE\r
+;\r
+T{ TEST.VALUE }T{ 19 100 }T\r
+\r
+\  ----------------------------------------------------- TRUE\r
+T{ TRUE }T{ 0 0= }T\r
+\r
+\  ----------------------------------------------------- TUCK\r
+T{ 44 55 66 TUCK }T{ 44 66 55 66 }T\r
+\r
+\  ----------------------------------------------------- U.R\r
+HEX CR .(     ABCD4321 - SHOULD LINE UP WITH NEXT LINE.) CR\r
+ABCD4321 C U.R CR DECIMAL\r
+\r
+\  ----------------------------------------------------- U>\r
+T{ -5 3 U> }T{ TRUE }T\r
+T{ 10 8 U> }T{ TRUE }T\r
+\r
+\  ----------------------------------------------------- UNUSED\r
+T{ UNUSED 0> }T{ TRUE }T\r
+\r
+\  ----------------------------------------------------- WITHIN\r
+T{  4  5 10 WITHIN }T{ 0 }T\r
+T{  5  5 10 WITHIN }T{ TRUE }T\r
+T{  9  5 10 WITHIN }T{ TRUE }T\r
+T{ 10  5 10 WITHIN }T{ 0 }T\r
+\r
+T{  4  10 5 WITHIN }T{ TRUE }T\r
+T{  5  10 5 WITHIN }T{ 0 }T\r
+T{  9  10 5 WITHIN }T{ 0 }T\r
+T{ 10  10 5 WITHIN }T{ TRUE }T\r
+\r
+T{  -6  -5 10 WITHIN }T{ 0 }T\r
+T{  -5  -5 10 WITHIN    }T{ TRUE }T\r
+T{  9  -5 10 WITHIN    }T{ TRUE }T\r
+T{ 10  -5 10 WITHIN }T{ 0 }T\r
+\r
+\r
+\  ----------------------------------------------------- [COMPILE]\r
+: T.[COMPILE].IF  [COMPILE] IF ; IMMEDIATE\r
+: T.[COMPILE]  40 0> T.[COMPILE].IF 97 ELSE 53 THEN 97 = ;\r
+T{ T.[COMPILE] }T{ TRUE }T\r
+\r
+\  ----------------------------------------------------- \\r
+}TEST\r
+\r
diff --git a/fth/t_floats.fth b/fth/t_floats.fth
new file mode 100644 (file)
index 0000000..c726386
--- /dev/null
@@ -0,0 +1,134 @@
+\ @(#) t_floats.fth 98/02/26 1.1 17:46:04\r
+\ Test ANS Forth FLOAT words.\r
+\\r
+\ Copyright 1994 3DO, Phil Burk\r
+\r
+INCLUDE? }T{  t_tools.fth\r
+\r
+ANEW TASK-T_FLOATS.FTH\r
+\r
+DECIMAL\r
+3.14159265 fconstant PI\r
+\r
+TEST{\r
+\ ==========================================================\r
+T{ 1 2 3 }T{ 1 2 3 }T\r
+\  ----------------------------------------------------- D>F F>D\r
+\ test some basic floating point <> integer conversion\r
+T{   4  0 D>F F>D  }T{   4  0 }T\r
+T{ 835  0 D>F F>D  }T{ 835  0 }T\r
+T{ -57 -1 D>F F>D  }T{ -57 -1 }T\r
+T{ 15 S>F 2 S>F F/ F>S }T{ 7 }T  \ 15.0/2.0 -> 7.5\r
+\r
+\  ----------------------------------------------------- input\r
+T{ 79.2 F>S }T{ 79 }T\r
+T{ 0.003 F>S }T{ 0 }T\r
+\r
+\ ------------------------------------------------------ F~\r
+T{  23.4  23.5  0.2   f~ }T{  true  }T\r
+T{  23.4  23.7  0.2   f~ }T{  false }T\r
+T{ 922.3 922.3  0.0   f~ }T{  true  }T\r
+T{ 922.3 922.31 0.0   f~ }T{  false }T\r
+T{   0.0   0.0  0.0   f~ }T{  true  }T\r
+T{   0.0  -0.0  0.0   f~ }T{  false }T\r
+T{  50.0  51.0 -0.02  f~ }T{  true  }T\r
+T{  50.0  51.0 -0.002 f~ }T{  false }T\r
+T{ 500.0 510.0 -0.02  f~ }T{  true  }T\r
+T{ 500.0 510.0 -0.002 f~ }T{  false }T\r
+\r
+\ convert number to text representation and then back to float\r
+: T_F. ( -- ok? ) ( r ftol -f- )\r
+       fover (f.) >float fswap f~\r
+       AND\r
+;\r
+: T_FS. ( -- ok? ) ( r -f- )\r
+       fover (fs.) >float fswap f~\r
+       AND\r
+;\r
+: T_FE. ( -- ok? ) ( r -f- )\r
+       fover (fe.) >float fswap f~\r
+       AND\r
+;\r
+\r
+: T_FG. ( -- ok? ) ( r -f- )\r
+       fover (f.) >float fswap f~\r
+       AND\r
+;\r
+\r
+: T_F>D ( -- ok? ) ( r -f- )\r
+       fover f>d d>f fswap f~\r
+;\r
+\r
+T{ 0.0  0.00001 T_F.  }T{  true  }T\r
+T{ 0.0  0.00001 T_FS.  }T{  true  }T\r
+T{ 0.0  0.00001 T_FE.  }T{  true  }T\r
+T{ 0.0  0.00001 T_FG.  }T{  true  }T\r
+T{ 0.0  0.00001 T_F>D  }T{  true  }T\r
+\r
+T{ 12.34  -0.0001 T_F.  }T{  true  }T\r
+T{ 12.34  -0.0001 T_FS.  }T{  true  }T\r
+T{ 12.34  -0.0001 T_FE.  }T{  true  }T\r
+T{ 12.34  -0.0001 T_FG.  }T{  true  }T\r
+T{ 1234.0  -0.0001 T_F>D  }T{  true  }T\r
+\r
+T{ 2345 S>F  79 S>F  F/  -0.0001 T_F.  }T{  true  }T\r
+T{ 511 S>F  -294 S>F  F/  -0.0001 T_F.  }T{  true  }T\r
+\r
+: T.SERIES { N matchCFA | flag -- ok? } (  fstart fmult -f- )\r
+       fswap  ( -- fmust fstart )\r
+       true -> flag\r
+       N 0\r
+       ?DO\r
+               fdup -0.0001 matchCFA execute not\r
+               IF\r
+                       false -> flag\r
+                       ." T_F_SERIES failed for " i . fdup f. cr\r
+                       leave\r
+               THEN\r
+\              i . fdup f. cr\r
+               fover f*\r
+       LOOP\r
+       matchCFA >name id. ."  T.SERIES final = " fs. cr\r
+       flag\r
+;\r
+\r
+: T.SERIES_F.    ['] t_f.  t.series ;\r
+: T.SERIES_FS.   ['] t_fs. t.series ;\r
+: T.SERIES_FG.   ['] t_fg. t.series ;\r
+: T.SERIES_FE.   ['] t_fe. t.series ;\r
+: T.SERIES_F>D   ['] t_f>d t.series ;\r
+\r
+T{  1.0     1.3       150 t.series_f.    }T{  true  }T\r
+T{  1.0    -1.3       150 t.series_f.    }T{  true  }T\r
+T{  2.3456789 1.3719  150 t.series_f.    }T{  true  }T\r
+\r
+T{  3000.0  1.298     120 t.series_f>d   }T{  true  }T\r
+\r
+T{  1.2     1.27751   150 t.series_fs.   }T{  true  }T\r
+T{  7.43    0.812255  200 t.series_fs.   }T{  true  }T\r
+\r
+T{  1.195   1.30071   150 t.series_fe.   }T{  true  }T\r
+T{  5.913   0.80644   200 t.series_fe.   }T{  true  }T\r
+\r
+T{  1.395   1.55071   120 t.series_fe.   }T{  true  }T\r
+T{  5.413   0.83644   160 t.series_fe.   }T{  true  }T\r
+\r
+\  ----------------------------------------------------- FABS\r
+T{  0.0   FABS  0.0         0.00001 F~    }T{  true  }T\r
+T{  7.0   FABS  7.0         0.00001 F~    }T{  true  }T\r
+T{ -47.3  FABS  47.3        0.00001 F~    }T{  true  }T\r
+\r
+\  ----------------------------------------------------- FSQRT\r
+T{  49.0  FSQRT  7.0       -0.0001 F~    }T{  true  }T\r
+T{  2.0   FSQRT  1.414214  -0.0001 F~    }T{  true  }T\r
+\r
+\  ----------------------------------------------------- FSIN\r
+T{  0.0   FSIN  0.0         0.00001 F~    }T{  true  }T\r
+T{  PI    FSIN  0.0         0.00001 F~    }T{  true  }T\r
+T{  PI 2.0 F*  FSIN   0.0   0.00001 F~    }T{  true  }T\r
+T{  PI 0.5 F*  FSIN   1.0   0.00001 F~    }T{  true  }T\r
+T{  PI 6.0 F/  FSIN   0.5   0.00001 F~    }T{  true  }T\r
+\r
+\  ----------------------------------------------------- \\r
+}TEST\r
+\r
diff --git a/fth/t_include.fth b/fth/t_include.fth
new file mode 100644 (file)
index 0000000..db7e646
--- /dev/null
@@ -0,0 +1,18 @@
+\ Test INCLUDE errors.\r
+\\r
+\ Copyright 2001Phil Burk\r
+\r
+include? }T{  t_tools.fth\r
+\r
+marker task-t_string.fth\r
+\r
+decimal\r
+\r
+: F_UNDEF " t_load_undef.fth" ;\r
+\r
+test{\r
+\r
+T{ F_UNDEF ' $include catch }T{ F_UNDEF -13 }T\r
+\r
+       \r
+}test\r
diff --git a/fth/t_load.fth b/fth/t_load.fth
new file mode 100644 (file)
index 0000000..8efadc3
--- /dev/null
@@ -0,0 +1,7 @@
+\ Test nested INCLUDE errors.\r
+\\r
+\ Copyright 2001Phil Burk\r
+\r
+\ include t_load_undef.fth\r
+\ include t_load_semi.fth\r
+include t_load_defer.fth\r
diff --git a/fth/t_load_defer.fth b/fth/t_load_defer.fth
new file mode 100644 (file)
index 0000000..01b4e8b
--- /dev/null
@@ -0,0 +1,5 @@
+\ Test INCLUDE errors.\r
+\r
+what's dup >name id.  \ but DUP is not deferred!\r
+\r
+We should never reach this text.\r
diff --git a/fth/t_load_pairs.fth b/fth/t_load_pairs.fth
new file mode 100644 (file)
index 0000000..b4b93c7
--- /dev/null
@@ -0,0 +1,5 @@
+\ Test INCLUDE errors.\r
+\r
+: T.LOAD.PAIRS\r
+       10 0 DO i . THEN\r
+;\r
diff --git a/fth/t_load_semi.fth b/fth/t_load_semi.fth
new file mode 100644 (file)
index 0000000..83bdd26
--- /dev/null
@@ -0,0 +1,6 @@
+\ Test INCLUDE errors.\r
+\r
+: T.LOAD.PAIRS\r
+       1 IF\r
+       ." hello" cr\r
+; \ missing a THEN\r
diff --git a/fth/t_load_undef.fth b/fth/t_load_undef.fth
new file mode 100644 (file)
index 0000000..8923a47
--- /dev/null
@@ -0,0 +1,5 @@
+\ Test INCLUDE errors.\r
+\r
+: T.LOAD.UNDEF\r
+       23 45 swap BADWORD \ reference an undefined word!\r
+;\r
diff --git a/fth/t_locals.fth b/fth/t_locals.fth
new file mode 100644 (file)
index 0000000..aa6e03d
--- /dev/null
@@ -0,0 +1,52 @@
+\ @(#) t_locals.fth 97/01/28 1.1\r
+\ Test PForth LOCAL variables.\r
+\\r
+\ Copyright 1996 3DO, Phil Burk\r
+\r
+include? }T{  t_tools.fth\r
+\r
+anew task-t_locals.fth\r
+decimal\r
+\r
+test{\r
+\r
+\ test value and locals\r
+T{ 333 value  my-value   my-value }T{  333 }T\r
+T{ 1000 -> my-value   my-value }T{ 1000 }T\r
+T{ 35 +-> my-value   my-value }T{ 1035 }T\r
+: test.value  ( -- ok )\r
+       100 -> my-value\r
+       my-value 100 =\r
+       47 +-> my-value\r
+       my-value 147 = AND\r
+;\r
+T{ test.value }T{ TRUE }T\r
+\r
+\ test locals in a word\r
+: test.locs  { aa bb | cc -- ok }\r
+       cc 0=\r
+       aa bb + -> cc\r
+       aa bb +   cc = AND\r
+       aa -> cc\r
+       bb +->  cc\r
+       aa bb +   cc = AND\r
+;\r
+\r
+T{ 200 59 test.locs }T{  TRUE }T\r
+\r
+.( Test warning when no locals defined.) cr\r
+: loc.nonames { -- } 1234 ;\r
+T{ loc.nonames }T{ 1234 }T\r
+\r
+\ try to put EOLs and comments in variable list\r
+: calc.area {\r
+       width    \ horizontal dimension\r
+       height   \ vertical dimension\r
+       -- area , calculate area of a rectangle }\r
+       width height *\r
+;\r
+\r
+T{ 5 20 calc.area }T{ 100 }T\r
+\r
+}test\r
+\r
diff --git a/fth/t_nolf.fth b/fth/t_nolf.fth
new file mode 100644 (file)
index 0000000..2ca7c1d
--- /dev/null
@@ -0,0 +1,4 @@
+\ Test behavior of pForth when line encountered with no EOF at end.\r
+\r
+." First Line of Two" cr\r
+." Second Line of Two" cr
\ No newline at end of file
diff --git a/fth/t_strings.fth b/fth/t_strings.fth
new file mode 100644 (file)
index 0000000..4f48874
--- /dev/null
@@ -0,0 +1,106 @@
+\ @(#) t_strings.fth 97/12/10 1.1\r
+\ Test ANS Forth String Word Set\r
+\\r
+\ Copyright 1994 3DO, Phil Burk\r
+\r
+include? }T{  t_tools.fth\r
+\r
+marker task-t_string.fth\r
+\r
+decimal\r
+\r
+test{\r
+\r
+echo off\r
+\r
+\ ==========================================================\r
+\ test is.ok?\r
+T{ 1 2 3 }T{ 1 2 3 }T\r
+\r
+: STR1  S" Hello    " ;\r
+: STR2  S" Hello World" ;\r
+: STR3  S" " ;\r
+\r
+\  ----------------------------------------------------- -TRAILING\r
+T{ STR1 -TRAILING }T{ STR1 DROP 5 }T\r
+T{ STR2 -TRAILING }T{ STR2 }T\r
+T{ STR3 -TRAILING }T{ STR3 }T\r
+\r
+\  ----------------------------------------------------- /STRING\r
+T{ STR2  6  /STRING  }T{ STR2 DROP 6 CHARS +   STR2 NIP 6 -  }T\r
+\r
+\r
+\  ----------------------------------------------------- BLANK\r
+: T.COMMA.SEQ  ( n -- , lay down N sequential bytes )\r
+       0 ?DO I C, LOOP\r
+;\r
+CREATE T-BLANK-DATA   64 T.COMMA.SEQ\r
+T{ T-BLANK-DATA 8 + C@ }T{ 8 }T\r
+T-BLANK-DATA 7 + 3 BLANK\r
+T{ T-BLANK-DATA 6 + C@ }T{ 6 }T\r
+T{ T-BLANK-DATA 7 + C@ }T{ BL }T\r
+T{ T-BLANK-DATA 8 + C@ }T{ BL }T\r
+T{ T-BLANK-DATA 9 + C@ }T{ BL }T\r
+T{ T-BLANK-DATA 10 + C@ }T{ 10 }T\r
+FORGET T.COMMA.SEQ\r
+\r
+\  ----------------------------------------------------- CMOVE\r
+: T.COMMA.SEQ  ( n -- , lay down N sequential bytes )\r
+       0 ?DO I C, LOOP\r
+;\r
+CREATE T-BLANK-DATA   64 T.COMMA.SEQ\r
+T-BLANK-DATA 7 + T-BLANK-DATA 6 + 3 CMOVE\r
+T{ T-BLANK-DATA 5 + C@ }T{ 5 }T\r
+T{ T-BLANK-DATA 6 + C@ }T{ 7 }T\r
+T{ T-BLANK-DATA 7 + C@ }T{ 8 }T\r
+T{ T-BLANK-DATA 8 + C@ }T{ 9 }T\r
+T{ T-BLANK-DATA 9 + C@ }T{ 9 }T\r
+FORGET T.COMMA.SEQ\r
+\r
+\  ----------------------------------------------------- CMOVE>\r
+: T.COMMA.SEQ  ( n -- , lay down N sequential bytes )\r
+       0 ?DO I C, LOOP\r
+;\r
+CREATE T-BLANK-DATA   64 T.COMMA.SEQ\r
+T{ T-BLANK-DATA 6 + T-BLANK-DATA 7 + 3 CMOVE>\r
+T{ T-BLANK-DATA 5 + C@ }T{ 5 }T\r
+T{ T-BLANK-DATA 6 + C@ }T{ 6 }T\r
+T{ T-BLANK-DATA 7 + C@ }T{ 6 }T\r
+T{ T-BLANK-DATA 8 + C@ }T{ 7 }T\r
+T{ T-BLANK-DATA 9 + C@ }T{ 8 }T\r
+T{ T-BLANK-DATA 10 + C@ }T{ 10 }T\r
+FORGET T.COMMA.SEQ\r
+\r
+\  ----------------------------------------------------- COMPARE\r
+T{ : T.COMPARE.1 S" abcd" S" abcd"    compare ; t.compare.1 }T{   0 }T\r
+T{ : T.COMPARE.2 S" abcd" S" abcde"   compare ; t.compare.2 }T{  -1 }T\r
+T{ : T.COMPARE.3 S" abcdef" S" abcde" compare ; t.compare.3 }T{   1 }T\r
+T{ : T.COMPARE.4 S" abGd" S" abcde"   compare ; t.compare.4 }T{  -1 }T\r
+T{ : T.COMPARE.5 S" abcd" S" aXcde"   compare ; t.compare.5 }T{   1 }T\r
+T{ : T.COMPARE.6 S" abGd" S" abcd"    compare ; t.compare.6 }T{  -1 }T\r
+T{ : T.COMPARE.7 S" World" S" World"  compare ; t.compare.7 }T{   0 }T\r
+FORGET T.COMPARE.1\r
+\r
+\  ----------------------------------------------------- SEARCH\r
+: STR-SEARCH S" ABCDefghIJKL" ;\r
+T{ : T.SEARCH.1 STR-SEARCH S" ABCD" SEARCH ; T.SEARCH.1 }T{ STR-SEARCH TRUE }T\r
+T{ : T.SEARCH.2 STR-SEARCH S" efg"  SEARCH ; T.SEARCH.2 }T{\r
+        STR-SEARCH 4 - SWAP 4 CHARS + SWAP TRUE }T\r
+T{ : T.SEARCH.3 STR-SEARCH S" IJKL" SEARCH ; T.SEARCH.3 }T{\r
+        STR-SEARCH DROP 8 CHARS + 4 TRUE }T\r
+T{ : T.SEARCH.4 STR-SEARCH STR-SEARCH SEARCH ; T.SEARCH.4 }T{\r
+        STR-SEARCH  TRUE }T\r
+\r
+T{ : T.SEARCH.5 STR-SEARCH S" CDex" SEARCH ; T.SEARCH.5 }T{\r
+        STR-SEARCH  FALSE }T\r
+T{ : T.SEARCH.6 STR-SEARCH S" KLM" SEARCH ; T.SEARCH.6 }T{\r
+        STR-SEARCH  FALSE }T\r
+FORGET STR-SEARCH\r
+\r
+\  ----------------------------------------------------- SLITERAL\r
+CREATE FAKE-STRING  CHAR H C,   CHAR e C,  CHAR l C, CHAR l C, CHAR o C, \r
+ALIGN\r
+T{ : T.SLITERAL.1  [ FAKE-STRING 5 ] SLITERAL ; T.SLITERAL.1   FAKE-STRING 5 COMPARE\r
+        }T{ 0 }T\r
+       \r
+}test\r
diff --git a/fth/t_tools.fth b/fth/t_tools.fth
new file mode 100644 (file)
index 0000000..af6f073
--- /dev/null
@@ -0,0 +1,83 @@
+\ @(#) t_tools.fth 97/12/10 1.1\r
+\ Test Tools for pForth\r
+\\r
+\ Based on testing tools from John Hayes\r
+\ (c) 1993 Johns Hopkins University / Applied Physics Laboratory\r
+\\r
+\ Syntax was changed to avoid conflict with { -> and } for local variables.\r
+\ Also added tracking of #successes and #errors.\r
+\r
+anew task-t_tools.fth\r
+\r
+decimal\r
+\r
+variable TEST-DEPTH\r
+variable TEST-PASSED\r
+variable TEST-FAILED\r
+\r
+: TEST{\r
+        depth test-depth !\r
+        0 test-passed !\r
+        0 test-failed !\r
+;\r
+\r
+\r
+: }TEST\r
+        test-passed @ 4 .r ."  passed, "\r
+        test-failed @ 4 .r ."  failed." cr\r
+;\r
+\r
+\r
+VARIABLE actual-depth          \ stack record\r
+CREATE actual-results 20 CELLS ALLOT\r
+\r
+: empty-stack \ ( ... -- ) Empty stack.\r
+   DEPTH dup 0>\r
+   IF 0 DO DROP LOOP\r
+   ELSE drop\r
+   THEN ;\r
+\r
+CREATE the-test 128 CHARS ALLOT\r
+\r
+: ERROR        \ ( c-addr u -- ) Display an error message followed by\r
+               \ the line that had the error.\r
+   TYPE the-test COUNT TYPE CR \ display line corresponding to error\r
+   empty-stack                         \ throw away every thing else\r
+;\r
+\r
+\r
+: T{\r
+       source the-test place\r
+       empty-stack\r
+;\r
+\r
+: }T{  \ ( ... -- ) Record depth and content of stack.\r
+       DEPTH actual-depth !    \ record depth\r
+       DEPTH 0\r
+       ?DO\r
+               actual-results I CELLS + !\r
+       LOOP \ save them\r
+;\r
+\r
+: }T   \ ( ... -- ) Compare stack (expected) contents with saved\r
+               \ (actual) contents.\r
+       DEPTH\r
+       actual-depth @ =\r
+       IF      \ if depths match\r
+               1 test-passed +!  \ assume will pass\r
+               DEPTH 0\r
+               ?DO                     \ for each stack item\r
+                       actual-results I CELLS + @ \ compare actual with expected\r
+                       <>\r
+                       IF\r
+                               -1 test-passed +!\r
+                               1 test-failed +!\r
+                               S" INCORRECT RESULT: " error\r
+                               LEAVE\r
+                       THEN\r
+               LOOP\r
+       ELSE                            \ depth mismatch\r
+               1 test-failed +!\r
+               S" WRONG NUMBER OF RESULTS: " error\r
+       THEN\r
+;\r
diff --git a/fth/termio.fth b/fth/termio.fth
new file mode 100644 (file)
index 0000000..ef6d19b
--- /dev/null
@@ -0,0 +1,88 @@
+\ Terminal I/O\r
+\\r
+\ Requires an ANSI compatible terminal.\r
+\\r
+\ To get Windows computers to use ANSI mode in their DOS windows,\r
+\ Add this line to "C:\CONFIG.SYS" then reboot.\r
+\  \r
+\  device=c:\windows\command\ansi.sys\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1988 Phil Burk\r
+\ Revised 2001 for pForth\r
+\r
+ANEW TASK-TERMIO.FTH\r
+decimal\r
+\r
+$ 08 constant ASCII_BACKSPACE\r
+$ 7F constant ASCII_DELETE\r
+$ 1B constant ASCII_ESCAPE\r
+$ 01 constant ASCII_CTRL_A\r
+$ 05 constant ASCII_CTRL_E\r
+$ 18 constant ASCII_CTRL_X\r
+\r
+\ ANSI Terminal Control\r
+: ESC[ ( send ESCAPE and [ )\r
+       ASCII_ESCAPE emit\r
+       ascii [ emit\r
+;\r
+\r
+: CLS ( -- , clear screen )\r
+       ESC[ ." 2J"\r
+;\r
+\r
+: TIO.BACKWARDS ( n -- , move cursor backwards )\r
+       ESC[\r
+       base @ >r decimal\r
+       0 .r\r
+       r> base !\r
+       ascii D emit\r
+;\r
+\r
+: TIO.FORWARDS ( n -- , move cursor forwards )\r
+       ESC[\r
+       base @ >r decimal\r
+       0 .r\r
+       r> base !\r
+       ascii C emit\r
+;\r
+\r
+: TIO.ERASE.EOL ( -- , erase to the end of the line )\r
+       ESC[\r
+       ascii K emit\r
+;\r
+\r
+\r
+: BELL ( -- , ring the terminal bell )\r
+       7 emit\r
+;\r
+\r
+: BACKSPACE ( -- , backspace action )\r
+       8 emit  space  8 emit\r
+;\r
+\r
+0 [IF] \ for testing\r
+\r
+: SHOWKEYS  ( -- , show keys pressed in hex )\r
+       BEGIN\r
+               key\r
+               dup .\r
+               ." , $ " dup .hex cr\r
+               ascii q =\r
+       UNTIL\r
+;\r
+\r
+: AZ ascii z 1+ ascii a DO i emit LOOP ;\r
+\r
+: TEST.BACK1\r
+       AZ 5 tio.backwards\r
+       1000 msec\r
+       tio.erase.eol\r
+;\r
+: TEST.BACK2\r
+       AZ 10 tio.backwards\r
+       1000 msec\r
+       ." 12345"\r
+       1000 msec\r
+;\r
+[THEN]\r
diff --git a/fth/tester.fth b/fth/tester.fth
new file mode 100644 (file)
index 0000000..91b1294
--- /dev/null
@@ -0,0 +1,54 @@
+\ From: John Hayes S1I\r
+\ Subject: tester.fr\r
+\ Date: Mon, 27 Nov 95 13:10:09 PST  \r
+\r
+\ (C) 1995 JOHNS HOPKINS UNIVERSITY / APPLIED PHYSICS LABORATORY\r
+\ MAY BE DISTRIBUTED FREELY AS LONG AS THIS COPYRIGHT NOTICE REMAINS.\r
+\ VERSION 1.1\r
+HEX\r
+\r
+\ SET THE FOLLOWING FLAG TO TRUE FOR MORE VERBOSE OUTPUT; THIS MAY\r
+\ ALLOW YOU TO TELL WHICH TEST CAUSED YOUR SYSTEM TO HANG.\r
+VARIABLE VERBOSE\r
+   FALSE VERBOSE !\r
+\r
+: EMPTY-STACK  \ ( ... -- ) EMPTY STACK: HANDLES UNDERFLOWED STACK TOO.\r
+   DEPTH ?DUP IF DUP 0< IF NEGATE 0 DO 0 LOOP ELSE 0 DO DROP LOOP THEN THEN ;\r
+\r
+: ERROR                \ ( C-ADDR U -- ) DISPLAY AN ERROR MESSAGE FOLLOWED BY\r
+               \ THE LINE THAT HAD THE ERROR.\r
+   TYPE SOURCE TYPE CR                 \ DISPLAY LINE CORRESPONDING TO ERROR\r
+   EMPTY-STACK                         \ THROW AWAY EVERY THING ELSE\r
+;\r
+\r
+VARIABLE ACTUAL-DEPTH                  \ STACK RECORD\r
+CREATE ACTUAL-RESULTS 20 CELLS ALLOT\r
+\r
+: {            \ ( -- ) SYNTACTIC SUGAR.\r
+   ;\r
+\r
+: ->           \ ( ... -- ) RECORD DEPTH AND CONTENT OF STACK.\r
+   DEPTH DUP ACTUAL-DEPTH !            \ RECORD DEPTH\r
+   ?DUP IF                             \ IF THERE IS SOMETHING ON STACK\r
+      0 DO ACTUAL-RESULTS I CELLS + ! LOOP \ SAVE THEM\r
+   THEN ;\r
+\r
+: }            \ ( ... -- ) COMPARE STACK (EXPECTED) CONTENTS WITH SAVED\r
+               \ (ACTUAL) CONTENTS.\r
+   DEPTH ACTUAL-DEPTH @ = IF           \ IF DEPTHS MATCH\r
+      DEPTH ?DUP IF                    \ IF THERE IS SOMETHING ON THE STACK\r
+         0 DO                          \ FOR EACH STACK ITEM\r
+           ACTUAL-RESULTS I CELLS + @  \ COMPARE ACTUAL WITH EXPECTED\r
+           <> IF S" INCORRECT RESULT: " ERROR LEAVE THEN\r
+        LOOP\r
+      THEN\r
+   ELSE                                        \ DEPTH MISMATCH\r
+      S" WRONG NUMBER OF RESULTS: " ERROR\r
+   THEN ;\r
+\r
+: TESTING      \ ( -- ) TALKING COMMENT.\r
+   SOURCE VERBOSE @\r
+   IF DUP >R TYPE CR R> >IN !\r
+   ELSE >IN ! DROP\r
+   THEN ;\r
+\r
diff --git a/fth/trace.fth b/fth/trace.fth
new file mode 100644 (file)
index 0000000..26078d0
--- /dev/null
@@ -0,0 +1,460 @@
+\ @(#) trace.fth 98/01/28 1.2\r
+\ TRACE ( <name> -- , trace pForth word )\r
+\\r
+\ Single step debugger.\r
+\   TRACE  ( i*x <name> -- , setup trace for Forth word )\r
+\   S      ( -- , step over )\r
+\   SM     ( many -- , step over many times )\r
+\   SD     ( -- , step down )\r
+\   G      ( -- , go to end of word )\r
+\   GD     ( n -- , go down N levels from current level, stop at end of this level )\r
+\\r
+\ This debugger works by emulating the inner interpreter of pForth.\r
+\ It executes code and maintains a separate return stack for the\r
+\ program under test.  Thus all primitives that operate on the return\r
+\ stack, such as DO and R> must be trapped.  Local variables must\r
+\ also be handled specially.  Several state variables are also\r
+\ saved and restored to establish the context for the program being\r
+\ tested.\r
+\    \r
+\ Copyright 1997 Phil Burk\r
+\\r
+\ Modifications:\r
+\      19990930 John Providenza - Fixed stack bugs in GD\r
+\r
+anew task-trace.fth\r
+\r
+: SPACE.TO.COLUMN  ( col -- )\r
+       out @ - spaces\r
+;\r
+\r
+: IS.PRIMITIVE? ( xt -- flag , true if kernel primitive )\r
+       ['] first_colon <\r
+;\r
+\r
+0 value TRACE_IP         \ instruction pointer\r
+0 value TRACE_LEVEL      \ level of descent for inner interpreter\r
+0 value TRACE_LEVEL_MAX  \ maximum level of descent\r
+\r
+private{\r
+\r
+\ use fake return stack\r
+128 cells constant TRACE_RETURN_SIZE \ size of return stack in bytes\r
+create TRACE-RETURN-STACK TRACE_RETURN_SIZE 16 + allot\r
+variable TRACE-RSP\r
+: TRACE.>R     ( n -- ) trace-rsp @ cell- dup trace-rsp ! ! ;  \ *(--rsp) = n\r
+: TRACE.R>     ( -- n ) trace-rsp @ dup @ swap cell+ trace-rsp ! ;  \ n = *rsp++\r
+: TRACE.R@     ( -- n ) trace-rsp @ @ ; ; \ n = *rsp\r
+: TRACE.RPICK  ( index -- n ) cells trace-rsp @ + @ ; ; \ n = rsp[index]\r
+: TRACE.0RP    ( -- n ) trace-return-stack trace_return_size + 8 + trace-rsp ! ;\r
+: TRACE.RDROP  ( --  ) cell trace-rsp +! ;\r
+: TRACE.RCHECK ( -- , abort if return stack out of range )\r
+       trace-rsp @ trace-return-stack u<\r
+               abort" TRACE return stack OVERFLOW!"\r
+       trace-rsp @ trace-return-stack trace_return_size + 12 + u>\r
+               abort" TRACE return stack UNDERFLOW!"\r
+;\r
+\r
+\ save and restore several state variables\r
+10 cells constant TRACE_STATE_SIZE\r
+create TRACE-STATE-1 TRACE_STATE_SIZE allot\r
+create TRACE-STATE-2 TRACE_STATE_SIZE allot\r
+\r
+variable TRACE-STATE-PTR\r
+: TRACE.SAVE++ ( addr -- , save next thing )\r
+       @ trace-state-ptr @ !\r
+       cell trace-state-ptr +!\r
+;\r
+\r
+: TRACE.SAVE.STATE  ( -- )\r
+       state trace.save++\r
+       hld   trace.save++\r
+       base  trace.save++\r
+;\r
+\r
+: TRACE.SAVE.STATE1  ( -- , save normal state )\r
+       trace-state-1 trace-state-ptr !\r
+       trace.save.state\r
+;\r
+: TRACE.SAVE.STATE2  ( -- , save state of word being debugged )\r
+       trace-state-2 trace-state-ptr !\r
+       trace.save.state\r
+;\r
+\r
+\r
+: TRACE.RESTORE++ ( addr -- , restore next thing )\r
+       trace-state-ptr @ @ swap !\r
+       cell trace-state-ptr +!\r
+;\r
+\r
+: TRACE.RESTORE.STATE  ( -- )\r
+       state trace.restore++\r
+       hld   trace.restore++\r
+       base  trace.restore++\r
+;\r
+\r
+: TRACE.RESTORE.STATE1  ( -- )\r
+       trace-state-1 trace-state-ptr !\r
+       trace.restore.state\r
+;\r
+: TRACE.RESTORE.STATE2  ( -- )\r
+       trace-state-2 trace-state-ptr !\r
+       trace.restore.state\r
+;\r
+\r
+\ The implementation of these pForth primitives is specific to pForth.\r
+\r
+variable TRACE-LOCALS-PTR  \ point to top of local frame\r
+\r
+\ create a return stack frame for NUM local variables\r
+: TRACE.(LOCAL.ENTRY)  ( x0 x1 ... xn n -- )  { num | lp -- }\r
+       trace-locals-ptr @ trace.>r\r
+       trace-rsp @ trace-locals-ptr !\r
+       trace-rsp @  num cells - trace-rsp !  \ make room for locals\r
+       trace-rsp @ -> lp\r
+       num 0\r
+       DO\r
+               lp !\r
+               cell +-> lp  \ move data into locals frame on return stack\r
+       LOOP\r
+;\r
+       \r
+: TRACE.(LOCAL.EXIT) ( -- )\r
+       trace-locals-ptr @  trace-rsp !\r
+       trace.r> trace-locals-ptr !\r
+;\r
+: TRACE.(LOCAL@) ( l# -- n , fetch from local frame )\r
+       trace-locals-ptr @  swap cells - @\r
+;\r
+: TRACE.(1_LOCAL@) ( -- n ) 1 trace.(local@) ;\r
+: TRACE.(2_LOCAL@) ( -- n ) 2 trace.(local@) ;\r
+: TRACE.(3_LOCAL@) ( -- n ) 3 trace.(local@) ;\r
+: TRACE.(4_LOCAL@) ( -- n ) 4 trace.(local@) ;\r
+: TRACE.(5_LOCAL@) ( -- n ) 5 trace.(local@) ;\r
+: TRACE.(6_LOCAL@) ( -- n ) 6 trace.(local@) ;\r
+: TRACE.(7_LOCAL@) ( -- n ) 7 trace.(local@) ;\r
+: TRACE.(8_LOCAL@) ( -- n ) 8 trace.(local@) ;\r
+\r
+: TRACE.(LOCAL!) ( n l# -- , store into local frame )\r
+       trace-locals-ptr @  swap cells - !\r
+;\r
+: TRACE.(1_LOCAL!) ( -- n ) 1 trace.(local!) ;\r
+: TRACE.(2_LOCAL!) ( -- n ) 2 trace.(local!) ;\r
+: TRACE.(3_LOCAL!) ( -- n ) 3 trace.(local!) ;\r
+: TRACE.(4_LOCAL!) ( -- n ) 4 trace.(local!) ;\r
+: TRACE.(5_LOCAL!) ( -- n ) 5 trace.(local!) ;\r
+: TRACE.(6_LOCAL!) ( -- n ) 6 trace.(local!) ;\r
+: TRACE.(7_LOCAL!) ( -- n ) 7 trace.(local!) ;\r
+: TRACE.(8_LOCAL!) ( -- n ) 8 trace.(local!) ;\r
+\r
+: TRACE.(LOCAL+!) ( n l# -- , store into local frame )\r
+       trace-locals-ptr @  swap cells - +!\r
+;\r
+: TRACE.(?DO)  { limit start ip -- ip' }\r
+       limit start =\r
+       IF\r
+               ip @ +-> ip \ BRANCH\r
+       ELSE\r
+               start trace.>r\r
+               limit trace.>r\r
+               cell +-> ip\r
+       THEN\r
+       ip\r
+;\r
+\r
+: TRACE.(LOOP)  { ip | limit indx -- ip' }\r
+       trace.r> -> limit\r
+       trace.r> 1+ -> indx\r
+       limit indx =\r
+       IF\r
+               cell +-> ip\r
+       ELSE\r
+               indx trace.>r\r
+               limit trace.>r\r
+               ip @ +-> ip\r
+       THEN\r
+       ip\r
+;\r
+\r
+: TRACE.(+LOOP)  { delta ip | limit indx oldindx -- ip' }\r
+       trace.r> -> limit\r
+       trace.r> -> oldindx\r
+       oldindx delta + -> indx\r
+\ /* Do indices cross boundary between LIMIT-1 and LIMIT ? */\r
+\  if( ( (OldIndex - Limit) & ((Limit-1) - NewIndex) & 0x80000000 ) ||\r
+\    ( (NewIndex - Limit) & ((Limit-1) - OldIndex) & 0x80000000 ) )\r
+       oldindx limit -    limit 1-    indx -  AND $ 80000000 AND\r
+          indx limit -    limit 1- oldindx -  AND $ 80000000 AND OR\r
+       IF\r
+               cell +-> ip\r
+       ELSE\r
+               indx trace.>r\r
+               limit trace.>r\r
+               ip @ +-> ip\r
+       THEN\r
+       ip\r
+;\r
+\r
+: TRACE.CHECK.IP  {  ip -- }\r
+       ip ['] first_colon u<\r
+       ip here u> OR\r
+       IF\r
+               ." TRACE - IP out of range = " ip .hex cr\r
+               abort\r
+       THEN\r
+;\r
+\r
+: TRACE.SHOW.IP { ip -- , print name and offset }\r
+       ip code> >name dup id.\r
+       name> >code ip swap - ."  +" .\r
+;\r
+\r
+: TRACE.SHOW.STACK { | mdepth -- }\r
+       base @ >r\r
+       ." <" base @ decimal 1 .r ." :"\r
+       depth 1 .r ." > "\r
+       r> base !\r
+       depth 5 min -> mdepth\r
+       depth mdepth  -\r
+       IF\r
+               ." ... "  \ if we don't show entire stack\r
+       THEN\r
+       mdepth 0\r
+       ?DO\r
+               mdepth i 1+ - pick .  \ show numbers in current base\r
+       LOOP\r
+;\r
+\r
+: TRACE.SHOW.NEXT { ip -- }\r
+       >newline\r
+       ip trace.check.ip\r
+\ show word name and offset\r
+       ." << "\r
+       ip trace.show.ip\r
+       16 space.to.column\r
+\ show data stack\r
+       trace.show.stack\r
+       40 space.to.column ."  ||"\r
+       trace_level 2* spaces\r
+       ip code@\r
+       cell +-> ip\r
+\ show primitive about to be executed\r
+       dup .xt space\r
+\ trap any primitives that are followed by inline data\r
+       CASE\r
+               ['] (LITERAL)  OF ip @  . ENDOF\r
+               ['] (ALITERAL) OF ip a@ . ENDOF\r
+[ exists? (FLITERAL) [IF] ]\r
+               ['] (FLITERAL) OF ip f@ f. ENDOF\r
+[ [THEN] ]\r
+               ['] BRANCH     OF ip @  . ENDOF\r
+               ['] 0BRANCH    OF ip @  . ENDOF\r
+               ['] (.")       OF ip count type .' "' ENDOF\r
+               ['] (C")       OF ip count type .' "' ENDOF\r
+               ['] (S")       OF ip count type .' "' ENDOF\r
+       ENDCASE\r
+       65 space.to.column ." >> "\r
+;\r
+\r
+: TRACE.DO.PRIMITIVE  { ip xt | oldhere --  ip' , perform code at ip }\r
+       xt\r
+       CASE\r
+               0 OF -1 +-> trace_level  trace.r> -> ip ENDOF \ EXIT\r
+               ['] (CREATE)   OF ip cell- body_offset + ENDOF\r
+               ['] (LITERAL)  OF ip @ cell +-> ip ENDOF\r
+               ['] (ALITERAL) OF ip a@ cell +-> ip ENDOF\r
+[ exists? (FLITERAL) [IF] ]\r
+               ['] (FLITERAL) OF ip f@ 1 floats +-> ip ENDOF\r
+[ [THEN] ]\r
+               ['] BRANCH     OF ip @ +-> ip ENDOF\r
+               ['] 0BRANCH    OF 0= IF ip @ +-> ip ELSE cell +-> ip THEN ENDOF\r
+               ['] >R         OF trace.>r ENDOF\r
+               ['] R>         OF trace.r> ENDOF\r
+               ['] R@         OF trace.r@ ENDOF\r
+               ['] RDROP      OF trace.rdrop ENDOF\r
+               ['] 2>R        OF trace.>r trace.>r ENDOF\r
+               ['] 2R>        OF trace.r> trace.r> ENDOF\r
+               ['] 2R@        OF trace.r@ 1 trace.rpick ENDOF\r
+               ['] i          OF 1 trace.rpick ENDOF\r
+               ['] j          OF 3 trace.rpick ENDOF\r
+               ['] (LEAVE)    OF trace.rdrop trace.rdrop  ip @ +-> ip ENDOF\r
+               ['] (LOOP)     OF ip trace.(loop) -> ip  ENDOF\r
+               ['] (+LOOP)    OF ip trace.(+loop) -> ip  ENDOF\r
+               ['] (DO)       OF trace.>r trace.>r ENDOF\r
+               ['] (?DO)      OF ip trace.(?do) -> ip ENDOF\r
+               ['] (.")       OF ip count type  ip count + aligned -> ip ENDOF\r
+               ['] (C")       OF ip  ip count + aligned -> ip ENDOF\r
+               ['] (S")       OF ip count  ip count + aligned -> ip ENDOF\r
+               ['] (LOCAL.ENTRY) OF trace.(local.entry) ENDOF\r
+               ['] (LOCAL.EXIT) OF trace.(local.exit) ENDOF\r
+               ['] (LOCAL@)   OF trace.(local@)   ENDOF\r
+               ['] (1_LOCAL@) OF trace.(1_local@) ENDOF\r
+               ['] (2_LOCAL@) OF trace.(2_local@) ENDOF\r
+               ['] (3_LOCAL@) OF trace.(3_local@) ENDOF\r
+               ['] (4_LOCAL@) OF trace.(4_local@) ENDOF\r
+               ['] (5_LOCAL@) OF trace.(5_local@) ENDOF\r
+               ['] (6_LOCAL@) OF trace.(6_local@) ENDOF\r
+               ['] (7_LOCAL@) OF trace.(7_local@) ENDOF\r
+               ['] (8_LOCAL@) OF trace.(8_local@) ENDOF\r
+               ['] (LOCAL!)   OF trace.(local!)   ENDOF\r
+               ['] (1_LOCAL!) OF trace.(1_local!) ENDOF\r
+               ['] (2_LOCAL!) OF trace.(2_local!) ENDOF\r
+               ['] (3_LOCAL!) OF trace.(3_local!) ENDOF\r
+               ['] (4_LOCAL!) OF trace.(4_local!) ENDOF\r
+               ['] (5_LOCAL!) OF trace.(5_local!) ENDOF\r
+               ['] (6_LOCAL!) OF trace.(6_local!) ENDOF\r
+               ['] (7_LOCAL!) OF trace.(7_local!) ENDOF\r
+               ['] (8_LOCAL!) OF trace.(8_local!) ENDOF\r
+               ['] (LOCAL+!)  OF trace.(local+!)  ENDOF\r
+               >r xt EXECUTE r>\r
+       ENDCASE\r
+       ip\r
+;\r
+\r
+: TRACE.DO.NEXT  { ip | xt oldhere --  ip' , perform code at ip }\r
+       ip trace.check.ip\r
+\ set context for word under test\r
+       trace.save.state1\r
+       here -> oldhere\r
+       trace.restore.state2\r
+       oldhere 256 + dp !\r
+\ get execution token\r
+       ip code@ -> xt\r
+       cell +-> ip\r
+\ execute token\r
+       xt is.primitive?\r
+       IF  \ primitive\r
+               ip xt trace.do.primitive -> ip\r
+       ELSE \ secondary\r
+               trace_level trace_level_max <\r
+               IF\r
+                       ip trace.>r         \ threaded execution\r
+                       1 +-> trace_level\r
+                       xt codebase + -> ip\r
+               ELSE\r
+                       \ treat it as a primitive\r
+                       ip xt trace.do.primitive -> ip\r
+               THEN            \r
+       THEN\r
+\ restore original context\r
+       trace.rcheck\r
+       trace.save.state2\r
+       trace.restore.state1\r
+       oldhere dp !\r
+       ip\r
+;\r
+\r
+: TRACE.NEXT { ip | xt -- ip' }\r
+       trace_level 0>\r
+       IF\r
+               ip trace.do.next -> ip\r
+       THEN\r
+       trace_level 0>\r
+       IF\r
+               ip trace.show.next\r
+       ELSE\r
+               trace-stack on\r
+               ." Finished." cr\r
+       THEN\r
+       ip\r
+;\r
+\r
+}private\r
+\r
+: TRACE ( i*x <name> -- i*x , setup trace environment )\r
+       ' dup is.primitive?\r
+       IF\r
+               drop ." Sorry. You can't trace a primitive." cr\r
+       ELSE\r
+               1 -> trace_level\r
+               trace_level -> trace_level_max\r
+               trace.0rp\r
+               >code -> trace_ip\r
+               trace_ip trace.show.next\r
+               trace-stack off\r
+               trace.save.state2\r
+       THEN\r
+;\r
+\r
+: s ( -- , step over )\r
+       trace_level -> trace_level_max\r
+       trace_ip trace.next -> trace_ip\r
+;\r
+\r
+: sd ( -- , step down )\r
+       trace_level 1+ -> trace_level_max\r
+       trace_ip trace.next -> trace_ip\r
+;\r
+\r
+: sm ( many -- , step many times )\r
+       trace_level -> trace_level_max\r
+       0\r
+       ?DO\r
+               trace_ip trace.next -> trace_ip\r
+       LOOP\r
+;\r
+\r
+defer trace.user   ( IP -- stop?  )\r
+' 0= is trace.user\r
+\r
+: gd { more_levels | stop_level -- }\r
+       here   what's trace.user   u<  \ has it been forgotten?\r
+       IF\r
+               ." Resetting TRACE.USER !!!" cr\r
+               ['] 0= is trace.user\r
+       THEN\r
+\r
+       more_levels 0<\r
+       more_levels 10 >\r
+       or      \ 19990930 - OR was missing\r
+       IF\r
+               ." GD level out of range (0-10), = " more_levels . cr\r
+       ELSE\r
+               trace_level more_levels + -> trace_level_max\r
+               trace_level 1- -> stop_level\r
+               BEGIN\r
+                       trace_ip trace.user \ call deferred user word\r
+                       ?dup \ leave flag for UNTIL \ 19990930 - was DUP\r
+                       IF\r
+                               ." TRACE.USER returned " dup . ." so stopping execution." cr\r
+                       ELSE\r
+                               trace_ip trace.next -> trace_ip\r
+                               trace_level stop_level > not\r
+                       THEN\r
+               UNTIL\r
+       THEN\r
+;\r
+\r
+: g ( -- , execute until end of word )\r
+       0 gd\r
+;\r
+\r
+: TRACE.HELP ( -- )\r
+       ."   TRACE  ( i*x <name> -- , setup trace for Forth word )" cr\r
+       ."   S      ( -- , step over )" cr\r
+       ."   SM     ( many -- , step over many times )" cr\r
+       ."   SD     ( -- , step down )" cr\r
+       ."   G      ( -- , go to end of word )" cr\r
+       ."   GD     ( n -- , go down N levels from current level," cr\r
+       ."                   stop at end of this level )" cr\r
+;\r
+\r
+privatize\r
+\r
+0 [IF]\r
+variable var1\r
+100 var1 !\r
+: FOO  dup IF 1 + . THEN 77 var1 @ + . ;\r
+: ZOO 29 foo 99 22 + . ;\r
+: ROO 92 >r 1 r@ + . r> . ;\r
+: MOO  c" hello" count type\r
+       ." This is a message." cr\r
+       s" another message" type cr\r
+;\r
+: KOO 7 FOO ." DONE" ;\r
+: TR.DO  4 0 DO i . LOOP ;\r
+: TR.?DO  0 ?DO i . LOOP ;\r
+: TR.LOC1 { aa bb } aa bb + . ;\r
+: TR.LOC2 789 >r 4 5 tr.loc1 r> . ;\r
+       \r
+[THEN]\r
diff --git a/fth/tut.fth b/fth/tut.fth
new file mode 100644 (file)
index 0000000..ea60f18
--- /dev/null
@@ -0,0 +1,70 @@
+anew task-tut.fth\r
+\r
+: SUM.OF.N.A ( N -- SUM[N] , calculate sum of N integers )\r
+           0  \ starting value of SUM\r
+           BEGIN\r
+               OVER 0>   \ Is N greater than zero?\r
+           WHILE\r
+               OVER +  \ add N to sum\r
+               SWAP 1- SWAP  \ decrement N\r
+           REPEAT\r
+           SWAP DROP  \ get rid on N\r
+       ;\r
+\r
+: SUM.OF.N.B  ( N -- SUM[N] )\r
+    0 SWAP  \ starting value of SUM\r
+    1+ 0    \ set indices for DO LOOP\r
+    ?DO     \ safer than DO if N=0\r
+        I +\r
+    LOOP\r
+;\r
+\r
+: SUM.OF.N.C  ( N -- SUM[N] )\r
+    0  \ starting value of SUM\r
+    BEGIN   ( -- N' SUM )\r
+       OVER +\r
+       SWAP 1- SWAP\r
+       OVER 0<\r
+    UNTIL\r
+    SWAP DROP\r
+;\r
+\r
+: SUM.OF.N.D  ( N -- SUM[N] )\r
+       >R  \ put NUM on return stack\r
+    0  \ starting value of SUM\r
+    BEGIN   ( -- SUM )\r
+       R@ +  \ add num to sum\r
+       R> 1- DUP >R\r
+       0<\r
+    UNTIL\r
+    RDROP  \ get rid of NUM\r
+;\r
+\r
+: SUM.OF.N.E  { NUM | SUM -- SUM[N] , use return stack }\r
+    BEGIN  \r
+       NUM +-> SUM \ add NUM to SUM\r
+       -1 +-> NUM  \ decrement NUM\r
+       NUM 0<\r
+    UNTIL\r
+    SUM  \ return SUM\r
+;\r
+\r
+: SUM.OF.N.F  ( NUM -- SUM[N] , Gauss' method )\r
+    DUP 1+ * 2/\r
+;\r
+\r
+\r
+: TTT\r
+       10 0\r
+       DO\r
+               I SUM.OF.N.A .\r
+               I SUM.OF.N.B .\r
+               I SUM.OF.N.C .\r
+               I SUM.OF.N.D .\r
+               I SUM.OF.N.E .\r
+               I SUM.OF.N.F .\r
+               CR\r
+       LOOP\r
+;\r
+TTT\r
+\r
diff --git a/fth/utils/clone.fth b/fth/utils/clone.fth
new file mode 100644 (file)
index 0000000..99c0297
--- /dev/null
@@ -0,0 +1,489 @@
+\ @(#) clone.fth 97/12/10 1.1\r
+\ Clone for PForth\r
+\\r
+\ Create the smallest dictionary required to run an application.\r
+\\r
+\ Clone decompiles the Forth dictionary starting with the top\r
+\ word in the program.  It then moves all referenced secondaries\r
+\ into a new dictionary.\r
+\\r
+\ This work was inspired by the CLONE feature that Mike Haas wrote\r
+\ for JForth.  Mike's CLONE disassembled 68000 machine code then\r
+\ reassembled it which is much more difficult.\r
+\\r
+\ Copyright Phil Burk & 3DO 1994\r
+\\r
+\ O- trap custom 'C' calls\r
+\ O- investigate ALITERAL, XLITERAL, use XLITERAL in [']\r
+\r
+anew task-clone.fth\r
+decimal\r
+\r
+\ move to 'C'\r
+: PRIMITIVE? ( xt -- flag , true if primitive )\r
+       ['] FIRST_COLON <\r
+;\r
+\r
+: 'SELF ( -- xt , return xt of word being compiled )\r
+       ?comp\r
+       latest name>\r
+       [compile] literal\r
+; immediate\r
+\r
+\r
+:struct CL.REFERENCE\r
+       long  clr_OriginalXT    \ original XT of word\r
+       long  clr_NewXT         \ corresponding XT in cloned dictionary\r
+       long  clr_TotalSize     \ size including data in body\r
+;struct\r
+\r
+variable CL-INITIAL-REFS \ initial number of refs to allocate\r
+100 cl-initial-refs !\r
+variable CL-REF-LEVEL    \ level of threading while scanning\r
+variable CL-NUM-REFS     \ number of secondaries referenced\r
+variable CL-MAX-REFS     \ max number of secondaries allocated\r
+variable CL-LEVEL-MAX    \ max level reached while scanning\r
+variable CL-LEVEL-ABORT  \ max level before aborting\r
+10 cl-level-abort !\r
+variable CL-REFERENCES   \ pointer to cl.reference array\r
+variable CL-TRACE        \ print debug stuff if true\r
+\r
+\ Cloned dictionary builds in allocated memory but XTs are relative\r
+\ to normal code-base, if CL-TEST-MODE true.\r
+variable CL-TEST-MODE\r
\r
+variable CL-INITIAL-DICT \ initial size of dict to allocate\r
+20 1024 * cl-initial-dict !\r
+variable CL-DICT-SIZE    \ size of allocated cloned dictionary\r
+variable CL-DICT-BASE    \ pointer to virtual base of cloned dictionary\r
+variable CL-DICT-ALLOC   \ pointer to allocated dictionary memory\r
+variable CL-DICT-PTR     \ rel pointer index into cloned dictionary\r
+0 cl-dict-base !\r
+\r
+       \r
+: CL.INDENT ( -- )\r
+       cl-ref-level @ 2* 2* spaces\r
+;\r
+: CL.DUMP.NAME ( xt -- )\r
+       cl.indent\r
+       >name id. cr\r
+;\r
+\r
+: CL.DICT[] ( relptr -- addr )\r
+       cl-dict-base @ +\r
+;\r
+\r
+: CL,  ( cell -- , comma into clone dictionary )\r
+       cl-dict-ptr @ cl.dict[] !\r
+       cell cl-dict-ptr +!\r
+;\r
+\r
+\r
+: CL.FREE.DICT ( -- , free dictionary we built into )\r
+       cl-dict-alloc @ ?dup\r
+       IF\r
+               free dup ?error\r
+               0 cl-dict-alloc !\r
+       THEN\r
+;\r
+\r
+: CL.FREE.REFS ( -- , free dictionary we built into )\r
+       cl-references @ ?dup\r
+       IF\r
+               free dup ?error\r
+               0 cl-references !\r
+       THEN\r
+;\r
+\r
+: CL.ALLOC.REFS ( --  , allocate references to track )\r
+       cl-initial-refs @  \ initial number of references\r
+       dup cl-max-refs ! \ maximum allowed\r
+       sizeof() cl.reference *\r
+       allocate dup ?error\r
+       cl-references !\r
+;\r
+\r
+: CL.RESIZE.REFS ( -- , allocate references to track )\r
+       cl-max-refs @   \ current number of references allocated\r
+       5 * 4 / dup cl-max-refs ! \ new maximum allowed\r
+\ cl.indent ." Resize # references to " dup . cr\r
+       sizeof() cl.reference *\r
+       cl-references @ swap resize dup ?error\r
+       cl-references !\r
+;\r
+\r
+\r
+: CL.ALLOC.DICT ( -- , allocate dictionary to build into )\r
+       cl-initial-dict @  \ initial dictionary size\r
+       dup cl-dict-size !\r
+       allocate dup ?error\r
+       cl-dict-alloc !\r
+\\r
+\ kludge dictionary if testing\r
+       cl-test-mode @\r
+       IF\r
+               cl-dict-alloc @ code-base @ - cl-dict-ptr +!\r
+               code-base @ cl-dict-base !\r
+       ELSE\r
+               cl-dict-alloc @  cl-dict-base !\r
+       THEN\r
+       ." CL.ALLOC.DICT" cr\r
+       ."   cl-dict-alloc = $" cl-dict-alloc @ .hex cr\r
+       ."   cl-dict-base  = $" cl-dict-base @ .hex cr\r
+       ."   cl-dict-ptr   = $" cl-dict-ptr @ .hex cr\r
+;\r
+\r
+: CODEADDR>DATASIZE { code-addr -- datasize }\r
+\ Determine size of any literal data following execution token.\r
+\ Examples are text following (."), or branch offsets.\r
+       code-addr @\r
+       CASE\r
+       ['] (literal) OF cell ENDOF   \ a number\r
+       ['] 0branch   OF cell ENDOF   \ branch offset\r
+       ['] branch    OF cell ENDOF\r
+       ['] (do)      OF    0 ENDOF\r
+       ['] (?do)     OF cell ENDOF\r
+       ['] (loop)    OF cell ENDOF\r
+       ['] (+loop)   OF cell ENDOF\r
+       ['] (.")      OF code-addr cell+ c@ 1+ ENDOF  \ text\r
+       ['] (s")      OF code-addr cell+ c@ 1+ ENDOF\r
+       ['] (c")      OF code-addr cell+ c@ 1+ ENDOF\r
+       0 swap\r
+       ENDCASE\r
+;\r
+\r
+: XT>SIZE  ( xt -- wordsize , including code and data )\r
+       dup >code\r
+       swap >name\r
+       dup latest =\r
+       IF\r
+               drop here\r
+       ELSE\r
+               dup c@ 1+ + aligned 8 + \ get next name\r
+               name> >code \ where is next word\r
+       THEN\r
+       swap -\r
+;\r
+\r
+\ ------------------------------------------------------------------\r
+: CL.TRAVERSE.SECONDARY { code-addr ca-process | xt dsize --  }\r
+\ scan secondary and pass each code-address to ca-process\r
+\ CA-PROCESS ( code-addr -- , required stack action for vector )\r
+       1 cl-ref-level +!\r
+       cl-ref-level @ cl-level-abort @ > abort" Clone exceeded CL-ABORT-LEVEL"\r
+       BEGIN\r
+               code-addr @ -> xt\r
+\ cl.indent ." CL.TRAVERSE.SECONDARY - code-addr = $" code-addr .hex ." , xt = $" xt .hex cr\r
+               code-addr codeaddr>datasize -> dsize      \ any data after this?\r
+               code-addr ca-process execute              \ process it\r
+               code-addr cell+ dsize + aligned -> code-addr  \ skip past data\r
+\ !!! Bummer! EXIT called in middle of secondary will cause early stop.\r
+               xt  ['] EXIT  =                           \ stop when we get to EXIT\r
+       UNTIL\r
+       -1 cl-ref-level +!\r
+;\r
+\r
+\ ------------------------------------------------------------------\r
+\r
+: CL.DUMP.XT ( xt -- )\r
+       cl-trace @\r
+       IF\r
+               dup primitive?\r
+               IF   ." PRI:  "\r
+               ELSE ." SEC:  "\r
+               THEN\r
+               cl.dump.name\r
+       ELSE\r
+               drop\r
+       THEN\r
+;\r
+\r
+\ ------------------------------------------------------------------\r
+: CL.REF[] ( index -- clref )\r
+       sizeof() cl.reference *\r
+       cl-references @ +\r
+;\r
+\r
+: CL.DUMP.REFS ( -- , print references )\r
+       cl-num-refs @ 0\r
+       DO\r
+               i 3 .r ."  : "\r
+               i cl.ref[]\r
+               dup s@ clr_OriginalXT >name id. ."  => "\r
+               dup s@ clr_NewXT .\r
+               ." , size = "\r
+               dup s@ clr_TotalSize . cr\r
+               drop \ clref\r
+       loop\r
+;                      \r
+               \r
+: CL.XT>REF_INDEX { xt | indx flag -- index flag , true if found }\r
+       BEGIN\r
+\ cl.indent ." CL.XT>REF_INDEX - indx = " indx . cr\r
+               indx cl-num-refs @ >=\r
+               IF\r
+                       true\r
+               ELSE\r
+                       indx cl.ref[] s@ clr_OriginalXT\r
+\ cl.indent ." CL.XT>REF_INDEX - clr_OriginalXT = " dup . cr\r
+                       xt  =\r
+                       IF\r
+                               true\r
+                               dup -> flag\r
+                       ELSE\r
+                               false\r
+                               indx 1+ -> indx\r
+                       THEN\r
+               THEN\r
+       UNTIL\r
+       indx flag\r
+\ cl.indent ." CL.XT>REF_INDEX - " xt >name id. space  indx . flag . cr\r
+;                      \r
+\r
+: CL.ADD.REF  { xt | clref -- , add referenced secondary to list }\r
+       cl-references @ 0= abort" CL.ADD.REF - References not allocated!"\r
+\\r
+\ do we need to allocate more room?\r
+       cl-num-refs @ cl-max-refs @ >=\r
+       IF\r
+               cl.resize.refs\r
+       THEN\r
+\\r
+       cl-num-refs @ cl.ref[] -> clref    \ index into array\r
+       xt clref s! clr_OriginalXT\r
+       0 clref s! clr_NewXT\r
+       xt xt>size clref s! clr_TotalSize\r
+\\r
+       1 cl-num-refs +!\r
+;\r
+\r
+\ ------------------------------------------------------------------\r
+\r
+\ called by cl.traverse.secondary to compile each piece of secondary\r
+: CL.RECOMPILE.SECONDARY { code-addr | xt clref dsize -- ,  }\r
+\ recompile to new location\r
+\ cl.indent ." CL.RECOMPILE.SECONDARY - enter - " .s cr\r
+       code-addr @ -> xt\r
+\ cl.indent ." CL.RECOMPILE.SECONDARY - xt = $" dup .hex dup >name id. cr\r
+       xt cl.dump.xt\r
+       xt primitive?\r
+       IF\r
+               xt cl,\r
+       ELSE\r
+               xt CL.XT>REF_INDEX\r
+               IF\r
+                       cl.ref[] -> clref\r
+                       clref s@ clr_NewXT\r
+                       dup 0= abort" CL.RECOMPILE.SECONDARY - unresolved NewXT"\r
+                       cl,\r
+               ELSE\r
+                       cl.indent ." CL.RECOMPILE.SECONDARY - xt not in ref table!" cr\r
+                       abort\r
+               THEN\r
+       THEN\r
+\\r
+\ transfer any literal data\r
+       code-addr codeaddr>datasize -> dsize\r
+       dsize 0>\r
+       IF\r
+\ cl.indent ." CL.RECOMPILE.SECONDARY - copy inline data of size" dsize . cr\r
+               code-addr cell+  cl-dict-ptr @ cl.dict[]  dsize  move\r
+               cl-dict-ptr @ dsize + aligned cl-dict-ptr !\r
+       THEN\r
+\ cl.indent ." CL.RECOMPILE.SECONDARY - leave - " .s cr\r
+;\r
+\r
+: CL.RECOMPILE.REF { indx | clref codesize datasize -- }\r
+\ all references have been resolved so recompile new secondary\r
+       depth >r\r
+       indx cl.ref[] -> clref\r
+       cl-trace @\r
+       IF\r
+               cl.indent\r
+               clref s@ clr_OriginalXT >name id. ."  recompiled at $"\r
+               cl-dict-ptr @ .hex cr    \ new address\r
+       THEN\r
+       cl-dict-ptr @  clref s! clr_NewXT\r
+\\r
+\ traverse this secondary and compile into new dictionary\r
+       clref s@ clr_OriginalXT\r
+       >code ['] cl.recompile.secondary cl.traverse.secondary\r
+\\r
+\ determine whether there is any data following definition\r
+       cl-dict-ptr @\r
+       clref s@ clr_NewXT - -> codesize \ size of cloned code\r
+       clref s@ clr_TotalSize \ total bytes\r
+       codesize - -> datasize\r
+       cl-trace @\r
+       IF\r
+               cl.indent\r
+               ." Move data: data size = " datasize . ." codesize = " codesize . cr\r
+       THEN\r
+\\r
+\ copy any data that followed definition\r
+       datasize 0>\r
+       IF\r
+               clref s@ clr_OriginalXT >code codesize +\r
+               clref s@ clr_NewXT cl-dict-base @ + codesize +\r
+               datasize move\r
+               datasize cl-dict-ptr +!  \ allot space in clone dictionary\r
+       THEN\r
+       \r
+       depth r> - abort" Stack depth change in CL.RECOMPILE.REF"\r
+;\r
+\r
+\ ------------------------------------------------------------------\r
+: CL.SCAN.SECONDARY ( code-addr -- , scan word and add referenced secondaries to list )\r
+       depth 1- >r\r
+\ cl.indent ." CL.SCAN.SECONDARY - enter - " .s cr\r
+       cl-ref-level @ cl-level-max @  MAX cl-level-max !\r
+       @ ( get xt )\r
+\ cl.indent ." CL.SCAN.SECONDARY - xt = " dup . dup >name id. cr\r
+       dup cl.dump.xt\r
+       dup primitive?\r
+       IF\r
+               drop\r
+\ cl.indent ." CL.SCAN.SECONDARY - found primitive." cr\r
+       ELSE\r
+               dup CL.XT>REF_INDEX\r
+               IF\r
+                       drop \ indx   \ already referenced once so ignore\r
+                       drop \ xt\r
+               ELSE\r
+                       >r \ indx\r
+                       dup cl.add.ref\r
+                       >code 'self cl.traverse.secondary   \ use 'self for recursion!\r
+                       r> cl.recompile.ref    \ now that all refs resolved, recompile\r
+               THEN\r
+       THEN\r
+\ cl.indent ." CL.SCAN.SECONDARY - leave - " .s cr\r
+       depth r> - abort" Stack depth change in CL.SCAN.SECONDARY"\r
+;\r
+\r
+: CL.CLONE.XT ( xt -- , scan top word and add referenced secondaries to list )\r
+       dup primitive? abort" Cannot CLONE a PRIMITIVE word!"\r
+       0 cl-ref-level !\r
+       0 cl-level-max !\r
+       0 cl-num-refs !\r
+       dup cl.add.ref     \ word being cloned is top of ref list\r
+       >code ['] cl.scan.secondary cl.traverse.secondary\r
+       0 cl.recompile.ref\r
+;\r
+\r
+\ ------------------------------------------------------------------\r
+: CL.XT>NEW_XT ( xt -- xt' , convert normal xt to xt in cloned dict )\r
+       cl.xt>ref_index 0= abort" not in cloned dictionary!"\r
+       cl.ref[] s@ clr_NewXT\r
+;\r
+: CL.XT>NEW_ADDR ( xt -- addr , addr in cloned dict )\r
+       cl.xt>New_XT\r
+       cl-dict-base @ +\r
+;\r
+\r
+: CL.REPORT ( -- )\r
+       ." Clone scan went " cl-level-max @ . ." levels deep." cr\r
+       ." Clone scanned " cl-num-refs @ . ." secondaries." cr\r
+       ." New dictionary size =  " cl-dict-ptr @ cl-dict-base @ - . cr\r
+;\r
+\r
+\r
+\ ------------------------------------------------------------------\r
+: CL.TERM ( -- , cleanup )\r
+       cl.free.refs\r
+       cl.free.dict\r
+;\r
+\r
+: CL.INIT ( -- )\r
+       cl.term\r
+       0 cl-dict-size !\r
+       ['] first_colon cl-dict-ptr !\r
+       cl.alloc.dict\r
+       cl.alloc.refs\r
+;\r
+\r
+: 'CLONE ( xt -- , clone dictionary from this word )\r
+       cl.init\r
+       cl.clone.xt\r
+       cl.report\r
+       cl.dump.refs\r
+       cl-test-mode @\r
+       IF ." WARNING - CL-TEST-MODE on so we can't save cloned image." cr\r
+       THEN\r
+;\r
+\r
+: SAVE-CLONE  ( <filename> -- )\r
+       bl word\r
+       ." Save cloned image in " dup count type\r
+       drop ." SAVE-CLONE unimplemented!" \ %Q\r
+;\r
+\r
+: CLONE ( <name> -- )\r
+       ' 'clone\r
+;\r
+\r
+if.forgotten cl.term\r
+\r
+\ ---------------------------------- TESTS --------------------\r
+\r
+\r
+: TEST.CLONE ( -- )\r
+       cl-test-mode @ not abort" CL-TEST-MODE not on!"\r
+       0 cl.ref[] s@ clr_NewXT  execute\r
+;\r
+\r
+\r
+: TEST.CLONE.REAL ( -- )\r
+       cl-test-mode @ abort" CL-TEST-MODE on!"\r
+       code-base @\r
+       0 cl.ref[] s@ clr_NewXT  \ get cloned execution token\r
+       cl-dict-base @ code-base !\r
+\ WARNING - code-base munged, only execute primitives or cloned code\r
+       execute\r
+       code-base !   \ restore code base for normal \r
+;\r
+\r
+\r
+: TCL1\r
+       34 dup +\r
+;\r
+\r
+: TCL2\r
+       ." Hello " tcl1  . cr\r
+;\r
+\r
+: TCL3\r
+       4 0\r
+       DO\r
+               tcl2\r
+               i . cr\r
+               i 100 + . cr\r
+       LOOP\r
+;\r
+\r
+create VAR1 567 ,\r
+: TCL4\r
+       345 var1 !\r
+       ." VAR1 = " var1 @ . cr\r
+       var1 @ 345 -\r
+       IF\r
+               ." TCL4 failed!" cr\r
+       ELSE\r
+               ." TCL4 succeded! Yay!" cr\r
+       THEN\r
+;\r
+\r
+\ do deferred words get cloned!\r
+defer tcl.vector\r
+\r
+: TCL.DOIT ." Hello Fred!" cr ;\r
+' tcl.doit is tcl.vector\r
+\r
+: TCL.DEFER\r
+       12 . cr\r
+       tcl.vector\r
+       999 dup + . cr\r
+;\r
+\r
+trace-stack on\r
+cl-test-mode on\r
+\r
diff --git a/fth/utils/dump_struct.fth b/fth/utils/dump_struct.fth
new file mode 100644 (file)
index 0000000..b7fd173
--- /dev/null
@@ -0,0 +1,120 @@
+\ @(#) dump_struct.fth 97/12/10 1.1\r
+\ Dump contents of structure showing values and member names.\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1987 Phil Burk\r
+\ All Rights Reserved.\r
+\\r
+\ MOD: PLB 9/4/88 Print size too.\r
+\ MOD: PLB 9/9/88 Print U/S , add ADST\r
+\ MOD: PLB 12/6/90 Modified to work with H4th\r
+\ 941109 PLB Converted to pforth.  Added RP detection.\r
+\r
+include? task-member member.fth\r
+include? task-c_struct c_struct.fth\r
+\r
+ANEW TASK-DUMP_STRUCT\r
+\r
+: EMIT-TO-COLUMN ( char col -- )\r
+       out @ - 0 max 80 min 0\r
+       DO  dup emit\r
+       LOOP drop\r
+;\r
+\r
+VARIABLE SN-FENCE\r
+: STACK.NFAS  ( fencenfa topnfa -- 0 nfa0 nfa1 ... )\r
+\ Fill stack with nfas of words until fence hit.\r
+    >r sn-fence !\r
+    0 r>  ( set terminator )\r
+    BEGIN ( -- 0 n0 n1 ... top )\r
+      dup sn-fence @ >\r
+    WHILE\r
+\      dup n>link @   \ JForth\r
+       dup prevname   \ HForth\r
+    REPEAT\r
+    drop\r
+;\r
+\r
+: DST.DUMP.TYPE  ( +-size -- , dump data type, 941109)\r
+       dup abs 4 =\r
+       IF\r
+               0<\r
+               IF ." RP"\r
+               ELSE ." U4"\r
+               THEN\r
+       ELSE\r
+               dup 0<\r
+               IF ascii U\r
+               ELSE ascii S\r
+               THEN emit abs 1 .r\r
+       THEN\r
+;\r
+\r
+: DUMP.MEMBER ( addr member-pfa -- , dump member of structure)\r
+    ob.stats  ( -- addr offset size )\r
+    >r + r> ( -- addr' size )\r
+    dup ABS 4 >  ( -- addr' size flag )\r
+    IF   cr 2dup swap . . ABS dump\r
+    ELSE tuck @bytes 10 .r ( -- size )\r
+        3 spaces dst.dump.type\r
+    THEN\r
+;\r
+\r
+VARIABLE DS-ADDR\r
+: DUMP.STRUCT ( addr-data addr-structure -- )\r
+    >newline swap >r  ( -- as , save addr-data for dumping )\r
+\    dup cell+ @ over +  \ JForth\r
+       dup code> >name swap cell+ @ over +   \ HForth\r
+       stack.nfas   ( fill stack with nfas of members )\r
+    BEGIN\r
+        dup\r
+    WHILE   ( continue until non-zero )\r
+        dup name> >body r@ swap dump.member\r
+        bl 18 emit-to-column id. cr\r
+        ?pause\r
+    REPEAT drop rdrop\r
+;\r
+\r
+: DST ( addr <name> -- , dump contents of structure )\r
+    ob.findit\r
+    state @\r
+    IF [compile] literal compile dump.struct\r
+    ELSE dump.struct\r
+    THEN\r
+; immediate\r
+\r
+: ADST ( absolute_address -- , dump structure )\r
+    >rel [compile] dst\r
+; immediate\r
+\r
+\ For Testing Purposes\r
+false .IF\r
+:STRUCT GOO\r
+    LONG DATAPTR\r
+    SHORT GOO_WIDTH\r
+    USHORT GOO_HEIGHT\r
+;STRUCT\r
+\r
+:STRUCT FOO\r
+    LONG ALONG1\r
+    STRUCT GOO AGOO\r
+    SHORT ASHORT1\r
+    BYTE ABYTE\r
+    BYTE ABYTE2\r
+;STRUCT\r
+\r
+FOO AFOO\r
+: AFOO.INIT\r
+    $ 12345678 afoo ..! along1\r
+    $ -665 afoo ..! ashort1\r
+    $ 21 afoo ..! abyte\r
+    $ 43 afoo ..! abyte2\r
+    -234 afoo .. agoo ..! goo_height\r
+;\r
+afoo.init\r
+\r
+: TDS ( afoo -- )\r
+    dst foo\r
+;\r
+\r
+.THEN\r
diff --git a/fth/utils/load_file.fth b/fth/utils/load_file.fth
new file mode 100644 (file)
index 0000000..669ffc3
--- /dev/null
@@ -0,0 +1,39 @@
+\ Load a file into an allocated memory image.\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 3DO 1995\r
+\r
+anew task-load_file.fth\r
+\r
+: $LOAD.FILE { $filename | fid numbytes numread err data -- data-addr 0 | 0 err }\r
+       0 -> data\r
+\ open file\r
+       $filename count r/o open-file -> err -> fid\r
+       err\r
+       IF\r
+               ." $LOAD.FILE - Could not open input file!" cr\r
+       ELSE\r
+\ determine size of file\r
+               fid file-size -> err -> numbytes\r
+               err\r
+               IF\r
+                        ." $LOAD.FILE - File size failed!" cr\r
+               ELSE\r
+                       ." File size = " numbytes . cr\r
+\ allocate memory for sample, when done free memory using FREE\r
+                       numbytes allocate -> err -> data\r
+                       err\r
+                       IF\r
+                               ." $LOAD.FILE - Memory allocation failed!" cr\r
+                       ELSE\r
+\ read data\r
+                               data numbytes fid read-file -> err\r
+                               ." Read " . ." bytes from file " $filename count type cr\r
+                       THEN\r
+               THEN\r
+               fid close-file drop\r
+       THEN\r
+       data err\r
+;\r
+\r
+\ Example:   c" myfile" $load.file   abort" Oops!"   free .\r
diff --git a/fth/utils/make_all256.fth b/fth/utils/make_all256.fth
new file mode 100644 (file)
index 0000000..72d2eed
--- /dev/null
@@ -0,0 +1,57 @@
+\ @(#) make_all256.fth 97/12/10 1.1\r
+\ Make a file with all possible 256 bytes in random order.\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1987 Phil Burk\r
+\ All Rights Reserved.\r
+\r
+ANEW TASK-MAKE_ALL256\r
+\r
+variable RAND8-SEED\r
+19 rand8-seed !\r
+: RANDOM8 ( -- r8 , generate random bytes, repeat every 256 )\r
+       RAND8-SEED @\r
+       77 * 55 +\r
+       $ FF and\r
+       dup RAND8-SEED !\r
+;\r
+\r
+create rand8-pad 256 allot\r
+: make.256.data\r
+       256 0\r
+       DO\r
+               random8 rand8-pad i + c!\r
+       LOOP\r
+;\r
+\r
+: SHUFFLE.DATA { num | ind1 ind2 -- }\r
+       num 0\r
+       DO\r
+               256 choose -> ind1\r
+               256 choose -> ind2\r
+               ind1 rand8-pad + c@\r
+               ind2 rand8-pad + c@\r
+               ind1 rand8-pad + c!\r
+               ind2 rand8-pad + c!\r
+       LOOP\r
+;\r
+       \r
+: WRITE.256.FILE   { | fid -- }\r
+       p" all256.raw" count r/w create-file\r
+       IF\r
+               drop ." Could not create file." cr\r
+       ELSE\r
+               -> fid\r
+               fid . cr\r
+               rand8-pad 256 fid write-file abort" write failed!"\r
+               fid close-file drop\r
+       THEN\r
+;\r
+\r
+: MAKE.256.FILE\r
+       make.256.data\r
+       1000 shuffle.data\r
+       write.256.file\r
+;\r
+\r
+MAKE.256.FILE\r
diff --git a/fth/utils/trace.fth b/fth/utils/trace.fth
new file mode 100644 (file)
index 0000000..89dbfbb
--- /dev/null
@@ -0,0 +1,438 @@
+\ @(#) trace.fth 98/01/08 1.1\r
+\ TRACE ( <name> -- , trace pForth word )\r
+\\r
+\ Single step debugger.\r
+\   TRACE  ( i*x <name> -- , setup trace for Forth word )\r
+\   S      ( -- , step over )\r
+\   SM     ( many -- , step over many times )\r
+\   SD     ( -- , step down )\r
+\   G      ( -- , go to end of word )\r
+\   GD     ( n -- , go down N levels from current level, stop at end of this level )\r
+\\r
+\ This debugger works by emulating the inner interpreter of pForth.\r
+\ It executes code and maintains a separate return stack for the\r
+\ program under test.  Thus all primitives that operate on the return\r
+\ stack, such as DO and R> must be trapped.  Local variables must\r
+\ also be handled specially.  Several state variables are also\r
+\ saved and restored to establish the context for the program being\r
+\ tested.\r
+\    \r
+\ Copyright 1997 Phil Burk\r
+\r
+anew task-trace.fth\r
+\r
+: SPACE.TO.COLUMN  ( col -- )\r
+       out @ - spaces\r
+;\r
+\r
+: IS.PRIMITIVE? ( xt -- flag , true if kernel primitive )\r
+       ['] first_colon <\r
+;\r
+\r
+0 value TRACE_IP         \ instruction pointer\r
+0 value TRACE_LEVEL      \ level of descent for inner interpreter\r
+0 value TRACE_LEVEL_MAX  \ maximum level of descent\r
+\r
+private{\r
+\r
+\ use fake return stack\r
+128 cells constant TRACE_RETURN_SIZE \ size of return stack in bytes\r
+create TRACE-RETURN-STACK TRACE_RETURN_SIZE 16 + allot\r
+variable TRACE-RSP\r
+: TRACE.>R     ( n -- ) trace-rsp @ cell- dup trace-rsp ! ! ;  \ *(--rsp) = n\r
+: TRACE.R>     ( -- n ) trace-rsp @ dup @ swap cell+ trace-rsp ! ;  \ n = *rsp++\r
+: TRACE.R@     ( -- n ) trace-rsp @ @ ; ; \ n = *rsp\r
+: TRACE.RPICK  ( index -- n ) cells trace-rsp @ + @ ; ; \ n = rsp[index]\r
+: TRACE.0RP    ( -- n ) trace-return-stack trace_return_size + 8 + trace-rsp ! ;\r
+: TRACE.RDROP  ( --  ) cell trace-rsp +! ;\r
+: TRACE.RCHECK ( -- , abort if return stack out of range )\r
+       trace-rsp @ trace-return-stack u<\r
+               abort" TRACE return stack OVERFLOW!"\r
+       trace-rsp @ trace-return-stack trace_return_size + 12 + u>\r
+               abort" TRACE return stack UNDERFLOW!"\r
+;\r
+\r
+\ save and restore several state variables\r
+10 cells constant TRACE_STATE_SIZE\r
+create TRACE-STATE-1 TRACE_STATE_SIZE allot\r
+create TRACE-STATE-2 TRACE_STATE_SIZE allot\r
+\r
+variable TRACE-STATE-PTR\r
+: TRACE.SAVE++ ( addr -- , save next thing )\r
+       @ trace-state-ptr @ !\r
+       cell trace-state-ptr +!\r
+;\r
+\r
+: TRACE.SAVE.STATE  ( -- )\r
+       state trace.save++\r
+       hld   trace.save++\r
+       base  trace.save++\r
+;\r
+\r
+: TRACE.SAVE.STATE1  ( -- , save normal state )\r
+       trace-state-1 trace-state-ptr !\r
+       trace.save.state\r
+;\r
+: TRACE.SAVE.STATE2  ( -- , save state of word being debugged )\r
+       trace-state-2 trace-state-ptr !\r
+       trace.save.state\r
+;\r
+\r
+\r
+: TRACE.RESTORE++ ( addr -- , restore next thing )\r
+       trace-state-ptr @ @ swap !\r
+       cell trace-state-ptr +!\r
+;\r
+\r
+: TRACE.RESTORE.STATE  ( -- )\r
+       state trace.restore++\r
+       hld   trace.restore++\r
+       base  trace.restore++\r
+;\r
+\r
+: TRACE.RESTORE.STATE1  ( -- )\r
+       trace-state-1 trace-state-ptr !\r
+       trace.restore.state\r
+;\r
+: TRACE.RESTORE.STATE2  ( -- )\r
+       trace-state-2 trace-state-ptr !\r
+       trace.restore.state\r
+;\r
+\r
+\ The implementation of these pForth primitives is specific to pForth.\r
+\r
+variable TRACE-LOCALS-PTR  \ point to top of local frame\r
+\r
+\ create a return stack frame for NUM local variables\r
+: TRACE.(LOCAL.ENTRY)  ( x0 x1 ... xn n -- )  { num | lp -- }\r
+       trace-locals-ptr @ trace.>r\r
+       trace-rsp @ trace-locals-ptr !\r
+       trace-rsp @  num cells - trace-rsp !  \ make room for locals\r
+       trace-rsp @ -> lp\r
+       num 0\r
+       DO\r
+               lp !\r
+               cell +-> lp  \ move data into locals frame on return stack\r
+       LOOP\r
+;\r
+       \r
+: TRACE.(LOCAL.EXIT) ( -- )\r
+       trace-locals-ptr @  trace-rsp !\r
+       trace.r> trace-locals-ptr !\r
+;\r
+: TRACE.(LOCAL@) ( l# -- n , fetch from local frame )\r
+       trace-locals-ptr @  swap cells - @\r
+;\r
+: TRACE.(1_LOCAL@) ( -- n ) 1 trace.(local@) ;\r
+: TRACE.(2_LOCAL@) ( -- n ) 2 trace.(local@) ;\r
+: TRACE.(3_LOCAL@) ( -- n ) 3 trace.(local@) ;\r
+: TRACE.(4_LOCAL@) ( -- n ) 4 trace.(local@) ;\r
+: TRACE.(5_LOCAL@) ( -- n ) 5 trace.(local@) ;\r
+: TRACE.(6_LOCAL@) ( -- n ) 6 trace.(local@) ;\r
+: TRACE.(7_LOCAL@) ( -- n ) 7 trace.(local@) ;\r
+: TRACE.(8_LOCAL@) ( -- n ) 8 trace.(local@) ;\r
+\r
+: TRACE.(LOCAL!) ( n l# -- , store into local frame )\r
+       trace-locals-ptr @  swap cells - !\r
+;\r
+: TRACE.(1_LOCAL!) ( -- n ) 1 trace.(local!) ;\r
+: TRACE.(2_LOCAL!) ( -- n ) 2 trace.(local!) ;\r
+: TRACE.(3_LOCAL!) ( -- n ) 3 trace.(local!) ;\r
+: TRACE.(4_LOCAL!) ( -- n ) 4 trace.(local!) ;\r
+: TRACE.(5_LOCAL!) ( -- n ) 5 trace.(local!) ;\r
+: TRACE.(6_LOCAL!) ( -- n ) 6 trace.(local!) ;\r
+: TRACE.(7_LOCAL!) ( -- n ) 7 trace.(local!) ;\r
+: TRACE.(8_LOCAL!) ( -- n ) 8 trace.(local!) ;\r
+\r
+: TRACE.(LOCAL+!) ( n l# -- , store into local frame )\r
+       trace-locals-ptr @  swap cells - +!\r
+;\r
+: TRACE.(?DO)  { limit start ip -- ip' }\r
+       limit start =\r
+       IF\r
+               ip @ +-> ip \ BRANCH\r
+       ELSE\r
+               start trace.>r\r
+               limit trace.>r\r
+               cell +-> ip\r
+       THEN\r
+       ip\r
+;\r
+\r
+: TRACE.(LOOP)  { ip | limit indx -- ip' }\r
+       trace.r> -> limit\r
+       trace.r> 1+ -> indx\r
+       limit indx =\r
+       IF\r
+               cell +-> ip\r
+       ELSE\r
+               indx trace.>r\r
+               limit trace.>r\r
+               ip @ +-> ip\r
+       THEN\r
+       ip\r
+;\r
+\r
+: TRACE.(+LOOP)  { delta ip | limit indx oldindx -- ip' }\r
+       trace.r> -> limit\r
+       trace.r> -> oldindx\r
+       oldindx delta + -> indx\r
+\ /* Do indices cross boundary between LIMIT-1 and LIMIT ? */\r
+\  if( ( (OldIndex - Limit) & ((Limit-1) - NewIndex) & 0x80000000 ) ||\r
+\    ( (NewIndex - Limit) & ((Limit-1) - OldIndex) & 0x80000000 ) )\r
+       oldindx limit -    limit 1-    indx -  AND $ 80000000 AND\r
+          indx limit -    limit 1- oldindx -  AND $ 80000000 AND OR\r
+       IF\r
+               cell +-> ip\r
+       ELSE\r
+               indx trace.>r\r
+               limit trace.>r\r
+               ip @ +-> ip\r
+       THEN\r
+       ip\r
+;\r
+\r
+: TRACE.CHECK.IP  {  ip -- }\r
+       ip ['] first_colon u<\r
+       ip here u> OR\r
+       IF\r
+               ." TRACE - IP out of range = " ip .hex cr\r
+               abort\r
+       THEN\r
+;\r
+\r
+: TRACE.SHOW.IP { ip -- , print name and offset }\r
+       ip code> >name dup id.\r
+       name> >code ip swap - ."  +" .\r
+;\r
+\r
+: TRACE.SHOW.STACK { | mdepth -- }\r
+       base @ >r\r
+       ." <" base @ decimal 1 .r ." :"\r
+       depth 1 .r ." > "\r
+       r> base !\r
+       depth 5 min -> mdepth\r
+       depth mdepth  -\r
+       IF\r
+               ." ... "  \ if we don't show entire stack\r
+       THEN\r
+       mdepth 0\r
+       ?DO\r
+               mdepth i 1+ - pick .  \ show numbers in current base\r
+       LOOP\r
+;\r
+\r
+: TRACE.SHOW.NEXT { ip -- }\r
+       >newline\r
+       ip trace.check.ip\r
+\ show word name and offset\r
+       ." <<  "\r
+       ip trace.show.ip\r
+       30 space.to.column\r
+\ show data stack\r
+       trace.show.stack\r
+       65 space.to.column ."  ||"\r
+       trace_level 2* spaces\r
+       ip code@\r
+       cell +-> ip\r
+\ show primitive about to be executed\r
+       dup .xt space\r
+\ trap any primitives that are followed by inline data\r
+       CASE\r
+               ['] (LITERAL)  OF ip @  . ENDOF\r
+               ['] (ALITERAL) OF ip a@ . ENDOF\r
+[ exists? (FLITERAL) [IF] ]\r
+               ['] (FLITERAL) OF ip f@ f. ENDOF\r
+[ [THEN] ]\r
+               ['] BRANCH     OF ip @  . ENDOF\r
+               ['] 0BRANCH    OF ip @  . ENDOF\r
+               ['] (.")       OF ip count type .' "' ENDOF\r
+               ['] (C")       OF ip count type .' "' ENDOF\r
+               ['] (S")       OF ip count type .' "' ENDOF\r
+       ENDCASE\r
+       100 space.to.column ."  >> "\r
+;\r
+\r
+: TRACE.DO.PRIMITIVE  { ip xt | oldhere --  ip' , perform code at ip }\r
+       xt\r
+       CASE\r
+               0 OF -1 +-> trace_level  trace.r> -> ip ENDOF \ EXIT\r
+               ['] (CREATE)   OF ip cell- body_offset + ENDOF\r
+               ['] (LITERAL)  OF ip @ cell +-> ip ENDOF\r
+               ['] (ALITERAL) OF ip a@ cell +-> ip ENDOF\r
+[ exists? (FLITERAL) [IF] ]\r
+               ['] (FLITERAL) OF ip f@ 1 floats +-> ip ENDOF\r
+[ [THEN] ]\r
+               ['] BRANCH     OF ip @ +-> ip ENDOF\r
+               ['] 0BRANCH    OF 0= IF ip @ +-> ip ELSE cell +-> ip THEN ENDOF\r
+               ['] >R         OF trace.>r ENDOF\r
+               ['] R>         OF trace.r> ENDOF\r
+               ['] R@         OF trace.r@ ENDOF\r
+               ['] RDROP      OF trace.rdrop ENDOF\r
+               ['] 2>R        OF trace.>r trace.>r ENDOF\r
+               ['] 2R>        OF trace.r> trace.r> ENDOF\r
+               ['] 2R@        OF trace.r@ 1 trace.rpick ENDOF\r
+               ['] i          OF 1 trace.rpick ENDOF\r
+               ['] j          OF 3 trace.rpick ENDOF\r
+               ['] (LEAVE)    OF trace.rdrop trace.rdrop  ip @ +-> ip ENDOF\r
+               ['] (LOOP)     OF ip trace.(loop) -> ip  ENDOF\r
+               ['] (+LOOP)    OF ip trace.(+loop) -> ip  ENDOF\r
+               ['] (DO)       OF trace.>r trace.>r ENDOF\r
+               ['] (?DO)      OF ip trace.(?do) -> ip ENDOF\r
+               ['] (.")       OF ip count type  ip count + aligned -> ip ENDOF\r
+               ['] (C")       OF ip  ip count + aligned -> ip ENDOF\r
+               ['] (S")       OF ip count  ip count + aligned -> ip ENDOF\r
+               ['] (LOCAL.ENTRY) OF trace.(local.entry) ENDOF\r
+               ['] (LOCAL.EXIT) OF trace.(local.exit) ENDOF\r
+               ['] (LOCAL@)   OF trace.(local@)   ENDOF\r
+               ['] (1_LOCAL@) OF trace.(1_local@) ENDOF\r
+               ['] (2_LOCAL@) OF trace.(2_local@) ENDOF\r
+               ['] (3_LOCAL@) OF trace.(3_local@) ENDOF\r
+               ['] (4_LOCAL@) OF trace.(4_local@) ENDOF\r
+               ['] (5_LOCAL@) OF trace.(5_local@) ENDOF\r
+               ['] (6_LOCAL@) OF trace.(6_local@) ENDOF\r
+               ['] (7_LOCAL@) OF trace.(7_local@) ENDOF\r
+               ['] (8_LOCAL@) OF trace.(8_local@) ENDOF\r
+               ['] (LOCAL!)   OF trace.(local!)   ENDOF\r
+               ['] (1_LOCAL!) OF trace.(1_local!) ENDOF\r
+               ['] (2_LOCAL!) OF trace.(2_local!) ENDOF\r
+               ['] (3_LOCAL!) OF trace.(3_local!) ENDOF\r
+               ['] (4_LOCAL!) OF trace.(4_local!) ENDOF\r
+               ['] (5_LOCAL!) OF trace.(5_local!) ENDOF\r
+               ['] (6_LOCAL!) OF trace.(6_local!) ENDOF\r
+               ['] (7_LOCAL!) OF trace.(7_local!) ENDOF\r
+               ['] (8_LOCAL!) OF trace.(8_local!) ENDOF\r
+               ['] (LOCAL+!)  OF trace.(local+!)  ENDOF\r
+               >r xt EXECUTE r>\r
+       ENDCASE\r
+       ip\r
+;\r
+\r
+: TRACE.DO.NEXT  { ip | xt oldhere --  ip' , perform code at ip }\r
+       ip trace.check.ip\r
+\ set context for word under test\r
+       trace.save.state1\r
+       here -> oldhere\r
+       trace.restore.state2\r
+       oldhere 256 + dp !\r
+\ get execution token\r
+       ip code@ -> xt\r
+       cell +-> ip\r
+\ execute token\r
+       xt is.primitive?\r
+       IF  \ primitive\r
+               ip xt trace.do.primitive -> ip\r
+       ELSE \ secondary\r
+               trace_level trace_level_max <\r
+               IF\r
+                       ip trace.>r         \ threaded execution\r
+                       1 +-> trace_level\r
+                       xt codebase + -> ip\r
+               ELSE\r
+                       \ treat it as a primitive\r
+                       ip xt trace.do.primitive -> ip\r
+               THEN            \r
+       THEN\r
+\ restore original context\r
+       trace.rcheck\r
+       trace.save.state2\r
+       trace.restore.state1\r
+       oldhere dp !\r
+       ip\r
+;\r
+\r
+: TRACE.NEXT { ip | xt -- ip' }\r
+       trace_level 0>\r
+       IF\r
+               ip trace.do.next -> ip\r
+       THEN\r
+       trace_level 0>\r
+       IF\r
+               ip trace.show.next\r
+       ELSE\r
+               ." Finished." cr\r
+       THEN\r
+       ip\r
+;\r
+\r
+}private\r
+\r
+: TRACE ( i*x <name> -- i*x , setup trace environment )\r
+       ' dup is.primitive?\r
+       IF\r
+               drop ." Sorry. You can't trace a primitive." cr\r
+       ELSE\r
+               1 -> trace_level\r
+               trace_level -> trace_level_max\r
+               trace.0rp\r
+               >code -> trace_ip\r
+               trace_ip trace.show.next\r
+               trace-stack off\r
+               trace.save.state2\r
+       THEN\r
+;\r
+\r
+: s ( -- , step over )\r
+       trace_level -> trace_level_max\r
+       trace_ip trace.next -> trace_ip\r
+;\r
+\r
+: sd ( -- , step down )\r
+       trace_level 1+ -> trace_level_max\r
+       trace_ip trace.next -> trace_ip\r
+;\r
+\r
+: sm ( many -- , step down )\r
+       trace_level -> trace_level_max\r
+       0\r
+       ?DO\r
+               trace_ip trace.next -> trace_ip\r
+       LOOP\r
+;\r
+\r
+: gd { more_levels | stop_level -- }\r
+       depth 1 <\r
+       IF\r
+               ." GD requires a MORE_LEVELS parameter." cr\r
+       ELSE\r
+               trace_level more_levels + -> trace_level_max\r
+               trace_level 1- -> stop_level\r
+               BEGIN\r
+                       trace_ip trace.next -> trace_ip\r
+                       trace_level stop_level > not\r
+               UNTIL\r
+       THEN\r
+;\r
+\r
+: g ( -- , execute until end of word )\r
+       0 gd\r
+;\r
+\r
+: TRACE.HELP ( -- )\r
+       ."   TRACE  ( i*x <name> -- , setup trace for Forth word )" cr\r
+       ."   S      ( -- , step over )" cr\r
+       ."   SM     ( many -- , step over many times )" cr\r
+       ."   SD     ( -- , step down )" cr\r
+       ."   G      ( -- , go to end of word )" cr\r
+       ."   GD     ( n -- , go down N levels from current level," cr\r
+       ."                   stop at end of this level )" cr\r
+;\r
+\r
+privatize\r
+\r
+0 [IF]\r
+variable var1\r
+100 var1 !\r
+: FOO  dup IF 1 + . THEN 77 var1 @ + . ;\r
+: ZOO 29 foo 99 22 + . ;\r
+: ROO 92 >r 1 r@ + . r> . ;\r
+: MOO  c" hello" count type\r
+       ." This is a message." cr\r
+       s" another message" type cr\r
+;\r
+: KOO 7 FOO ." DONE" ;\r
+: TR.DO  4 0 DO i . LOOP ;\r
+: TR.?DO  0 ?DO i . LOOP ;\r
+: TR.LOC1 { aa bb } aa bb + . ;\r
+: TR.LOC2 789 >r 4 5 tr.loc1 r> . ;\r
+[THEN]\r
diff --git a/fth/wordslik.fth b/fth/wordslik.fth
new file mode 100644 (file)
index 0000000..ff73c63
--- /dev/null
@@ -0,0 +1,44 @@
+\ @(#) wordslik.fth 98/01/26 1.2\r
+\\r
+\ WORDS.LIKE  ( <string> -- , search for words that contain string )\r
+\\r
+\ Enter:   WORDS.LIKE +\r
+\ Enter:   WORDS.LIKE EMIT\r
+\\r
+\ Author: Phil Burk\r
+\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom\r
+\\r
+\ The pForth software code is dedicated to the public domain,\r
+\ and any third party may reproduce, distribute and modify\r
+\ the pForth software code or any derivative works thereof\r
+\ without any compensation or license.  The pForth software\r
+\ code is provided on an "as is" basis without any warranty\r
+\ of any kind, including, without limitation, the implied\r
+\ warranties of merchantability and fitness for a particular\r
+\ purpose and their equivalents under the laws of any jurisdiction.\r
+\r
+anew task-wordslik.fth\r
+decimal\r
+\r
+\r
+: PARTIAL.MATCH.NAME  ( $str1 nfa  -- flag , is $str1 in nfa ??? )\r
+       count $ 1F and\r
+       rot count\r
+       search\r
+       >r 2drop r>\r
+;\r
+\r
+: WORDS.LIKE  ( <name> -- , print all words containing substring )\r
+       BL word latest\r
+       >newline\r
+       BEGIN\r
+               prevname dup 0<> \ get previous name in dictionary\r
+       WHILE\r
+               2dup partial.match.name\r
+               IF\r
+                       dup id. tab\r
+                       cr?\r
+               THEN\r
+       REPEAT 2drop\r
+       >newline\r
+;\r
diff --git a/readme.txt b/readme.txt
new file mode 100644 (file)
index 0000000..b33c7d9
--- /dev/null
@@ -0,0 +1,89 @@
+README for pForth - a Portable ANS-like Forth written in ANSI 'C'\r
+\r
+by Phil Burk\r
+with Larry Polansky, David Rosenboom and Darren Gibbs.\r
+\r
+Last updated: July 20, 2008 V23\r
+\r
+Documentation for pForth at http://www.softsynth.com/pforth/\r
+\r
+The author is available for customization of pForth, porting to new\r
+platforms, or developing pForth applications on a contractual basis.\r
+\r
+If interested, contact Phil Burk at http://www.softsynth.com/contacts.php\r
+\r
+-- LEGAL NOTICE -----------------------------------------\r
+\r
+The pForth software code is dedicated to the public domain,\r
+and any third party may reproduce, distribute and modify\r
+the pForth software code or any derivative works thereof\r
+without any compensation or license.  The pForth software\r
+code is provided on an "as is" basis without any warranty\r
+of any kind, including, without limitation, the implied\r
+warranties of merchantability and fitness for a particular\r
+purpose and their equivalents under the laws of any jurisdiction.\r
+\r
+-- Contents of SDK --------------------------------------\r
+\r
+       build - tools for building pForth on various platforms\r
+       build/win32/vs2005 - Visual Studio 2005 Project and Solution\r
+       build/unix - Makefile for unix\r
+       \r
+       csrc - pForth kernel in ANSI 'C'\r
+       csrc/pf_main.c - main() application for a standalone Forth\r
+       csrc/stdio - I/O code using basic stdio for generic platforms\r
+       csrc/posix - I/O code for Posix platform\r
+       csrc/win32 - I/O code for basic WIN32 platform\r
+       csrc/win32_console - I/O code for WIN32 console that supports command line history\r
+       \r
+       fth - Forth code\r
+       fth/util - utility functions\r
+\r
+-- How to build pForth ------------------------------------\r
+\r
+See pForth reference manual at:\r
+\r
+  http://www.softsynth.com/pforth/pf_ref.htm\r
+  \r
+-- How to run pForth ------------------------------------\r
+\r
+Once you have compiled and built the dictionary, just enter:\r
+     pforth\r
+\r
+To compile source code files use:    INCLUDE filename\r
+\r
+To create a custom dictionary enter in pForth:\r
+       c" newfilename.dic" SAVE-FORTH\r
+The name must end in ".dic".\r
+\r
+To run PForth with the new dictionary enter in the shell:\r
+       pforth -dnewfilename.dic\r
+\r
+To run PForth and automatically include a forth file:\r
+       pforth myprogram.fth\r
+\r
+-- How to Test PForth ------------------------------------\r
+\r
+You can test the Forth without loading a dictionary\r
+which might be necessary if the dictionary can't be built.\r
+\r
+Enter:   pforth -i\r
+In pForth, enter:    3 4 + .\r
+In pForth, enter:    loadsys\r
+In pForth, enter:    10  0  do i . loop\r
+\r
+PForth comes with a small test suite.  To test the Core words,\r
+you can use the coretest developed by John Hayes.\r
+\r
+Enter:  pforth\r
+Enter:  include tester.fth\r
+Enter:  include coretest.fth\r
+\r
+To run the other tests, enter:\r
+\r
+       pforth t_corex.fth\r
+       pforth t_strings.fth\r
+       pforth t_locals.fth\r
+       pforth t_alloc.fth\r
+       \r
+They will report the number of tests that pass or fail.\r
diff --git a/releases.txt b/releases.txt
new file mode 100644 (file)
index 0000000..a27a518
--- /dev/null
@@ -0,0 +1,240 @@
+Release History for pForth - a Portable ANS-like Forth written in ANSI 'C'\r
+\r
+Documentation for pForth at http://www.softsynth.com/pforth/\r
+\r
+V23  7/20/2008\r
+    - Reorganized for Google Code project.\r
+    \r
+V22  (unreleased)\r
+    - Added command line history and cursor control words.\r
+       - Sped up UM* and M* by a factor of 3. Thanks to Steve Green for suggested algorithm.\r
+       - Modified ACCEPT so that a line at the end of a file that does NOT have a line\r
+           terminator will now be processed.\r
+       - Use _getch(), _putch(), and _kbhit() so that KEY, EMIT and ?TERMINAL will work on PC.\r
+       - Fixed  : foo { -- } 55 ;  - was entering local frame but not exiting.\r
+    - Redefined MAKE_ID to protect it from 16 bit ints\r
+    - John Providenza says "If you split local variables onto 2 lines, PForth crashes." Fixed. Also allow \\r
+    - Fixed float evaluation in EVALUATE in "quit.fth".\r
+    - Flush register cache for ffColon and ffSemiColon to prevent stack warnings from ;\r
+\r
+V21 - 9/16/98\r
+       - Fixed some compiler warnings.\r
+\r
+V20\r
+    - Expand PAD for ConvertNumberToText so "-1 binary .s" doesn't crash.\r
+      Thank you Michael Connor of Vancouver for reporting this bug.\r
+\r
+    - Removed FDROP in REPRESENT to fix stack underflow after "0.0 F.".\r
+      Thank you Jim Rosenow of Minnesota for reporting this bug.\r
+       - Changed pfCharToLower to function to prevent macro expansion bugs under VXWORKS\r
+      Thank you Jim Rosenow of Minnesota for reporting this bug.\r
+\r
+       - "0.0 F~" now checks actual binary encoding of floats. Before this it used to just\r
+         compare value which was incorrect. Now "0.0 -0.0 0.0 F~" returns FALSE.\r
+\r
+       - Fixed definition of INPUT$ in tutorial.\r
+      Thank you Hampton Miller of California for reporting this bug.\r
+\r
+       - Added support for producing a target dictionary with a different\r
+         Endian-ness than the host CPU.  See PF_BIG_ENDIAN_DIC and PF_LITTLE_ENDIAN_DIC.\r
+\r
+       - PForth kernel now comes up in a mode that uses BASE for numeric input when\r
+         started with "-i" option.  It used to always consider numeric input as HEX.\r
+         Initial BASE is decimal.  \r
+\r
+V19  4/98\r
+\r
+       - Warn if local var name matches dictionary, : foo { count -- } ;\r
+       - TO -> and +-> now parse input stream. No longer use to-flag.\r
+       - TO -> and +-> now give error if used with non-immediate word.\r
+       - Added (FLITERAL) support to SEE.\r
+       - Aded TRACE facility for single step debugging of Forth words.\r
+       - Added stub for ?TERMINAL and KEY? for embedded systems.\r
+       - Added PF_NO_GLOBAL_INIT for no reliance on global initialization.\r
+       - Added PF_USER_FLOAT for customization of FP support.\r
+       - Added floating point to string conversion words (F.) (FS.) (FE.)\r
+           For example:   : F.   (F.)  TYPE  SPACE  ;\r
+       - Reversed order that values are placed on return stack in 2>R\r
+         so that it matches ANS standard.  2>R is now same as SWAP >R >R\r
+         Thank you Leo Wong for reporting this bug.\r
+\r
+       - Added PF_USER_INIT and PF_USER_TERM for user definable init and term calls.\r
+\r
+       - FIXED memory leak in pfDoForth()\r
+\r
+V18\r
+       - Make FILL a 'C' primitive.\r
+       - optimized locals with (1_LOCAL@)\r
+       - optimized inner interpreter by 15%\r
+       - fix tester.fth failures\r
+       - Added define for PF_KEY_ECHOS which turns off echo in ACCEPT if defined.\r
+       - Fixed MARKER. Was equivalent to ANEW instead of proper ANS definition.\r
+       - Fixed saving and restoring of TIB when nesting include files.\r
+\r
+V17\r
+       - Fixed input of large floats.  0.7071234567 F.  used to fail.\r
+\r
+V16\r
+       * Define PF_USER_CUSTOM if you are defining your own custom\r
+         'C' glue routines.  This will ifndef the published example.\r
+       - Fixed warning in pf_cglue.c.\r
+       - Fixed SDAD in savedicd.fth.  It used to generate bogus 'C' code\r
+         if called when (BASE != 10), as in HEX mode.\r
+       - Fixed address comparisons in forget.fth and private.fth for\r
+         addresses above 0x80000000. Must be unsigned.\r
+       - Call FREEZE at end of system.fth to initialize rfence.\r
+       - Fixed 0.0 F. which used to leave 0.0 on FP stack.\r
+       - Added FPICK ( n -- ) ( i*f -- i*f f[n] )\r
+       - .S now prints hex numbers as unsigned.\r
+       - Fixed internal number to text conversion for unsigned nums.\r
+\r
+V15 - 2/15/97\r
+       * If you use PF_USER_FILEIO, you must now define PF_STDIN and PF_STDOUT\r
+         among other additions. See "pf_io.h".\r
+       * COMPARE now matches ANS STRING word set!\r
+       - Added PF_USER_INC1 and PF_USER_INC2 for optional includes\r
+         and host customization. See "pf_all.h".\r
+       - Fixed more warnings.\r
+       - Fixed >NAME and WORDS for systems with high "negative" addresses.\r
+       - Added WORDS.LIKE utility.  Enter:   WORDS.LIKE EMIT\r
+       - Added stack check after every word in high level interpreter.\r
+         Enter QUIT to enter high level interpreter which uses this feature.\r
+       - THROW will no longer crash if not using high level interpreter.\r
+       - Isolated all host dependencies into "pf_unix.h", "pf_win32.h",\r
+         "pf_mac.h", etc.  See "pf_all.h".\r
+       - Added tests for CORE EXT, STRINGS words sets.\r
+       - Added SEARCH\r
+       - Fixed WHILE and REPEAT for multiple WHILEs.\r
+       - Fixed .( ) for empty strings.\r
+       - Fixed FATAN2 which could not compile on some systems (Linux gcc).\r
+\r
+V14 - 12/23/96\r
+       * pforth command now requires -d before dictionary name.\r
+               Eg.   pforth -dcustom.dic test.fth\r
+       * PF_USER_* now need to be defined as include file names.\r
+       * PF_USER_CHARIO now requires different functions to be defined.\r
+               See "csrc/pf_io.h".\r
+       - Moved pfDoForth() from pf_main.c to pf_core.c to simplify\r
+         file with main().\r
+       - Fix build with PF_NO_INIT\r
+       - Makefile now has target for embedded dictionary, "gmake pfemb".\r
+\r
+V13 - 12/15/96\r
+       - Add "extern 'C' {" to pf_mem.h for C++\r
+       - Separate PF_STATIC_DIC from PF_NO_FILEIO so that we can use a static\r
+         dictionary but also have file I/O.\r
+       - Added PF_USER_FILEIO, PF_USER_CHARIO, PF_USER_CLIB.\r
+       - INCLUDE now aborts if file not found.\r
+       - Add +-> which allows you to add to a local variable, like +! .\r
+       - VALUE now works properly as a self fetching constant.\r
+       - Add CODE-SIZE and HEADERS-SIZE which lets you resize\r
+         dictionary saved using SAVE-FORTH.\r
+       - Added FILE?. Enter "FILE? THEN" to see what files THEN is defined in.\r
+       - Fixed bug in local variables that caused problems if compilation\r
+         aborted in a word with local variables.\r
+       - Added SEE which "disassembles" Forth words. See "see.fth".\r
+       - Added PRIVATE{ which can be used to hide low level support\r
+         words.  See "private.fth".\r
+       \r
+V12 - 12/1/96\r
+       - Advance pointers in pfCopyMemory() and pfSetMemory()\r
+         to fix PF_NO_CLIB build.\r
+       - Increase size of array for PF_NO_MALLOC\r
+       - Eliminate many warnings involving type casts and (const char *)\r
+       - Fix error recovery in dictionary creation.\r
+       - Conditionally eliminate some include files for embedded builds.\r
+       - Cleanup some test files.\r
+\r
+V11 - 11/14/96\r
+       - Added support for AUTO.INIT and AUTO.TERM.  These are called\r
+         automagically when the Forth starts and quits.\r
+       - Change all int to int32.\r
+       - Changed DO LOOP to ?DO LOOP in ENDCASE and LV.MATCH\r
+         to fix hang when zero local variables.\r
+       - Align long word members in :STRUCT to avoid bus errors.\r
+       \r
+V10 - 3/21/96\r
+       - Close nested source files when INCLUDE aborts.\r
+       - Add PF_NO_CLIB option to reduce OS dependencies.\r
+       - Add CREATE-FILE, fix R/W access mode for OPEN-FILE.\r
+       - Use PF_FLOAT instead of FLOAT to avoid DOS problem.\r
+       - Add PF_HOST_DOS for compilation control.\r
+       - Shorten all long file names to fit in the 8.3 format\r
+         required by some primitive operating systems. My\r
+         apologies to those with modern computers who suffer\r
+         as a result.  ;-)\r
+       \r
+V9 - 10/13/95\r
+       - Cleaned up and documented for alpha release.\r
+       - Added EXISTS?\r
+       - compile floats.fth if F* exists\r
+       - got PF_NO_SHELL working\r
+       - added TURNKEY to build headerless dictionary apps\r
+       - improved release script and rlsMakefile\r
+       - added FS@ and FS! for FLPT structure members\r
+\r
+V8 - 5/1/95\r
+       - Report line number and line dump when INCLUDE aborts\r
+       - Abort if stack depth changes in colon definition. Helps\r
+         detect unbalanced conditionals (IF without THEN).\r
+       - Print bytes added by include.  Helps determine current file.\r
+       - Added RETURN-CODE which is returned to caller, eg. UNIX shell.\r
+       - Changed Header and Code sizes to 60000 and 150000\r
+       - Added check for overflowing dictionary when creating secondaries.\r
+\r
+V8 - 5/1/95\r
+       - Report line number and line dump when INCLUDE aborts\r
+       - Abort if stack depth changes in colon definition. Helps\r
+         detect unbalanced conditionals (IF without THEN).\r
+       - Print bytes added by include.  Helps determine current file.\r
+       - Added RETURN-CODE which is returned to caller, eg. UNIX shell.\r
+       - Changed Header and Code sizes to 60000 and 150000\r
+       - Added check for overflowing dictionary when creating secondaries.\r
+       \r
+V7 - 4/12/95\r
+       - Converted to 3DO Teamware environment\r
+       - Added conditional compiler [IF] [ELSE] [THEN], use like #if\r
+       - Fixed W->S B->S for positive values\r
+       - Fixed ALLOCATE FREE validation.  Was failing on some 'C' compilers.\r
+       - Added FILE-SIZE\r
+       - Fixed ERASE, now fills with zero instead of BL\r
+       \r
+V6 - 3/16/95\r
+       - Added floating point\r
+       - Changed NUMBER? to return a numeric type\r
+       - Support double number entry, eg.   234.  -> 234 0\r
+\r
+V5 - 3/9/95\r
+       - Added pfReportError()\r
+       - Fixed problem with NumPrimitives growing and breaking dictionaries\r
+       - Reduced size of saved dictionaries, 198K -> 28K in one instance\r
+       - Funnel all terminal I/O through ioKey() and ioEmit()\r
+       - Removed dependencies on printf() except for debugging\r
+\r
+V4 - 3/6/95\r
+       - Added smart conditionals to allow IF THEN DO LOOP etc.\r
+         outside colon definitions.\r
+       - Fixed RSHIFT, made logical.\r
+       - Added ARSHIFT for arithmetic shift.\r
+       - Added proper M*\r
+       - Added <> U> U<\r
+       - Added FM/MOD SM/REM /MOD MOD */ */MOD\r
+       - Added +LOOP EVALUATE UNLOOP EXIT\r
+       - Everything passes "coretest.fth" except UM/MOD FIND and WORD\r
+       \r
+V3 - 3/1/95\r
+       - Added support for embedded systems: PF_NO_FILEIO\r
+       and PF_NO_MALLOC.\r
+       - Fixed bug in dictionary loader that treated HERE as name relative.\r
+       \r
+V2 - 8/94\r
+       - made improvements necessary for use with M2 Verilog testing\r
+\r
+V1 - 5/94\r
+       - built pForth from various Forths including HMSL\r
+\r
+----------------------------------------------------------\r
+       \r
+\r
+Enjoy,\r
+Phil Burk\r