raptor v2.14.0
authorjjkang
Wed, 23 Jun 2010 17:27:59 +0800
changeset 591 22486c9c7b15
parent 590 360bd6b35136
child 607 378360dbbdba
raptor v2.14.0
sbsv2/raptor/RELEASE-NOTES.html
sbsv2/raptor/bin/depcrunch.py
sbsv2/raptor/bin/recipestats.py
sbsv2/raptor/bin/sbs_check_exports.py
sbsv2/raptor/bin/sbs_env.bat
sbsv2/raptor/bin/sbs_filter
sbsv2/raptor/bin/sbs_filter.bat
sbsv2/raptor/bin/sbs_filter.py
sbsv2/raptor/bin/timelines.py
sbsv2/raptor/lib/flm/e32abiv2pdll.flm
sbsv2/raptor/lib/flm/run.mk
sbsv2/raptor/lib/flm/win32pdll.flm
sbsv2/raptor/license.txt
sbsv2/raptor/notes/abiv1_implibs.txt
sbsv2/raptor/notes/cross_compiling_tools.txt
sbsv2/raptor/notes/cygwin_1_7.txt
sbsv2/raptor/notes/delete_on_failed_compile.txt
sbsv2/raptor/notes/epocnestedexceptions.txt
sbsv2/raptor/notes/featurevariantsafe.txt
sbsv2/raptor/notes/localresourcecopying.txt
sbsv2/raptor/notes/parametric_log_filters.txt
sbsv2/raptor/notes/query_cli.txt
sbsv2/raptor/notes/system_definition_v3.txt
sbsv2/raptor/notes/tcomsupport.txt
sbsv2/raptor/python/plugins/filter_broken.py
sbsv2/raptor/python/plugins/filter_bz2log.py
sbsv2/raptor/python/plugins/filter_check.py
sbsv2/raptor/python/plugins/filter_checkcomp.py
sbsv2/raptor/python/plugins/filter_component.py
sbsv2/raptor/python/plugins/filter_copyfile.py
sbsv2/raptor/python/plugins/filter_tagcount.py
sbsv2/raptor/python/plugins/filter_timing.py
sbsv2/raptor/python/plugins/filter_whatcomp.py
sbsv2/raptor/python/raptor_api.py
sbsv2/raptor/python/raptor_buildplatform.py
sbsv2/raptor/python/raptor_timing.py
sbsv2/raptor/test/System_Definition.xml
sbsv2/raptor/test/cluster/README
sbsv2/raptor/test/cluster/headtest.sh
sbsv2/raptor/test/cluster/nodetest.sh
sbsv2/raptor/test/cluster/pvmtest.sh
sbsv2/raptor/test/common/raptor_tests.py
sbsv2/raptor/test/common/run_tests.py
sbsv2/raptor/test/config/abiv1kit/os_properties.xml
sbsv2/raptor/test/config/api.xml
sbsv2/raptor/test/config/apply_test_variants.xml
sbsv2/raptor/test/config/arm.xml
sbsv2/raptor/test/config/default.xml
sbsv2/raptor/test/config/interface.xml
sbsv2/raptor/test/config/os_properties.xml
sbsv2/raptor/test/config/user.xml
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun01/makefiles_testrun01.zip
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun01/testrig01.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun02/makefiles_testrun02.zip
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun02/testrig02.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun03/makefiles_testrun03.zip
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun03/testrig03.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun04/makefiles_testrun04.zip
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun04/testrig04.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun05/makefiles_testrun05.zip
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun05/testrig05.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun06/makefiles_testrun06.zip
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun06/testrig06.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun07/makefiles_testrun07.zip
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun07/testrig07.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun08/makefiles_testrun08.zip
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun08/testrig08.bat
sbsv2/raptor/test/core_utils/HowTo.txt
sbsv2/raptor/test/core_utils/makemakefile.py
sbsv2/raptor/test/core_utils/mingw.tar.bz2
sbsv2/raptor/test/core_utils/msys.tar.bz2
sbsv2/raptor/test/core_utils/src/msys-sed-4.1.5-src.tar.gz
sbsv2/raptor/test/envelope/1quarter.xml
sbsv2/raptor/test/envelope/2quarter.xml
sbsv2/raptor/test/envelope/all_nocompsupp.xml
sbsv2/raptor/test/envelope/allexport.xml
sbsv2/raptor/test/envelope/allexport2.xml
sbsv2/raptor/test/envelope/little.xml
sbsv2/raptor/test/envelope/preexport.xml
sbsv2/raptor/test/envelope/syslib0.xml
sbsv2/raptor/test/envelope/syslib1.xml
sbsv2/raptor/test/envelope/syslib2.xml
sbsv2/raptor/test/logging/bld.inf
sbsv2/raptor/test/logging/simple.mmp
sbsv2/raptor/test/logging/test.cpp
sbsv2/raptor/test/metadata/config/empty_cfg.cfg
sbsv2/raptor/test/metadata/config/invalid_cfg.cfg
sbsv2/raptor/test/metadata/config/test_cfg.cfg
sbsv2/raptor/test/metadata/include/subdir/test_hrh_include.h
sbsv2/raptor/test/metadata/include/test_hrh.hrh
sbsv2/raptor/test/metadata/project/bld.infs/bad_lone_end.inf
sbsv2/raptor/test/metadata/project/bld.infs/default_plats.inf
sbsv2/raptor/test/metadata/project/bld.infs/default_plats_minus_plat.inf
sbsv2/raptor/test/metadata/project/bld.infs/exports.inf
sbsv2/raptor/test/metadata/project/bld.infs/extensions.inf
sbsv2/raptor/test/metadata/project/bld.infs/includes/dir1/dir2/up_dir.inf
sbsv2/raptor/test/metadata/project/bld.infs/includes/dir3/down_dir.inf
sbsv2/raptor/test/metadata/project/bld.infs/includes/top_level.inf
sbsv2/raptor/test/metadata/project/bld.infs/multiple_plats.inf
sbsv2/raptor/test/metadata/project/bld.infs/no_plats.inf
sbsv2/raptor/test/metadata/project/bld.infs/no_prj_platforms.inf
sbsv2/raptor/test/metadata/project/bld.infs/single_plat.inf
sbsv2/raptor/test/metadata/project/mmps/includes/dir1/dir2/up_dir.mmh
sbsv2/raptor/test/metadata/project/mmps/includes/dir3/down_dir.mmh
sbsv2/raptor/test/metadata/project/mmps/includes/top_level.inf
sbsv2/raptor/test/metadata/project/mmps/includes/top_level.mmp
sbsv2/raptor/test/metadata/project/mmps/test_mmps/autotest.mmp
sbsv2/raptor/test/metadata/project/mmps/test_mmps/ignoretest.mmp
sbsv2/raptor/test/metadata/project/mmps/test_mmps/manualtest.mmp
sbsv2/raptor/test/metadata/project/mmps/test_mmps/supporttest.mmp
sbsv2/raptor/test/metadata/project/mmps/test_mmps/test_mmps.inf
sbsv2/raptor/test/metadata/system/system_definition_1.3.1.xml
sbsv2/raptor/test/metadata/system/system_definition_1.4.1.xml
sbsv2/raptor/test/metadata/system/system_definition_1.5.1.xml
sbsv2/raptor/test/metadata/system/system_definition_2.0.0.xml
sbsv2/raptor/test/metadata/system/system_definition_3.0.0.xml
sbsv2/raptor/test/metadata/system/system_definition_multi_layers.xml
sbsv2/raptor/test/metadata/system/system_definition_nover.xml
sbsv2/raptor/test/oe_linking_against_se_lib/group/bld.inf
sbsv2/raptor/test/oe_linking_against_se_lib/group/test_oeexe.mmp
sbsv2/raptor/test/oe_linking_against_se_lib/test_oedll.h
sbsv2/raptor/test/oe_linking_against_se_lib/test_oeexe.cpp
sbsv2/raptor/test/oe_linking_against_se_lib/test_oeexe_wins.cpp
sbsv2/raptor/test/retirement/metadep.py
sbsv2/raptor/test/run
sbsv2/raptor/test/run.bat
sbsv2/raptor/test/simple/test_dbg.cpp
sbsv2/raptor/test/smoke_suite/annofile2log.py
sbsv2/raptor/test/smoke_suite/apply_usecases.py
sbsv2/raptor/test/smoke_suite/armv5_asmtest.py
sbsv2/raptor/test/smoke_suite/armv5_stringtable.py
sbsv2/raptor/test/smoke_suite/armv5_testcode.py
sbsv2/raptor/test/smoke_suite/armv7_asmtest.py
sbsv2/raptor/test/smoke_suite/armv7_stringtable.py
sbsv2/raptor/test/smoke_suite/armv7_testcode.py
sbsv2/raptor/test/smoke_suite/bitmap.py
sbsv2/raptor/test/smoke_suite/capability_arm.py
sbsv2/raptor/test/smoke_suite/clean_readonly.py
sbsv2/raptor/test/smoke_suite/cli_makevar_override.py
sbsv2/raptor/test/smoke_suite/commandfile.py
sbsv2/raptor/test/smoke_suite/commandline.py
sbsv2/raptor/test/smoke_suite/configpath.py
sbsv2/raptor/test/smoke_suite/defs_armv5.py
sbsv2/raptor/test/smoke_suite/defs_armv7.py
sbsv2/raptor/test/smoke_suite/delete_on_failed_compile.py
sbsv2/raptor/test/smoke_suite/depcrunch_test.py
sbsv2/raptor/test/smoke_suite/dependencies.py
sbsv2/raptor/test/smoke_suite/dll_armv5.py
sbsv2/raptor/test/smoke_suite/dll_armv5_smp.py
sbsv2/raptor/test/smoke_suite/dll_armv5_winscw_freeze.py
sbsv2/raptor/test/smoke_suite/dll_armv6.py
sbsv2/raptor/test/smoke_suite/dll_armv7.py
sbsv2/raptor/test/smoke_suite/dll_winscw.py
sbsv2/raptor/test/smoke_suite/dll_winscw_win32resource.py
sbsv2/raptor/test/smoke_suite/emulated_drives.py
sbsv2/raptor/test/smoke_suite/exe_armv5.py
sbsv2/raptor/test/smoke_suite/exe_armv5_filtered.py
sbsv2/raptor/test/smoke_suite/exe_armv5_smp.py
sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_check.py
sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_plus_clean.py
sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_single_file.py
sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_what.py
sbsv2/raptor/test/smoke_suite/exe_armv7.py
sbsv2/raptor/test/smoke_suite/exe_checksource.py
sbsv2/raptor/test/smoke_suite/exe_winscw.py
sbsv2/raptor/test/smoke_suite/export.py
sbsv2/raptor/test/smoke_suite/export_multi.py
sbsv2/raptor/test/smoke_suite/extension_reallyclean.py
sbsv2/raptor/test/smoke_suite/extension_whattarget.py
sbsv2/raptor/test/smoke_suite/featurevariants.py
sbsv2/raptor/test/smoke_suite/filter_missing.py
sbsv2/raptor/test/smoke_suite/filter_params.py
sbsv2/raptor/test/smoke_suite/flm_extension.py
sbsv2/raptor/test/smoke_suite/gccxml.py
sbsv2/raptor/test/smoke_suite/gnumakefile.py
sbsv2/raptor/test/smoke_suite/gnumakefile_what.py
sbsv2/raptor/test/smoke_suite/gnumakefile_whatlog.py
sbsv2/raptor/test/smoke_suite/gui_whatlog.py
sbsv2/raptor/test/smoke_suite/implib_armv5.py
sbsv2/raptor/test/smoke_suite/implib_armv5_smp.py
sbsv2/raptor/test/smoke_suite/implib_armv5_what.py
sbsv2/raptor/test/smoke_suite/implib_armv5_with_armv5_smp.py
sbsv2/raptor/test/smoke_suite/implib_nodef.py
sbsv2/raptor/test/smoke_suite/implib_whatlog.py
sbsv2/raptor/test/smoke_suite/implib_winscw.py
sbsv2/raptor/test/smoke_suite/implib_winscw_what.py
sbsv2/raptor/test/smoke_suite/input_validation.py
sbsv2/raptor/test/smoke_suite/kdll_armv5.py
sbsv2/raptor/test/smoke_suite/keepgoing.py
sbsv2/raptor/test/smoke_suite/lib_armv5_armv7.py
sbsv2/raptor/test/smoke_suite/lib_versioned.py
sbsv2/raptor/test/smoke_suite/lib_winscw.py
sbsv2/raptor/test/smoke_suite/listing.py
sbsv2/raptor/test/smoke_suite/longfilenames.py
sbsv2/raptor/test/smoke_suite/longpath.py
sbsv2/raptor/test/smoke_suite/make_engine_errors.py
sbsv2/raptor/test/smoke_suite/mmp_keywords.py
sbsv2/raptor/test/smoke_suite/mmp_select.py
sbsv2/raptor/test/smoke_suite/named_extension.py
sbsv2/raptor/test/smoke_suite/nobuild.py
sbsv2/raptor/test/smoke_suite/non_ascii.py
sbsv2/raptor/test/smoke_suite/openenvironment.py
sbsv2/raptor/test/smoke_suite/output_control.py
sbsv2/raptor/test/smoke_suite/paging.py
sbsv2/raptor/test/smoke_suite/parallel_parsing.py
sbsv2/raptor/test/smoke_suite/pdll_arm.py
sbsv2/raptor/test/smoke_suite/pdll_winscw.py
sbsv2/raptor/test/smoke_suite/plugin_armv5_winscw_freeze.py
sbsv2/raptor/test/smoke_suite/pre_export.py
sbsv2/raptor/test/smoke_suite/qt_helloworld.py
sbsv2/raptor/test/smoke_suite/query_cli.py
sbsv2/raptor/test/smoke_suite/raptor_crash.py
sbsv2/raptor/test/smoke_suite/resource.py
sbsv2/raptor/test/smoke_suite/retry.py
sbsv2/raptor/test/smoke_suite/romfile.py
sbsv2/raptor/test/smoke_suite/sbs_with_nonexisting_bldinf.py
sbsv2/raptor/test/smoke_suite/smp.py
sbsv2/raptor/test/smoke_suite/splitlog_filter.py
sbsv2/raptor/test/smoke_suite/stringtable_zip_whatlog.py
sbsv2/raptor/test/smoke_suite/sysdef_dud.py
sbsv2/raptor/test/smoke_suite/sysdef_exports.py
sbsv2/raptor/test/smoke_suite/sysdef_layers.py
sbsv2/raptor/test/smoke_suite/talon_test.py
sbsv2/raptor/test/smoke_suite/tem_conflicts.py
sbsv2/raptor/test/smoke_suite/tem_stages.py
sbsv2/raptor/test/smoke_suite/temtest.py
sbsv2/raptor/test/smoke_suite/terminal_filter_tests.py
sbsv2/raptor/test/smoke_suite/test_resources/annofile2log/scrubbed_ncp_dfs_resource.anno.bz2
sbsv2/raptor/test/smoke_suite/test_resources/annofile2log/scrubbed_ncp_dfs_resource.stdout.bz2
sbsv2/raptor/test/smoke_suite/test_resources/annofile2log/testanno2log.py
sbsv2/raptor/test/smoke_suite/test_resources/apply_usecases/apply_test_usecases_variants.xml
sbsv2/raptor/test/smoke_suite/test_resources/apply_usecases/linker_options/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/apply_usecases/linker_options/test_apply_linkeroptions.cpp
sbsv2/raptor/test/smoke_suite/test_resources/apply_usecases/linker_options/test_apply_linkeroptions.mmp
sbsv2/raptor/test/smoke_suite/test_resources/asmtest/asmtest.mmp
sbsv2/raptor/test/smoke_suite/test_resources/asmtest/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/asmtest/testasm.s
sbsv2/raptor/test/smoke_suite/test_resources/asmtest/testassembler.cpp
sbsv2/raptor/test/smoke_suite/test_resources/asmtest/testcia.cia
sbsv2/raptor/test/smoke_suite/test_resources/basics/commonframework/CommonFramework.h
sbsv2/raptor/test/smoke_suite/test_resources/basics/commonframework/DISTRIBUTION.POLICY
sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/Bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/DISTRIBUTION.POLICY
sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/HelloWorld.cpp
sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/HelloWorld.mmp
sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/result_creation.flm
sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/result_creation.xml
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF24.BMP
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF2M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF32.BMP
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF3M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF48.BMP
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF4M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/bmt.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/mifconv.flm
sbsv2/raptor/test/smoke_suite/test_resources/bitmap/mifconv.xml
sbsv2/raptor/test/smoke_suite/test_resources/bv/CREATESTATICDLLARM.def
sbsv2/raptor/test/smoke_suite/test_resources/bv/CREATESTATICDLLWINS.def
sbsv2/raptor/test/smoke_suite/test_resources/bv/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/bv/config/properties/os_properties.xml
sbsv2/raptor/test/smoke_suite/test_resources/bv/config/variants/bv_test.xml
sbsv2/raptor/test/smoke_suite/test_resources/bv/debug/dummy.lib
sbsv2/raptor/test/smoke_suite/test_resources/bv/debug/fake.lib
sbsv2/raptor/test/smoke_suite/test_resources/bv/hrh/bv_hrh_relative/relative.h
sbsv2/raptor/test/smoke_suite/test_resources/bv/hrh/var1.hrh
sbsv2/raptor/test/smoke_suite/test_resources/bv/hrh/var2.hrh
sbsv2/raptor/test/smoke_suite/test_resources/bv/hrh/var3.hrh
sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.cpp
sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.h
sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticLib.cpp
sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticLib.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/dummy.rss
sbsv2/raptor/test/smoke_suite/test_resources/bv/listA.txt
sbsv2/raptor/test/smoke_suite/test_resources/bv/listB.txt
sbsv2/raptor/test/smoke_suite/test_resources/bv/release/dummy.lib
sbsv2/raptor/test/smoke_suite/test_resources/bv/release/fake.lib
sbsv2/raptor/test/smoke_suite/test_resources/bv/var1/var1.h
sbsv2/raptor/test/smoke_suite/test_resources/bv/var2/var2.h
sbsv2/raptor/test/smoke_suite/test_resources/bv/var3/var3.h
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.cpp
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.h
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/dummy.rss
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.cpp
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.h
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/dummy.rss
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.cpp
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.h
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/dummy.rss
sbsv2/raptor/test/smoke_suite/test_resources/bv/with_errors.cpp
sbsv2/raptor/test/smoke_suite/test_resources/bv/with_macros.cpp
sbsv2/raptor/test/smoke_suite/test_resources/bv/without_macros.cpp
sbsv2/raptor/test/smoke_suite/test_resources/checksource/commonframework/CommonFramework.h
sbsv2/raptor/test/smoke_suite/test_resources/checksource/helloworld/Bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/checksource/helloworld/HelloWorld.mmp
sbsv2/raptor/test/smoke_suite/test_resources/checksource/helloworld/HelloWorld2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/checksource/source/HelloWorld.cpp
sbsv2/raptor/test/smoke_suite/test_resources/configpathtest/v2/variant2.xml
sbsv2/raptor/test/smoke_suite/test_resources/configpathtest/v3/variant3.xml
sbsv2/raptor/test/smoke_suite/test_resources/defs/eabi/deftestu.def
sbsv2/raptor/test/smoke_suite/test_resources/defs/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/defs/group/deftest.mmp
sbsv2/raptor/test/smoke_suite/test_resources/defs/group/e32def.h
sbsv2/raptor/test/smoke_suite/test_resources/defs/group/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/depcrunch/dep2.rpp.d
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.h
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.rh
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.cpp
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.rss
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.cpp
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.rss
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.cpp
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.rss
sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/emulated_drives_export.cpp
sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/emulated_drives_export.mmp
sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/emulated_drives_export1.mbm
sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/emulated_drives_export2.mbm
sbsv2/raptor/test/smoke_suite/test_resources/filter_test/testfilter.py
sbsv2/raptor/test/smoke_suite/test_resources/filter_test/testfilter_exceptions.py
sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/master.mak
sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/simple.mmp
sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/slave.mak
sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/inc/macrotests.h
sbsv2/raptor/test/smoke_suite/test_resources/inc/macrotests.mmh
sbsv2/raptor/test/smoke_suite/test_resources/keepgoing/groups.xml
sbsv2/raptor/test/smoke_suite/test_resources/logexamples/filter_component.log
sbsv2/raptor/test/smoke_suite/test_resources/logexamples/what_component_repeated.log
sbsv2/raptor/test/smoke_suite/test_resources/long/paths/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/long/paths/deftest.mmp
sbsv2/raptor/test/smoke_suite/test_resources/long/paths/deftestu.def
sbsv2/raptor/test/smoke_suite/test_resources/long/paths/e32def.h
sbsv2/raptor/test/smoke_suite/test_resources/long/paths/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/longfilenames/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/longfilenames/longerfilenamethanyoumightnormallyexpecttobepresent.cpp
sbsv2/raptor/test/smoke_suite/test_resources/make_crash/exception_crash.inf
sbsv2/raptor/test/smoke_suite/test_resources/make_crash/make_crash.flm
sbsv2/raptor/test/smoke_suite/test_resources/make_crash/make_crash.xml
sbsv2/raptor/test/smoke_suite/test_resources/make_crash/memory_crash.inf
sbsv2/raptor/test/smoke_suite/test_resources/make_engine_errors/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/make_engine_errors/with_make_errors.flm
sbsv2/raptor/test/smoke_suite/test_resources/make_engine_errors/with_make_errors.xml
sbsv2/raptor/test/smoke_suite/test_resources/metadep.sh
sbsv2/raptor/test/smoke_suite/test_resources/mmp/apply/apply_test_exported_variants.xml
sbsv2/raptor/test/smoke_suite/test_resources/mmp/apply/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/apply/test_mmp_apply.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/apply/test_mmp_apply.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/eabi/shutdownsrvu.def
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/group/shutdownsrv.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/inc/shutdownsrv.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdownsrv.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdownsrvpatchdata.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdownsrvpatchdata.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdowntimer.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdowntimer.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/bytepaircompresstarget.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/combinedcompresstarget.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/compress.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/compresstarget.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/inflatecompresstarget.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/nocompresstarget.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/codecs/ColorConverter.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/codecs/ImageProcessor.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/group/ImageProcessorPerf.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/inc/icl/icl_uids.hrh
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/inc/icl/imageprocessor.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/src/ImageClientMain.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/src/ImageProcessorPriv.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/src/ImageUtils.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/src/fwextconstants.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi_common.mmh
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi_vfpv2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/exchange.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/t_oom.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/t_oom.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/tbm.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/tbm.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/buffer/t_rbuf.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_lddturnaroundtimertest.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_lddturnaroundtimertest.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_lddturnaroundtimertest.inl
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_newldd.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_newldd.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/t_new_classes.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/t_new_classes.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/t_newldd.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/d_lddturnaroundtimertest.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/d_newldd.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_rbuf.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_sharedio3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/d_sharedio.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/freeram.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/t_sharedio.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzlib.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzv5.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzv5.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/u32std.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/uc_exe.cia
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/uc_exex86.cia
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/x86hlp.inl
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress_noarmlibs.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp8/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp8/test_mmp_version.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp8/test_mmp_version.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/armfpu.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/armfpu_soft.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/armfpu_vfpv2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/non_ascii/cmd.txt
sbsv2/raptor/test/smoke_suite/test_resources/oe/bwins/t_oedll.def
sbsv2/raptor/test/smoke_suite/test_resources/oe/eabi/t_oedll.def
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/oe_exe_without_stdcpp.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/symbian_exe.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/symbian_exe_with_stdcpp.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/symbian_lib.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oedll.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oeexe.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oelib.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/wrong_newlib_oe_exe.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/wrong_newlib_symbian_exe.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/symbian_lib.cpp
sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oedll.cpp
sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oedll.h
sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oeexe.cpp
sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oeexe_wins.cpp
sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oelib.cpp
sbsv2/raptor/test/smoke_suite/test_resources/oe/wrong_newlib_symbian.cpp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp1.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp1.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp10.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp10.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp2.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp3.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp4.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp4.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp5.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp5.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp6.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp6.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp7.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp7.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp8.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp8.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp9.inf
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp9.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pp/pp_common.mmh
sbsv2/raptor/test/smoke_suite/test_resources/pp/ppbldinf_commandfile
sbsv2/raptor/test/smoke_suite/test_resources/pp/readme
sbsv2/raptor/test/smoke_suite/test_resources/pp/test.cia
sbsv2/raptor/test/smoke_suite/test_resources/pp/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/pp/test.h
sbsv2/raptor/test/smoke_suite/test_resources/pp/test1.c++
sbsv2/raptor/test/smoke_suite/test_resources/pp/test2.cxx
sbsv2/raptor/test/smoke_suite/test_resources/pp/test3.Cpp
sbsv2/raptor/test/smoke_suite/test_resources/pp/test4.cc
sbsv2/raptor/test/smoke_suite/test_resources/pp/test5.CC
sbsv2/raptor/test/smoke_suite/test_resources/pp/test6.C++
sbsv2/raptor/test/smoke_suite/test_resources/pre-export/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/pre-export/mmh/my.mmh
sbsv2/raptor/test/smoke_suite/test_resources/pre-export/simple.mmp
sbsv2/raptor/test/smoke_suite/test_resources/pre-export/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/qt/helloworld.cpp
sbsv2/raptor/test/smoke_suite/test_resources/qt/helloworldqt.pro
sbsv2/raptor/test/smoke_suite/test_resources/refilter/Makefile_broken.log
sbsv2/raptor/test/smoke_suite/test_resources/refilter/refilter.py
sbsv2/raptor/test/smoke_suite/test_resources/refilter/testfilterterminal
sbsv2/raptor/test/smoke_suite/test_resources/refilter/testfilterterminal.bat
sbsv2/raptor/test/smoke_suite/test_resources/refilter/testfilterterminal.py
sbsv2/raptor/test/smoke_suite/test_resources/resource/aifsrccl/DEF24.BMP
sbsv2/raptor/test/smoke_suite/test_resources/resource/aifsrccl/DEF2M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/resource/dependentresource.rss
sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/resource/group/testresource.mmp
sbsv2/raptor/test/smoke_suite/test_resources/resource/group/testresource_badef.rh
sbsv2/raptor/test/smoke_suite/test_resources/resource/inc/testresource.hrh
sbsv2/raptor/test/smoke_suite/test_resources/resource/inc/testresource.rh
sbsv2/raptor/test/smoke_suite/test_resources/resource/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/resource/testresource.rls
sbsv2/raptor/test/smoke_suite/test_resources/resource/testresource.rss
sbsv2/raptor/test/smoke_suite/test_resources/retry/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/retry/retry_test.flm
sbsv2/raptor/test/smoke_suite/test_resources/retry/retry_test.xml
sbsv2/raptor/test/smoke_suite/test_resources/scripts/delete_on_failed_compile.py
sbsv2/raptor/test/smoke_suite/test_resources/simple/always_build_as_arm.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple/always_build_as_arm_bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple/build_spec.xml
sbsv2/raptor/test/smoke_suite/test_resources/simple/capability.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple/capability.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple/commands-v7.txt
sbsv2/raptor/test/smoke_suite/test_resources/simple/compilervariants/delete_on_failed_compile_compiler_variants.xml
sbsv2/raptor/test/smoke_suite/test_resources/simple/debuggable.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple/debuggable_bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple/makevariants/delete_on_failed_compile_make_variants.xml
sbsv2/raptor/test/smoke_suite/test_resources/simple/simple.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple/test.cia
sbsv2/raptor/test/smoke_suite/test_resources/simple/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple/test.h
sbsv2/raptor/test/smoke_suite/test_resources/simple/test1.c++
sbsv2/raptor/test/smoke_suite/test_resources/simple/test2.cxx
sbsv2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple/test4.cc
sbsv2/raptor/test/smoke_suite/test_resources/simple/test5.CC
sbsv2/raptor/test/smoke_suite/test_resources/simple/test6.C++
sbsv2/raptor/test/smoke_suite/test_resources/simple_crash/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICDLLARM.def
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICDLLWINS.def
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICPDLLARM.def
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICPDLLWINS.def
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CommonFramework.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/armv6_specific.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/armv7_specific.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/pbld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/epoc32.ico
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/gui.rc
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/hand.cur
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/resource.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/win32resourcedll.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/executable_file
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/file with a space.doc
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple_exp1.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple_exp2.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple_exp3.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple_exp4.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/build.meta
sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/build.mk
sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/clean.meta
sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/clean.mk
sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/flm_bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/flm_export.flm
sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/flm_export.xml
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/Bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/BldVar2.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/Bld_stdcpp.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/DISTRIBUTION.policy
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.hrh
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.pkg
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.rss
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldVar2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_reg.rss
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldstdcpp.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon24.BMP
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon2M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon32.BMP
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon3M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon48.BMP
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon4M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/bwins/implib_implicit_def.def
sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/eabi/implib_implicit_def.def
sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/group/implib_implicit_def.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/group/implib_no_def.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/simple_implib.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/simple_implib_emulator.def
sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/simple_implib_target.def
sbsv2/raptor/test/smoke_suite/test_resources/simple_kdll/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_kdll/kdll.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_kdll/kdll.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/simple.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/simple_lib1.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/simple_lib2.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/test_lib.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/a.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/default.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged_unpaged.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_defaultdata.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_unpageddata.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpaged.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpagedcode_pageddata.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.rss
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.rss
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin_with_deffile.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/CommonFramework.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/simple_stringtable.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/simple_stringtable.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/strings/strconsts.st
sbsv2/raptor/test/smoke_suite/test_resources/simple_test/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_test/simple_test_auto.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_test/simple_test_manual.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_test/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_test/testexportheader.h
sbsv2/raptor/test/smoke_suite/test_resources/simple_zip_export/archive.zip
sbsv2/raptor/test/smoke_suite/test_resources/simple_zip_export/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/smp/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/smp/smp.mmp
sbsv2/raptor/test/smoke_suite/test_resources/smp/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/build_gen_source/HelloWorld.hrh
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/build_gen_source/HelloWorld.rss
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/build_gen_source/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/build_gen_source/build_gen_source.mmp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/Bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.h
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.hrh
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.mmp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_AppUi.cpp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_AppView.cpp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_Application.cpp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_Document.cpp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_Main.cpp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_reg.rss
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon24.BMP
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon2M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon32.BMP
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon3M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon48.BMP
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon4M.BMP
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent_on_exports/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent_on_exports/dependent_on_exports.mmp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent_on_exports/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/exported.inf
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/exported.mmh
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export_pre1/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export_pre1/metadata_export_pre1.mmh
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export_pre2/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export_pre2/metadata_export_pre2.mmh
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/system_definition_dud.xml
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/system_definition_mmp_export_dependencies_test.xml
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/system_definition_order_layer_test.xml
sbsv2/raptor/test/smoke_suite/test_resources/talon_test/README.FIRST.txt
sbsv2/raptor/test/smoke_suite/test_resources/talon_test/script
sbsv2/raptor/test/smoke_suite/test_resources/tem/README
sbsv2/raptor/test/smoke_suite/test_resources/tem/bad2_bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tem/bad_bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tem/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tem/bldclean.inf
sbsv2/raptor/test/smoke_suite/test_resources/tem/cleantems.mk
sbsv2/raptor/test/smoke_suite/test_resources/tem/temex.mk
sbsv2/raptor/test/smoke_suite/test_resources/tem_conflict/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tem_conflict/tem_conflicts.meta
sbsv2/raptor/test/smoke_suite/test_resources/tem_conflict/tem_conflicts.mk
sbsv2/raptor/test/smoke_suite/test_resources/tem_conflict/tem_conflicts.sh
sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/tem.meta
sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/tem.mk
sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/test_exe.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/test_exe.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/test_lib.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/test_lib.mmp
sbsv2/raptor/test/smoke_suite/test_resources/timeout/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/timeout/sleeper.flm
sbsv2/raptor/test/smoke_suite/test_resources/timeout/sleeper.xml
sbsv2/raptor/test/smoke_suite/test_resources/toolchain_macros/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/toolchain_macros/macros.cpp
sbsv2/raptor/test/smoke_suite/test_resources/toolchain_macros/macros.mmp
sbsv2/raptor/test/smoke_suite/test_resources/toolcheck/toolcheck.xml
sbsv2/raptor/test/smoke_suite/test_resources/toolcheck/toolcheck6.py
sbsv2/raptor/test/smoke_suite/test_resources/tools/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tools/tool_exe.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tools/tool_lib1.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tools/tool_lib2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tools2/build_spec.xml
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/BLD.INF
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/PDRTRAN.MMP
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/TEST.PD
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/platmacros.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/LEXICAL.CPP
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRREADR.CPP
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRRECRD.CPP
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRTRAN.CPP
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/READER.CPP
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/RECORD.CPP
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/STRNG.CPP
sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/platmacros.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/header_abc.h
sbsv2/raptor/test/smoke_suite/test_resources/tools2/inc1/header_def.h
sbsv2/raptor/test/smoke_suite/test_resources/tools2/inc2/header_ghi.h
sbsv2/raptor/test/smoke_suite/test_resources/tools2/sys1/header_jkl.h
sbsv2/raptor/test/smoke_suite/test_resources/tools2/sys2/header_mno.h
sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_exe.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_exe_a.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_exe_b.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib1.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib1_a.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib1_b.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib2_a.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib2_b.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/autorun1.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/autorun2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/autorun3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/HelloWorld.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/inc/HelloWorld.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/src/HelloWorld.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/CommonFramework.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/TCSTATICDLLWINS.def
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsfiletwo.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsfiletwo.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/traces/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/epoc32.ico
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/gui.rc
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/hand.cur
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/resource.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/win32resourcedll.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/group/tc_variants.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/hrh/var1.hrh
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/hrh/var2.hrh
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/hrh/var3.hrh
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/list.txt
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/src/tc_a.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/src/tc_b.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/src/tc_c.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/src/tc_main.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/variants.xml
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/mum.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/src/child1.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/src/child2.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/src/child3.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/src/common.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child1_exe/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/use_tc.xml
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/var1/var.hrh
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/var2/var.hrh
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/var3/var.hrh
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/eabi/testTCu.def
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/test.TC.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/testTC.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/bcmnvmem.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/gendebug.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/lmac_firmware.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/plt_firmware.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinit.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitinterface.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitmain.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitpermparser.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinittypes.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinit.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinitmain.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinitpermparser.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/traces/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/invariant_source.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/variant_source.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/src/inv_source.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/src/var_source1.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/src/var_source2.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/src/var_source3.cpp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/use_tc.xml
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/var1/var.hrh
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/var2/var.hrh
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/CommonFramework.h
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/exeusingunfrozen.mmp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/freeze.inf
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/frozen_with_removed_export.mmp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/missing_symbols.cpp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/partfrozenarm.def
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/partfrozenwins.def
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.cpp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.h
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.mmp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_for_freeze.mmp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_with_deffile.mmp
sbsv2/raptor/test/smoke_suite/test_resources/variantplatforms/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/variantplatforms/variantplatforms.flm
sbsv2/raptor/test/smoke_suite/test_resources/variantplatforms/variantplatforms.xml
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/dllversioning.inf
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/test.cpp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.cpp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.h
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.mmp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_20.mmp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_eabi.def
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_eabi{00020000}.def
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_wins.def
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_wins{00020000}.def
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib.def
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib01.mmp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib02.mmp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib03.mmp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib04.mmp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/xver_20.mmp
sbsv2/raptor/test/smoke_suite/test_resources/xml_invalid_chars/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/xml_invalid_chars/simple.mmp
sbsv2/raptor/test/smoke_suite/test_resources/xml_invalid_chars/test.cpp
sbsv2/raptor/test/smoke_suite/timeout.py
sbsv2/raptor/test/smoke_suite/timing.py
sbsv2/raptor/test/smoke_suite/toolchain_macros.py
sbsv2/raptor/test/smoke_suite/toolcheck.py
sbsv2/raptor/test/smoke_suite/tools.py
sbsv2/raptor/test/smoke_suite/tools2.py
sbsv2/raptor/test/smoke_suite/tools2_cross_compilation.py
sbsv2/raptor/test/smoke_suite/tracecompiler_general.py
sbsv2/raptor/test/smoke_suite/tracecompiler_incremental.py
sbsv2/raptor/test/smoke_suite/tracecompiler_variants.py
sbsv2/raptor/test/smoke_suite/tracecompiler_whatlog.py
sbsv2/raptor/test/smoke_suite/unfrozen.py
sbsv2/raptor/test/smoke_suite/unfrozen_savespace.py
sbsv2/raptor/test/smoke_suite/variantplatforms.py
sbsv2/raptor/test/smoke_suite/whatcomp.py
sbsv2/raptor/test/smoke_suite/whatlog_cache.py
sbsv2/raptor/test/smoke_suite/winscw_resource.py
sbsv2/raptor/test/smoke_suite/wrong_projectname.py
sbsv2/raptor/test/smoke_suite/xml_invalid_chars.py
sbsv2/raptor/test/smoke_suite/zip_export_plus_clean.py
sbsv2/raptor/test/smoke_suite/zip_export_what.py
sbsv2/raptor/test/spec/spec.xml
sbsv2/raptor/test/timing_tests/parse_time_exports_mmps.py
sbsv2/raptor/test/unit_suite/data/ignore.xml
sbsv2/raptor/test/unit_suite/data/old_bad.xml
sbsv2/raptor/test/unit_suite/data/old_ok.xml
sbsv2/raptor/test/unit_suite/data/sbs_init.xml
sbsv2/raptor/test/unit_suite/filter_utils_unit.py
sbsv2/raptor/test/unit_suite/generic_path_unit.py
sbsv2/raptor/test/unit_suite/mmpparser_unit.py
sbsv2/raptor/test/unit_suite/raptor_api_unit.py
sbsv2/raptor/test/unit_suite/raptor_cache_unit.py
sbsv2/raptor/test/unit_suite/raptor_cli_unit.py
sbsv2/raptor/test/unit_suite/raptor_data_unit.py
sbsv2/raptor/test/unit_suite/raptor_make_unit.py
sbsv2/raptor/test/unit_suite/raptor_makefile_unit.py
sbsv2/raptor/test/unit_suite/raptor_meta_unit.py
sbsv2/raptor/test/unit_suite/raptor_unit.py
sbsv2/raptor/test/unit_suite/raptor_utilities_unit.py
sbsv2/raptor/test/unit_suite/raptor_xml_unit.py
sbsv2/raptor/util/talon/chomp.c
sbsv2/raptor/util/talon/chomp.h
sbsv2/raptor/util/talon/testchomp.c
sbsv2/raptor/util/talon/tests/config.sh
sbsv2/raptor/util/talon/tests/run.sh
sbsv2/raptor/util/talon/tests/t6.mk
sbsv2/raptor/win32/bin/unhide_ci_refs.exe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/RELEASE-NOTES.html	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,919 @@
+<html>
+<head>
+<title>Release Notes for Symbian Build System v2</title>
+</head>
+<body>
+
+<h1>Release Notes for Symbian Build System v2</h1>
+
+<h2>version 2.14.0</h2>
+
+<h3>New Features</h3>
+<ul>
+<li><a href="notes/tcomsupport.txt">           Support new Trace Compiler commandline interface, autogen header location   </a></li>
+<li><a href="notes/parametric_log_filters.txt">   Pass parameters to log filters from the command line </a></li>
+<li><a href="notes/delete_on_failed_compile.txt"> Work-around for failed RVCT 2.2 compiles             </a></li>
+<li><a href="notes/query_cli.txt">                Obtain configuration data using --query option       </a></li>
+<li>                                              Carbide.xml now contains *_gcce aliases                  </li>
+<li><a href="notes/abiv1_implibs.txt">            ABIv1 import libraries not generated by default      </a></li>
+</ul>
+
+<h3>Defect Fixes</h3>
+<ul>
+
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2605"> SF Bug 2605 </a> - [Raptor] ROMFILE creation using Raptor is not clean </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2495"> SF Bug 2495 </a> - [Raptor] KDLL TARGETTYPEs do not support .def file freezing </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2420"> SF Bug 2420 </a> - [Raptor] Output from recipes is mis-recognised as "what" output </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2297"> SF Bug 2297 </a> Python exception in raptor_meta.py when processing bld.inf file </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2174"> SF Bug 2174 </a> - [Raptor] -- layer option shows errors when bld.inf missing in another layer </li>
+<li><a href="notes/tcomsupport.txt">Fix: ensure trace paths exist before build starts to avoid clashes during the build with some make engines    </a></li>
+<li><a href="notes/tcomsupport.txt">Fix: permit traces header directory to be specified in systemincludes - helps Qt    </a></li>
+<li><a href="notes/localresourcecopying.txt">Fix: (performance in cluster builds) do resource copying on local host.</a></li>
+<li>Fix: don't generate multiple copies of the same resource just because there are several target paths. Generate it once and copy that to the different target paths. Helps when winscw is built after an arm build.</li>
+<li>Fix: (performance) remove unnecessary copying of rpp files into epoc32\localisation as they are not used.</li>
+<li>Fix: (performance) remove -C option when preprocessing rpp files - causes comments to be stripped from the rpp resulting in smaller files that improves performance.</li>
+
+</ul>
+
+
+<h2>version 2.13.0</h2>
+
+<h3>New Features</h3>
+<ul>
+
+<li><a href="notes/featurevariantsafe.txt">    Support for FEATUREVARIANTSAFE in BV builds              </a></li>
+<li><a href="notes/cygwin_1_7.txt">            Support for Cygwin 1.7                                   </a></li>
+<li><a href="notes/cross_compiling_tools.txt"> Support for cross-compiling win32 tools on Linux         </a></li>
+<li><a href="notes/system_definition_v3.txt">  Prototype support for reading System Definition v3 files </a></li>
+<li><a href="notes/epocnestedexceptions.txt">  New MMP keyword EPOCNESTEDEXCEPTIONS                     </a></li>
+
+</ul>
+
+<h3>Defect Fixes</h3>
+<ul>
+
+<li>DPDEF143018      - Raptor doesn't handle spaces in GCCE installation directory correctly                                                </li>
+<li>DPDEF143101      - GCC-E isn't tested as part of the tool checking mechanism                                                            </li>
+<li>DPDEF141195      - Raptor doesn't handle spaces in tool paths                                                                           </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2172"> SF Bug 2172 </a> - [Raptor] Resource builds warn on encountering trigraph-like strings                                                  </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2308"> SF Bug 2308 </a> - [Raptor] PLUGIN3 TARGETTYPEs don't set resource output offsets correctly                                             </li>
+<li>Fix: in copylogfromannofile mode, ensure that the build id and duration are included in the log.  These are not critical but are useful </li>
+<li>Fix: remove unnecessary empty lines in log output in copylogfromannofile mode                                                           </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=1939"> SF Bug 1939 </a> - [Raptor] PAGED keyword in MMP files should imply byte pair compressed                                                </li>
+<li>DPDEF144648      - Raptor failed to build tools_deb objects under Windows XP                                                            </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2134"> SF Bug 2134 </a> - [Raptor] Raptor does not pass overridden make variables into its makefiles                                           </li>
+<li>Fix : do not allow data to be paged implicitly</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2302"> SF Bug 2302 </a> - sbs_filter refers to python.exe in win32/python264/                                                                  </li>
+<li>Fix : Makefile Parse Performance in Resource stage is poor. Large size of included dependency files is a factor. In --no-depend-generate mode, create dependency files which only refer to other rsg/mbg files that are yet to be built - store no other dependencies.</li>
+<li>Fix : ensure that FLMDEBUG is empty by default</li>
+</ul>
+
+<!-- older notes are plain text -->
+<pre>
+version 2.12.5
+
+Defect Fixes:
+- Fix: Workaround for emake engine log corruption when clockskew errors occur (annofile2log).
+  Allow Raptor to obtain log from emake annotation file where it is uncorrupted.  A new 
+  Make engine option "copylogfromannofile" enables/disables this mode for emake. If this option is disabled
+  or if no annotation file is specified for the build then Raptor reads logs directly as normal.
+- SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp 
+- SF Bug 2191 - [Raptor] - When forcesuccess is enabled, exit status for a failed recipe is "retry" but should be "failed"
+- Fix: extend tracecompiler tests to Linux
+- Fix: Amendment to SF Bug 1511 fix - removal of blanked DEFFILE keyword from e32abiv2ani.flm
+- Fix: improve robustness to bad -c options
+
+
+version 2.12.4
+
+Defect Fixes:
+- SF Bug 2113 - [Raptor] what/check filters can assign files to the wrong components
+- SF Bug 2081 - [Raptor] - Exported file executable permissions not maintained (linux)
+- Fix: host attribute in recipes was blank in windows, windows cluster builds.
+- SF Bug 1912 - Raptor should take python from the path [if not set with SBS_PYTHON or bundled with Raptor]
+- SF Bug 2042 - [Raptor] component field empty in recipe
+- SF Bug 2007 - [Raptor] GCCE 4.4.1 builds require 4.3.1 and 4.3.2 SBS_GCCE???BIN env vars etc.
+- SF Bug 2000 - [Raptor] Talon fails when installed in a path containing the string '-c' (windows only)
+- SF Bug 1861 - [Raptor] More helpful console message in case of timeouts
+- SF Bug 1571 - Raptor cannot report error or warning message in wrong implib project
+- DPDEF142718 Incremental rebuild fails if dependent files deleted
+  --no-depend-generate added to suppress the generation and processing of dependency files
+  .DEFAULT target introduced for all non --no-depend-generate and/or --no-depend-include builds
+- Add support for PLUGIN3 TARGETTYPEs
+- Fixing logfile corruption for large GCCXML builds by suppressing zip output
+- Stop copying .bmp files to epoc32/localisation and fix the "what" reporting
+
+
+version 2.12.3
+
+Defect Fixes:
+- Don't print trace "what" information if we do not run the trace compiler.
+
+
+version 2.12.2
+
+Defect Fixes:
+- SF Bug 1569 - excessive recompilation in incremental tracecompiler builds
+- Better error messages for make-engine selection.
+  e.g. "sbs -e arm" will now produce a useful error message rather than 
+  a traceback. "arm" is a real variant but it's not a make engine.  In
+  the past sbs would have tried to use it and would have failed with a
+  complicated traceback. Also doesn't traceback for non-existent make engines.
+- sbs_filter chose wrong embedded default python version. Set to 2.6.4 now.
+- FilterCheck did not check files when run from sbs_filter
+- Remove old references to python 2.5.2
+- Escape filenames with special XML characters inside &lt;member&gt; tags
+
+
+version 2.12.1
+
+Defect Fixes:
+- SF Bug 1494 - sbs --what does not report Trace Compiler output
+- sbs -c winscw.tracecompiler uses wrong UID and doesn't generate traces
+- SF Bug 1519 - Raptor output files may contain unescaped left angle brackets as XML character data
+
+
+version 2.12.0
+
+New Features:
+- New 'Patchable Constants' target type: TARGETTYPE pdll
+- Combine Linking and Postlinking into a single step - performance improvement.
+- Support exit codes from next version of the trace compiler which will issue them
+- New sbs_filter script and batchfile to ease the use of sbs_filter.py.  
+  Allows filters to be executed over a log after a build has been done.
+    e.g.
+
+  	sbs_filter --filters=FilterWhat < logfile.log 
+
+    (This runs a "--what" without regenerating any makefiles or reparsing
+    the matadata.)
+- New (beta) FilterWhatComp filter.  Simulates abld log output for
+  use with parse_what.pl for packing up zips by component.  Whatcomp output
+  uses the incoming epocroot value.  i.e. if epocroot is relative then so is
+  the what output.  e.g. if EPOCROOT=\ then the output will be of the form:
+
+	"\epoc32\release\armv5\...."  
+
+  If it's "..\myepocroot" then the output will be:
+
+	"..\myepocroot\epoc32\release\armv5".  
+
+  If it's absolute then the what output will also be absolute.
+- New FilterCheck filter.  This can be used with sbs_filter to perform the 
+  equivalent of --check using the log output from a build.  It is more
+  efficient than --check because the metadata is not parsed and no makefiles
+  are generated. e.g.
+
+	sbs_filter --filters=FilterCheck < logfile.log 
+
+- New (beta) graphical build visualisation tool (bin/timelines.py). 
+  Requires pygame and PyOpenGL. e.g.
+
+	python timelines.py < filename.log
+
+- New (beta) log analyser (recipestats.py) for recording the total time spent 
+  in each type of recipe in the build. e.g.
+
+	python recipestats.py < filename.log > stats.csv
+
+  The output is in CSV format.  
+
+Defect Fixes:
+- fix for ARM9E + ARMV5 pre-processing confusion
+- SF bug 1606: template_ext.flm wrongly creates dependencies to OTHER_CFG targets
+- SF bug 1570: Adding then removing a capability can produce incorrect 
+  result: e.g. ALL TCB -TCB becomes ALL -TCB but it should be just ALL
+
+Other Changes:
+- Default to using Python 2.6.4 on windows (no change in compatibility with 
+  older versions of Python).
+
+
+version 2.11.3
+
+Defect Fixes:
+DPDEF142616 Raptor: Variables can be set unnecessarily prior to TEM execution
+Fix for: filter terminal flags up when recipe truncated
+SF bug 170: invalid XML output when a zip file is missing
+SF bug 518: unpaged keyword in mmp files is not parsed properly
+
+
+version 2.11.2
+
+Defect Fixes:
+DPDEF143176 raptor does not respect STDCPP mmp file keyword
+
+
+version 2.11.1
+
+Other Changes:
+GCCE 4.4.1 variant added
+Restored python 2.4 compatibility
+Minor TOOLS2 --what corrections
+Retain Linux execute permissions on unpacked :zip archives
+Prototype of extended timing API added
+Option --noexport added for parallel parsing
+Made --noexport and --export-only mutually exclusive
+SBS_PYTHONPATH insulates sbs from the global PYTHONPATH
+Removed spurious bracket in e32abiv2textnotifier2
+More robust to multiple import library definitions
+
+
+version 2.11.0
+
+New Features:
+Parallel parsing of meta-data
+New keyword APPLY for MMP files
+SAX filter plugin base-class
+
+Defect Fixes:
+DPDEF142895 Raptor does the wrong thing with the ARMFPU keyword
+DPDEF143020 The savespace variant overrides elf2e32's return code
+DPDEF143046 BYTEPAIRCOMPRESSTARGET and INFLATECOMPRESSTARGET not in FLM interface
+Improved error reporting for --check and --what
+
+
+version 2.10.2
+
+Defect Fixes:
+DPDEF142958 regression - ARMV6 and __ARMV6__ are not defined for armv6_urel builds
+DPDEF142730 Raptor crashes with improper VERSION syntax
+DPDEF142928 RVCT 4.0: Linker error when the MMP files modifies the --cpu option
+
+
+version 2.10.1
+
+Defect Fixes:
+DPDEF142666 Cannot remove frozen exports from EABI DEF file in SBSv2
+DPDEF142745 OPTION_REPLACE problems with RVCT 4.0
+DPDEF140622 feature variant configuration file with non exist file set to 'FEATURELISTFILES'
+DPDEF141195 Raptor doesn't handle spaces in tool paths
+DPDEF142616 Raptor: Variables can be set unnecessarily prior to TEM execution
+DPDEF142455 Disable warning L6780W for certain components
+DPDEF142447 GCC-E: Raptor compiles CIA files as Thumb
+DPDEF142448 GCC-E: Raptor tries to build ABIV1 import libraries
+DPDEF142451 GCC-E: Raptor treats C files as C++ files.
+
+
+version 2.10.0
+
+New Features:
+Support for GCCE compiler
+More efficient Feature Variation support
+
+
+version 2.9.3
+
+Defect Fixes:
+DPDEF142166 Raptor sometimes invokes checklib.exe with incorrect parameters
+DPDEF141354 EXPORTUNFROZEN fails in target builds if .savespace is applied
+DPDEF141533 Inconsistent log output
+DPDEF141604 file winscw.auto.bat is released two times
+DPDEF141787 Raptor treats EFREEZE info message as warnings
+	
+Other Changes:
+talon can read commands from a temporary file as well as with -c
+
+
+version 2.9.2
+
+Defect Fixes:
+DPDEF141531 Incorrect RVCT variables passed to TEM
+DPDEF141837 Some problems with dependency (.d) files
+DEF140258 Aborting SBSv2 mid-build often leads to corrupt .d files which prevent rebuilds
+DPDEF142049 Garbage in the Raptor log file
+DPDEF141954 Raptor: "tools" config static libraries can have incorrect compilation macros
+DPDEF141974 Raptor: "tools" builds can fail when done in combination with "tools2" builds
+
+Other Changes:
+Static libraries cannot be feature variant
+Option --no-depend-include for very big builds
+
+
+version 2.9.1
+
+Defect Fixes:
+DPDEF141503 RMTPClient::StartTransport Panic when using emulated test tranport plugin
+DPDEF141688 ARMV6 builds with SBSv2 have problems with missing DEF files
+	
+
+version 2.9.0
+
+New Features:
+Talon shell to reduce memory usage and improve stability.
+Support for RVCT 4.0 advanced features.
+Optionally use SBS_CYGWIN, SBS_MINGW and SBS_PYTHON to locate tools.
+Makefile to build host tools on Linux.
+Single-file compilation for IDE integration.
+Splitlog and CheckSource filters.
+
+Defect Fixes:
+DPDEF141523 Raptor links kernel-side components to scppnwdl.dso
+DPDEF141418 Raptor turns echo on
+DPDEF141495 Raptor doesn't deal correctly with SOURECEPATH beginning with '/'
+DPDEF141388 raptor inserts epoc32\include at start of systeminclude path	
+
+
+version 2.8.6
+
+DPDEF135505 Some TEMs have race conditions for simultaneous urel and udeb. cp fails.
+DPDEF141498 If make crashes, Raptor exits with 0 errors
+DPDEF141071 Raptor: GCCXML build does not support the VAR2 TARGETTYPE
+DPDEF140816 STDCPP keyword in mmp file not interpreted by gccxml tool chain
+DPDEF137727 [Raptor Rollout] Raptor fails to build certain .mbg and .rsg files
+DPDEF137494 SBSv2: preprocessor warnings and errors might cause invalid XML in log
+DPDEF140731 Missing dependency files when building from clean
+DPDEF140540 [System Build]: Changes of Raptor cause 94_331 build failed
+DPDEF141129 raptor generates unknown origin file
+
+Other Changes:
+Fix to support trace compiler switch
+Better message for duplicate objects, states which file overrides which.
+Refactor to avoid "defects" of missing OS variants.
+
+
+version 2.8.5
+
+Defect Fixes:
+DPDEF141102 SBS doesn't set the paging attribute of excutables correctly
+DPDEF140731 Missing dependency files when building from clean
+DPDEF135620 Workaround for broken static libraries
+
+
+version 2.8.4
+
+Defect Fixes:
+DPDEF140839 RComp crashes if it's built with sbs
+DPDEF140929 OPTION GCCE in MMP files generates a build warning
+DPDEF135436 SBSv2 - Python traceback when illegal characters appear on command line
+
+
+version 2.8.3
+
+Defect Fixes:
+DPDEF139904 Raptor: .def file FREEZE attempted for ARMV5 when it shouldn't be
+DPDEF140589 Raptor: .def file FREEZE attempted for WINSCW when it shouldn't be
+DPDEF140456 Raptor build error with -c tools_rel
+DPDEF139759 Raptor warning regarding EXPORTSUNFROZEN is ambiguous
+DPDEF135436 SBSv2 - Python traceback when illegal characters appear on command line
+INC140156 SBSv2 crashes when build QtWebkit for ARMV5
+
+Other Changes:
+Add &lt;info&gt; to show which variant.hrh file is used.
+Replaced the corrupted awk.exe in cygwin distro.
+Fix previous trace compiler auto run mechanism.
+ROMFILE improvements.
+
+
+version 2.8.2
+
+Defect Fixes:
+DPDEF140540 [System Build]: Changes of Raptor cause 94_331 build failed
+
+Other Changes:
+Tolerate XML schema 1_0 files where possible.
+Treat system definition schema 1.[3-9] files the same as schema 1.4 files.
+Remove checksource and its python site-packages.
+
+
+version 2.8.1
+
+Defect Fixes:
+DPDEF140165 SBS error when creating info.xml on component base_omaph2
+DPDEF132996 Location of generated auto.bat files is inconsistent
+
+Other Changes:
+Feature variant "ln -f" fails intermittently in parallel builds.
+Traceback when "group" elements are redefined in XML.
+Trace compiler should run automatically if a trace path exists.
+Need a workaround for Carbide Missing SDK problem.
+
+
+version 2.8.0
+
+New Features:
+XML schema 2.0 with new alias and group elements.
+
+Removed:
+XML config element (use var instead).
+XML .first and .last mechanism (use alias or group instead).
+
+Defect Fixes:
+DPDEF140082 SBS cause env to dirty state
+DPDEF138565 SBSV2 doesn't define the correct macros for ARMV6
+DPDEF139950 SBSv2 Filter Handling not Robust enough - bad filters stop build.
+DEF139686 [TCL Build] coredumpserver compile warnings in DP00458
+
+
+version 2.7.2
+
+Defect Fixes:
+DPDEF139420 Raptor config does not correctly handle mifconv causing resource build errors
+DPDEF138679 Raptor does not create a DEFFILE when building for winscw_urel
+DPDEF139692 SBSV2: 'virtual memory exhausted' when building multiple variants
+DPDEF136321 SBSv2: Zip exports not cleaned
+INC139622 OPTION_REPLACE does not work properly in SBSv2
+
+Other Changes:
+Added utility.prebuilt FLM.
+
+
+version 2.7.1
+
+Defect Fixes:
+DPDEF138366 [T15379] Raptor raise some warnings when build Coredumpserver
+DPDEF139405 SBSV2: Trace compilation fails with large numbers of files.
+DPDEF139572 SBSV2: Changes to '--cpu' option syntax breaks existing MMP files.
+DPDEF139456 Toolcheck file is not created if EPOCROOT is \
+DPDEF133766 Poor SBSv2 reallyclean performance
+DPDEF135780 SBSV2: REALLYCLEAN is not cleaning all files
+
+
+version 2.7.0
+
+New Features:
+DS.1744 Recognize LINKEROPTION in MMP file
+DS.1744 Compiled objects on local filesystem (SBS_BUILD_DIR)
+
+Partial Deliveries:
+DS.1744 CheckSource in Raptor
+
+Defect Fixes:
+DPDEF138293 Carbide: Raptor doesn't resolve variant.cfg entries starting with "\" correctly
+
+
+version 2.6.5
+
+Defect Fixes:
+DPDEF138930 Raptor needs to change to match new trace compiler interface
+
+
+version 2.6.4
+
+Defect Fixes:
+DPDEF138527 [TCL Build] Miss tracecompiler.mk and exclude group for Raptor export
+DPDEF138484 Raptor uses wrong guard causing trace compiler ignores some projects.
+DPDEF138720 BV product folders have missing map files
+DPDEF138721 Raptor uses wrong lib when mmp keyword FIRSTLIB presents.
+DPDEF138053 SBSv2: tools platform: tools not installed by the time they need to be used.
+DPDEF138164 Carbide: Raptor crashes on unrecognised buildinfo.txt content
+DPDEF138296 SBSV2 disables all TOOLS2 compiler warnings
+DPDEF138329 Raptor generates marker file for trace compiler when it's not done
+DPDEF138352 SBSv2: rollout - unsplit EC makefiles not generating correct deps 4 missing .mbg
+DPDEF138480 SBSv2: rollout. Created files sometimes have insufficient permissions on Windows
+DPDEF137511 SBSv2 doesn't behave correctly with the default paging policy
+
+
+version 2.6.3
+
+Defect Fixes:
+DPDEF133508 Number of errors is counted wrong
+DPDEF138098 UID issue in Trace Compiler for Raptor 
+DPDEF138296 SBSV2 disables all TOOLS2 compiler warnings
+
+
+version 2.6.2
+
+Defect Fixes:
+DPDEF135330 Raptor Rollout: bangalore messaging winscw udeb test code
+DPDEF137726 Missing mscvr_readme.txt from the SBSv2 drop
+DPDEF137739 SBSv2: rollout - .cia object files can conflict with .cpp object files 
+
+
+version 2.6.1
+
+Defect Fixes:
+DPDEF137239 raptor does not include the msvcr71 runtime library
+DPDEF137489 BV builds try and write generated .s files in the wrong directory
+
+
+version 2.6.0
+
+New Features:
+DS.1542 SBSv2 generates Open System Trace dictionaries
+DS.1629 Resource autodependencies
+
+
+version 2.5.5
+
+Defect Fixes:
+DPINC137379 Emulator: Cursor is missing on emulator buttons
+DPDEF133640 SBSv2 usrt3_1.lib is missing from epocroot/epoc32/release/armv5/
+
+
+version 2.5.4
+
+Defect Fixes:
+DPDEF136719 Raptor: sbsv2cache.py cache file generation fails with very large log files
+DPDEF136715 On Linux the shipped python 2.5.2 is not found
+DPDEF132996 SBSv2 doesn't generate AUTO.BAT file
+DPDEF136382 SBSv2: explicit dll versioning not supported on arm platforms 	
+DPDEF135843 [Raptor Rollout] Raptor does not support OPTION_REPLACE ARMASM/OPTION ARMASM
+DPDEF136693 makesis fails when multiple instances are run concurrently with the same target
+
+
+version 2.5.3
+
+Defect Fixes:
+DPDEF136162 Raptor: resource dependencies require metadata workarounds
+DPDEF128288 SBSv2 does not fully support build target customization.
+DPDEF132880 BV builds cannot find system static libraries
+DPDEF133835 SBSv2 cannot build for ARMV6 or ARM9E
+
+
+version 2.5.2
+
+Defect Fixes:
+DPDEF135983 cpp-raptor crashes if source code contains builtin macro __FILE__
+DPDEF133808 Raptor does not support OPTION --no_rtti with mixed assembly/C++ projects
+DPDEF135577 SBSv2: rollout - TOOLS/TOOLS2 exes sometimes not executable or writable.
+
+
+version 2.5.1
+
+Defect Fixes:
+DPDEF135258 createvmap.py script can hang in BV builds
+DPDEF135385 warnings in RunModeDebugger in M04816vFuture with ARMV7
+
+
+version 2.5.0
+
+New Features:
+DS.1568 User defined configuration file location(s)
+
+
+version 2.4.3
+
+Defect Fixes:
+DPDEF134322 SBSV2 uses the wrong library when building STDCPP targets 	
+DPDEF132923 SBSv2 freeze don't add Vtable and RTTI information into def file for arm dll
+DPDEF133775 SBSv2: ARMFPU is not passed to compiler
+DPDEF134023 case inconsistency with libOpenVG.lib
+
+Other Changes:
+MINOR_CHANGE updated all copyright notices for SF delivery
+MINOR_CHANGE added vtb91sf variant for SF Timebox 9:1 builds
+MINOR_CHANGE added vtb92sf variant for SF Timebox 9:2 builds
+
+
+version 2.4.2
+
+Defect Fixes:
+DPDEF133820 Raptor Rollout: EXPORTUNFROZEN processing incorrect in ARMV5 builds
+DPDEF132033 Raptor picks up the wrong bld.inf macros when building for RVCT 3.1
+DPDEF133772 SBSv2: console log includes some winscw warnings that should be suppressed
+
+
+version 2.4.1
+
+Defect Fixes:
+DPDEF133639 Raptor Rollout:TEF test server doesn't start under SBSv2 - OK with abld
+DEF133255 [System Build]: Error in compiling NaviEngine Unistore on ARMV7 M04816 vFuture
+DPDEF127973 Freeze fails with SBSv2 under some environments
+
+
+version 2.4.0
+
+New Features:
+DS.1475 Pluggable Log Summariser
+DS.1476 Use FLMs from the source tree  
+
+Defect Fixes:
+DPDEF133417 SBSv2: tmp mounting errors on startup
+
+
+version 2.3.3
+
+Defect Fixes:
+DPDEF130261 sbs does not support explicit option to version keyword
+DPDEF130598 sbs does not provide debug and nodebug variants
+DPDEF131630 Raptor smoke tests break when EPOCROOT=\ on Windows
+DPDEF132898 no TEM nbl2.lib dependencies for armv7
+DPDEF133035 SBSv2 - Tools2 build does not include -m32 option.  Stlport flm also doesn't.
+DPDEF133176 SBSv2 ignores compillation error for "unidentified identifier" for winscw build
+
+
+version 2.3.2
+
+Other Changes:
+MINOR_CHANGE added vtb92 variant for Timebox 9:2 builds
+
+
+version 2.3.1
+
+Defect Fixes:
+DPDEF132374 SBSv2: Directory creation can fail leading to build errors
+DPDEF132070 SBSv2: stlport 5.2 build fails - library generated to wrong directory
+DPDEF128378 SBSv2 help for global targets only shown when a target is given
+DPDEF129634 ALWAYS_BUILD_AS_ARM does not suppress __MARM_THUMB__ with SBSv2
+
+
+version 2.3.0
+
+New Features:
+DS.1424 Support for ARMV5SMP platform  
+
+Defect Fixes:
+DPDEF129804 SBSv2 crashes when there are double \\ in prj_mmpfiles in bld.inf
+DPDEF130892 SBSv2: Reallyclean fails on TEM files
+DPDEF131619 SBSv2: ABIv1 .lib files aren't generated for -c armv5 -c armv5.smp
+DPDEF131637 SBSv2: stlport can fail to build under Cygwin - "/tmp no such directory"
+DPDEF131891 [System Build]: Errors in GT stage in Build M04774 vfuture
+
+
+version 2.2.9
+
+Defect Fixes:
+DPDEF129804 SBSv2 crashes when there are double \\ in prj_mmpfiles in bld.inf
+DPDEF131637 SBSv2: stlport can fail to build under Cygwin - "/tmp no such directory"
+DPDEF130892 SBSv2: Reallyclean fails on TEM files
+
+
+version 2.2.8
+
+Defect Fixes:
+DPDEF130569 .lib files for SSM targets build with different name compared to abld
+DPDEF130571 libxml2 component contains GCCXML build errors
+DPDEF131312 SBSv2 - DEBUGGABLE_UDEBONLY not supported by SBSv2 (Raptor)
+
+
+version 2.2.7
+
+Defect Fixes:
+DPDEF130533 SBSv2 fails to run when installed from SITK
+DPDEF130452 Some rcomp warnings need to be disabled
+DPDEF130286 SBSv2: sbs freezes during CLEAN and REALLYCLEAN operations.
+DPDEF127973 Freeze fails with SBSv2 under some environments
+DPDEF128455 Error during freeze with SBSv2
+DPDEF127149 SBSv2 TEM/extension makefile build doesn't support the .savespace variant
+
+
+version 2.2.6
+
+Defect Fixes:
+DPDEF130008 SBSv2 should recognize these new keywords: SMPSAFE, PAGEDCODE, PAGEDDATA, UN...
+DPDEF127887 Current directory wrong when executing extension makefiles in SBSv2
+DPDEF128915 CCheckEnv ERROR: CBRPatch: Absent file
+DPDEF127675 Raptor does not process stringtables correctly when HEADERONLY is on
+DPDEF127878 give wrong mmp filename for -p option should cause error in SBSv2
+
+Other Changes:
+Uses cygwin instead of msys for improved stability.
+Includes python 2.5.2 instead of using py2exe.
+
+
+version 2.2.5
+
+Defect Fixes:
+DEF127329 OMAP H4 Unistore2 Failure in Raptor 9.5 GT build
+DPDEF128632 SBSv2 : bld.inf ':zip' exports don't maintain timestamps, with an e32 impact
+DPDEF127399 SBSv2 -p [filename].mmp options also builds .mk files
+
+
+version 2.2.4
+
+Defect Fixes:
+DPDEF129187 SBSv2: ABIv1 .lib files are required (again)
+
+
+version 2.2.3
+
+Defect Fixes:
+DPDEF128916 C Standard Library failed on cia2cpp2o armv5 with 1
+DPDEF128503 sbs 2.2.0 produce malformed xml log on Linux with pvmgmake
+DPDEF127604 SIS registry panics at startup on emulator if SWI is built with SBS
+DPDEF128690 SBSv2 generates error when using emake on REALLYCLEAN target
+
+Other Changes:
+MINOR_CHANGE log summariser updated to deal with errors starting "make.exe: ***"
+
+
+version 2.2.2
+
+Defect Fixes:
+DPDEF127497 SBSv2 does not clean when -k or other switch is used with abld wrapper
+DPDEF127829 'cannot open Meta file' warning with SBSv2
+DPDEF127371 abld -v not working correctly through sbsv2
+DPDEF127555 SBSv2 doesn't do "romfile"
+
+Other Changes:
+MINOR_CHANGE made the default number of jobs 4
+
+
+version 2.2.1
+
+Defect Fixes:
+DPDEF128498 SBS creates paths with extra slashes which can cause problems
+
+Other Changes:
+MINOR_CHANGE Removed temporary ABIv1 .lib generation
+MINOR_CHANGE Added monty test data to the test folder
+
+
+version 2.2.0
+
+New Features:
+DS.1347 SBSv2 Compiler Selection  
+DS.1348 SBSv2 allow mixed slashes
+
+Defect Fixes:
+DPDEF127904	SBSv2 : recent installdefaultcommdb has broken the 9.4 build
+DPDEF128022	SBSv2: Unrecognised Keyword ['romtarget  some_file.dll'] warnings
+DPDEF127815	SBSv2: PAGED and EPOCCALLDLLENTRYPOINTS keywords not supported
+DPDEF127890	SBSv2:  TARGETPATH in mmps (also resources, bitmaps) must cope with backslashes
+DPDEF128229 SBSv2: some command invocations can fail, but could be "re-tried"
+
+
+version 2.1.10
+
+Defect Fixes:
+DPDEF126662	Intermittent networking_dhcp compilation failure in Raptor build GT phase
+DPDEF127799	SBSv2: zip and unzip commands not found in some builds
+DPDEF127665	ARMV7 libraries have wrong link order in Raptor
+
+
+version 2.1.9
+
+Defect Fixes:
+DPDEF127498	SBSv2: importlibversioned_abiv1 intermittently fails in ARMV5 builds
+DPDEF125483	CDB breaks due to Attribute values not matching expected values
+DPDEF126335	Intermittent GT errors due to "make" not being found on the PATH
+DPDEF127562	SBSv2 will not unzip the same file into more than one location
+DPDEF127626	SBSv2: sed version on windows is out of date
+
+
+version 2.1.8
+
+Defect Fixes:
+DPDEF125478	CDB breaks caused by file path/name mismatch
+DPDEF125145	Incorrect file access permissions for sbs v2.0.14 in Linux distribution
+DPDEF126126	Intermittent "Segmentation fault" error in Raptor GT phase
+DPDEF124836	SBSv2 cannot build just a single .mmp file from a bld.inf file
+DPDEF126675	Performance regression in SBSv2 python frontend caused by regex usage,
+DPDEF126790	groupin10 is not used in artarget_func
+DPDEF125639	TEM variables are reported incorrectly when building TEM for ARMV7
+DPDEF124273	abld help is ugly and hard to read
+DPDEF126614	"Virtual memory exhausted. Stop" error when building with SBSV2
+
+
+version 2.1.7
+
+Defect Fixes:
+DPDEF124290 SBS -e pvmgmake -j 12 on Linux produces malformed xml log files
+DPDEF126241	SBSv2 : SECURE_DATA error when building uiklaf toolkit in TechView
+DPDEF126328	Performance regression and related excessive memory usage in daily Raptor builds
+
+
+version 2.1.6
+
+Defect Fixes:
+DPDEF125740	SBSv2: Builds can hang during the GT stage in Windows builds when using "-j x"
+DPDEF125145	Incorrect file access permissions for sbs v2.0.14 in Linux distribution
+
+
+version 2.1.5
+
+Defect Fixes:
+DPDEF125812	There is no user created init.xml configuration file
+
+
+version 2.1.4
+
+Defect Fixes:
+DPDEF124680 Raptor builds hang  at "tools2" compilation phase
+DPDEF125304 Raptor crashes when running abld
+
+
+version 2.1.3
+
+Defect Fixes:
+DPDEF125394 sbs_2.1.0_(RC1) Building complete OS gives armasm errors on Windows
+DPDEF122556 GT0367: CLEANEXPORT target is not cleaning files with a space in them
+DPDEF124691 Raptor should ignore the new SMPSAFE keyword
+DPDEF125031 SBSv2 Stringtable build fails when EXPORTPATH specified
+
+
+version 2.1.2
+
+Change Requests:
+CR1413 Support for different toolchains to be called by SBSv1 and SBSv2
+
+
+version 2.1.1	
+
+Defect Fixes:
+DEF124748 GCCXML errors in Raptor related to missing arm lib files
+DEF124756 Raptor build : Orphan files reported in CBR phase
+DEF124758 Raptor build CBR errors due to missing ".a" files
+DEF124573 CDB breaks in Raptor build due to missing header,dll and lib files
+
+
+version 2.1.0
+
+Change Requests:
+CR1479 Add Armv7 support into SBSv2
+
+Defect Fixes:
+DEF124543 Raptor does not handle the STDCPP keyword correctly
+DEF124515 GT0367: 'bldmake plat' should now show ARMV7
+
+
+version 2.0.14
+
+Defect Fixes:
+DEF124705 CBR errors in raptor builds due to missing rpp files
+DEF120328 SBS v2.0 configuration files cannot be validated
+INC124096 Long list of MMP macros causes crashdump with .s files
+DEF124702 GT0367: Semaphores need altering to correct possible hangs (on Linux)
+
+
+version 2.0.13
+
+Defect Fixes:
+DEF123653 SBS -j 16 on Windows produces malformed xml log files
+
+
+version 2.0.12
+
+Defect Fixes:
+DEF123987 Raptor does not build a lot of .lib files for ARMV5
+DEF123981 SBSv2 doesn't generate DSO when EXPORTUNFROZEN is specified.
+
+
+version 2.0.11
+
+Defect Fixes:
+DEF123988 SBSv2 does not produce rpp files
+DEF123766 SBSv2 log output does not match the specification
+DEF122781 GT0367: 'bldmake bldfiles' output not going to stdout
+DEF122885 GT0367: Need to stop sbs -abld functioning on Linux
+DEF123354 GT0367: Incorrect output if the number of jobs provided is invalid
+
+
+version 2.0.10
+
+Defect Fixes:
+DEF123984 SBSv2 generates more warnings than abld
+DEF124139 GT0367: SBS causes a Python Traceback when a system_definition.xml error occurs
+DEF123601 SBSv2 : Python traceback error is reported when try to build systemtest code
+DEF123916 SBSv2 : "tools" build warns about overrides when "OPTION MSVC /w" in .mmp files
+
+
+version 2.0.9
+
+Defect Fixes:
+PDEF124028 .GXP files not getting created when built for GCCXML target
+DEF123653 SBS -j 16 on Windows produces malformed xml log files
+DEF123586 dso file is not remade when def file changes
+DEF122541 SBSv2 -what should report resource files
+DEF123265 Incorrect file access permissions for sbs v2.0.7 in Linux dist
+DEF123317 SBSv2 -what got error for whatexports if too much exports
+DEF123439 SBSv2 : Exports not performed in total before .mmp processing in sysdef builds
+DEF123552 STLport doesn't build with Raptor on Linux
+DEF123260 GT0367: Circular references in config files not handled
+
+
+version 2.0.8
+
+Defect Fixes:
+DEF122930 SBSv2:Target type exexp giving errors while building for winscw
+DEF123028 Raptor generating double slashes in command files
+DEF123048 SBSv2: build with -k (keep-going) stops when export makefile has a failure.
+DEF123069 False 'missing mmp file' errors reported by SBSv2
+DEF122472 SBSv2 doesn't report content of unpacked zip files
+DEF122534 SBSv2 -what should not report .sym files
+DEF123181 SBSv2: Failure of one export in python aborts remaining exports for bld.inf
+DEF123289 SBSv2 : Netcards doesn't build for "tools" in an SBSv2 build
+DEF123418 SBSV2: stlport build can fail with "no rule to make target"
+DEF123084 SBSv2: exits with an exception if -c option specifies non-existent configuration
+INC122876 Electric Accelerator build fails with Raptor
+
+
+version 2.0.7
+
+Defect Fixes:
+DEF122784 Large MMP files and GNUMAKEFILE causes shell to crash
+DEF122760 Problems with bmconv command files preventing bitmap generation?
+DEF122803 SBSv2 - Freeze doesnt work properly for OE target types
+DEF122833 SBSV2 Performance is poor with -j16 using the GNU Make engine
+DEF122535 GT0367: Invalid system_definition.xml causes SBSv2 layering crash
+DEF122570 SBSv2 : certain "-m" values cause a crash at makefile generation
+DEF122604 Errors in GT only build using sbsv2 on Windows
+DEF122796 Wrong default value for PVMGMAKE in make.xml
+DEF122783 SBSv2 WINSCW builds can produce incorrectly linked executables under emake
+DEF122785 log summariser crashes if errors contain % characters
+DEF122870 SBSv2 assembling .s files fails.
+DEF120473 Enable Windows and Linux Tools to Cohabit
+DEF121826 Pre-include HRH file directory from variant.cfg fails for template extension mak
+DEF121907 Raptor crashes when exporting zip file that already exists
+DEF122523 SBSv2 Logging output affected by bash version on Linux
+DEF122788 SBSv2: We don't ensure correct version of Make for TEMs and for use in FLMs
+
+
+version 2.0.6
+
+The first release of SBSv2 in the SITK.
+
+</pre>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/depcrunch.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,111 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Minimise the dependencies in a C preprocessor dependency file to
+# those that CPP could not find.  Then add in an assumption about 
+# where to find them.  Output is assumed to be relevant to only one target
+# even if multiple dep files are analysed.
+#
+
+import sys
+from  optparse import OptionParser
+import re
+
+class NoTargetException(Exception):
+	pass
+
+def depcrunch(file,extensions,assume):
+	target_pattern = r"^\s*(\S+):\s+"
+	target_re = re.compile(target_pattern)
+	# Not the use of (?i) in the following expression.  re.I seems to cause re.findall
+	# to not actually find all files matching the extension whereas (?i) provides
+	# case insensitivity at the right point and it works.  Really don't understand this.
+	extension_pattern = r"\s([^/ \t]+\.((?i)" + "|".join([t for t in extensions]) + r"))\b"
+	extension_re = re.compile(extension_pattern)
+
+	target = None
+
+	deps = []
+
+	# Read through the dependencies.
+	for l in file:
+		l = l.replace("\\","/").rstrip("\n\r")
+
+		# Look out for the target name if 
+		# we have not found it yet
+		if not target:
+			t = target_re.match(l)
+			if t:
+				target = t.groups()[0]
+
+		# Look for prerequisites matching the 
+		# extensions.  There may be one or more on 
+		# the same line as the target name.
+		# Don't use re.I - somehow prevents 
+		# all but one match in a line which may have several files
+		m = extension_re.findall(l)
+		if m:
+			deps.extend([d[0] for d in m])
+
+	if not target:
+		raise NoTargetException()
+
+	if len(deps) > 0:
+		print "%s: \\" % target
+		for d in deps[:-1]:
+			print " %s \\" % (assume + "/" + d)
+		print " %s " % (assume + "/" + deps[-1])
+
+
+
+
+## Command Line Interface ####################################################
+
+parser = OptionParser(prog = "depcrunch",
+	usage = "%prog [-h | options] [<depfile>]")
+
+parser.add_option("-e", "--extensions", 
+	 action="store", dest="extensions", type='string', help="comma separated list of file extensions of missing files to keep in the crunched dep file.") 
+
+parser.add_option("-a", "--assume", 
+	 action="store", dest="assume", type='string', help="when cpp reports missing dependencies, assume that they are in this directory") 
+
+(options, args) = parser.parse_args()
+
+
+if not options.extensions:
+	parser.error("you must specify a comma-separated list of file extensions with the -e option.")
+	sys.exit(1)
+
+if not options.assume:
+	parser.error("you must specify an 'assumed directory' for correcting missing dependencies with the -a option.")
+	sys.exit(1)
+
+depfilename="stdin"
+if len(args) > 0:
+	depfilename=args[0]
+	file = open(depfilename,"r")
+else:
+	file = sys.stdin
+try:
+	depcrunch(file,options.extensions.split(","), options.assume)
+except NoTargetException,e:
+	sys.stderr.write("Target name not found in dependency file\n");
+	sys.exit(2)
+	
+
+if file != sys.stdin:
+	file.close()
+
+sys.exit(0)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/recipestats.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,176 @@
+#!/usr/bin/env python
+#
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# 
+# display summary information about recipes from raptor logs
+# e.g. total times and so on.
+
+import time
+import __future__
+
+
+
+
+class RecipeStats(object):
+	def __init__(self, name, count, time):
+		self.name=name
+		self.count=count
+		self.time=time
+
+	def add(self, duration):
+		self.time += duration
+
+class BuildStats(object):
+	STAT_OK = 0
+
+
+	def __init__(self):
+		self.stats = {}
+		self.failcount = 0
+		self.failtime = 0.0
+		self.failtypes = {}
+		self.retryfails = 0
+		self.hosts = {}
+		
+	def add(self, starttime, duration, name, status, host, phase):
+		if status != BuildStats.STAT_OK:
+			self.failcount += 1
+			if name in self.failtypes:
+				self.failtypes[name] += 1
+			else:
+				self.failtypes[name] = 1
+
+			if status == 128:
+				self.retryfails += 1
+			return
+			
+		if name in self.stats:
+			r = self.stats[name]
+			r.add(duration)
+		else:
+			self.stats[name] = RecipeStats(name,1,duration)
+
+		hp=host
+		if hp in self.hosts:
+			self.hosts[hp] += 1
+		else:
+			self.hosts[hp] = 1
+
+	def recipe_csv(self):
+		s = '"name", "time", "count"\n'
+		l = sorted(self.stats.values(), key= lambda r: r.time, reverse=True)
+		for r in l:
+			s += '"%s",%s,%d\n' % (r.name, str(r.time), r.count)
+		return s
+
+	def hosts_csv(self):
+		s='"host","recipecount"\n'
+		hs = self.hosts
+		for h in sorted(hs.keys()):
+			s += '"%s",%d\n' % (h,hs[h])
+		return s
+
+
+import sys
+import re
+import os
+from optparse import OptionParser # for parsing command line parameters
+
+def main():
+	recipe_re = re.compile(".*<recipe name='([^']+)'.*host='([^']+)'.*")
+	time_re = re.compile(".*<time start='([0-9]+\.[0-9]+)' *elapsed='([0-9]+\.[0-9]+)'.*")
+	status_re = re.compile(".*<status exit='(?P<exit>(ok|failed))'( *code='(?P<code>[0-9]+)')?.*")
+	phase_re = re.compile(".*<info>Making.*?([^\.]+\.[^\.]+)</info>")
+
+	parser = OptionParser(prog = "recipestats",
+                                          usage = """%prog --help [-b] [-f <logfilename>]""")
+
+	parser.add_option("-b","--buildhosts",action="store_true",dest="buildhosts_flag",
+                                help="Lists which build hosts were active in each invocation of the build engine and how many recipes ran on each.", default = False)
+	parser.add_option("-f","--logfile",action="store",dest="logfilename", help="Read from the file, not stdin", default = None)
+
+
+	(options, stuff) = parser.parse_args(sys.argv[1:])
+
+	if options.logfilename is None:
+		f = sys.stdin
+	else:
+		f = open(options.logfilename,"r")
+
+	st = BuildStats()
+
+
+	alternating = 0
+	start_time = 0.0
+
+	phase=None
+	for l in f:
+		l2 = l.rstrip("\n\r")
+
+		rm = recipe_re.match(l2)
+
+		if rm is not None:
+			(rname,host) = rm.groups()
+			continue
+
+		pm = phase_re.match(l2)
+
+		if pm is not None:
+			if phase is not None:
+				if options.buildhosts_flag:
+					print('"%s"\n' % phase)
+					print(st.hosts_csv())
+			st.hosts = {}	
+			phase = pm.groups()[0]
+			continue
+
+		tm = time_re.match(l2)
+		if tm is not None:
+			try:
+				s = float(tm.groups()[0])
+				elapsed = float(tm.groups()[1])
+
+				if start_time == 0.0:
+					start_time = s
+
+				s -= start_time
+
+				continue
+			except ValueError, e:
+				raise Exception("Parse problem: float conversion on these groups: %s\n%s" %(str(tm.groups()), str(e)))
+		else:
+			if l2.find("<time") is not -1:
+				raise Exception("unparsed timing status: %s\n"%l2)
+
+		sm = status_re.match(l2)
+
+		if sm is None:
+			continue
+
+		if sm.groupdict()['exit'] == 'ok':
+			status = 0
+		else:
+			status = int(sm.groupdict()['code'])
+
+		st.add(s, elapsed, rname, status, host, phase)
+
+	if options.buildhosts_flag:
+		print('"%s"\n' % phase)
+		print(st.hosts_csv())
+	else:
+		print(st.recipe_csv())
+
+
+if __name__ == '__main__': main()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_check_exports.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,101 @@
+#!/usr/bin/python
+
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+import re
+import sys
+
+# there are no options, so print help if any are passed
+if len(sys.argv) > 1:
+	print "usage:", sys.argv[0], "(The log data is read from stdin)"
+	sys.exit(0)
+
+whatlogRE = re.compile("<whatlog.*bldinf='([^']*)'")
+exportRE = re.compile("<export destination='(.*)' source='(.*)'")
+
+bldinf = "unknown"
+sources = {}		# lookup from source to destination
+destinations = {}	# lookup from destination to source
+
+chains = 0
+repeats = 0
+conflicts = []
+
+# read stdin a line at a time and soak up all the exports
+line = " "
+while line:
+	line = sys.stdin.readline()
+
+	whatlogMatch = whatlogRE.search(line)
+	if whatlogMatch:
+		bldinf = whatlogMatch.group(1).lower()
+		continue
+
+	exportMatch = exportRE.search(line)
+	if exportMatch:
+		destination = exportMatch.group(1).lower()
+		source = exportMatch.group(2).lower()
+
+		if destination in destinations:
+			(otherSource, otherBldinf) = destinations[destination]
+			
+			# same source and destination but different bld.inf => repeat	
+			if source == otherSource and bldinf != otherBldinf:
+				# only interested in the number for now
+				repeats += 1
+				
+			# different source but same destination => conflict
+			if source != otherSource:
+				conflict = (source, destination, bldinf, otherSource, otherBldinf)
+				tcilfnoc = (otherSource, destination, otherBldinf, source, bldinf)
+				
+				if conflict in conflicts or tcilfnoc in conflicts:
+					# seen this conflict before
+					pass
+				else:
+					print "CONFLICT:", destination, \
+						"FROM", source, \
+						"IN", bldinf, \
+						"AND FROM", otherSource, \
+						"IN", otherBldinf
+					conflicts.append(conflict)
+		else:
+			sources[source] = [destination, bldinf]
+			destinations[destination] = [source, bldinf]
+
+# now check for destinations which were also sources => chains
+for destination in destinations:
+	if destination in sources:
+		(nextDestination, inf2) = sources[destination]
+		(source, inf1) = destinations[destination]
+		print "CHAIN:", source, \
+			"TO", destination, \
+			"IN", inf1, \
+			"THEN TO", nextDestination, \
+			"IN", inf2
+		chains += 1
+		
+# print a summary
+print "Total exports = ", len(destinations.keys())
+print "Chained exports = ", chains
+print "Repeated exports = ", repeats
+print "Conflicting exports = ", len(conflicts)
+
+# return the error code
+if conflicts:
+	sys.exit(1)
+sys.exit(0)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_env.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,83 @@
+@REM
+@REM Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+@REM All rights reserved.
+@REM This component and the accompanying materials are made available
+@REM under the terms of the License "Eclipse Public License v1.0"
+@REM which accompanies this distribution, and is available
+@REM at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@REM
+@REM Initial Contributors:
+@REM Nokia Corporation - initial contribution.
+@REM
+@REM Contributors:
+@REM
+@REM Description: 
+@REM
+
+@SET HOSTPLATFORM=win 32
+@SET HOSTPLATFORM_DIR=win32
+
+@REM Automatically find SBS_HOME if it is not set
+@IF NOT "%SBS_HOME%"=="" GOTO foundhome
+@SET RAPTORBINDIR=%~dp0
+@SET WD=%CD%
+@CD /d %RAPTORBINDIR%\..
+@SET SBS_HOME=%CD%
+@CD /d %WD%
+:foundhome 
+
+@REM The python and PYTHONPATH used by Raptor are determined by, in order of precedence:
+@REM 1. the SBS_PYTHON and SBS_PYTHONPATH environment variables (if set)
+@REM 2. the python shipped locally with Raptor (if present)
+@REM 3. the python on the system PATH and the PYTHONPATH set in the system environment
+
+@SET __LOCAL_PYTHON__=%SBS_HOME%\win32\python264\python.exe
+@IF NOT "%SBS_PYTHON%"=="" GOTO sbspython
+@IF EXIST %__LOCAL_PYTHON__% GOTO localpython
+@SET __PYTHON__=python.exe
+@GOTO sbspythonpath
+
+:sbspython
+@SET __PYTHON__=%SBS_PYTHON%
+@GOTO sbspythonpath
+
+:localpython
+@SET __PYTHON__=%__LOCAL_PYTHON__%
+@SET SBS_PYTHON=%__PYTHON__%
+@SET PYTHONPATH=
+
+:sbspythonpath
+@IF NOT "%SBS_PYTHONPATH%"=="" SET PYTHONPATH=%SBS_PYTHONPATH%
+
+@REM Use the mingw set by the environment if possible
+@SET __MINGW__=%SBS_MINGW%
+@IF "%__MINGW__%"=="" SET __MINGW__=%SBS_HOME%\win32\mingw
+
+@REM Tell CYGWIN not to map unix security attributes to windows to
+@REM prevent raptor from potentially creating read-only files.
+@REM Assume Cygwin 1.5 CLI.
+@SET __MOUNTOPTIONS__=-u
+@SET __UMOUNTOPTIONS__=-u
+@SET CYGWIN=nontsec nosmbntsec
+
+@REM If SBS_CYGWIN17 is set, we are using Cygwin 1.7, so change the mount/umount 
+@REM options to the 1.7 CLI and set SBS_CYGWIN to the value of SBS_CYGWIN17
+@IF NOT "%SBS_CYGWIN17%" == "" SET CYGWIN=nodosfilewarning && SET "SBS_CYGWIN=%SBS_CYGWIN17%" && SET __MOUNTOPTIONS__=-o noacl -o user && SET __UMOUNTOPTIONS__=
+
+@REM Use the Cygwin set by the environment (from SBS_CYGWIN or SBS_CYGWIN17) if possible
+@SET __CYGWIN__=%SBS_CYGWIN%
+@IF "%__CYGWIN__%"=="" SET __CYGWIN__=%SBS_HOME%\win32\cygwin
+
+@REM Add to the search path
+@REM (make sure that we don't get into trouble if there are Path and PATH variables)
+@SET PATH_TEMP=%__MINGW__%\bin;%__CYGWIN__%\bin;%SBS_HOME%\win32\bin;%PATH%
+@SET PATH=
+@SET PATH=%PATH_TEMP%
+@SET PATH_TEMP=
+
+@REM Make sure that /tmp is not set incorrectly for sbs. 
+@umount %__UMOUNTOPTIONS__% /tmp >NUL  2>NUL
+@mount %__MOUNTOPTIONS__% %TEMP% /tmp >NUL 2>NUL
+@umount %__UMOUNTOPTIONS__% / >NUL  2>NUL
+@mount %__MOUNTOPTIONS__% %__CYGWIN__% / >NUL 2>NUL
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_filter	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,91 @@
+#!/bin/bash
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# raptor script
+# add mingw to the PATH if we are running Cygwin on Windows
+#
+
+# If SBS_HOME is not set in the environment then work it out
+# from the path to this batch file
+if [ -z "$SBS_HOME" ] ; then
+	temp=$0
+	SBS_HOME=$(cd ${temp%/*} && echo $PWD)
+	export SBS_HOME=${SBS_HOME%/bin}
+fi
+
+# Ensure that the host type is set for Raptor:
+eval $($SBS_HOME/bin/gethost.sh -e)
+
+if [ -z "$HOSTPLATFORM" ]; then
+	echo "Error: HOSTPLATFORM could not be determined." 1>&2
+	exit 1
+fi
+
+if [ ! -d "$SBS_HOME/$HOSTPLATFORM_DIR" ]; then
+cat 1>&2 <<EOERROR
+Error: sbs has not been installed with support for your platform: "${HOSTPLATFORM}".
+EOERROR
+	exit 1
+fi
+
+if [ "$OSTYPE" == "cygwin" ]; then
+
+	SBS_HOME=${SBS_HOME//\\//}
+
+	__MINGW__=${SBS_MINGW:-$SBS_HOME/$HOSTPLATFORM_DIR/mingw}
+	__CYGWIN__=${SBS_CYGWIN:-$SBS_HOME/$HOSTPLATFORM_DIR/cygwin}
+	__PYTHON__=${SBS_PYTHON:-$SBS_HOME/$HOSTPLATFORM_DIR/python264/python.exe}
+	export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python264}
+
+    # Command for unifying path strings. For example, "c:\some\path" and
+    # "/cygdrive/c/some/path" will both be converted into "c:/some/path".
+	u="$__CYGWIN__/bin/cygpath.exe -m"
+
+	__MINGW__=$($u "$__MINGW__")
+	__CYGWIN__=$($u "$__MINGW__")
+	__PYTHON__=$($u "$__PYTHON__")
+
+	export SBS_HOME=$($u "$SBS_HOME")
+
+	export PATH=${__MINGW__}/bin:${__CYGWIN__}/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
+
+	# Tell Cygwin not to map unix security attributes to windows to
+	# prevent raptor from potentially creating read-only files:
+	export CYGWIN='nontsec nosmbntsec'
+
+else
+	export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib}
+	PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
+	LD_LIBRARY_PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib:$SBS_HOME/$HOSTPLATFORM_DIR/bv/lib:$LD_LIBRARY_PATH
+
+	export PATH LD_LIBRARY_PATH
+	__PYTHON__=python
+fi
+
+
+# call sbs_filter.py with the arguments
+
+FILTER_START="$SBS_HOME/bin/sbs_filter.py"
+
+if [ -e "$FILTER_START" ]; then
+	# run the source version
+	${__PYTHON__} "$FILTER_START" "$@"
+elif [ -e "$FILTER_START"c ]; then
+	# run the compiled version
+	${__PYTHON__} "$FILTER_START"c "$@"
+else
+	echo "Cannot start sbs_filter - $FILTER_START not found." 1>&2
+	echo "Check your SBS_HOME environment variable." 1>&2
+fi
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_filter.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+@rem
+@rem Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+@SETLOCAL
+@CALL "%~dp0\sbs_env.bat"
+
+@REM Run with all the arguments.
+@bash %SBS_HOME%\bin\sbs_filter %*
+
+@ENDLOCAL
+@cmd /c exit /b %ERRORLEVEL%
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_filter.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,88 @@
+#!/usr/bin/python
+
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+import os
+import sys
+import traceback
+
+# intercept the -h option
+if "-h" in sys.argv or "--help" in sys.argv:
+	print "usage:", sys.argv[0], "[sbs options]"
+	print "  The log data is read from stdin."
+	print "  Type 'sbs -h' for a list of sbs options."
+	sys.exit(0)
+	
+# get the absolute path to this script
+script = os.path.abspath(sys.argv[0])
+
+# add the Raptor python directory to the PYTHONPATH
+sys.path.append(os.path.join(os.path.dirname(script), "..", "python"))
+
+# now we should be able to find the raptor modules
+import raptor
+import pluginbox
+
+# make sure that HOSTPLATFORM is set
+if not "HOSTPLATFORM" in os.environ:
+	sys.stderr.write("HOSTPLATFORM is not set ... try running gethost.sh\n")
+	sys.exit(1)
+	
+if not "HOSTPLATFORM_DIR" in os.environ:
+	sys.stderr.write("HOSTPLATFORM_DIR is not set ... try running gethost.sh\n")
+	sys.exit(1)
+
+# construct a Raptor object from our command-line (less the name of this script)
+the_raptor = raptor.Raptor.CreateCommandlineBuild(sys.argv[1:])
+
+# from Raptor.OpenLog()
+try:
+	# Find all the raptor plugins and put them into a pluginbox.
+	if not the_raptor.systemPlugins.isAbsolute():
+		the_raptor.systemPlugins = the_raptor.home.Append(the_raptor.systemPlugins)
+		
+	pbox = pluginbox.PluginBox(str(the_raptor.systemPlugins))
+	raptor_params = raptor.BuildStats(the_raptor)
+
+	# Open the requested plugins using the pluginbox
+	the_raptor.out.open(raptor_params, the_raptor.filterList, pbox)
+	
+except Exception, e:
+	sys.stderr.write("error: problem while creating filters %s\n" % str(e))
+	traceback.print_exc()
+	sys.exit(1)
+		
+# read stdin a line at a time and pass it to the Raptor object
+try:
+	line = " "
+	while line:
+		line = sys.stdin.readline()
+		the_raptor.out.write(line)
+except Exception,e:
+	sys.stderr.write("error: problem while filtering: %s\n" % str(e))
+	traceback.print_exc()
+	sys.exit(1)
+
+
+# Print the summary (this can't return errors)
+the_raptor.out.summary()
+	
+if not the_raptor.out.close():
+	the_raptor.errorCode = 2
+	
+# return the error code
+sys.exit(the_raptor.errorCode)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/timelines.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,224 @@
+#
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# 
+# Raptor log visualisation program. Takes a raptor log as standard input
+# and displays timelines that represent build progress and 
+# how much actual parallelism there is in the build.
+# This program requires the pygame and PyOpenGL modules.
+
+from OpenGL.GL import *
+from OpenGL.GLU import *
+import pygame
+from pygame.locals import *
+import time
+
+class Timeline(object):
+	"""A bar representing a number of recipes which were executed in 
+	   time sequence.  There is no guarantee about what host but in 
+	   theory they could have been executed on the same host."""
+
+	globalmax = 2.0
+
+	def __init__(self,ylevel):
+		self.maxtime = 0.0
+		self.recipes = []
+		self.ylevel = ylevel
+
+	def append(self, recipe):
+		"" add this recipe to this timeline if it happens after the latest recipe already in the timeline ""
+		if recipe.starttime + recipe.duration > self.maxtime:
+			self.maxtime = recipe.starttime + recipe.duration
+			if self.maxtime > Timeline.globalmax:
+				Timeline.globalmax = self.maxtime 
+		else:
+			pass
+
+		self.recipes.append(recipe)
+
+	def draw(self):
+		glLoadIdentity()
+		self.xscale = 4.0 / Timeline.globalmax
+
+    		glTranslatef(-2.0, -1.5, -6.0)
+		count = 0
+		for r in self.recipes:
+			if count % 2 == 0:
+				coloff=0.8
+			else:
+				coloff = 1.0
+
+			count += 1
+			r.draw(self.xscale, self.ylevel, coloff)
+
+class Recipe(object):
+	"""Represents a task completed in a raptor build. 
+	   Drawn as a colour-coded bar with different 
+	   colours for the various recipe types."""
+	STAT_OK = 0
+	colours = {
+		'compile': (0.5,0.5,1.0),
+		'compile2object': (0.5,0.5,1.0),
+		'win32compile2object': (0.5,0.5,1.0),
+		'tools2linkexe': (0.5,1.0,0.5),
+		'link': (0.5,1.0,0.5),
+		'linkandpostlink': (0.5,1.0,0.5),
+		'win32stageonelink': (0.5,1.0,0.5),
+		'tools2lib': (0.5,1.0,1.0),
+		'win32stagetwolink': (1.0,0.1,1.0),
+		'postlink': (1.0,0.5,1.0)
+		}
+
+	def __init__(self, starttime, duration, name, status):
+		self.starttime = starttime
+		self.duration = duration
+		self.status = status
+		self.colour = (1.0, 1.0, 1.0)
+		if name in Recipe.colours:
+			self.colour = Recipe.colours[name]
+		else:
+			self.colour = (1.0,1.0,1.0)
+		self.name = name 
+
+	def draw(self, scale, ylevel, coloff):
+		if self.status == Recipe.STAT_OK:
+			glColor4f(self.colour[0]*coloff, self.colour[1]*coloff, self.colour[2]*coloff,0.2)
+		else:
+			glColor4f(1.0*coloff, 0.6*coloff, 0.6*coloff,0.2)
+
+
+		x = self.starttime * scale
+		y = ylevel
+		x2 = x + self.duration * scale
+		y2 = ylevel + 0.2
+		glBegin(GL_QUADS)
+		glVertex3f(x, y, 0)
+		glVertex3f(x, y2, 0)
+		glVertex3f(x2, y2, 0)
+		glVertex3f(x2, y, 0)
+		glEnd()
+
+
+def resize((width, height)):
+	if height==0:
+		height=1
+	glViewport(0, 0, width, height)
+	glMatrixMode(GL_PROJECTION)
+	glLoadIdentity()
+	gluPerspective(45, 1.0*width/height, 0.1, 100.0)
+	glMatrixMode(GL_MODELVIEW)
+	glLoadIdentity()
+
+def init():
+	glShadeModel(GL_SMOOTH)
+	glClearColor(0.0, 0.0, 0.0, 0.0)
+	glClearDepth(1.0)
+	glEnable(GL_DEPTH_TEST)
+	glDepthFunc(GL_LEQUAL)
+	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST)
+
+
+import sys
+import re
+
+def main():
+
+	video_flags = OPENGL|DOUBLEBUF
+
+	pygame.init()
+	pygame.display.set_mode((800,600), video_flags)
+
+	resize((800,600))
+	init()
+
+	frames = 0
+	ticks = pygame.time.get_ticks()
+
+
+	lines = 4
+	timelines = []
+	ylevel = 0.0
+	for i in xrange(0,4):
+		ylevel += 0.6 
+		timelines.append(Timeline(ylevel))
+
+	f = sys.stdin
+
+	recipe_re = re.compile(".*<recipe name='([^']+)'.*")
+	time_re = re.compile(".*<time start='([0-9]+\.[0-9]+)' *elapsed='([0-9]+\.[0-9]+)'.*")
+	status_re = re.compile(".*<status exit='([^']*)'.*")
+
+	alternating = 0
+	start_time = 0.0
+
+	
+	for l in f.xreadlines():
+		l2 = l.rstrip("\n")
+		rm = recipe_re.match(l2)
+
+		if rm is not None:
+			rname = rm.groups()[0]
+			continue
+
+
+		tm = time_re.match(l2)
+		if tm is not None:
+			s = float(tm.groups()[0])
+			elapsed = float(tm.groups()[1])
+
+			if start_time == 0.0:
+				start_time = s
+
+			s -= start_time
+
+			continue
+
+		sm = status_re.match(l2)
+
+		if sm is None:
+			continue
+
+		if sm.groups()[0] == 'ok':
+			status = 0
+		else:
+			status = int(sm.groups()[0])
+
+		olddiff = 999999999.0
+		tnum = 0
+		for t in timelines:
+			newdiff = s - t.maxtime
+			if newdiff < 0.0:
+				continue
+			if olddiff > newdiff:
+				dest_timeline = t
+				olddiff = newdiff
+			tnum += 1
+
+		dest_timeline.append(Recipe(s, elapsed, rname, status))
+		event = pygame.event.poll()
+		if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):
+			break
+
+		glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
+		for t in timelines:
+			t.draw()
+		pygame.display.flip()
+
+		frames = frames+1
+
+	print "fps:  %de" % ((frames*1000)/(pygame.time.get_ticks()-ticks))
+	event = pygame.event.wait()
+
+
+if __name__ == '__main__': main()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdll.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,61 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# ARMv5 PDLL ABIv2 Function Like Makefile (FLM)
+# Build an e32 PDLL (Patchable constants DLL)
+# 
+#
+
+ifeq ($(TARGETTYPE),pdll)
+include $(FLMHOME)/e32abiv2defaults.mk
+
+# What we need to build a DLL
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+
+# Default Linker settings for this target type
+LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+
+ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
+endif
+
+LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
+
+
+# Default Postlinker settings
+CANHAVEEXPORTS:=1
+POSTLINKTARGETTYPE:=DLL
+POSTLINKFILETYPE:=dll
+DOPOSTLINK:=1
+CANIGNORENONCALLABLE:=1
+
+# Use the general EABI FLM 
+# We are appending to CDEFS but we don't want this to affect
+# other invocations so we are going to save it on a stack
+# and restore it afterwards
+$(call vsave,CDEFS)
+CDEFS:=$(CDEFS) __DLL__
+include $(FLMHOME)/e32abiv2.flm
+$(call vrestore)
+
+else
+$(error e32abiv2pdll.flm called with wrong TARGETTYPE (should be 'pdll' but is '$(TARGETTYPE)'))
+endif
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/flm/run.mk	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+.PHONY:: ALL
+ALL:: # Default target
+
+HOSTPLATFORM:=win 32
+HOSTPLATFORM_DIR:=win32
+OSTYPE:=cygwin
+FLMHOME:=E:/wip2/lib/flm
+SHELL:=E:/wip2/win32/cygwin/bin/sh.exe
+
+
+USE_TALON:=
+
+
+
+include E:/wip2/lib/flm/globals.mk
+
+# dynamic default targets
+
+# call E:/wip2/lib/flm/config/default.flm
+SBS_SPECIFICATION:=Symbian.config.default
+SBS_CONFIGURATION:=armv5_urel
+
+EPOCROOT:=E:/wip2/test/epocroot
+ELF2E32:=E:/wip2/test/epocroot/epoc32/tools/elf2e32.exe
+WHATLOG:=
+include E:/wip2/lib/flm/config/default.flm
+
+
+component_paths:=$(SBS_HOME)/test/smoke_suite/test_resources/simple/bld.inf|c:/make_test/a.mk \
+$(SBS_HOME)/test/smoke_suite/test_resources/simple_dll/bld.inf|c:/make_test/b.mk \
+$(SBS_HOME)/test/smoke_suite/test_resources/simple/always_build_as_arm_bld.inf|c:/make_test/c.mk \
+$(SBS_HOME)/test/smoke_suite/test_resources/simple/debuggable_bld.inf|c:/make_test/d.mk \
+$(SBS_HOME)/test/smoke_suite/test_resources/simple_export/bld.inf|c:/make_test/e.mk
+
+configs:=armv5 armv7
+
+cli_options:=-d
+
+include build.flm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/flm/win32pdll.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# WINSCW PDLL Function Like Makefile (FLM)
+# Build an emulator PDLL
+# 
+#
+
+ifeq ($(TARGETTYPE),pdll)
+
+BASE_TYPE:=dll
+CW_STATIC_RUNTIME:=1
+FIRST_STATLIB:=
+FIXED_EXPORT:=
+SUPPORTS_IMPORT_LIBRARY:=1
+SYSTEM_TARGET:=0
+UID2_DEFAULT:=
+
+# Use the general win32 FLM 
+include $(FLMHOME)/win32.flm
+
+else
+$(error $winp32dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)'))
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/license.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,8 @@
+Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+All rights reserved.
+
+This component and the accompanying materials are made available
+under the terms of the License "Eclipse Public License v1.0"
+which accompanies this distribution, and is available
+at the URL "http://www.eclipse.org/legal/epl-v10.html".
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/abiv1_implibs.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,14 @@
+
+The ABIv1 toolchain was deprecated in Symbian OS 9.4 but the build system
+continued to generate both ABIv1 (.lib) import libraries and ABIv2 (.dso)
+import libraries for convenience during the transition to ABIv2.
+
+This change now turns off the generation of ABIv1 import libraries by
+default but makes support switchable on a kit-by-kit basis. To turn on
+ABIv1 import library generation, add the following setting to the
+root.changes variant in epoc32/sbs_config/os_properties.xml
+
+<set name="SUPPORTS_ABIV1_IMPLIBS" value="1"/>
+
+An example properties file is available in the examples/os_properties.xml
+file distributed within the Raptor installation.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/cross_compiling_tools.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+
+To build tools for Windows and Linux, on Linux, use
+
+sbs -c tools2.win32 -c tools2
+
+You will also need the mingw32 package, for the cross-compiler.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/cygwin_1_7.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+
+Starting with Raptor 2.13.0, it is also possible to use Cygwin 1.7 instead of
+Cygwin 1.5. Some work was necessary to add support for Cygwin 1.7 due to a
+change in command line interface in some of the Cygwin tools.
+ 
+Due to this change in the command line interface, we have had to introduce the
+SBS_CYGWIN17 environment variable whose value should be the root directory of
+the Cygwin 1.7 installation. We hope this is temporary and that we can remove
+this at some point. The following bullet points indicate the order of
+precedence of the SBS_CYGWIN and SBS_CYGWIN17 environment variables.
+ 
+* SBS_CYGWIN set,   SBS_CYGWIN17 unset: assume Cygwin 1.5 is being used
+* SBS_CYGWIN set,   SBS_CYGWIN17 set:   assume Cygwin 1.7 is being used
+* SBS_CYGWIN unset, SBS_CYGWIN17 set:   assume Cygwin 1.7 is being used
+ 
+You will get errors if you set SBS_CYGWIN to be the root of a Cygwin 1.7
+installation directory and if SBS_CYGWIN17 is not defined correctly.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/delete_on_failed_compile.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+In certain circumstances, such as failure to obtain licenses, RVCT 2.2's armcc 
+program still produces object files whose contents is junk. This causes build 
+problems later as from Make's point of view those object files are "up to 
+date" so the build tries to link them. Of course, these attempts at linking 
+fail and the build is broken.
+
+This is a work around for that RVCT 2.2 problem.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/epocnestedexceptions.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,10 @@
+
+Qt needs to be able to have more than one active exception object, even when
+OOM (out-of-memory).
+
+A detailed overview of the solution can be found at 
+http://wikis.in.nokia.com/Toolchain/QtExceptionHandling
+
+In short, we add a new MMP flag keyword - EPOCNESTEDEXCEPTIONS. When this
+keyword is specified, a different static run-time library is used.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/featurevariantsafe.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,12 @@
+
+By default, .mmp files that include FEATUREVARIANT will generate binaries for
+both "normal", non-binary variant, build configurations and binary variant
+build configurations.
+
+In order to ensure that only invariant binaries are created for invariant
+build configurations, and variant binaries for variant build configurations,
+the optional setting FEATUREVARIANTSAFE can be used. FEATUREVARIANTSAFE can be
+set via an os_properties.xml file and, when set, variant binaries will no
+longer be created for invariant build configurations.
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/localresourcecopying.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+Resources were copied using make rules.  This is sensible in local
+machine builds but non-optimal in cluster builds.  It is entirely IO
+bound so that instead of benefitting from running on the cluster it
+simply creates more IO as files need to be transferred over the network,
+possibly multiple times.
+
+This change introduces the <finalcopy> tag to the log which the frontend
+reads in a new "default" filter called FilterCopyFile.  Thus the python
+frontend does the copying rather than the cluster build engine.
+
+This happens at the end of each invocation of the build engine or "stage".
+Since resources are built in their own stage, the copying is completed
+before build tasks in the other stages require them.  The copied files
+are not needed in the resource stage itself.
+
+The filter uses <progress:end ...> tags to determine when a stage
+is finished and this requires that the timing feature be switched on
+permanently.
+
+The format of the tag is:
+<finalcopy source="sourcefilename">dest_filename1 dest_filename2 ...</finalcopy>
+
+Spaces may not be used in filenames. The sequence "%20" may be used
+instead.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/parametric_log_filters.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+
+It is now possible to pass parameters from the command line into log filters.
+This works in the same way for both sbs and sbs_filter commands.
+
+For example:
+
+sbs --filters=Foo[param1,param2,param3]
+
+sbs_filter --filters=Bar[value] < build.log
+
+
+Multiple filters with parameters can be specified if needed,
+
+sbs --filters=Foo[param1,param2,param3],Bar[value]
+
+
+In the 2.13.0 release there are two filters which take parameters:
+
+1. sbs_filter --filters=FilterComp[wizard/group] < log
+
+Here the parameter is (part of) a bld.inf path and the filter only prints
+parts of the log which are attributable to the matching component. In the
+example above, the log elements from any bld.inf which has "wizard/group" 
+as part of its path will be printed: normally, passing the full path name
+will guarantee that only one component matches.
+
+2. sbs_filter --filters=FilterTagCounter[info,recipe] < log
+
+Here the parameters are a list of the element names to count. This is a
+simple analysis filter that shows you how many instances of XMl elements
+are in a log and how many characters of body text they have.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/query_cli.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+
+A new --query command-line option allows other tools to easily read raptor's
+configuration data without having to understand exactly how raptor config
+files work.
+
+For example, all the valid build aliases which can be used to build with
+the -c option can be obtained using:
+
+sbs --query=aliases
+
+All the known product variants can be obtained using:
+
+sbs --query=products
+
+And the details of a particular configuration can be found using:
+
+sbs --query=config[armv5_urel.n8]
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/system_definition_v3.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,8 @@
+
+System Definition version 3 Support
+
+This is only prototype support for testing the reading of single 
+"package" files. The implementation was submitted by Bob Rosenberg
+and has been regression tested by the Raptor team. Testing on real
+sysdef files is being carried out by the Symbian Foundation.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/tcomsupport.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+New Trace Compiler
+-------------------
+
+Raptor supports an updated version of the Trace Compiler which has
+an improved command-line interface that allows Raptor to specify the
+directory in which trace data should be written.  This allows MMPs to
+implement a new convention for where trace files are stored.
+
+The new convention prevents clashes where building the same
+source file for different MMPs would previously have resulted in two
+build tasks trying to create the same trace file (header/dictionary).
+This caused build slowdowns and also made the trace data inaccurate.
+
+The standard for this directory is that the last two elements of the
+path should be
+
+   traces/traces_<targetname>_<ext>
+
+e.g.
+
+   traces/traces_euser_dll
+
+The new trace compiler also creates "autogen" headers in a new location
+under epoc32/include/platform rather than epoc32/include/internal.
+
+Trace Headers Directory can now also be in SYSTEMINCLUDEs
+----------------------------------------------------------
+
+Some teams were having trouble getting qmake to generate MMPs with
+USERINCLUDEs set.  So they were specifying the trace header directory in
+their SYTEMINCLUDEs.  This change causes Raptor to look for the traces
+directory in bot SYSTEMINCLUDES and USERINCLUDES.
+
+
+Create Trace Directories During Makefile Parse
+-----------------------------------------------
+
+Some build engines consider it a "clash" when two jobs attempt to make the
+same directory.  This change causes some important trace output directories
+to be created during makefile parsing which removes the (small) possibility
+that they would clash during the build part.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_broken.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Example of a Filter class using the SAX parser base class
+#
+
+import filter_interface
+
+class FilterBroken(filter_interface.FilterSAX):
+	
+	def startDocument(self):
+		self.first = True
+		
+	def startElement(self, name, attributes):
+		pass
+	
+	def characters(self, char):
+		pass
+		
+	def endElement(self, name):
+		pass
+	
+	def endDocument(self):
+		pass
+	
+	def error(self, exception):
+		pass
+		
+	def fatalError(self, exception):
+		if self.first:
+			print "fatal error:", str(exception)
+			self.first = False
+		
+	def warning(self, exception):
+		pass
+	
+# the end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_bz2log.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,88 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Compress the full Raptor log file using the BZip2 algorithm, maximum compression.
+# 
+#
+
+import os
+import sys
+import raptor
+import filter_interface
+import bz2
+
+class StringListCompressor(object):
+	def __init__(self, complevel=5, filename="file.log.bz2"):
+		self.compressor = bz2.BZ2Compressor(complevel)
+		self.stringlist = []
+		self.outputopenedok = False
+		self.filename = filename
+		try:
+			self.fh = open(self.filename, "wb")
+			self.outputopenedok = True
+		except:
+			self.outputopenedok = False
+	
+	def write(self, data):
+		if self.outputopenedok:
+			compresseddata = self.compressor.compress(data)
+			self.fh.write(compresseddata)
+	
+	def __del__(self):
+		if self.outputopenedok:
+			compresseddata = self.compressor.flush()
+			self.fh.write(compresseddata)
+			self.fh.close()
+
+class Bz2log(filter_interface.Filter):
+	def __init__(self):
+		self.__inRecipe = False
+		self.compressor = None
+
+	def open(self, raptor_instance):
+		"""Open a log file for the various I/O methods to write to."""
+		
+		if raptor_instance.logFileName == None:
+			self.out = sys.stdout # Default to stdout if no log file is given
+		else:
+			logname = str(raptor_instance.logFileName.path.replace("%TIME", raptor_instance.timestring))
+			
+			# Ensure that filename has the right extension; append ".bz2" if required
+			if not logname.lower().endswith(".bz2"):
+				logname += ".bz2"
+
+			try:
+				dirname = str(raptor_instance.logFileName.Dir())
+				if dirname and not os.path.isdir(dirname):
+					os.makedirs(dirname)
+			except:
+				self.formatError("cannot create directory %s", dirname)
+				return False
+			
+			# Use highest compression level 9 which corresponds to a 900KB dictionary
+			self.compressor = StringListCompressor(9, logname)
+			if not self.compressor.outputopenedok:
+				self.out = None
+				self.formatError("failed to initialise compression routines." )
+				return False
+		return True
+		
+	def write(self, data):
+		"""Write data compressed log"""
+		if self.compressor:
+			self.compressor.write(data)
+		return True
+	
+	def close(self):
+		"""Close the log file"""
+		return True
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_check.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Filter class for doing --what and --check operations
+#
+
+import os
+import sys
+import re
+import filter_interface
+import filter_what
+
+class FilterCheck(filter_what.FilterWhat):
+
+        def __init__(self): 
+		super(filter_what.FilterWhat,self).__init__()
+		self.check = True
+		self.path_prefix_to_strip = None
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_checkcomp.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,70 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Filter class for doing a Check operation but also prints component information.
+#
+
+import os
+import sys
+import re
+import filter_interface
+import filter_what
+
+class FilterCheckComp(filter_what.FilterWhat):
+
+	def __init__(self):
+		super(FilterCheckComp, self).__init__()
+		self.check = True
+
+	def write(self, text):
+		"process some log text"
+		ok = True
+		
+		for line in text.splitlines():
+			ok = filter_what.FilterWhat.write(self, line)
+			if not ok:
+				break
+		self.ok = ok
+		return self.ok
+	
+	def start_bldinf(self, bldinf):
+		dir = None
+		if "win" in self.buildparameters.platform:
+			dir = os.path.dirname(bldinf.replace("/","\\"))
+			dir = os.path.splitdrive(dir)[1]
+		else:
+			dir = os.path.dirname(bldinf)
+
+		self.outfile.write("=== %s == %s\n" % (dir, dir))
+		self.outfile.write("=== check == %s\n" % (dir))
+		self.outfile.write("-- sbs_filter --filters=FilterCheckComp\n++ Started at Thu Feb 11 10:05:19 2010\nChdir %s\n" % dir)
+
+	def end_bldinf(self):
+		self.outfile.write("++ Finished at Thu Feb 11 10:05:20 2010\n")
+
+	def close(self):
+		self.outfile.write("++ Finished at Thu Feb 11 10:05:20 2010\n")
+		self.outfile.write("=== check finished Thu Feb 11 10:05:20 2010\n")
+
+	def open(self, build_parameters):
+		t = filter_what.FilterWhat.open(self, build_parameters)
+		if t:
+			self.outfile.write("\n===-------------------------------------------------\n")
+			self.outfile.write("=== check\n")
+			self.outfile.write("===-------------------------------------------------\n")
+			self.outfile.write("=== check started Thu Feb 11 10:02:21 2010\n")
+
+		self.path_prefix_to_strip = os.path.abspath(build_parameters.epocroot)
+		self.path_prefix_to_add_on = build_parameters.incoming_epocroot
+		return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_component.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,96 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Filter class to print log entries for a selected component
+#
+
+import filter_interface
+import sys
+
+class FilterComp(filter_interface.FilterSAX):
+	
+	def __init__(self, params = []):
+		"""parameters to this filter are the path of the bld.inf and some flags.
+		
+		The bld.inf path can be a substring of the path to match. For example,
+		"email" will match an element with bldinf="y:/src/email/group/bld.inf".
+		
+		No flags are supported yet; this is for future expansion.
+			
+		If no parameters are passed then nothing is printed."""
+		self.bldinf = ""
+		self.flags = ""
+		
+		if len(params) > 0:
+			self.bldinf = params[0]
+			
+		if len(params) > 1:
+			self.flags = params[1]
+		
+		super(FilterComp, self).__init__()
+		
+	def startDocument(self):
+		# mark when we are inside an element with bldinf="the selected one"
+		self.inside = False
+		# and count nested elements so we can toggle off at the end.
+		self.nesting = 0
+	
+	def printElementStart(self, name, attributes):
+		sys.stdout.write("<" + name)
+		for att,val in attributes.items():
+			sys.stdout.write(" " + att + "='" + val + "'")
+		sys.stdout.write(">")
+		
+	def startElement(self, name, attributes):
+		if self.inside:
+			self.nesting += 1
+			self.printElementStart(name, attributes)
+			return
+		
+		if self.bldinf:
+			try:
+				if self.bldinf in attributes["bldinf"]:
+					self.inside = True
+					self.nesting = 1
+					self.printElementStart(name, attributes)
+			except KeyError:
+				pass
+			
+	def characters(self, char):
+		if self.inside:
+			sys.stdout.write(char)
+		
+	def endElement(self, name):
+		if self.inside:
+			sys.stdout.write("</" + name + ">")
+			
+		self.nesting -= 1
+		
+		if self.nesting == 0:
+			self.inside = False
+			print
+	
+	def endDocument(self):
+		pass
+	
+	def error(self, exception):
+		print filter_interface.Filter.formatError("FilterComp:" + str(exception))
+		
+	def fatalError(self, exception):
+		print filter_interface.Filter.formatError("FilterComp:" + str(exception))
+		
+	def warning(self, exception):
+		print filter_interface.Filter.formatWarning("FilterComp:" + str(exception))
+	
+# the end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_copyfile.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,92 @@
+#
+# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Filter class for copying files in serial in python. This
+# is important in cluster builds where file copying is 
+# very inefficient.  
+# The one-to-many <finalcopy> tag is searched for and copy
+# instructions are built up in a hash table.
+# <finalcopy source='sourcefilename'>destfilename1 destfilename2 . . . .destfilenameN</copy>
+# destinations must be full filenames not directories.
+#
+# This filter monitors build progress
+# via the <progress> tags and flushes copies as build 
+# stages end (e.g. after resource so resources are ready for the next stage)
+# 
+
+import os
+import sys
+import tempfile
+import filter_interface
+import shutil
+import generic_path
+import stat
+from raptor_utilities import copyfile
+
+class FilterCopyFile(filter_interface.Filter):
+	
+	def open(self, params):
+		"initialise"
+		
+		self.ok = True
+
+		self.files = {}
+		
+		return self.ok
+	
+	
+	def write(self, text):
+		"process some log text"
+		
+		for line in text.splitlines():
+			if line.startswith("<finalcopy"):
+				source_start = line.find("source='")
+				source = line[source_start+8:line.find("'", source_start+8)]
+				destinations = line[line.find(">",source_start)+1:line.find("</finalcopy>")].split(" ")
+
+				if source in self.files:
+					self.files[source].update(destinations)
+				else:
+					self.files[source] = set(destinations)
+			elif line.startswith("<progress:end object_type='makefile' task='build'"):
+				self.flushcopies() # perform copies at end of each invocation of the make engine
+						   # to ensure dependencies are in place for the next one.
+				
+		return self.ok
+	
+	
+	def summary(self):
+		"finish off"
+		self.flushcopies()
+		return self.ok
+
+	def flushcopies(self):
+		for source in self.files.keys():
+			for dest in self.files[source]:
+				try:
+					copyfile(source, dest)
+				except IOError, e:
+					print "<error>%s</error>" % str(e)
+		self.files = {}
+		
+
+
+	def close(self):
+		"nop"
+		
+
+		return self.ok
+
+# the end				
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_tagcount.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,82 @@
+#
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Example of a Filter class using the SAX parser base class
+#
+
+import filter_interface
+
+class FilterTagCounter(filter_interface.FilterSAX):
+	
+	def __init__(self, params = []):
+		"""parameters to this filter are the names of tags to print.
+		
+		If no parameters are passed then all tags are reported."""
+		self.interesting = params
+		super(FilterTagCounter, self).__init__()
+		
+	def startDocument(self):
+		# for each element name count the number of occurences
+		# and the amount of body text contained.
+		self.names = []
+		self.count = {}
+		self.errors = 0
+		self.fatals = 0
+		self.warns = 0
+		
+	def startElement(self, name, attributes):
+		if name == "buildlog":
+			# print out the attributes of the "top" element
+			print "version:"
+			for a,v in attributes.items():
+				print a, "=", v
+		
+		# push name onto the stack of names and increment the count
+		self.names.append(name)
+		if name in self.count:
+			self.count[name][0] += 1
+		else:
+			self.count[name] = [1, 0]    # occurs, characters	
+	
+	def characters(self, char):
+		# these are for the current element
+		current = self.names[-1]
+		self.count[current][1] += len(char)
+		
+	def endElement(self, name):
+		# pop the name off the stack
+		self.names.pop()
+	
+	def endDocument(self):
+		# report
+		print "\nsummary:"
+		for name,nos in sorted(self.count.items()):
+			if name in self.interesting or len(self.interesting) == 0:
+				print name, nos[0], nos[1]
+			
+		print "\nparsing:"
+		print "errors =", self.errors
+		print "fatals =", self.fatals
+		print "warnings =", self.warns
+	
+	def error(self, exception):
+		self.errors += 1
+		
+	def fatalError(self, exception):
+		self.fatals += 1
+		
+	def warning(self, exception):
+		self.warns += 1
+	
+# the end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_timing.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,121 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Base Class for defining filter classes
+# All filter classes that get defined should derive from this base class
+#
+
+import errno
+import filter_interface
+import os
+import raptor
+import raptor_timing
+import sys
+
+class FilterTiming(filter_interface.Filter):
+	"""
+		Writes a logfile containing the timings for each Raptor process
+	"""
+	
+	def open(self, raptor_instance):
+		"""
+			Open a log file with the same name as the Raptor log file, with
+					'.timings' appended. This will contain only 'progress'
+					timing tags from the Raptor output
+			Parameters:
+				raptor_instance - Raptor
+					Instance of Raptor. FilterList usually passes in a cut-down
+							version of Raptor containing only a few attributes
+		"""
+		self.raptor = raptor_instance
+		self.logFileName = self.raptor.logFileName
+		# insert the time into the log file name
+		if self.logFileName:
+			self.path = (self.logFileName.path.replace("%TIME",
+					self.raptor.timestring) + ".timings")
+	
+			try:
+				dirname = str(self.raptor.logFileName.Dir())
+				if dirname and not os.path.isdir(dirname):
+					os.makedirs(dirname)
+			except os.error, e:
+				if e.errno != errno.EEXIST:
+					sys.stderr.write("%s : error: cannot create directory " +
+							"%s\n" % (raptor.name, dirname))
+					return False
+			try:
+				self.out = open(str(self.path), "w")
+			except:
+				self.out = None
+				sys.stderr.write("%s : error: cannot write log %s\n" %\
+					(raptor.name, self.path))
+				return False
+		self.start_times = {}
+		self.all_durations = []
+		self.namespace_written = False
+		self.open_written = False
+		return True
+				
+				
+	def write(self, text):
+		"""
+			Write out any tags with a 'progress_' tagName
+		"""
+		if "<progress:discovery " in text:
+			self.out.write(text)
+		elif "<progress:start " in text:
+			attributes = raptor_timing.Timing.extract_values(source = text)
+			self.start_times[(attributes["object_type"] + attributes["task"] +
+					attributes["key"])] = attributes["time"]
+		elif "<progress:end " in text:
+			attributes = raptor_timing.Timing.extract_values(source = text)
+			duration = (float(attributes["time"]) -
+					float(self.start_times[(attributes["object_type"] +
+					attributes["task"] + attributes["key"])]))
+			self.out.write(raptor_timing.Timing.custom_string(tag = "duration",
+					object_type = attributes["object_type"],
+					task = attributes["task"], key = attributes["key"],
+					time = duration))
+			self.all_durations.append(duration)
+		elif text.startswith("<?xml ") and not self.namespace_written:
+			self.out.write(text)
+			self.namespace_written = True
+		elif text.startswith("<buildlog ") and not self.open_written:
+			self.out.write(text)
+			self.open_written = True
+		return True	
+
+			
+	def summary(self):
+		"""
+			Print out extra timing info
+		"""
+		total_time = 0.0
+		for duration in self.all_durations:
+			total_time += duration
+		self.out.write(raptor_timing.Timing.custom_string(tag = "duration",
+				object_type = "all", task = "all", key = "all",
+				time = total_time) + "</buildlog>\n")
+	
+	
+	def close(self):
+		"""
+			Close the logfile
+		"""
+		try:
+			self.out.close
+			return True
+		except:
+			self.out = None
+		return False
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_whatcomp.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,56 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Filter class for doing --what and --check operations
+#
+
+import os
+import sys
+import re
+import filter_interface
+import filter_what
+
+class FilterWhatComp(filter_what.FilterWhat):
+
+        def __init__(self): 
+		super(FilterWhatComp, self).__init__()
+
+	def write(self, text):
+		"process some log text"
+		ok = True
+		
+		for line in text.splitlines():
+			ok = filter_what.FilterWhat.write(self, line)
+			if not ok:
+				break
+				
+		self.ok = ok
+		return self.ok
+	
+	def start_bldinf(self,bldinf):
+		if "win" in self.buildparameters.platform:
+			dir = os.path.dirname(bldinf.replace("/","\\"))
+		else:
+			dir = os.path.dirname(bldinf)
+
+		self.outfile.write("-- abld -w \nChdir %s \n" % dir)
+		
+	def end_bldinf(self):
+		self.outfile.write("++ Finished\n")
+
+	def open(self, build_parameters):
+		t = filter_what.FilterWhat.open(self, build_parameters)
+		self.path_prefix_to_strip = os.path.abspath(build_parameters.epocroot)
+		self.path_prefix_to_add_on = build_parameters.incoming_epocroot
+		return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/raptor_api.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,221 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+# raptor_api module
+#
+# Python API for Raptor. External code should interact with Raptor via this
+# module only, as it is the only programatic interface considered public. The
+# command line --query option is also implemented using this module.
+
+# constants
+ALL = 1
+
+# objects
+
+class Reply(object):
+	"""object to return values from API calls.
+	"""
+	def __init__(self, text=""):
+		self.text = text
+	
+	def __str__(self):
+		name = type(self).__name__.lower()
+		
+		string = "<" + name
+		children = []
+		longend = False
+		
+		for attribute,value in self.__dict__.items():
+			if attribute != "text":
+				if isinstance(value, Reply):
+					children.append(value)
+				else:
+					string += " %s='%s'" % (attribute, value)
+		
+		if children or self.text:
+			string += ">"
+			longend = True
+		
+		if self.text:
+			string += self.text
+		
+		if children:
+			string += "\n"
+				
+		for c in children:
+			string += str(c)
+			
+		if longend:
+			string += "</%s>\n" % name
+		else:	
+			string += "/>\n"
+		
+		return string
+
+class Alias(Reply):
+	def __init__(self, name, meaning):
+		super(Alias,self).__init__()
+		self.name = name
+		self.meaning = meaning
+
+class Config(Reply):
+	def __init__(self, fullname, outputpath):
+		super(Config,self).__init__()
+		self.fullname = fullname
+		self.outputpath = outputpath
+
+class Product(Reply):
+	def __init__(self, name):
+		super(Product,self).__init__()
+		self.name = name
+
+import generic_path
+import raptor
+import raptor_data
+import re
+
+class Context(object):
+	"""object to contain state information for API calls.
+	
+	For example,
+	
+	api = raptor_api.Context()
+	val = api.getaliases("X")
+	"""
+	def __init__(self, initialiser=None):
+		# this object has a private Raptor object that can either be
+		# passed in or created internally.
+		
+		if initialiser == None:
+			self.__raptor = raptor.Raptor()
+		else:
+			self.__raptor = initialiser
+			
+	def stringquery(self, query):
+		"""turn a string into an API call and execute it.
+		
+		This is a convenience method for "lazy" callers.
+		
+		The return value is also converted into a well-formed XML string.
+		"""
+		
+		if query == "aliases":
+			aliases = self.getaliases()
+			return "".join(map(str, aliases)).strip()
+		
+		elif query == "products":
+			variants = self.getproducts()
+			return "".join(map(str, variants)).strip()
+		
+		elif query.startswith("config"):
+			match = re.match("config\[(.*)\]", query)
+			if match:
+				config = self.getconfig(match.group(1))
+				return str(config).strip()
+			else:
+				raise BadQuery("syntax error")
+		
+		raise BadQuery("unknown query")
+
+	def getaliases(self, type=""):
+		"""extract all aliases of a given type.
+		
+		the default type is "".
+		to get all aliases pass type=ALL
+		"""
+		aliases = []
+		
+		for a in self.__raptor.cache.aliases.values():
+			if type == ALL or a.type == type:
+				# copy the members we want to expose
+				aliases.append( Alias(a.name, a.meaning) )
+			
+		return aliases
+	
+	def getconfig(self, name):
+		"""extract the values for a given configuration.
+		
+		'name' should be an alias or variant followed optionally by a
+		dot-separated list of variants. For example "armv5_urel" or
+		"armv5_urel.savespace.vasco".
+		"""
+		names = name.split(".")
+		if names[0] in self.__raptor.cache.aliases:
+			x = self.__raptor.cache.FindNamedAlias(names[0])
+			
+			if len(names) > 1:
+				fullname = x.meaning + "." + ".".join(names[1:])
+			else:
+				fullname = x.meaning
+				
+		elif names[0] in self.__raptor.cache.variants:
+			fullname = name
+			
+		else:
+			raise BadQuery("'%s' is not an alias or a variant" % names[0])
+		
+		# create an evaluator for the named configuration
+		tmp = raptor_data.Alias("tmp")
+		tmp.SetProperty("meaning", fullname)
+		
+		units = tmp.GenerateBuildUnits(self.__raptor.cache)
+		evaluator = self.__raptor.GetEvaluator(None, units[0])
+		
+		# get the outputpath
+		# this is messy as some configs construct the path inside the FLM
+		# rather than talking it from the XML: usually because of some
+		# conditional logic... but maybe some refactoring could avoid that.
+		releasepath = evaluator.Get("RELEASEPATH")
+		if not releasepath:
+			raise BadQuery("could not get RELEASEPATH for config '%s'" % name)
+		
+		variantplatform = evaluator.Get("VARIANTPLATFORM")
+		varianttype = evaluator.Get("VARIANTTYPE")
+		featurevariantname = evaluator.Get("FEATUREVARIANTNAME")
+		
+		platform = evaluator.Get("TRADITIONAL_PLATFORM")
+		
+		if platform == "TOOLS2":
+			outputpath = releasepath
+		else:
+			if not variantplatform:
+				raise BadQuery("could not get VARIANTPLATFORM for config '%s'" % name)
+			
+			if featurevariantname:
+				variantplatform += featurevariantname
+				
+			if not varianttype:
+				raise BadQuery("could not get VARIANTTYPE for config '%s'" % name)
+			
+			outputpath = str(generic_path.Join(releasepath, variantplatform, varianttype))
+		
+		return Config(fullname, outputpath)
+		
+	def getproducts(self):
+		"""extract all product variants."""
+		
+		variants = []
+		
+		for v in self.__raptor.cache.variants.values():
+			if v.type == "product":
+				# copy the members we want to expose
+				variants.append( Product(v.name) )
+			
+		return variants
+	
+class BadQuery(Exception):
+	pass
+
+# end of the raptor_api module
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/raptor_buildplatform.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,158 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Classes, methods and regex available for use in log filters
+#
+
+# This particular file is preliminary and under development.
+
+class BuildPlatform(object):
+	""" A build platform is a set of configurations which share
+	the same metadata. In other words, a set of configurations
+	for which the bld.inf and MMP files pre-process to exactly
+	the same text."""
+
+	def __init__(self, build):
+		evaluator = build.GetEvaluator(None, buildConfig)
+		self.selfform= evaluator.CheckedGet("TRADITIONAL_PLATFORM")
+		epocroot = evaluator.CheckedGet("EPOCROOT")
+		self.epocroot = generic_path.Path(epocroot)
+
+		sbs_build_dir = evaluator.CheckedGet("SBS_BUILD_DIR")
+		self.sbs_build_dir = generic_path.Path(sbs_build_dir)
+		flm_export_dir = evaluator.CheckedGet("FLM_EXPORT_DIR")
+		self.flm_export_dir = generic_path.Path(flm_export_dir)
+		self.cacheid = flm_export_dir
+		if raptor_utilities.getOSPlatform().startswith("win"):
+			self.platmacros = evaluator.CheckedGet( "PLATMACROS.WINDOWS")
+		else:
+			self.platmacros = evaluator.CheckedGet( "PLATMACROS.LINUX")
+
+
+		# is this a feature variant config or an ordinary variant
+		fv = evaluator.Get("FEATUREVARIANTNAME")
+		if fv:
+			variantHdr = evaluator.CheckedGet("VARIANT_HRH")
+			variantHRH = generic_path.Path(variantHdr)
+			self.isfeaturevariant = True
+		else:
+			variantCfg = evaluator.CheckedGet("VARIANT_CFG")
+			variantCfg = generic_path.Path(variantCfg)
+			if not variantCfg in variantCfgs:
+				# get VARIANT_HRH from the variant.cfg file
+				varCfg = getVariantCfgDetail(self.epocroot, variantCfg)
+				variantCfgs[variantCfg] = varCfg['VARIANT_HRH']
+				# we expect to always build ABIv2
+				if not 'ENABLE_ABIV2_MODE' in varCfg:
+					build.Warn("missing flag ENABLE_ABIV2_MODE in %s file. ABIV1 builds are not supported.",
+										   str(variantCfg))
+			variantHRH = variantCfgs[variantCfg]
+			self.isfeaturevariant = False
+
+			self.variant_hrh = variantHRH
+			build.Info("'%s' uses variant hrh file '%s'", buildConfig.name, variantHRH)
+			self.systeminclude = evaluator.CheckedGet("SYSTEMINCLUDE")
+
+
+			# find all the interface names we need
+			ifaceTypes = evaluator.CheckedGet("INTERFACE_TYPES")
+			interfaces = ifaceTypes.split()
+
+			for iface in interfaces:
+				detail[iface] = evaluator.CheckedGet("INTERFACE." + iface)
+
+			# not test code unless positively specified
+			self.testcode = evaluator.CheckedGet("TESTCODE", "")
+
+			# make a key that identifies this platform uniquely
+			# - used to tell us whether we have done the pre-processing
+			# we need already using another platform with compatible values.
+
+			key = str(self.variant_hrh) \
+				+ str(self.epocroot) \
+			+ self.systeminclude \
+			+ self.platform
+
+			# Keep a short version of the key for use in filenames.
+			uniq = hashlib.md5()
+			uniq.update(key)
+
+			plat.key = key
+			plat.key_md5 = "p_" + uniq.hexdigest()
+			del uniq
+
+	def __hash__(self):
+		return hash(self.platform) + hash(self.epocroot) + hash(self.variant_hrh) + hash(self.systeminclude) + hash(self.testcode)
+
+	def __cmp__(self,other):
+		return cmp(self.hash(), other.hash())
+
+
+	@classmethod 
+	def fromConfigs(configsToBuild, build):
+		""" Group the list of configurations into "build platforms"."""
+		platforms = Set()
+		
+		for buildConfig in configsToBuild:
+			# get everything we need to know about the configuration
+			plat = BuildPlatform(build = build)
+
+			# compare this configuration to the ones we have already seen
+
+			# Is this an unseen export platform?
+			# concatenate all the values we care about in a fixed order
+			# and use that as a signature for the exports.
+			items = ['EPOCROOT', 'VARIANT_HRH', 'SYSTEMINCLUDE', 'TESTCODE', 'export']
+			export = ""
+			for i in  items:
+				if i in detail:
+					export += i + str(detail[i])
+
+			if export in exports:
+				# add this configuration to an existing export platform
+				index = exports[export]
+				self.ExportPlatforms[index]['configs'].append(buildConfig)
+			else:
+				# create a new export platform with this configuration
+				exports[export] = len(self.ExportPlatforms)
+				exp = copy.copy(detail)
+				exp['PLATFORM'] = 'EXPORT'
+				exp['configs']  = [buildConfig]
+				self.ExportPlatforms.append(exp)
+
+			# Is this an unseen build platform?
+			# concatenate all the values we care about in a fixed order
+			# and use that as a signature for the platform.
+			items = ['PLATFORM', 'EPOCROOT', 'VARIANT_HRH', 'SYSTEMINCLUDE', 'TESTCODE']
+			if raptor_utilities.getOSPlatform().startswith("win"):
+				items.append('PLATMACROS.WINDOWS')
+			else:
+				items.append('PLATMACROS.LINUX')
+
+			items.extend(interfaces)
+			platform = ""
+			for i in  items:
+				if i in detail:
+					platform += i + str(detail[i])
+
+			if platform in platforms:
+				# add this configuration to an existing build platform
+				index = platforms[platform]
+				BuildPlatforms[index]['configs'].append(buildConfig)
+			else:
+				# create a new build platform with this configuration
+				platforms[platform] = len(self.BuildPlatforms)
+				plat.configs = [buildConfig]
+				BuildPlatforms.append(detail)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/raptor_timing.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,168 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# timings API
+# This API can be used to start and stop timings in order to measure performance
+#
+import time
+
+class Timing(object):
+	
+	@classmethod
+	def discovery_string(cls, object_type, count):
+		"""
+			Returns a tag that can be used to show what is about to be
+					"processed"
+			Parameters:
+				object_type - string
+					Type of object that is about to be "processed" in this task
+				count - int
+					Number of objects of input "object_type" are about to be
+							"processed"
+			Returns:
+				string
+					XML tag in the format that can be printed directly to a
+							Raptor log
+		"""
+		return "<progress:discovery object_type='" + str(object_type) + \
+				"' count='" + str(count) + "' />\n"
+				
+	
+	@classmethod
+	def start_string(cls, object_type, task, key):
+		"""
+			Returns a tag that can be used to show what is being "processed"
+					and the time it started
+			Parameters:
+				object_type - string
+					Type of object that is being "processed" in this task
+				task - string
+					What is being done with the object being "processed"
+				key - string
+					Unique identifier for the object being "processed"
+			Returns:
+				string
+					XML tag in the format that can be printed directly to a
+							Raptor log
+		"""
+		return "<progress:start object_type='" + str(object_type) + \
+				"' task='" + str(task) + "' key='" + str(key) + \
+				"' time='" + str(time.time()) + "' />\n"
+	
+	
+	@classmethod
+	def end_string(cls, object_type, task, key):
+		"""
+			Returns a tag that can be used to show what was being "processed"
+					and the time it finished
+			Parameters:
+				object_type - string
+					Type of object that was being "processed" in this task
+				task - string
+					What was being done with the object being "processed"
+				key - string
+					Unique identifier for the object that was "processed"
+			Returns:
+				string
+					XML tag in the format that can be printed directly to a
+							Raptor log
+		"""
+		return "<progress:end object_type='" + str(object_type) + \
+				"' task='" + str(task) + "' key='" + str(key) + \
+				"' time='" + str(time.time()) + "' />\n"
+	
+	
+	@classmethod
+	def custom_string(cls, tag = "duration", object_type = "all", task = "all",
+			key = "all", time = 0.0):
+		"""
+			Returns a custom tag in the 'progress' tag format
+			
+			Parameters:
+				tag - string
+					String to be used for the tag 
+				object_type - string
+					Type of object that was being "processed" in this task
+				task - string
+					What was being done with the object being "processed"
+				key - string
+					Unique identifier for the object that was "processed"
+				time - float
+					The time to be included in the tag
+			Returns:
+				string
+					XML tag in the format that can be printed directly to a
+							Raptor log
+		"""		
+		time_string = "time"
+		if tag == "duration":
+			time_string = "duration" 
+		return "<progress:" + str(tag) + " object_type='" + str(object_type) + \
+				"' task='" + str(task) + "' key='" + str(key) + \
+				"' " + time_string + "='" + str(time) + "' />\n"
+	
+	
+	@classmethod
+	def extract_values(cls, source):
+		"""
+			Takes, as input, a single tag of the format returned by one of the
+					above progress functions. Will extract the attributes and
+					return them as a dictionary. Returns an empty dictionary {}
+					if the tag name is not recognised or there is a parse error
+			Parameters:
+				source - string
+					The input string from which extracted attributes are
+							required
+			Returns:
+				dictionary
+					Dictionary containing the attributes extracted from the
+							input string. Returns an empty dictionary {} if the
+							tag name is not recognised or there is a parse error
+			NB: This function will not work correctly if the 'source' variable
+					contains multiple tags
+		"""
+		import re
+		
+		attributes = {}
+					
+		try:
+			match = re.match(re.compile(".*object_type='(?P<object_type>.*?)'"),
+					source)
+			attributes["object_type"] = match.group("object_type")
+		except AttributeError, e:
+			print e
+			attributes["object_type"] = ""
+		try:
+			match = re.match(re.compile(".*task='(?P<task>.*?)'"), source)
+			attributes["task"] = match.group("task")
+		except AttributeError, e:
+			print e
+			attributes["task"] = ""
+		try:
+			match = re.match(re.compile(".*key='(?P<key>.*?)'"), source)
+			attributes["key"] = match.group("key")
+		except AttributeError:
+			attributes["key"] = ""
+		try:
+			match = re.match(re.compile(".*time='(?P<time>.*?)'"), source)
+			attributes["time"] = match.group("time")
+		except AttributeError:
+			attributes["time"] = ""
+		try:
+			match = re.match(re.compile(".*count='(?P<count>.*?)'"), source)
+			attributes["count"] = match.group("count")
+		except AttributeError:
+			attributes["count"] = ""
+			
+		return attributes
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/System_Definition.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  
+  <systemModel>
+    <layer name="Raptor">
+      <module name="Smoke Tests">
+        <component name="simple">
+          <unit unitID="simpleID" name="simpleName" bldFile="simple"/>
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/cluster/README	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+
+Testing a Cluster to See if it is Correctly Configured
+--------------------------------------------------------
+
+The tests in this directory can be seen only as examples of how to test a cluster.  They would have to be customised before use on any particular cluster.
+
+The tests here are aimed at:
+
+1) Testing that the configuration of each nodes and that services such as NIS,DNS and NTP are configured.
+  This requires that logins for the current user work on all nodes.
+2) Checking that raptor-relevant software is installed and that the compiler can obtain licenses.
+3) Testing that PVM is installed and will run without crashing (solves a problem that has occurred in the past).
+4) Tests that PVM can run commands on all nodes.
+
+
+Typically one would run headtest.sh which performs the tests relating to items 1-3. It causes "nodetest.sh" to be run on all nodes.
+
+e.g.
+	./headtest.sh node1 node2 node3
+
+pvmtest.sh can be used to check that pvm is working by running the compiler on each node via pvm.
+	./pvmtest node1 node2 node3
+
+None of these tests is automatic - one must simply observe the output.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/cluster/headtest.sh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+# Test all nodes in a cluster
+# arguments are the list of nodes.
+
+NODELIST="$@"
+
+(
+echo "Date and time check:"
+echo "    The numbers following each hostname are the date and time in seconds"
+echo "    They should all be the same otherwise make errors may occur during builds."
+echo "    "`hostname`' '`date +%s`
+for i in $NODELIST; do
+	ssh $i 'echo "    "`hostname`' '`date +%s`'&
+done
+)
+
+
+
+for i in $NODELIST; do
+	ssh $i "NODELIST=\"$NODELIST\" $SBS_HOME/test/cluster/nodetest.sh"
+done
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/cluster/nodetest.sh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TESTUSER="$@"
+LOCALTOOLS_HOME=/opt/symbian
+
+
+echo 
+hostname
+echo
+ypwhich 
+mount | grep home
+ls -ld /home/$TESTUSER
+
+ls -l $LOCALTOOLS_HOME/a616/ARM/RVCT/Programs/2.2/308/linux-pentium/armcc 
+ls -l $LOCALTOOLS_HOME/make-pvm-381/pvmgmake 
+ls -l $LOCALTOOLS_HOME/pvm3/bin/LINUX/pvmgmake_pvm 
+ls -l $LOCALTOOLS_HOME/pvm3/bin/LINUX/pvmgmake_avg 
+
+$LOCALTOOLS_HOME/pvm3/bin/LINUX/pvmgmake_pvm 
+#$LOCALTOOLS_HOME/pvm3/bin/LINUX/pvmgmake_avg
+
+
+$LOCALTOOLS_HOME/a616/ARM/RVCT/Programs/2.2/308/linux-pentium/armcc 2>&1 | grep ARM
+
+#connectivity
+for i in $NODELIST; do
+	echo "Pinging $i"
+	ping -c 1  $i| grep "bytes from"
+done
+
+echo "---------------------------------------------------------------------------"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/cluster/pvmtest.sh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+# Test all nodes in a cluster
+# arguments are the list of nodes.
+
+NODELIST="$@"
+
+for i in $NODELIST; do
+	ssh $i "ls -l /tmp/pvm.$UID"
+done
+
+for i in $NODELIST; do
+	(
+	echo "spawn -($i) -> /bin/hostname"
+	echo "spawn -($i) -> $PVM_ROOT/bin/LINUX/pvmgmake_pvm"
+	echo "quit"
+	) | pvm
+done
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/common/raptor_tests.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,697 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+# run the smoke tests
+
+import os
+import re
+import stat
+import sys
+import subprocess
+import traceback
+from shutil import rmtree
+
+sys.path.append(os.environ["SBS_HOME"]+"/python")
+from raptor_meta import BldInfFile
+
+logDir = "$(EPOCROOT)/epoc32/build/smoketestlogs"
+
+debug_mode_active = False
+
+# Environment #################################################################
+
+# On MYS there is USERNAME but not USER
+if 'USER' not in os.environ:
+	os.environ['USER'] = os.environ['USERNAME']
+
+def activate_debug():
+	"""
+		Activate debug-mode remotely
+	"""
+	global debug_mode_active
+	debug_mode_active = True
+
+# Determine the OS version in the epocroot we're testing
+# since some tests expect different outcomes for 9.4 and 9.5
+def getsymbianversion():
+	epocroot = os.environ['EPOCROOT']
+	b = open (epocroot+"/epoc32/data/buildinfo.txt","r")
+	binfo = " ".join(b.readlines())
+	vmatch = (re.compile("v(9\.[0-9])")).search(binfo)
+	if vmatch:
+		osversion = vmatch.group(1)
+	else:
+		osversion = '9.4'
+	return osversion
+
+envRegex = re.compile("\$\((.+?)\)")
+fixEnvironment = ['EPOCROOT', 'SBS_HOME', 'SBS_CYGWIN', 'SBS_MINGW', 'SBS_PYTHON']
+
+def ReplaceEnvs(item):
+	
+	envs = envRegex.findall(item)
+
+	for e in set(envs):
+		try:
+			val = os.environ[e]
+			if e in fixEnvironment:
+				# Raptor "fixes up" EPOCROOT etc. so we must do the same:
+				# add the drive letter (make absolute)
+				val = os.path.abspath(val)
+				# use forward slashes
+				val = val.replace("\\", "/")
+				# remove trailing slashes
+				val = val.rstrip("/")
+			item = item.replace("$(" + e + ")", val)
+		except KeyError:
+			print e, "is not set in the environment"
+			raise ValueError
+				
+	return item
+
+# Utility functions ###########################################################
+
+
+
+def where(input_file):
+	"""Search for 'input_file' in the system path"""
+	locations = []
+	if sys.platform.startswith("win"):
+		if not input_file.lower().endswith(".exe"):
+			input_file += ".exe"
+			for current_file in [loop_number + "\\" + input_file for loop_number in
+					     os.environ["PATH"].split(";")]:
+				try:
+					stat = os.stat(current_file)
+					locations.append(current_file)
+				except OSError, error:
+					pass
+	else:
+		whichproc = subprocess.Popen(args=["which", input_file], 
+					stdout=subprocess.PIPE,
+					stderr=subprocess.STDOUT,
+					shell=False,
+					universal_newlines=True)
+		output = whichproc.stdout.readlines()
+		whichproc.wait()
+
+		if len(output) > 0:
+			locations.append(output[0:(len(output) - 1)])
+				
+	if len(locations) == 0:
+		print "Error: " + input_file + " not defined in PATH environment variable"
+	else:
+		return locations[0]
+	
+def clean_epocroot():
+	"""
+	This method walks through epocroot and cleans every file and folder that is
+	not present in the manifest file
+	"""
+	epocroot = os.path.abspath(os.environ['EPOCROOT']).replace('\\','/')
+	print "Cleaning Epocroot: %s" % epocroot
+	all_files = {} # dictionary to hold all files
+	folders = [] # holds all unique folders in manifest
+	host_platform = os.environ["HOSTPLATFORM_DIR"]
+	try:
+		mani = "$(EPOCROOT)/manifest"
+		manifest = open(ReplaceEnvs(mani), "r")
+		le = len(epocroot)
+		for line in manifest:
+			line = line.replace("$(HOSTPLATFORM_DIR)", host_platform)
+			line = line.replace("./", epocroot+"/").rstrip("\n")
+			all_files[line] = True
+			# This bit makes a record of unique folders into a list
+			pos = line.rfind("/", le)
+			while pos > le: # Look through the parent folders
+				f = line[:pos]
+				if f not in folders:
+					folders.append(f)
+				pos = line.rfind("/", le, pos)
+				
+
+		# This algorithm walks through epocroot and handles files and folders
+		walkpath = "$(EPOCROOT)"
+		for (root, dirs, files) in os.walk(ReplaceEnvs(walkpath), topdown =
+				False):
+			if root.find(".hg") != -1:
+				continue
+
+			# This loop handles all files
+			for name in files:
+				name = os.path.join(root, name).replace("\\", "/")
+								
+				if name not in all_files:
+					try:
+						os.remove(name)
+					except:
+						# chmod to rw and try again
+						try:
+							os.chmod(name, stat.S_IRWXU)
+							os.remove(name)
+						except:							
+							print "\nEPOCROOT-CLEAN ERROR:"
+							print (sys.exc_type.__name__ + ":"), \
+									sys.exc_value
+							if sys.exc_type.__name__ != "WindowsError":
+								print traceback.print_tb(sys.exc_traceback)
+									
+			# This loop handles folders
+			for name in dirs:
+				if name.find(".hg") != -1:
+					continue
+				
+				name = os.path.join(root, name).replace("\\", "/")
+				if name not in all_files and name not in folders:
+					# Remove the folder fully with no errors if full
+					try:
+						rmtree(ReplaceEnvs(name))
+					except:
+						print "\nEPOCROOT-CLEAN ERROR:"
+						print (sys.exc_type.__name__ + ":"), \
+								sys.exc_value
+						if sys.exc_type.__name__ != "WindowsError":
+							print traceback.print_tb(sys.exc_traceback)
+	except IOError,e:
+		print e
+	
+	print "Epocroot Cleaned"
+
+def fix_id(input_id):
+	return input_id.zfill(4)
+
+
+def grep(file, string):
+	return
+
+	
+# Test classes ################################################################
+
+class SmokeTest(object):
+	"""Base class for Smoke Test objects.
+	
+	Each test is defined (minimally) by,
+	1) an ID number as a string
+	2) a name
+	3) a raptor command-line
+	4) some parameters to check the command results against
+
+	The run() method will,
+	1) delete all the listed target files
+	2) execute the raptor command
+	3) check that the test results match the test parameters
+	4) count the warnings and errors reported
+	"""
+	
+	PASS = "pass"
+	FAIL = "fail"
+	SKIP = "skip"	
+
+	def __init__(self):
+		
+		self.id = "0"
+		self.name = "smoketest"
+		self.description = ""
+		self.command = "sbs --do_what_i_want"
+		self.targets = []
+		self.missing = 0
+		self.warnings = 0
+		self.errors = 0
+		self.exceptions = 0
+		self.returncode = 0
+
+		self.onWindows = sys.platform.startswith("win")
+
+		# These variables are for tests that treat the text as a list of lines. In
+		# particular, "." will not match end-of-line. This means that, for example,
+		# "abc.*def" will only match if "abc" and "def" appear on the same line.
+		self.mustmatch = []
+		self.mustnotmatch = []
+		self.mustmatch_singleline = []
+		self.mustnotmatch_singleline = []
+		
+		# These variables are for tests that treat the text as a single string of
+		# characters. The pattern "." will match anything, including end-of-line.
+		self.mustmatch_multiline = []
+		self.mustnotmatch_multiline = []
+		
+		self.countmatch = []
+
+		self.outputok = True
+		self.usebash = False
+		self.failsbecause = None
+		self.result = SmokeTest.SKIP
+		self.environ = {} # Allow tests to set the environment in which commands run.
+		self.sbs_build_dir = "$(EPOCROOT)/epoc32/build"
+
+	def run(self, platform = "all"):
+		previousResult = self.result
+		self.id = fix_id(self.id)
+		try:
+			if self.runnable(platform):
+				
+				if not self.pretest():
+					self.result = SmokeTest.FAIL
+				
+				elif not self.test():
+					self.result = SmokeTest.FAIL
+				
+				elif not self.posttest():
+					self.result = SmokeTest.FAIL
+				
+				else:
+					self.result = SmokeTest.PASS
+			else:
+				self.skip(platform)
+		except Exception, e:
+			print e
+			self.result = SmokeTest.FAIL
+		
+		# print the result of this run()
+		self.print_result(internal = True)
+		
+		# if a previous run() failed then the overall result is a FAIL
+		if previousResult == SmokeTest.FAIL:
+			self.result = SmokeTest.FAIL
+	
+	def print_result(self, value = "", internal = False):
+		# the test passed :-)
+		
+		result = self.result
+			
+		string = ""
+		if not internal:
+			string += "\n" + self.name + ": "
+		
+		if value:
+			print string + value
+		else:
+			if result == SmokeTest.PASS:
+				string += "PASSED"
+			elif result == SmokeTest.FAIL:
+				string += "FAILED"
+			
+			print string 
+	
+	def runnable(self, platform):
+		# can this test run on this platform?	
+		if platform == "all":
+			return True
+		
+		isWin = self.onWindows
+		wantWin = platform.startswith("win")
+		
+		return (isWin == wantWin)
+
+	def skip(self, platform):
+		print "\nSKIPPING:", self.name, "for", platform
+
+	def logfileOption(self):
+		return "-f " + self.logfile();
+	
+	def logfile(self):
+		return logDir + "/" + self.name + ".log"
+	
+	def makefileOption(self):
+		return "-m " + self.makefile();
+	
+	def makefile(self):
+		return logDir + "/" + self.name + ".mk"
+
+	def removeFiles(self, files):
+		for t in files:
+			tgt = os.path.normpath(ReplaceEnvs(t))
+
+			if os.path.exists(tgt):
+				try:
+					os.chmod(tgt, stat.S_IRWXU)
+					if os.path.isdir(tgt):
+						rmtree(tgt)
+					else:
+						os.remove(tgt)
+				except OSError:
+					print "Could not remove", tgt, "before the test"
+					return False
+		return True
+
+
+	def clean(self):
+		# remove all the target files
+
+		# flatten any lists first (only 1 level of flattenening expected)
+		# these indicate alternative files - one of them will exist after a build
+		removables = []
+		for i in self.targets:
+			if type(i) is not list:
+				removables.append(i)
+			else:
+				removables.extend(i)
+				
+		return self.removeFiles(removables)
+
+	def pretest(self):
+		# what to do before the test runs
+		
+		print "\nID:", self.id
+		print "TEST:", self.name
+
+		return self.clean()
+			
+	def test(self):
+		# run the actual test
+		
+		# put the makefile and log in $EPOCROOT/build/smoketestlogs
+		if self.usebash:
+			command = ReplaceEnvs(self.command)
+		else:
+			command = ReplaceEnvs(self.command + 
+					" " + self.makefileOption() + 
+					" " + self.logfileOption())
+	
+		print "COMMAND:", command
+
+
+		# Any environment settings specific to this test
+		shellenv = os.environ.copy()
+		for ev in self.environ:
+			shellenv[ev] = self.environ[ev]
+
+		if self.usebash:
+			shellpath = shellenv['PATH']
+			
+			if 'SBS_SHELL' in os.environ:
+				BASH = os.environ['SBS_SHELL']
+			else:
+				if self.onWindows:
+					if 'SBS_CYGWIN' in shellenv:
+						BASH = ReplaceEnvs("$(SBS_CYGWIN)/bin/bash.exe")
+					else:
+						BASH = ReplaceEnvs("$(SBS_HOME)/win32/cygwin/bin/bash.exe")
+				else:
+					BASH = ReplaceEnvs("$(SBS_HOME)/$(HOSTPLATFORM_DIR)/bin/bash")
+				
+			if self.onWindows:
+				if 'SBS_CYGWIN' in shellenv:
+					shellpath = ReplaceEnvs("$(SBS_CYGWIN)/bin") + ";" + shellpath
+				else:
+					shellpath = ReplaceEnvs("$(SBS_HOME)/win32/cygwin/bin") + ";" + shellpath
+
+			shellenv['SBSMAKEFILE']=ReplaceEnvs(self.makefile())
+			shellenv['SBSLOGFILE']=ReplaceEnvs(self.logfile())
+			shellenv['PATH']=shellpath
+			shellenv['PYTHON_HOME'] = ""
+			shellenv['CYGWIN']="nontsec nosmbntsec"
+
+			p = subprocess.Popen(args=[BASH, '-c', command], 
+					stdout=subprocess.PIPE,
+					stderr=subprocess.PIPE,
+					env=shellenv,
+					shell=False,
+					universal_newlines=True)
+
+			(std_out, std_err) = p.communicate()
+			
+			self.output = std_out + std_err
+		else:
+			p = subprocess.Popen(command, 
+					stdout=subprocess.PIPE,
+					stderr=subprocess.PIPE,
+					env=shellenv,
+					shell=True,
+					universal_newlines=True)
+
+			(std_out, std_err) = p.communicate()
+			
+			self.output = std_out + std_err
+			
+		if debug_mode_active:
+			print self.output
+
+		if p.returncode != self.returncode:
+			print "RETURN: got", p.returncode, "expected", self.returncode
+			return False
+			
+		return True
+	
+	def posttest(self):
+		# what to do after the test has run
+	
+		# count the targets that got built
+		found = 0
+		missing = []
+		for t in self.targets:
+			if type(t) is not list:
+				target_alternatives=[t]
+
+			found_flag = False	
+			for alt in target_alternatives:
+				tgt = os.path.normpath(ReplaceEnvs(alt))
+				if os.path.exists(tgt):
+					found_flag = True
+					break
+			if found_flag:
+				found += 1
+			else:
+				missing.append(tgt)
+	
+		# count the errors and warnings
+		warn = 0
+		error = 0
+		exception = 0
+		lines = self.output.split("\n")
+	
+		for line in lines:
+			if line.find("sbs: warning:") != -1 or line.find("<warning") != -1:
+				warn += 1
+			elif line.find("sbs: error:") != -1 or line.find("<error") != -1:
+				error += 1
+			elif line.startswith("Traceback"):
+				exception += 1
+
+		# Check the output for required, forbidden and counted regexp matches
+		self.outputok = True
+		
+		for expr in self.mustmatch_singleline + self.mustmatch:
+			if not re.search(expr, self.output, re.MULTILINE):
+				self.outputok = False
+				print "OUTPUTMISMATCH: output did not match: %s" % expr
+
+		for expr in self.mustnotmatch_singleline + self.mustnotmatch:
+			if re.search(expr, self.output, re.MULTILINE):
+				self.outputok = False
+				print "OUTPUTMISMATCH: output should not have matched: %s" % expr
+
+		for expr in self.mustmatch_multiline:
+			if not re.search(expr, self.output, re.DOTALL):
+				self.outputok = False
+				print "OUTPUTMISMATCH: output did not match: %s" % expr
+
+		for expr in self.mustnotmatch_multiline:
+			if re.search(expr, self.output, re.DOTALL):
+				self.outputok = False
+				print "OUTPUTMISMATCH: output should not have matched: %s" % expr
+
+		for (expr,num) in self.countmatch:
+			expr_re = re.compile(expr)
+			matchnum = len(expr_re.findall(self.output))
+			if  matchnum != num:
+				print "OUTPUTMISMATCH: %d matches occurred when %d were expected: %s" % (matchnum, num, expr)
+				self.outputok = False
+
+		# Ignore errors/warnings if they are set to (-1)
+		if self.errors == (-1):
+			self.errors = error
+		if self.warnings == (-1):
+			self.warnings= warn
+
+		# all as expected?
+		if  self.missing == len(missing) \
+				and self.warnings == warn \
+				and self.errors == error \
+				and self.exceptions == exception \
+				and self.outputok:
+			return True
+	
+		# something was wrong :-(
+	
+		if len(missing) != self.missing:
+			print "MISSING: %d, expected %s" % (len(missing), self.missing)
+			for file in missing:
+				print "\t%s" % (file)
+			
+		if warn != self.warnings:
+			print "WARNINGS: %d, expected %d" % (warn, self.warnings)
+		
+		if error != self.errors:
+			print "ERRORS: %d, expected %d" % ( error, self.errors)
+		
+		if exception != self.exceptions:
+			print "EXCEPTIONS: %d, expected %d" % (exception, self.exceptions)
+		
+		return False
+	
+	def addbuildtargets(self, bldinfsourcepath, targetsuffixes):
+		"""Add targets that are under epoc32/build whose path
+		can change based on an md5 hash of the path to the bld.inf.
+		"""
+
+		fragment = BldInfFile.outputPathFragment(bldinfsourcepath)
+
+		for t in targetsuffixes:
+			if type(t) is not list:
+				newt=self.sbs_build_dir+'/'+fragment+"/"+t
+				self.targets.append(newt)
+			else:
+				self.targets.append([self.sbs_build_dir+'/'+fragment+"/"+x for x in t])
+		return 
+
+# derived class for tests that invoke some process, which have no log file and no makefile
+# e.g. unit tests
+
+class GenericSmokeTest(SmokeTest):
+	
+	def __init__(self):
+		SmokeTest.__init__(self)
+
+	def logfileOption(self):
+		return ""
+	
+	def makefileOption(self):
+		return ""
+	
+	def posttest(self):
+		# dump the standard output to a log file
+		dir = ReplaceEnvs(logDir)
+		logfile = os.path.join(dir, self.name + ".log")
+		try:
+			if not os.path.exists(dir):
+				os.makedirs(dir)
+			file = open(logfile, "w")
+			file.write(self.output)
+			file.close()
+		except:
+			print "Could not save stdout in", logfile
+			return False
+		
+		# do the base class things too
+		return SmokeTest.posttest(self)
+	
+# derived class for --check, --what and .whatlog tests - these all write to stdout, but may
+# not actually build anything
+
+class CheckWhatSmokeTest(SmokeTest):
+	
+	def __init__(self):
+		SmokeTest.__init__(self)
+		
+		# regular expression match object to restrict comparisons to specific lines
+		self.regexlinefilter = None
+		
+		# paths in --what output are tailored to the host OS, hence slashes are converted appropriately
+		# .whatlog output is used verbatim from the build/TEM/EM output
+		self.hostossensitive = True
+		
+		# Indicate whether output is expected to appear only once. If so, set it to True
+		self.output_expected_only_once = False 
+	
+	def posttest(self):
+		outlines = self.output.splitlines()
+		if self.output_expected_only_once:
+			outlines_left = list(outlines) 
+		
+		ok = True
+		seen = []
+		
+		# check for lines that we expected to see, optionally filtered
+		for line in self.stdout:
+			if self.regexlinefilter and not self.regexlinefilter.match(line):
+				continue
+			line = ReplaceEnvs(line)
+			if self.hostossensitive and self.onWindows:
+					line = line.replace("/", "\\")
+				
+			if line in outlines:
+				seen.append(line)
+				if self.output_expected_only_once:
+					outlines_left.remove(line) 
+			else:
+				print "OUTPUT NOT FOUND:", line
+				ok = False
+		
+		# and check for extra lines that we didn't expect, optionally filtered
+		for line in outlines:
+			if self.regexlinefilter and not self.regexlinefilter.match(line):
+				continue
+			if not line in seen:
+				print "UNEXPECTED OUTPUT:", line
+				ok = False
+		
+		# and check for lines that we expected to see only once
+		if self.output_expected_only_once:
+			for line in outlines_left:
+				print "OUTPUT MORE THAN ONCE:", line
+				ok = False
+
+			
+		# do the base class things too
+		return (SmokeTest.posttest(self) and ok)	
+
+# derived class for tests that also need to make sure that certain files
+# are NOT created - sort of anti-targets.
+
+class AntiTargetSmokeTest(SmokeTest):
+
+	def __init__(self):
+		SmokeTest.__init__(self)
+		self.antitargets = []
+
+	def pretest(self):
+		""" Prepare for the test """
+		# parent pretest first 
+		ok = SmokeTest.pretest(self)
+		
+		# remove all the anti-target files
+		return (self.removeFiles(self.antitargets) and ok)
+	
+	def posttest(self):
+		""" look for antitargets """
+		ok = True
+		for t in self.antitargets:
+			tgt = os.path.normpath(ReplaceEnvs(t))
+			if os.path.exists(tgt):
+				print "UNWANTED", tgt
+				ok = False
+				
+		# do the base class things too
+		return (SmokeTest.posttest(self) and ok)
+	
+	def addbuildantitargets(self, bldinfsourcepath, targetsuffixes):
+		"""Add targets that are under epoc32/build whose path
+		can change based on an md5 hash of the path to the bld.inf.
+		"""
+
+		fragment = BldInfFile.outputPathFragment(bldinfsourcepath)
+
+		for t in targetsuffixes:
+			if type(t) is not list:
+				newt="$(EPOCROOT)/epoc32/build/"+fragment+"/"+t
+				self.antitargets.append(newt)
+			else:
+				self.antitargets.append(["$(EPOCROOT)/epoc32/build/"+fragment+"/"+x for x in t])
+		return
+
+	
+# the end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/common/run_tests.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,537 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+# Runs the specified suite of raptor tests
+
+import os
+import sys
+import re
+import imp
+import datetime
+import traceback
+raptor_tests = imp.load_source("raptor_tests", "common/raptor_tests.py")
+
+# Command line options ########################################################
+from optparse import OptionParser
+
+parser = OptionParser(
+		prog = "run",
+		usage = "%prog [Options]")
+
+parser.add_option("-u", "--upload", action = "store", type = "string",
+		dest = "upload", default = None,
+		help = "Path for uploading results (Can be UNC path)")
+parser.add_option("-b", "--branch", action = "store", type = "choice",
+		dest = "branch", choices = ["master", "m", "fix", "f", "wip", "w"],
+		help = "string indicating which branch is being tested:\n" + \
+		"master, fix or wip. Default is 'fix'")
+parser.add_option("-s", "--suite", action = "store", type = "string",
+		dest = "suite", help = "regex to use for selecting test suites")
+parser.add_option("-t", "--tests", action = "store", type = "string",
+		dest = "tests", help = "regex to use for selecting tests")
+parser.add_option("-d", "--debug", action = "store_true", dest = "debug_mode",
+		default = False, help = "Turns on debug-mode")
+parser.add_option("--test-home", action = "store", type = "string",
+		dest = "test_home",
+		help = "Location of custom .sbs_init.xml (name of directory in " +
+		"'custom_options'): test/custom_options/<test_home>/.sbs_init.xml")
+parser.add_option("--what-failed", action = "store_true", dest = "what_failed",
+		help = "Re-run all the tests that failed in the previous test run")
+parser.add_option("--clean", action = "store_true", dest = "clean",
+		help = "Clean EPOCROOT after each test is run")
+
+
+(options, args) = parser.parse_args()
+
+# Check for --what-failed and override '-s' and '-t' (including flagless regex)
+if options.what_failed:
+	try:
+		what_failed_file = open("what_failed", "r")
+		what_failed = what_failed_file.readline()
+		what_failed_file.close()
+		print "Running: run " + what_failed
+		
+		first = what_failed.find('"')
+		second = what_failed.find('"', (first + 1))
+		options.suite = what_failed[(first + 1):second]
+		
+		first = what_failed.find('"', (second + 1))
+		second = what_failed.find('"', (first + 1))
+		options.tests = what_failed[(first + 1):second]
+	except:
+		# If no file exists, nothing failed, so run as usual
+		pass
+
+# Allow flagless test regex
+if (options.tests == None) and (len(args) > 0):
+	options.tests = args[len(args) - 1]
+	
+if options.upload != None:
+	if options.branch != None:
+		if options.branch == "m":
+			branch = "master"
+		elif options.branch == "f":
+			branch = "fix"
+		elif options.branch == "w":
+			branch = "wip"
+		else:
+			branch = options.branch
+	else:
+		print "Warning: Test branch not set - Use " + \
+				"'-b [master|fix|wip]'\n Using default of 'Fix'..."
+		branch = "fix"
+
+if options.debug_mode:
+	raptor_tests.activate_debug()
+
+
+# Set $HOME environment variable for finding a custom .sbs_init.xml 
+if options.test_home != None:
+	home_dir = options.test_home
+	if home_dir in os.listdir("./custom_options"):
+		os.environ["HOME"] = os.environ["SBS_HOME"] + "/test/custom_options/" \
+				+ home_dir + "/"
+	else:
+		print "Warning: Path to custom .sbs_init.xml file not found (" + \
+				home_dir + ")\nUsing defaults..."
+		options.test_home = None
+
+
+def format_milliseconds(microseconds):
+	""" format a microsecond time in milliseconds """
+	milliseconds = (microseconds / 1000)
+	if milliseconds == 0:
+		return "000"
+	elif milliseconds < 10:
+		return "00" + str(milliseconds)
+	elif milliseconds < 100:
+		return "0" + str(milliseconds)
+	return milliseconds
+
+
+
+class TestRun(object):
+	"""Represents any series of tests"""
+	def __init__(self):
+		self.test_set = []
+		self.failed_tests = []
+		self.error_tests = []
+		self.pass_total = 0
+		self.fail_total = 0
+		self.skip_total = 0
+		self.exception_total = 0
+		self.test_total = 0
+		# For --what-failed:
+		self.suites_failed = []
+		self.tests_failed = []
+
+	def aggregate(self, atestrun):
+		""" Aggregate other test results into this one """
+		self.test_set.append(atestrun)
+		self.test_total += len(atestrun.test_set)
+
+	def show(self):
+		for test_set in self.test_set:
+			print "\n\n" + str(test_set.suite_dir) + ":\n"
+			
+			# If a suite has failed/erroneous tests, add it to what_failed
+			if (test_set.fail_total + test_set.exception_total) > 0:
+				self.suites_failed.append(test_set.suite_dir)
+				
+			if len(test_set.test_set) < 1:
+				print "No tests run"
+			else:
+				print "PASSED: " + str(test_set.pass_total)
+				print "FAILED: " + str(test_set.fail_total)
+				if test_set.skip_total > 0:
+					print "SKIPPED: " + str(test_set.skip_total)
+				if test_set.exception_total > 0:
+					print "EXCEPTIONS: " + str(test_set.exception_total)
+		
+				if test_set.fail_total > 0:
+					print "\nFAILED TESTS:"
+					
+					# Add each failed test to what_failed and print it
+					for test in test_set.failed_tests:
+						self.tests_failed.append("^" + test + ".py")
+						print "\t", test
+		
+				if test_set.exception_total > 0:
+					print "\nERRONEOUS TESTS:"
+					
+					# Add each erroneous test to what_failed and print it
+					for test in test_set.error_tests:
+						first = test.find("'")
+						second = test.find("'", (first + 1))
+						self.tests_failed.append("^" +
+								test[(first + 1):second] + ".py")
+						print "\t", test
+						
+	def what_failed(self):
+		"Create the file for --what-failed if there were failing tests"
+		if len(self.suites_failed) > 0:
+			self.what_failed = open("what_failed", "w")
+			# Add the suites and tests to the file as command-line options
+			self.what_failed.write('-s "')
+			loop_number = 0
+			for suite in self.suites_failed:
+				loop_number += 1
+				self.what_failed.write(suite)
+				
+				# If this is not the last suite, prepare to add another
+				if loop_number < len(self.suites_failed):
+					self.what_failed.write("|")
+					
+			self.what_failed.write('" -t "')
+			loop_number = 0
+			for test in self.tests_failed:
+				loop_number += 1
+				self.what_failed.write(test)
+				
+				# If this is not the last test, prepare to add another
+				if loop_number < len(self.tests_failed):
+					self.what_failed.write("|")
+			self.what_failed.write('"')
+			self.what_failed.close()
+			
+		else:
+			# If there were no failing tests this time, remove any previous file
+			try:
+				os.remove("what_failed")
+			except:
+				try:
+					os.chmod("what_failed", stat.S_IRWXU)
+					os.remove("what_failed")
+				except:
+					pass
+					
+
+class Suite(TestRun):
+	"""A test suite"""
+
+	python_file_regex = re.compile("(.*)\.py$", re.I)
+
+	def __init__(self, dir, parent):
+		TestRun.__init__(self)
+		self.suite_dir = dir
+
+		# Upload directory (if set)
+		self.upload_location = parent.upload_location
+
+		# Regex for searching for tests
+
+		self.test_file_regex = parent.test_file_regex
+		self.test_pattern = parent.testpattern
+		
+
+	def run(self):
+		"""run the suite"""
+
+		self.time_stamp = datetime.datetime.now()
+		self.results = {}
+		self.start_times = {}
+		self.end_times = {}
+		
+		print "\n\nRunning " + str(self.suite_dir) + "..."
+
+		# Iterate through all files in specified directory
+		for test in os.listdir(self.suite_dir):
+			# Only check '*.py' files
+			name_match = self.python_file_regex.match(test)
+			if name_match is not None:
+				if self.test_file_regex is not None:
+					# Each file that matches -t input is imported if any
+					name_match = self.test_file_regex.match(test)
+				else:
+					name_match = 1
+				if name_match is not None:
+					import_name = test[:-3]
+					try:
+						self.test_set.append(imp.load_source(import_name,
+								(raptor_tests.ReplaceEnvs(self.suite_dir
+								+ "/" + test))))
+					except:
+						print "\n", (sys.exc_type.__name__ + ":"), \
+								sys.exc_value, "\n", \
+								traceback.print_tb(sys.exc_traceback)
+	
+		test_number = 0
+		test_total = len(self.test_set)
+		if test_total < 1:
+			print "No tests in suite "+self.suite_dir+" matched by specification '"+self.test_pattern+"' (regex: /.*"+self.test_pattern+".*/)\n";
+		# Run each test, capturing all its details and its results
+		for test in self.test_set:
+			test_number += 1
+			# Save start/end times and save in dictionary for TMS
+			start_time = datetime.datetime.now()
+			try:
+				test_number_text = "\n\nTEST " + str(test_number) + "/" + \
+						str(test_total) + ":"
+				
+				if self.fail_total > 0:
+					test_number_text += "    So far " + str(self.fail_total) + \
+							" FAILED"
+				if self.exception_total > 0:
+					test_number_text += "    So far " + str(self.exception_total) + \
+							" ERRONEOUS"
+				
+				print test_number_text
+				
+				test_object = test.run()
+				
+				end_time = datetime.datetime.now()
+				
+				# Add leading 0s
+				test_object.id = raptor_tests.fix_id(test_object.id)
+
+				# No millisecond function, so need to use microseconds/1000
+				start_milliseconds = start_time.microsecond
+				end_milliseconds = end_time.microsecond
+		
+				# Add trailing 0's if required
+				start_milliseconds = \
+						format_milliseconds(start_milliseconds)
+				end_milliseconds = \
+						format_milliseconds(end_milliseconds)
+		
+				self.start_times[test_object.id] = \
+						start_time.strftime("%H:%M:%S:" +
+						str(start_milliseconds))
+				self.end_times[test_object.id] = \
+						end_time.strftime("%H:%M:%S:" + \
+						str(end_milliseconds))
+				
+				run_time = (end_time - start_time)
+				
+				run_time_seconds = (str(run_time.seconds) + "." + \
+						str(format_milliseconds(run_time.microseconds)))
+				print ("RunTime: " + run_time_seconds + "s")
+				# Add to pass/fail count and save result to dictionary
+				if test_object.result == raptor_tests.SmokeTest.PASS:
+					self.pass_total += 1
+					self.results[test_object.id] = "Passed"
+				elif test_object.result == raptor_tests.SmokeTest.FAIL:
+					self.fail_total += 1
+					self.results[test_object.id] = "Failed"
+					self.failed_tests.append(test_object.name)
+				elif test_object.result == raptor_tests.SmokeTest.SKIP:
+					self.skip_total += 1
+				# Clean epocroot after running each test if --clean option is specified
+				if options.clean:
+					print "\nCLEANING TEST RESULTS..."
+					raptor_tests.clean_epocroot()
+					
+			except:
+				print "\nTEST ERROR:"
+				print (sys.exc_type.__name__ + ":"), \
+						sys.exc_value, "\n", \
+						traceback.print_tb(sys.exc_traceback)
+				self.exception_total += 1
+				self.error_tests.append(str(self.test_set[test_number - 1]))
+								
+				
+		if self.upload_location != None:
+			self.create_csv()
+
+		end_time_stamp = datetime.datetime.now()
+			
+		runtime = end_time_stamp - self.time_stamp
+		seconds = (str(runtime.seconds) + "." + \
+				str(format_milliseconds(runtime.microseconds)))
+		if options.upload:
+			self.create_tri(seconds)
+
+		print ("\n" + str(self.suite_dir) + " RunTime: " + seconds + "s")
+
+	def create_csv(self):
+		"""
+		This method will create a CSV file with the smoke test's output
+				in order to successfully upload results to TMS QC
+		"""
+		
+		# This sorts the dictionaries by their key values (Test IDs)
+		id_list = run_tests.sort_dict(self.results)
+		
+		self.test_file_name = (self.suite_dir + "_" + \
+				self.time_stamp.strftime("%Y-%m-%d_%H-%M-%S") + "_" +
+				branch + "_results.csv")
+		# This is the path for file-creation on the server. Includes
+		self.test_path = (self.upload_location + "/csv/" + self.suite_dir + "/"
+				+ self.test_file_name)
+		
+		try:
+		
+			if not os.path.isdir(self.upload_location + "/csv/" +
+					self.suite_dir):
+				os.makedirs(self.upload_location + "/csv/" + self.suite_dir)
+
+			csv_file = \
+					open(raptor_tests.ReplaceEnvs(os.path.normpath(self.test_path)),
+					"w")
+			csv_file.write("TestCaseID,StartTime,EndTime,Result\n")
+			
+			for test_id in id_list:
+				csv_file.write("PCT-SBSV2-" + self.suite_dir + "-" + test_id + \
+						"," + str(self.start_times[test_id]) + "," + \
+						str(self.end_times[test_id]) + "," + \
+						self.results[test_id] + "\n")
+			csv_file.close()
+			
+		except OSError, e:
+			print "SBS_TESTS: Error:", e
+			
+			
+	def create_tri(self, overall_seconds):
+		"""
+		This method will create a TRI (xml) file containing the location of the
+				CSV file in order to successfully upload results to TMS QC
+		"""
+		# Path for the tri file
+		tri_path = (self.upload_location + "/new/" + self.suite_dir + \
+				"_" + self.time_stamp.strftime("%Y-%m-%d_%H-%M-%S") + ".xml")
+		run_name_timestamp = self.time_stamp.strftime(self.suite_dir + \
+				"%Y-%m-%d_%H-%M-%S")
+		date_time_timestamp = self.time_stamp.strftime("%d.%m.%Y %H:%M:%S")
+		test_set_name = "Root\\Product Creation Tools\\Regression\\" + \
+				"SBS v2 (Raptor)\\" + self.suite_dir + "_"
+		if sys.platform.startswith("win"):
+			test_set_name += ("WinXP_" + branch)
+		else:
+			test_set_name += ("Linux_" + branch)
+		
+		# /mnt/ -> // Fixes the difference in paths for lon-rhdev mounts vs. win
+		if not sys.platform.startswith("win"):
+			if self.test_path.startswith("/mnt/"):
+				self.test_path = self.test_path.replace("mnt", "", 1)
+		
+		try:
+			tri_file = \
+					open(raptor_tests.ReplaceEnvs(os.path.normpath(tri_path)), \
+					"w")
+			tri_file.write(
+					"<TestRunInfo>\n" + \
+						"\t<RunName>\n\t\t" + \
+							run_name_timestamp + \
+						"\n\t</RunName>\n" + \
+						"\t<TestGroup>\n" + \
+							"\t\tSBSv2 (Non-SITK)\n" + \
+						"\t</TestGroup>\n" + \
+						"\t<DateTime>\n\t\t" + \
+							date_time_timestamp + \
+						"\n\t</DateTime>\n" + \
+						"\t<RunDuration>\n\t\t" + \
+							overall_seconds + \
+						"\n\t</RunDuration>\n" + \
+						'\t<TestSet name="' + test_set_name + '">\n' + \
+							"\t\t<TestResults>\n\t\t\t" + \
+								self.test_path + \
+							"\n\t\t</TestResults>\n" + \
+						"\t</TestSet>\n" + \
+					"</TestRunInfo>")
+			tri_file.close()
+			print "Tests uploaded to '" + self.upload_location + "' (" + \
+					branch + ")"
+		except OSError, e:
+			print "SBS_TESTS: Error:", e
+
+class SuiteRun(TestRun):
+	""" Represents a 'run' of a number of test suites """
+
+	def __init__(self, suitepattern = None, testpattern = None,
+			upload_location = None):
+		TestRun.__init__(self)
+		
+		# Add common directory to list of paths to search for modules
+		sys.path.append(raptor_tests.ReplaceEnvs("$(SBS_HOME)/test/common"))
+		
+		
+		if suitepattern:
+			self.suite_regex = re.compile(".*" + suitepattern + ".*", re.I)
+		else:
+			self.suite_regex = re.compile(".*\_suite$", re.I)
+
+		if testpattern:
+			self.test_file_regex = re.compile(".*" + testpattern + ".*",
+					re.I)
+		else:
+			self.test_file_regex = None
+
+		self.suitepattern = suitepattern
+		self.testpattern = testpattern
+		self.upload_location = upload_location
+		
+
+
+	def run_tests(self):
+		"""
+		Run all the tests in the specified suite (directory)
+		"""
+	
+		suites = []
+		for dir in os.listdir("."):
+			name_match = self.suite_regex.match(dir)
+			# Each folder that matches the suite pattern will be looked into
+			# Also checks to make sure the found entry is actually a directory
+			if name_match is not None and os.path.isdir(dir):
+				s = Suite(dir, self)
+				s.run()
+				self.aggregate(s)
+				suites.append(dir)
+		
+		# Print which options were used
+		if options.test_home == None:
+			options_dir = "defaults)"
+		else:
+			options_dir = "'" + options.test_home + "' options file)"
+		print "\n(Tests run using %s" %options_dir
+
+		# Summarise the entire test run
+		if self.suitepattern and (len(suites) < 1):
+			print "\nNo suites matched specification '" + self.suitepattern + \
+					"'\n"
+		else:
+			print "Overall summary (%d suites, %d tests):" \
+					%(len(suites), self.test_total)
+			self.show()
+			self.what_failed()
+	        
+
+	def sort_dict(self, input_dict):
+		"""
+		This method sorts values in a dictionary
+		"""
+		keys = input_dict.keys()
+		keys.sort()
+		return keys
+
+
+# Make SBS_HOME, EPOCROOT have uppercase drive letters to match os.getcwd() and
+# thus stop all those insane test problems which result from one being uppercase
+# and the other lowercase
+
+if sys.platform.startswith("win"):
+	sh = os.environ['SBS_HOME']
+	if sh[1] == ':':
+		os.environ['SBS_HOME'] = sh[0].upper() + sh[1:]
+	er = os.environ['EPOCROOT']
+	if er[1] == ':':
+		os.environ['EPOCROOT'] = er[0].upper() + er[1:]
+
+# Clean epocroot before running tests
+raptor_tests.clean_epocroot()
+run_tests = SuiteRun(suitepattern = options.suite, testpattern = options.tests,
+		upload_location = options.upload)
+run_tests.run_tests()
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/config/abiv1kit/os_properties.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- This variant modifies the root variant for this particular kit. -->
+  <var name="root.changes">
+
+    <!-- ask for ABIv1 import libraries
+    --> 
+    <set name='SUPPORTS_ABIV1_IMPLIBS' value='1'/>
+  </var>
+  
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/config/api.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+	<!-- test data for raptor_api_unit -->
+
+	<alias meaning="a" name="alias_A"/>
+	<alias meaning="a.b" name="alias_B"/>
+	<alias meaning="a.b.c" name="alias_C" type="O"/>
+	<alias meaning="a.b.c.d" name="alias_D" type="X"/>
+ 
+ 	<var name="product_A" type="product"/>
+ 	<var name="product_B"/>
+ 	<var name="product_C" type="product"/>
+ 	<var name="product_D"/>
+ 	
+ 	<var name="buildme">
+ 		<set name="RELEASEPATH" value="/home/raptor" host="lin.*"/>
+ 		<set name="RELEASEPATH" value="C:/home/raptor" host="win.*"/>
+ 		<set name="VARIANTPLATFORM" value="foo"/>
+ 		<set name="VARIANTTYPE" value="bar"/>
+ 	</var>
+ 	
+ 	<var name="foo"/>
+ 	<var name="bar"/>
+ 	
+ 	<alias name="s1" meaning="buildme.foo"/>
+ 	<alias name="s2" meaning="buildme.foo.bar"/>
+ 	
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/config/apply_test_variants.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- These variants are used to test the APPLY keyword -->
+
+  <var name="apply_test_append_cdefs">
+	<append name="CDEFS" value="APPLYTESTAPPENDCDEFS" />
+  </var>
+  
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/config/arm.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- build configurations for ARM compilers -->
+
+  <var name="ARMV5_BASE">
+    <env name='SBS_HOME' default='' type='path'/>
+    <env name='EPOCROOT'/>
+
+    <set name='FLMHOME' value='$(SBS_HOME)/lib/flm'/>
+    <set name='TRADITIONAL_PLATFORM' value='ARMV5'/>
+    <set name='VARIANT_CFG' value='$(EPOCROOT)/variant/variant.cfg'/>
+  </var>
+
+  <var name="ARMV5_UDEB" extends="ARMV5_BASE">
+    <append name='ABC' value='abc' />
+    <append name='VARIANT_CFG' value='2' separator='' />
+  </var>
+
+  <var name="ARMV5_UREL" extends="ARMV5_BASE">
+    <prepend name='ABC' value='abc' />
+    <prepend name='VARIANT_CFG' value='' separator='' />
+  </var>
+
+  <var name="MOD1">
+    <set name="X" value="X1"/>
+  </var>
+
+  <var name="MOD2">
+    <set name="X" value="X2"/>
+    <set name="Y" value="Y2"/>
+  </var>
+
+  <group name="ARMV5">
+    <varRef ref="ARMV5_UREL"/>
+    <varRef ref="ARMV5_UDEB"/>
+  </group>
+
+  <alias name="ALIAS_1" meaning="ARMV5_UREL.MOD1"/>
+  <alias name="ALIAS_2" meaning="ARMV5_UDEB.MOD1.MOD2"/>
+
+  <group name="G1">
+    <varRef ref="MOD1"/>
+    <varRef ref="MOD2"/>
+  </group>
+
+  <group name="G2">
+    <varRef ref="ARMV5_UREL" mod="MOD1"/>
+    <varRef ref="ARMV5_UDEB" mod="MOD1.MOD2"/>
+    <aliasRef ref="ALIAS_1"/>
+    <aliasRef ref="ALIAS_2" mod="MOD1.MOD2.MOD1"/>
+    <groupRef ref="ARMV5" mod="MOD2"/>
+    <groupRef ref="G1"/>
+  </group>
+
+  <!-- these are deliberately redefined in user.xml -->
+  
+  <alias name="alias_redef" meaning="MOD1"/>
+  <group name="group_redef"><varRef ref="MOD1"/></group>
+  <interface name="interface_redef" abstract="true"/>
+  <var name="var_redef"></var>
+  
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/config/default.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+    <!-- The build configurations built by default -->
+
+	<var name="default">
+		<set name="OVER" value="default"/>
+		<varRef ref="A"/>
+		<varRef ref="B"/>
+	</var>
+
+	<var name="baseA">
+		<set name="BASE" value="baseA"/>
+		<set name="OVER" value="baseA"/>
+	</var>
+
+	<var name="A" extends="baseA">
+		<set name="OVER" value="A"/>
+		<varRef ref="A2"/>
+		<varRef ref="A3"/>
+	</var>
+
+	<var name="baseB">
+		<set name="BASE" value="baseB"/>
+		<set name="OVER" value="baseB"/>
+	</var>
+
+	<var name="B" extends="baseB">
+		<set name="OVER" value="B"/>
+		<varRef ref="B2"/>
+		<varRef ref="B3"/>
+	</var>
+
+	<var name="A2">
+		<set name="OVER" value="A2"/>
+	</var>
+
+	<var name="A3">
+		<set name="OVER" value="A3"/>
+	</var>
+
+	<var name="B2">
+		<set name="OVER" value="B2"/>
+	</var>
+
+	<var name="B3">
+		<set name="OVER" value="B3"/>
+	</var>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/config/interface.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+    <!-- a base interface -->
+
+	<interface name="Base.XYZ" flm="base.flm">
+		<param name='A'/>
+		<param name='B' default='baseB'/>
+		<param name='C' default='baseC'/>
+    </interface>
+    
+    <!-- extends the base interface -->
+
+	<interface name="Extended.XYZ" extends="Base.XYZ" flm="ext.flm">
+		<param name='D'/>
+		<param name='C' default='extC'/>
+    </interface>
+    
+    <!-- extends the base interface and uses its FLM -->
+
+	<interface name="Extended2.XYZ" extends="Base.XYZ">
+		<param name='D'/>
+		<param name='C' default='extC'/>
+    </interface>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/config/os_properties.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- This variant modifies the root variant for this particular kit. -->
+  <var name="root.changes">
+
+    <!-- pretend we don't have the new paging options (codepaging, datapaging)
+         so that we can test the old options (paged, unpaged)
+    --> 
+    <set name='POSTLINKER_SUPPORTS_WDP' value=''/>
+  </var>
+  
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/config/user.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- user.xml - user configuration file for raptor_data_unit.py test "testUserXmlCfg" -->
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- these are deliberately redefined in arm.xml -->
+  
+  <alias name="alias_redef" meaning="MOD2"/>
+  <group name="group_redef"><varRef ref="MOD2"/></group>
+  <interface name="interface_redef" abstract="true"/>
+  <var name="var_redef"></var>
+</build>
Binary file sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun01/makefiles_testrun01.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun01/testrig01.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,32 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+ECHO junk_file: this file is the dummy file to be used in the cp-testing. > junk_file
+SET SBS_HOME=D:\yiluzhu\CBR\m04710\raptor
+SET PATH=%SBS_HOME%\win32\mingw\bin;%SBS_HOME%\win32\msys\bin;%PATH%
+
+@REM Generate the makefiles using case "all" ...
+FOR %%c IN (all env echo cp sed) DO (
+FOR %%i IN (100 500 1000 2500 5000 10000 15000 20000 25000) DO (
+FOR %%d in (50 100) DO (
+python makemakefile.py -t %%i -d %%d -m makefile_%%c_%%i_targets_%%d_divisions.mk)))
+
+@REM Run mingw32-make with various values of j
+FOR %%j in (100 250 500 1000) DO (
+FOR %%c IN (all env echo cp sed) DO (
+FOR %%i IN (500 1000 2500 5000 10000 15000 20000 25000) DO (
+FOR %%d in (50 100) DO (
+make -j %%j -f makefile_%%c_%%i_targets_%%d_divisions.mk > makefile_%%c_%%i_targets_%%d_divisions_jobs_%%j.log 2>&1))))
Binary file sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun02/makefiles_testrun02.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun02/testrig02.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,32 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+ECHO junk_file: this file is the dummy file to be used in the cp-testing. > junk_file
+SET SBS_HOME=D:\yiluzhu\CBR\m04710\raptor
+SET PATH=%SBS_HOME%\win32\mingw\bin;%SBS_HOME%\win32\msys\bin;%PATH%
+
+@REM Generate the makefiles using case "all" ...
+FOR %%c IN (all env echo cp sed) DO (
+FOR %%i IN (100 200 500 750 1000 1250 1500 1750 2000 2250 2500) DO (
+FOR %%d in (50 100) DO (
+python makemakefile.py -t %%i -d %%d -m makefile_%%c_%%i_targets_%%d_divisions.mk)))
+
+@REM Run mingw32-make with various values of j
+FOR %%j in (10 25 50 75 100 250) DO (
+FOR %%c IN (all env echo cp sed) DO (
+FOR %%i IN (100 200 500 750 1000 1250 1500 1750 2000 2250 2500) DO (
+FOR %%d in (50 100) DO (
+make -j %%j -f makefile_%%c_%%i_targets_%%d_divisions.mk > makefile_%%c_%%i_targets_%%d_divisions_jobs_%%j.log 2>&1))))
Binary file sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun03/makefiles_testrun03.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun03/testrig03.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+ECHO junk_file: this file is the dummy file to be used in the cp-testing. > junk_file
+SET SBS_HOME=D:\yiluzhu\CBR\m04710\raptor
+SET PATH=%SBS_HOME%\win32\mingw\bin;%SBS_HOME%\win32\msys\bin;%PATH%
+
+@REM Run mingw32-make with various values of j
+FOR /L %%r in (1,1,100) DO (
+FOR %%j in (50 100) DO (
+FOR %%f IN (makefile_env_1000_targets_50_divisions.mk makefile_env_1000_targets_100_divisions.mk) DO (
+make -j %%j -f %%f > %%f_jobs_%%j_run_%%r.log 2>&1
+)
+)
+)
Binary file sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun04/makefiles_testrun04.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun04/testrig04.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,32 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+ECHO junk_file: this file is the dummy file to be used in the cp-testing. > junk_file
+SET SBS_HOME=D:\danieljacobs\msystest\raptor
+SET PATH=%SBS_HOME%\win32\mingw\bin;%SBS_HOME%\win32\msys\bin;%PATH%
+
+@REM Generate the makefiles using case "all" ...
+FOR %%c IN (all env echo cp sed) DO (
+FOR %%i IN (100 750 1500 1750 2500) DO (
+FOR %%d in (50 100) DO (
+python makemakefile.py -t %%i -d %%d -c %%c -m makefile_%%c_%%i_targets_%%d_divisions.mk)))
+
+@REM Run mingw32-make with various values of j
+FOR %%j in (10 25 50 75 100 250) DO (
+FOR %%c IN (all env echo cp sed) DO (
+FOR %%i IN (100 750 1500 1750 2500) DO (
+FOR %%d in (50 100) DO (
+make -j %%j -f makefile_%%c_%%i_targets_%%d_divisions.mk > makefile_%%c_%%i_targets_%%d_divisions_jobs_%%j.log 2>&1))))
Binary file sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun05/makefiles_testrun05.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun05/testrig05.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+ECHO junk_file: this file is the dummy file to be used in the cp-testing. > junk_file
+SET SBS_HOME=D:\yiluzhu\CBR\m04710\raptor
+SET PATH=%SBS_HOME%\win32\mingw\bin;D:\danieljacobs\msystest\cygwin\bin;%PATH%
+
+@REM Run mingw32-make with various values of j
+FOR /L %%r in (1,1,100) DO (
+FOR %%j in (50 100) DO (
+FOR %%f IN (makefile_env_1000_targets_50_divisions.mk makefile_env_1000_targets_100_divisions.mk) DO (
+make -j %%j -f %%f > %%f_jobs_%%j_run_%%r.log 2>&1
+)
+)
+)
Binary file sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun06/makefiles_testrun06.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun06/testrig06.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+ECHO junk_file: this file is the dummy file to be used in the cp-testing. > junk_file
+SET SBS_HOME=D:\danieljacobs\msystest\raptor
+SET PATH=%SBS_HOME%\win32\mingw\bin;D:\danieljacobs\msystest\cygwin\bin;%PATH%
+
+@REM Run mingw32-make with various values of j
+FOR %%j in (10 25 50 75 100 250) DO (
+FOR %%c IN (all env echo cp sed) DO (
+FOR %%i IN (100 750 1500 1750 2500) DO (
+FOR %%d in (50 100) DO (
+make -j %%j -f makefile_%%c_%%i_targets_%%d_divisions.mk > makefile_%%c_%%i_targets_%%d_divisions_jobs_%%j.log 2>&1))))
Binary file sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun07/makefiles_testrun07.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun07/testrig07.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+ECHO junk_file: this file is the dummy file to be used in the cp-testing. > junk_file
+SET SBS_HOME=D:\danieljacobs\msystest\raptor
+SET PATH=%SBS_HOME%\win32\mingw\bin;D:\danieljacobs\msystest\cygwin\bin;%PATH%
+
+@REM Run mingw32-make with various values of j
+FOR /L %%r in (1,1,100) DO (
+FOR %%j in (50 100) DO (
+FOR %%f IN (makefile_env_1000_targets_50_divisions.mk makefile_env_1000_targets_100_divisions.mk) DO (
+make -j %%j -f %%f > %%f_jobs_%%j_run_%%r.log 2>&1
+)
+)
+)
Binary file sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun08/makefiles_testrun08.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun08/testrig08.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+ECHO junk_file: this file is the dummy file to be used in the cp-testing. > junk_file
+SET SBS_HOME=D:\danieljacobs\msystest\raptor
+SET PATH=%SBS_HOME%\win32\mingw\bin;D:\danieljacobs\msystest\cygwin\bin;%PATH%
+
+@REM Run mingw32-make with various values of j
+FOR %%j in (10 25 50 75 100 250) DO (
+FOR %%c IN (all env echo cp sed) DO (
+FOR %%i IN (100 750 1500 1750 2500) DO (
+FOR %%d in (50 100) DO (
+make -j %%j -f makefile_%%c_%%i_targets_%%d_divisions.mk > makefile_%%c_%%i_targets_%%d_divisions_jobs_%%j.log 2>&1))))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/HowTo.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,96 @@
+HowTo.txt - Copyright 2008 Symbian Software Ltd.
+
+This document describes how to use this test suite for stress-testing Linux-emulation type systems on Windows.
+
+Structure of tests
+==================
+
+The Linux emulation layer tests are structured as follows:
+
+LinuxEmulationLayerStressTests\HowTo.txt (this file)
+LinuxEmulationLayerStressTests\makemakefile.py (described below)
+LinuxEmulationLayerStressTests\mingw.tar.bz2
+LinuxEmulationLayerStressTests\msys.tar.bz2
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun01\makefiles_testrun01.zip
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun01\testrig01.bat
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun02\makefiles_testrun02.zip
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun02\testrig02.bat
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun03\makefiles_testrun03.zip
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun03\testrig03.bat
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun04\makefiles_testrun04.zip
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun04\testrig04.bat
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun05\makefiles_testrun05.zip
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun05\testrig05.bat
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun06\makefiles_testrun06.zip
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun06\testrig06.bat
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun07\makefiles_testrun07.zip
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun07\testrig07.bat
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun08\makefiles_testrun08.zip
+LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun08\testrig08.bat
+LinuxEmulationLayerStressTests\src\msys-sed-4.1.5-src.tar.gz
+
+Each test run has its makefiles preserved in the corresponding zip file (e.g. makefiles_testrun01.zip). 
+
+The testrigNN.bat are very basic batch scripts that do not take any parameters. They are simply there as a 
+bootstrap to 
+
+1) Set the PATH to contain either MSYS's or Cygwin's bin folder (but not both!) 
+2) Set the PATH to contain MinGW's bin folder (for MinGW's make)
+3) Generate the makefiles in a number of for-loops (optional)
+4) Run the make over the makefiles in a number of for-loops
+
+In future, if any of these batch files are re-used, it will be necessary to adjust them so that 
+they set the PATH environment variable correctly to contain the place where MSYS or Cygwin 
+was unzipped. Then decide if you wish to generate further makefiles using the Python script,
+or if it's just enough to run the existing makefiles.
+
+For convenience, both MSYS and Cygwin are provided in the files
+
+LinuxEmulationLayerStressTests\mingw.tar.bz2
+LinuxEmulationLayerStressTests\msys.tar.bz2
+
+These are the versions that were tested and were shipped with SBSv2. Simply untar to a convenient
+location and update the batch files bootstraps to add these to your PATH.
+
+makemakefile.py
+===============
+
+This script, as its name suggests, makes a range of makefiles. Use the command
+
+python makemakefile.py -h
+
+to see a list of available options. At time of writing, the usage help is as follows:
+
+Usage: makemakefile.py [options]
+
+Options:
+  -h, --help            show this help message and exit
+  -t TARGETS, --targets=TARGETS
+                        Number of main (or "level1") targets to generate -
+                        these are the targets that actually perform some
+                        simulated actions.
+  -d DIVISIONS, --divisions=DIVISIONS
+                        The number of "level2" targets. Each level2 target
+                        will depend on t/d level1 targets. This makes makefile
+                        generation more logical.
+  -m MAKEFILE, --makefile=MAKEFILE
+                        Name of makefile to generate. If blank, makefile is
+                        printed to STDOUT.
+  -c CASE, --case=CASE  Type of commands to use in each rule. Default is
+                        "all"; other options are "env", "echo", "cp" and "sed"
+
+
+
+The -t option specifies total the number of makefile targets. This should be a positive integer. 
+
+The -d option specifies total the number of subdivisions of the makefile targets into level1/level2 targets. 
+This should be a positive integer. 
+
+The makefiles are structured in such as way, so that the dependency tree has three levels. The aim is to 
+introduce some complexity into the makefile's dependency tree rather than just having a "flat" dependency tree. 
+The top level in the dependency tree contains only one target called "main"; below this are the level2 targets
+which are all prerequisites of main; lastly are the level1 targets which split into groups and each group is 
+the set of prerequisites for a level2 target.
+
+The size of these groups of level1 targets is <= DIVISIONS depending if DIVISIONS divides into TARGETS exactly or not. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/core_utils/makemakefile.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,152 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#! python
+
+import optparse
+import sys
+
+def writeline(line, filehandle):
+	"""Assumes filehandle has a write method and that line is a string; 
+	Calls the filehandle's write method with line as an argument. Note:
+	filehandle can be STDOUT or STDERR or a real file. The client code
+	should take care of the creation of the filehandle object"""
+	print >> filehandle, line,
+
+def info(arg, filehandle):
+	writeline("# INFO: " + str(arg), filehandle)
+
+def warning(arg, filehandle):
+	writeline("# WARNING: " + str(arg), filehandle)
+
+def error(arg, filehandle):
+	writeline("# ERROR: " + str(arg), filehandle)
+
+# Get the command line options
+parser = optparse.OptionParser()
+parser.add_option("-t", "--targets", type="int", dest="targets",   
+				  help="Number of main (or \"level1\") targets to generate - these are the targets " + \
+				  "that actually perform some simulated actions.")
+parser.add_option("-d", "--divisions", type="int", dest="divisions", 
+				  help="The number of \"level2\" targets. Each level2 target will depend on " + \
+				  "t/d level1 targets. This makes makefile generation more logical.")
+parser.add_option("-m", "--makefile", dest="makefile", 
+				  help="Name of makefile to generate. If blank, makefile is printed to STDOUT.")
+parser.add_option("-c", "--case", dest="case", 
+				  help="Type of commands to use in each rule. Default is \"all\"; other options are " + \
+				  "\"env\", \"echo\", \"cp\" and \"sed\"")
+
+(options, args) = parser.parse_args()
+
+makefile = options.makefile
+makefilefh = None
+# Open the makefile if possible. Note, all info, warnings and errors 
+# will appear in the makefile as comments.
+if makefile != None:
+	try:
+		makefilefh = open(makefile, "w")
+	except:
+		makefile = None
+		makefilefh = None
+		error("Failed to open " + makefile + ". STDOUT will be used instead.", makefilefh)
+
+info("Auto-generated makefile for stress-testing.\n\n", makefilefh)
+
+if options.targets == None:
+	error("Missing option \"targets\". Please ensure you have specified the number of targets required.\n\n", makefilefh)
+	sys.exit(2)
+
+if options.divisions == None:
+	info("Missing option \"divisions\". Defaulting to 1.\n\n", makefilefh)
+	options.divisions = 1
+
+# Commands to use in the main "worker" rules
+command_env = "echo Echoing PATH from $@ in a subshell; (echo PATH=$$PATH;)"
+command_echo_1 = "echo This is rule $@; echo PATH=$$PATH && echo TMP=$$TMP;"
+command_echo_2 = "echo Echoing PATH from $@ in a subshell; (echo PATH=$$PATH;)"
+command_echo_3 = "echo Echoing PATH from $@ in a subshell; (echo Another subshell; (echo PATH=$$PATH;))"
+command_cp_1 = "cp -f junk_file junk_file_copy_1_$@"
+command_cp_2 = "cp -f junk_file junk_file_copy_2_$@"
+command_cp_3 = "cp -f junk_file junk_file_copy_3_$@"
+command_cp_4 = "cp -f junk_file junk_file_copy_4_$@"
+command_sed_1 = "echo asdfsdf-----asdfasdfasdf-.txt | sed 's!.*-----!!g';"
+command_sed_2 = "echo 'ssss:33 x' | sed 's!.*:[0-9][0-9] *!!g'"
+
+# Default command list
+command_list = []
+
+if options.case == "env":
+	command_list = [command_env]
+elif options.case == "echo":
+	command_list = [command_echo_1, command_echo_2, command_echo_3]
+elif options.case == "cp":
+	command_list = [command_cp_1, command_cp_2, command_cp_3, command_cp_4]
+elif options.case == "sed":
+	command_list = [command_sed_1, command_sed_2]
+elif options.case in ["all", None]:
+	command_list = [command_env, 
+				    command_echo_1, command_echo_2, command_echo_3, 
+				    command_cp_1, command_cp_2, command_cp_3, command_cp_4, 
+				    command_sed_1, command_sed_2]
+else:
+	error("Unknown option for \"case\" option: %s. Reverting to defaults..." % (options.case), makefilefh)
+	command_list = [command_env, 
+				    command_echo_1, command_echo_2, command_echo_3, 
+				    command_cp_1, command_cp_2, command_cp_3, command_cp_4, 
+				    command_sed_1, command_sed_2]
+
+# Clean command to delete all the junk copy files
+clean = "rm -f junk_file_copy_*"
+
+total_targets = options.targets
+divisions = options.divisions
+quotient = total_targets/divisions
+remainder = total_targets - quotient*divisions
+
+writeline("main:", makefilefh)
+for i in range(divisions):
+	writeline("level_2_rule_%09d " % (i), makefilefh)
+writeline("\n\n", makefilefh)
+
+for i in range(divisions):
+	writeline("level_2_rule_%09d: " % (i), makefilefh)
+	for j in range(quotient):
+		writeline("level_1_rule_%09d " % (j + i*quotient), makefilefh)
+	writeline("\n\n", makefilefh)
+
+# Generate extra rule for the "remainder" targets
+if remainder > 0:
+	writeline("main:", makefilefh)
+	writeline("level_2_rule_%09d " % (divisions), makefilefh)
+	writeline("\n\n", makefilefh)
+	writeline("level_2_rule_%09d: " % (divisions), makefilefh)	
+	for j in range(total_targets - remainder,total_targets):
+		writeline("level_1_rule_%09d " % (j), makefilefh)
+	writeline("\n\n", makefilefh)
+
+# Generate the level_1_rules - these are the ones that actually
+# execute commands.
+for i in range(total_targets):
+	writeline("level_1_rule_%09d: \n" % (i), makefilefh)
+	for command in command_list:
+		writeline("\t" + command + "\n", makefilefh)
+	writeline("\n\n", makefilefh)
+
+writeline("clean:\n", makefilefh)
+writeline("\t" + clean + "\n", makefilefh)
+writeline("\n", makefilefh)
+
+if makefile != None:
+	makefilefh.close()
\ No newline at end of file
Binary file sbsv2/raptor/test/core_utils/mingw.tar.bz2 has changed
Binary file sbsv2/raptor/test/core_utils/msys.tar.bz2 has changed
Binary file sbsv2/raptor/test/core_utils/src/msys-sed-4.1.5-src.tar.gz has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/1quarter.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  <systemModel>
+    <layer name="common">
+      <module name="allexports">
+        <component name="envelope">
+	<unit unitID='BUILDSYSTEMTOOLS' name='tools_build' bldFile='common/generic/tools/build/group' />
+	<unit unitID='CBRTOOLS' name='tools_cbr_tools' bldFile='common/generic/tools/cbr/tools/Group' />
+	<unit unitID='CBRPRF' name='tools_cbr_prf' bldFile='common/generic/tools/cbr/prf/group' />
+	<unit unitID='DEPCHECK' name='tools_depcheck' bldFile='common/generic/tools/depcheck' />
+	<unit unitID='DEPMODEL' name='tools_depmodel' bldFile='common/generic/tools/depmodel/group' />
+	<unit unitID='E32TOOLS_EKA2' name='tools_e32tools' bldFile='cedar/generic/TOOLS/E32Tools/GROUP' />
+	<unit unitID='EVALID' name='tools_evalid' bldFile='common/generic/tools/host_utilities/evalid' />
+	<unit unitID='RCOMP' name='tools_rcomp' bldFile='common/generic/TOOLS/RCOMP/GROUP' />
+	<unit unitID='REDISTRIBUTION' name='tools_redistribution_common' bldFile='common/generic/TOOLS/REDISTRIBUTION' />
+	<unit unitID='ROMKIT_EKA2' name='tools_romkit' bldFile='cedar/generic/TOOLS/ROMKIT/GROUP' />
+	<!-- not including <unit unitID='s60headercompat' name='tools_s60_header_compat' bldFile='common/generic/tools/s60_header_compat/group' /> -->
+	<unit unitID='BLUETOOTH_LOGGER' name='bluetooth_logger' bldFile='common/generic/bluetooth/latest/bluetooth/logger/group' />
+	<unit unitID='CINIDATA' name='tools_cinidata' bldFile='common/generic/TOOLS/CINIDATA' />
+	<unit unitID='AUTOTEST' name='tools_autotest' bldFile='common/generic/TOOLS/AUTOTEST/GROUP' />
+	<unit unitID='TESTCONFIGFILEPARSER' name='tools_testconfigfileparser' bldFile='common/generic/TOOLS/testconfigfileparser/GROUP' />
+	<unit unitID='KITSETUPAPP' name='tools_devkits_kitsetupapp' bldFile='common/generic/TOOLS/DevKits/KitSetupApp/group' />
+	<unit unitID='PRODUCTINSTALLER' name='tools_custkits_productinstaller' bldFile='common/generic/TOOLS/Custkits/ProductInstaller/group' />
+	<unit unitID='REDISTRIBUTION_WINC_EKA2' name='tools_redistribution_cedar' bldFile='cedar/generic/tools/redistribution' />
+	<unit unitID='MAKEKEYS' name='security_makekeys' bldFile='common/generic/SECURITY/MakeKeys/GROUP' />
+	<unit unitID='PACKETLOOPBACKCSY' name='PacketLoopbackCSY' bldFile='common/generic/networking/test/PacketLoopbackCSY/group' />
+	<unit unitID='STLPORT' name='tools_stlport' bldFile='common/generic/tools/stlport/group' />
+	<unit unitID='RUNPERL' name='tools_sdk_eng_runperl' bldFile='common/generic/TOOLS/SDK_ENG/RUNPERL/GROUP' />
+	<unit unitID='BUILD-TOOLS' name='tools_sdk_eng_build-tools' bldFile='common/generic/TOOLS/SDK_ENG/BUILD-TOOLS/GROUP' />
+	<unit unitID='JAVALIBRARY' name='tools_sdk_eng_javalibrary' bldFile='common/generic/TOOLS/SDK_ENG/JAVALIBRARY/GROUP' />
+	<unit unitID='ASSERTION' name='tools_sdk_eng_assertion' bldFile='common/generic/TOOLS/SDK_ENG/ASSERTION/GROUP' />
+	<unit unitID='ENUM' name='tools_sdk_eng_enum' bldFile='common/generic/TOOLS/SDK_ENG/ENUM/GROUP' />
+	<unit unitID='LOGGER' name='tools_sdk_eng_logger' bldFile='common/generic/TOOLS/SDK_ENG/LOGGER/GROUP' />
+	<unit unitID='FILESYS' name='tools_sdk_eng_filesys' bldFile='common/generic/TOOLS/SDK_ENG/FILESYS/GROUP' />
+	<unit unitID='ENVVAR' name='tools_sdk_eng_envvar' bldFile='common/generic/TOOLS/SDK_ENG/ENVVAR/GROUP' />
+	<unit unitID='INSTALLUTILS' name='tools_sdk_eng_installutils' bldFile='common/generic/TOOLS/SDK_ENG/INSTALLUTILS/GROUP' />
+	<unit unitID='MNEMONICFIX' name='tools_sdk_eng_mnemonicfix' bldFile='common/generic/TOOLS/SDK_ENG/MNEMONICFIX/GROUP' />
+	<unit unitID='PATHBROWSER' name='tools_sdk_eng_pathbrowser' bldFile='common/generic/TOOLS/SDK_ENG/PATHBROWSER/GROUP' />
+	<unit unitID='SHELLEXEC' name='tools_sdk_eng_shellexec' bldFile='common/generic/TOOLS/SDK_ENG/SHELLEXEC/GROUP' />
+	<unit unitID='SWINGWORKER' name='tools_sdk_eng_swingworker' bldFile='common/generic/TOOLS/SDK_ENG/SWINGWORKER/GROUP' />
+	<unit unitID='TESTCASERUNNER' name='tools_sdk_eng_testcaserunner' bldFile='common/generic/TOOLS/SDK_ENG/TESTCASERUNNER/GROUP' />
+	<unit unitID='TOOLBARPANEL' name='tools_sdk_eng_toolbarpanel' bldFile='common/generic/TOOLS/SDK_ENG/TOOLBARPANEL/GROUP' />
+	<unit unitID='JAVAHELP' name='tools_sdk_eng_javahelp' bldFile='common/generic/TOOLS/SDK_ENG/JAVAHELP/GROUP' />
+	<unit unitID='LANGCONFIG' name='tools_sdk_eng_langconfig' bldFile='common/generic/TOOLS/SDK_ENG/LANGCONFIG/GROUP' />
+	<unit unitID='MBMCODEC' name='tools_sdk_eng_mbmcodec' bldFile='common/generic/TOOLS/SDK_ENG/MBMCODEC/GROUP' />
+	<unit unitID='SDKINFO' name='tools_sdk_eng_sdkinfo' bldFile='common/generic/TOOLS/SDK_ENG/SDKINFO/GROUP' />
+	<unit unitID='JADE' name='tools_sdk_eng_jade' bldFile='common/generic/TOOLS/SDK_ENG/JADE/GROUP' />
+	<unit unitID='CSHLPCMP_GUI' name='tools_sdk_eng_cshlpcmp_gui' bldFile='common/generic/TOOLS/SDK_ENG/CSHLPCMP_GUI/GROUP' />
+	<unit unitID='SISAR' name='tools_sdk_eng_sisar' bldFile='common/generic/TOOLS/SDK_ENG/SISAR/GROUP' />
+	<unit unitID='SDKPKG-MANAGER' name='tools_sdk_eng_sdkpkg-manager' bldFile='common/generic/TOOLS/SDK_ENG/SDKPKG-MANAGER/GROUP' />
+	<unit unitID='SDKPKG-TOOLS' name='tools_sdk_eng_sdkpkg-tools' bldFile='common/generic/TOOLS/SDK_ENG/SDKPKG-TOOLS/GROUP' />
+	<unit unitID='EMULATOR_LAUNCHER' name='tools_sdk_eng_emulator_launcher' bldFile='common/generic/TOOLS/SDK_ENG/EMULATOR_LAUNCHER/GROUP' />
+	<unit unitID='PKGMGRGUI' name='tools_sdk_eng_pkgmgrgui' bldFile='common/generic/TOOLS/SDK_ENG/PKGMGRGUI/GROUP' />
+	<unit unitID='LAUNCH' name='tools_sdk_eng_launch' bldFile='common/generic/TOOLS/SDK_ENG/LAUNCH/GROUP' />
+	<unit unitID='TOOLS_STUBS' name='tools_sdk_eng_tools_stubs' bldFile='common/generic/TOOLS/SDK_ENG/TOOLS_STUBS/GROUP' />
+	<unit unitID='CWPLUGINS' name='tools_sdk_eng_cwplugins' bldFile='common/generic/TOOLS/SDK_ENG/CWPLUGINS/GROUP' />
+	<unit unitID='BSPBUILDER' name='tools_bspbuilder' bldFile='common/generic/TOOLS/BSPBUILDER/GROUP' />
+	<unit unitID='ALP2CSH' name='tools_sdk_eng_alp2csh' bldFile='common/generic/TOOLS/SDK_ENG/ALP2CSH/GROUP' />
+	<unit unitID='CJPEG' name='tools_sdk_eng_cjpeg' bldFile='common/generic/TOOLS/SDK_ENG/CJPEG/GROUP' />
+	<unit unitID='CSHLPCMP_FRONTEND' name='tools_sdk_eng_cshlpcmp_frontend' bldFile='common/generic/TOOLS/SDK_ENG/CSHLPCMP_FRONTEND/GROUP' />
+	<unit unitID='PERLLIBRARY' name='tools_sdk_eng_perllibrary' bldFile='common/generic/TOOLS/SDK_ENG/PERLLIBRARY/GROUP' />
+	<unit unitID='PERLSHARED' name='tools_sdk_eng_perl_shared' bldFile='common/generic/tools/sdk_eng/perl_shared/group' />
+	<unit unitID='RTF2PTML' name='tools_sdk_eng_rtf2ptml' bldFile='common/generic/TOOLS/SDK_ENG/RTF2PTML/GROUP' />
+	<unit unitID='SPLASH' name='tools_sdk_eng_splash' bldFile='common/generic/TOOLS/SDK_ENG/SPLASH/GROUP' />
+	<unit unitID='SDK_BUILDER' name='tools_sdk_eng_sdk_builder' bldFile='common/generic/TOOLS/sdk_eng/sdk_builder/GROUP' />
+<!--	<unit unitID='WINS_VARIANT_EKA2' name='base_wins' bldFile='cedar/generic/base/wins' /> -->
+	<unit unitID='LUBBOCK_EKA2' name='base_lubbock' bldFile='cedar/generic/BASE/LUBBOCK' />
+	<unit unitID='OMAP_H2' name='base_omaph2' bldFile='cedar/generic/base/omap/h2' />
+	<unit unitID='BASE_H2_UNISTORE2' name='base_h2_unistore2' bldFile='cedar/generic/base/omap/h2_restricted/unistore2' />
+	<unit unitID='BASE_H2_SDIO' name='base_h2_sdio' bldFile='cedar/generic/base/omap/h2_restricted/sdio' />
+	<unit unitID='OMAPH4HRP' name='base_omaph4hrp' bldFile='cedar/generic/base/omap_hrp/h4' />
+	<unit unitID='H4BOOTLOADER' name='base_omaph4hrp_bootldr' bldFile='cedar/generic/base/omap_hrp/h4_bootloader' />
+	<unit unitID='H4MEBOOTLOADER' name='base_omaph4hrp_mebootldr' bldFile='cedar/generic/base/omap_hrp/h4_mebootloader' />
+	<unit unitID='OMAPH4HRP_UNISTORE2' name='base_omaph4hrp_unistore2' bldFile='cedar/generic/base/omap_hrp/h4_restricted/unistore2' />
+	<unit unitID='OMAPH4HRP_SDIO' name='base_omaph4hrp_sdio' bldFile='cedar/generic/base/omap_hrp/h4_restricted/sdio' />
+	<unit unitID='LMNAND2_LOGIC' name='base_integrator_logic_lmnand2' bldFile='cedar/generic/base/integrator/logic/lmnand2' />
+	<unit unitID='UNISTORE2_DRIVERS' name='base_drivers_unistore2' bldFile='cedar/generic/base/e32/drivers/unistore2' />
+	<unit unitID='UNISTORE2_CRASHFLASH' name='base_crashflash_unistore2' bldFile='cedar/generic/base/e32/drivers/crashflash/unistore2' />
+	<unit unitID='APPARC' name='app-framework_apparc' bldFile='common/generic/APP-FRAMEWORK/APPARC/GROUP' />
+	<unit unitID='SYSSTART' name='app-framework_sysstart' bldFile='common/generic/app-framework/sysstart/group' />
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/2quarter.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  <systemModel>
+    <layer name="common">
+      <module name="allexports">
+        <component name="envelope">
+	<unit unitID='SCREENDRIVER' name='graphics_screendriver' bldFile='common/generic/GRAPHICS/ScreenDriver/Group' />
+	<unit unitID='C32BCA' name='networking_c32bca' bldFile='common/generic/NETWORKING/BasebandAdaptation/c32bca/group' />
+	<unit unitID='E32_EKA2' name='base_e32' bldFile='cedar/generic/BASE/E32' />
+	<unit unitID='E32_COMPSUPP' name='base_e32_compsupp' bldFile='cedar/generic/BASE/E32/compsupp' />
+	<unit unitID='SDCARD3C' name='base_e32_sd3c' bldFile='cedar/generic/base/e32/drivers/pbus/mmc/sdcard/sdcard3c' />
+	<unit unitID='SDCARD4C' name='base_e32_sd4c' bldFile='cedar/generic/base/e32/drivers/pbus/mmc/sdcard/sdcard4c' />
+	<unit unitID='LOCE32_ONGOING' name='base_loce32' bldFile='common/generic/BASE/LOCE32/ongoing' />
+	<unit unitID='F32_EKA2' name='base_f32' bldFile='cedar/generic/BASE/F32/GROUP' />
+	<unit unitID='F32TEST_EKA2' name='base_f32test' bldFile='cedar/generic/BASE/F32TEST/GROUP' />
+	<unit unitID='FATCHARSETCONV' name='syslibs_FATCharsetConv' bldFile='common/generic/syslibs/FATCharsetConv/GROUP' />
+	<unit unitID='HAL_EKA2' name='base_hal' bldFile='cedar/generic/BASE/HAL' />
+	<unit unitID='SYSAGENT2' name='syslibs_sysagent2' bldFile='common/generic/SYSLIBS/SYSAGENT2/GROUP' />
+	<unit unitID='SCHSVR_ONGOING' name='syslibs_schsvr' bldFile='common/generic/SYSLIBS/SCHSVR/ongoing/GROUP' />
+	<unit unitID='AUTHSERVER' name='security_authserver' bldFile='common/generic/security/authserver/group' />
+	<unit unitID='SYSSTART' name='app-framework_sysstart' bldFile='common/generic/app-framework/sysstart/group' />
+	<unit unitID='EMIME' name='app-framework_emime' bldFile='common/generic/APP-FRAMEWORK/EMIME/GROUP' />
+	<unit unitID='EZLIB' name='syslibs_ezlib' bldFile='common/generic/SYSLIBS/EZLIB/GROUP' />
+	<unit unitID='SECURITYCOMMON' name='security_common' bldFile='common/generic/SECURITY/COMMON/GROUP' />
+	<unit unitID='SECURITYCONFIG' name='security_config' bldFile='common/generic/security/securityconfig/group' />
+	<unit unitID='CRYPTOGRAPHY' name='security_crypto_weak' bldFile='common/generic/SECURITY/CRYPTO/GROUP' />
+	<unit unitID='STRONG_CRYPTO' name='security_crypto_strong' bldFile='common/generic/security/crypto/strong' />
+	<unit unitID='STDLIB' name='syslibs_stdlib' bldFile='common/generic/SYSLIBS/STDLIB/GROUP' />
+	<unit unitID='OECORE' name='openenv' bldFile='common/generic/openenv/core/group' />
+	<unit unitID='FEATREG' name='syslibs_featreg' bldFile='common/generic/syslibs/featreg/group' />
+	<unit unitID='ECOM_ONGOING' name='syslibs_ecom' bldFile='common/generic/SYSLIBS/ECOM/ongoing/GROUP' />
+	<unit unitID='PWRCLI' name='syslibs_pwrcli' bldFile='common/generic/SYSLIBS/PWRCLI/GROUP' />
+	<unit unitID='DOMAIN' name='base_domain' bldFile='cedar/generic/base/domain/group' />
+	<unit unitID='BAFL' name='syslibs_bafl' bldFile='common/generic/SYSLIBS/BAFL/GROUP' />
+	<unit unitID='CHARCONV_ONGOING' name='syslibs_charconv' bldFile='common/generic/SYSLIBS/Charconv/Ongoing/GROUP' />
+	<unit unitID='LOGENGONGOING' name='syslibs_logeng' bldFile='common/generic/SYSLIBS/LOGENG/ONGOING/GROUP' />
+	<unit unitID='FLOGGER' name='comms-infras_flogger' bldFile='common/generic/COMMS-INFRAS/Flogger/GROUP' />
+	<unit unitID='COMMSDEBUGUTILITY' name='comms-infras_commsdebugutility' bldFile='common/generic/comms-infras/commsdebugutility/GROUP' />
+	<unit unitID='CAF2' name='syslibs_caf2' bldFile='common/generic/syslibs/CAF2/GROUP' />
+	<unit unitID='CAF2CONFIG' name='syslibs_reccafconfig' bldFile='common/generic/syslibs/caf2/reccafconfig' />
+	<unit unitID='XML' name='syslibs_xml' bldFile='common/generic/syslibs/xml/group' />
+	<unit unitID='STORE' name='syslibs_store' bldFile='common/generic/SYSLIBS/Store/GROUP' />
+	<unit unitID='DBMS' name='syslibs_dbms' bldFile='common/generic/SYSLIBS/DBMS/GROUP' />
+	<unit unitID='DBMSSQL' name='syslibs_dbmssql' bldFile='common/generic/syslibs/dbms/esql/group' />
+	<unit unitID='CENTRALREPOSITORY' name='syslibs_centralrepository' bldFile='common/generic/syslibs/centralrepository/group' />
+	<unit unitID='SQL' name='syslibs_sql' bldFile='common/generic/syslibs/sql/group' />
+	<unit unitID='ROOTSERVER' name='comms-infras_rootserver' bldFile='common/generic/comms-infras/rootserver/GROUP' />
+	<unit unitID='COMMDB_SHIM' name='Comms Database SHIM' bldFile='common/generic/COMMS-INFRAS/Commdb/GROUP' />
+	<unit unitID='COMMSDAT' name='comms-infras_commsdat' bldFile='common/generic/COMMS-INFRAS/Commsdat/GROUP' />
+	<unit unitID='DEFAULTCOMMDB' name='comms-infras_defaultcommdb' bldFile='common/generic/COMMS-INFRAS/Commsdat/defaultcommdb/GROUP' />
+	<unit unitID='INSTALLDEFAULTCOMMDB' name='comms-infras_installdefaultcommdb' bldFile='common/generic/COMMS-INFRAS/Commsdat/installdefaultcommdb/GROUP' />
+	<unit unitID='C32' name='ser-comms_c32' bldFile='common/generic/SER-COMMS/C32/GROUP' />
+	<unit unitID='C32-config' name='ser-comms_c32-config' bldFile='common/generic/ser-comms/c32/data' />
+	<!-- excluding <unit unitID='ESOCK' name='comms-infras_esock' bldFile='common/generic/COMMS-INFRAS/ESOCK/version2/GROUP' /> -->
+	<unit unitID='ESOCK399' name='comms-infras_esock' bldFile='common/generic/COMMS-INFRAS/ESOCK/GROUP' />
+	<unit unitID='NIFMAN' name='comms-infras_nifman' bldFile='common/generic/COMMS-INFRAS/NIFMAN/GROUP' />
+	<unit unitID='DIALOG' name='networking_dialog' bldFile='common/generic/NETWORKING/DIALOG/GROUP' />
+	<unit unitID='DIALOG_DEFAULT' name='networking_dialog_default' bldFile='common/generic/networking/dialog/default' />
+	<unit unitID='NETCON' name='networking_netcon' bldFile='common/generic/NETWORKING/NETCON/GROUP' />
+	<unit unitID='COMMSFW' name='comms-infras_commsfw' bldFile='common/generic/comms-infras/commsfw/GROUP' />
+	<unit unitID='ELEMENTS' name='comms-infras_elements' bldFile='common/generic/COMMS-INFRAS/elements/group' />
+	<unit unitID='MBUFMAN' name='comms-infras_mbufmgr' bldFile='common/generic/comms-infras/mbufmgr/GROUP' />
+	<unit unitID='BCA' name='networking_bca' bldFile='common/generic/NETWORKING/BasebandAdaptation/bca/group' />
+	<!-- not including <unit unitID='ISC' name='networking_isc' bldFile='common/generic/NETWORKING/BasebandAdaptation/isc/group' /> -->
+	<unit unitID='DIAL' name='telephony_dial' bldFile='common/generic/TELEPHONY/DIAL/GROUP' />
+	<unit unitID='TELEPHONY_WATCHERS' name='telephony_watchers' bldFile='common/generic/telephony/watchers/group' />
+	<unit unitID='ETEL' name='telephony_etel' bldFile='common/generic/TELEPHONY/ETEL/GROUP' />
+	<unit unitID='ETEL3RDPARTY' name='telephony_etel3rdparty' bldFile='common/generic/TELEPHONY/ETel3rdParty/GROUP' />
+	<unit unitID='ETELMM' name='telephony_etelmm' bldFile='common/generic/TELEPHONY/ETELMM/GROUP' />
+	<unit unitID='ETELPCKT' name='telephony_etelpckt' bldFile='common/generic/TELEPHONY/etelpckt/group' />
+	<unit unitID='ETELSAT' name='telephony_etelsat' bldFile='common/generic/TELEPHONY/ETELSAT/GROUP' />
+	<unit unitID='ETELCDMA' name='telephony_etelcdma' bldFile='common/generic/telephony/etelcdma/group' />
+	<unit unitID='SMSSTACKV2' name='nbprotocols_smsstackv2' bldFile='common/generic/NBPROTOCOLS/SMSSTACKV2/GROUP' />
+	<unit unitID='CDMASMSSTACK' name='nbprotocols_cdmasmsstack' bldFile='common/generic/NBPROTOCOLS/CDMASMSSTACK/GROUP' />
+	<unit unitID='MMTSY' name='telephony_mmtsy' bldFile='common/generic/TELEPHONY/mmtsy/group' />
+	<unit unitID='CDMATSY' name='telephony_cdmatsy' bldFile='common/generic/TELEPHONY/cdmatsy/group' />
+	<unit unitID='SIMTSY' name='telephony_simtsy' bldFile='common/generic/TELEPHONY/simtsy/group' />
+	<unit unitID='TRP' name='telephony_trp' bldFile='common/generic/telephony/trp/group' />
+	<unit unitID='DND' name='networking_dnd' bldFile='common/generic/NETWORKING/dnd/group' />
+	<unit unitID='DHCP' name='networking_dhcp' bldFile='common/generic/NETWORKING/dhcp/group' />
+	<unit unitID='INSOCK' name='networking_insock' bldFile='common/generic/NETWORKING/insock/group' />
+	<unit unitID='NETWORKING_GENERAL' name='networking_general' bldFile='common/generic/networking/General/group' />
+	<unit unitID='IPEVENTNOTIFIER' name='networking_ipeventnotifier' bldFile='common/generic/networking/ipeventnotifier/group' />
+	<unit unitID='TCPIP6' name='networking_tcpip6' bldFile='common/generic/NETWORKING/TCPIP6/GROUP' />
+	<unit unitID='NETWORKING_EXAMPLECODE' name='IP Hook Examples' bldFile='common/generic/NETWORKING/examplecode/GROUP' />
+	<unit unitID='INHOOK6' name='networking_inhook6' bldFile='common/generic/NETWORKING/inhook6/group' />
+	<unit unitID='QOS' name='networking_qos' bldFile='common/generic/NETWORKING/QOS/GROUP' />
+	<unit unitID='QOSLIB' name='networking_qoslib' bldFile='common/generic/NETWORKING/QOSLIB/GROUP' />
+	<unit unitID='PFQOSLIB' name='networking_pfqoslib' bldFile='common/generic/NETWORKING/PFQOSLIB/GROUP' />
+	<unit unitID='NAPT' name='networking_napt' bldFile='common/generic/networking/napt/group' />
+	<!-- excluding <unit unitID='IPCPR' name='networking_ipcpr' bldFile='common/generic/NETWORKING/ip/version1/IPCPR/GROUP' /> -->
+	<!-- excluding <unit unitID='SHIMCPR' name='networking_shimcpr' bldFile='common/generic/comms-infras/nifman/version1/shimcpr/GROUP' /> -->
+	<!-- excluding <unit unitID='IPSCPR' name='networking_ipscpr' bldFile='common/generic/NETWORKING/umts/version1/ipscpr/GROUP' /> -->
+	<!-- excluding <unit unitID='REFERENCECPR' name='networking_ReferenceCPR' bldFile='common/generic/NETWORKING/ip/version1/referencecpr/GROUP' /> -->
+	<!-- excluding <unit unitID='REFERENCESCPR' name='networking_ReferenceSCPR' bldFile='common/generic/NETWORKING/umts/version1/referencescpr/GROUP' /> -->
+	<unit unitID='QOS3GPP' name='networking_qos3gpp' bldFile='common/generic/networking/umts/qos3gpp/group' />
+	<!-- excluding <unit unitID='UMTSGPRSSCPR' name='networking_UmtsGprsSCPR' bldFile='common/generic/NETWORKING/umts/version1/UmtsGprsSCPR/GROUP' /> -->
+	<unit unitID='IPPROTO' name='networking_ipproto' bldFile='common/generic/networking/ip/ipproto/group' />
+	<unit unitID='IPTRANSPORT' name='networking_iptransport' bldFile='common/generic/networking/ip/iptransport/group' />
+	<unit unitID='PDP' name='networking_pdp' bldFile='common/generic/networking/umts/pdp/group' />
+	<unit unitID='QOSIPSCPR' name='networking_qosipscpr' bldFile='common/generic/networking/umts/qosipscpr/group' />
+	<unit unitID='CSDAGT' name='networking_csdagt' bldFile='common/generic/NETWORKING/CSDAGT/GROUP' />
+	<unit unitID='PSDAGT' name='networking_psdagt' bldFile='common/generic/NETWORKING/PSDAGT/GROUP' />
+	<unit unitID='NULLAGT' name='networking_nullagt' bldFile='common/generic/NETWORKING/NULLAGT/GROUP' />
+	<unit unitID='GUQOS' name='networking_guqos' bldFile='common/generic/NETWORKING/GUQOS/GROUP' />
+	<unit unitID='UMTSIF' name='networking_umtsif' bldFile='common/generic/NETWORKING/UMTSIF/GROUP' />
+	<unit unitID='QOSEXTNAPI' name='networking_qosextnapi' bldFile='common/generic/networking/qosextnapi/group' />
+	<unit unitID='SPUD' name='networking_spud' bldFile='common/generic/NETWORKING/SPUD/GROUP' />
+	<unit unitID='EAP' name='networking_eap' bldFile='common/generic/networking/eap/group' />
+	<unit unitID='ETHER802' name='networking_ether802' bldFile='common/generic/NETWORKING/ETHER802/GROUP' />
+	<!-- excluding <unit unitID='PPP' name='networking_ppp' bldFile='common/generic/NETWORKING/PPP/version1/GROUP' /> -->
+	<unit unitID='PPP399' name='networking_ppp' bldFile='common/generic/NETWORKING/PPP/GROUP' />
+	<unit unitID='PREDCOMP' name='networking_predcomp' bldFile='common/generic/NETWORKING/PREDCOMP/GROUP' />
+	<unit unitID='MSCOMP' name='networking_mscomp' bldFile='common/generic/NETWORKING/MSComp/GROUP' />
+	<unit unitID='STACCOMP' name='networking_staccomp' bldFile='common/generic/NETWORKING/STACCOMP/GROUP' />
+	<unit unitID='SLIP' name='networking_slip' bldFile='common/generic/NETWORKING/SLIP/GROUP' />
+	<unit unitID='TUNNELNIF' name='networking_tunnelnif' bldFile='common/generic/NETWORKING/tunnelnif/group' />
+	<unit unitID='PACKETLOGGER' name='networking_packetlogger' bldFile='common/generic/NETWORKING/packetlogger/group' />
+	<unit unitID='RAWIPNIF' name='networking_rawipnif' bldFile='common/generic/NETWORKING/rawipnif/group' />
+	<unit unitID='WIFI_802_11' name='networking_802.11' bldFile='common/generic/networking/802.11/group' />
+	<unit unitID='USB' name='ser-comms_usb' bldFile='common/generic/SER-COMMS/USB/GROUP' />
+	<unit unitID='BLUETOOTH_MANAGER' name='bluetooth_manager' bldFile='common/generic/bluetooth/latest/bluetooth/manager' />
+	<unit unitID='BLUETOOTH_BTEXTNOTIFIERS' name='bluetooth_btextnotifiers' bldFile='common/generic/bluetooth/latest/bluetooth/BTExtNotifiers' />
+	<unit unitID='BLUETOOTH_CONFIG' name='bluetooth_config' bldFile='common/generic/bluetooth/latest/bluetooth/config' />
+	<unit unitID='BLUETOOTH_GAVDP' name='bluetooth_gavdp' bldFile='common/generic/bluetooth/latest/bluetooth/profiles/gavdp/group' />
+	<unit unitID='BLUETOOTH_ROM' name='bluetooth_rom' bldFile='common/generic/bluetooth/latest/bluetooth/rom' />
+	<unit unitID='BLUETOOTH_USER' name='bluetooth_user' bldFile='common/generic/bluetooth/latest/bluetooth/user' />
+	<unit unitID='HCI_V2_FRAMEWORK' name='bluetooth_hci_v2_framework' bldFile='common/generic/bluetooth/latest/bluetooth/hci_v2/framework/group' />
+	<unit unitID='BLUETOOTH_SDP' name='bluetooth_sdp' bldFile='common/generic/bluetooth/latest/bluetooth/sdp' />
+	<unit unitID='BLUETOOTH_REMOTECONTROL' name='bluetooth_remotecontrol' bldFile='common/generic/bluetooth/latest/bluetooth/remotecontrol/group' />
+	<unit unitID='BLUETOOTH_STACK' name='bluetooth_stack' bldFile='common/generic/bluetooth/latest/bluetooth/stack' />
+	<unit unitID='BLUETOOTH_HCI' name='bluetooth_hci' bldFile='common/generic/bluetooth/latest/bluetooth/hci' />
+	<unit unitID='BLUETOOTH_HCIPROXY' name='bluetooth_hciproxy' bldFile='common/generic/bluetooth/latest/bluetooth/HCIProxy' />
+	<unit unitID='HCI_V2_IMPLEMENTATIONS' name='bluetooth_hci_v2_implementations' bldFile='common/generic/bluetooth/latest/bluetooth/hci_v2/implementations/group' />
+	<unit unitID='IRDA' name='infra-red_irda' bldFile='common/generic/INFRA-RED/IRDA/GROUP' />
+	<unit unitID='INFRA-RED_CONFIG' name='infra-red_config' bldFile='common/generic/INFRA-RED/config' />
+	<unit unitID='BLUETOOTH_BTCOMM' name='bluetooth_btcomm' bldFile='common/generic/bluetooth/latest/bluetooth/btcomm' />
+	<unit unitID='MDF' name='multimedia_mdf' bldFile='common/generic/multimedia/mdf/group' />
+	<unit unitID='OPENMAX' name='multimedia_openmax' bldFile='common/generic/multimedia/openmax/group' />
+	<unit unitID='MMF' name='multimedia_mmf' bldFile='common/generic/MULTIMEDIA/MMF/GROUP' />
+	<unit unitID='COMMON' name='multimedia_common' bldFile='common/generic/MULTIMEDIA/MMCOMMON/GROUP' />
+	<unit unitID='CHAR' name='multimedia_mmf_char' bldFile='common/generic/MULTIMEDIA/char/mmf/group' />
+	<unit unitID='ICL' name='multimedia_icl' bldFile='common/generic/MULTIMEDIA/ICL/GROUP' />
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/all_nocompsupp.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,387 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  <systemModel>
+    <layer name="common">
+      <module name="allexports">
+        <component name="envelope">
+	<unit unitID='BUILDSYSTEMTOOLS' name='tools_build' bldFile='common/generic/tools/build/group' />
+	<unit unitID='CBRTOOLS' name='tools_cbr_tools' bldFile='common/generic/tools/cbr/tools/Group' />
+	<unit unitID='CBRPRF' name='tools_cbr_prf' bldFile='common/generic/tools/cbr/prf/group' />
+	<unit unitID='DEPCHECK' name='tools_depcheck' bldFile='common/generic/tools/depcheck' />
+	<unit unitID='DEPMODEL' name='tools_depmodel' bldFile='common/generic/tools/depmodel/group' />
+	<unit unitID='E32TOOLS_EKA2' name='tools_e32tools' bldFile='cedar/generic/TOOLS/E32Tools/GROUP' />
+	<unit unitID='EVALID' name='tools_evalid' bldFile='common/generic/tools/host_utilities/evalid' />
+	<unit unitID='RCOMP' name='tools_rcomp' bldFile='common/generic/TOOLS/RCOMP/GROUP' />
+	<unit unitID='REDISTRIBUTION' name='tools_redistribution_common' bldFile='common/generic/TOOLS/REDISTRIBUTION' />
+	<unit unitID='ROMKIT_EKA2' name='tools_romkit' bldFile='cedar/generic/TOOLS/ROMKIT/GROUP' />
+	<!-- not including <unit unitID='s60headercompat' name='tools_s60_header_compat' bldFile='common/generic/tools/s60_header_compat/group' /> -->
+	<unit unitID='BLUETOOTH_LOGGER' name='bluetooth_logger' bldFile='common/generic/bluetooth/latest/bluetooth/logger/group' />
+	<unit unitID='CINIDATA' name='tools_cinidata' bldFile='common/generic/TOOLS/CINIDATA' />
+	<unit unitID='AUTOTEST' name='tools_autotest' bldFile='common/generic/TOOLS/AUTOTEST/GROUP' />
+	<unit unitID='TESTCONFIGFILEPARSER' name='tools_testconfigfileparser' bldFile='common/generic/TOOLS/testconfigfileparser/GROUP' />
+	<unit unitID='KITSETUPAPP' name='tools_devkits_kitsetupapp' bldFile='common/generic/TOOLS/DevKits/KitSetupApp/group' />
+	<unit unitID='PRODUCTINSTALLER' name='tools_custkits_productinstaller' bldFile='common/generic/TOOLS/Custkits/ProductInstaller/group' />
+	<unit unitID='REDISTRIBUTION_WINC_EKA2' name='tools_redistribution_cedar' bldFile='cedar/generic/tools/redistribution' />
+	<unit unitID='MAKEKEYS' name='security_makekeys' bldFile='common/generic/SECURITY/MakeKeys/GROUP' />
+	<unit unitID='PACKETLOOPBACKCSY' name='PacketLoopbackCSY' bldFile='common/generic/networking/test/PacketLoopbackCSY/group' />
+	<unit unitID='STLPORT' name='tools_stlport' bldFile='common/generic/tools/stlport/group' />
+	<unit unitID='RUNPERL' name='tools_sdk_eng_runperl' bldFile='common/generic/TOOLS/SDK_ENG/RUNPERL/GROUP' />
+	<unit unitID='BUILD-TOOLS' name='tools_sdk_eng_build-tools' bldFile='common/generic/TOOLS/SDK_ENG/BUILD-TOOLS/GROUP' />
+	<unit unitID='JAVALIBRARY' name='tools_sdk_eng_javalibrary' bldFile='common/generic/TOOLS/SDK_ENG/JAVALIBRARY/GROUP' />
+	<unit unitID='ASSERTION' name='tools_sdk_eng_assertion' bldFile='common/generic/TOOLS/SDK_ENG/ASSERTION/GROUP' />
+	<unit unitID='ENUM' name='tools_sdk_eng_enum' bldFile='common/generic/TOOLS/SDK_ENG/ENUM/GROUP' />
+	<unit unitID='LOGGER' name='tools_sdk_eng_logger' bldFile='common/generic/TOOLS/SDK_ENG/LOGGER/GROUP' />
+	<unit unitID='FILESYS' name='tools_sdk_eng_filesys' bldFile='common/generic/TOOLS/SDK_ENG/FILESYS/GROUP' />
+	<unit unitID='ENVVAR' name='tools_sdk_eng_envvar' bldFile='common/generic/TOOLS/SDK_ENG/ENVVAR/GROUP' />
+	<unit unitID='INSTALLUTILS' name='tools_sdk_eng_installutils' bldFile='common/generic/TOOLS/SDK_ENG/INSTALLUTILS/GROUP' />
+	<unit unitID='MNEMONICFIX' name='tools_sdk_eng_mnemonicfix' bldFile='common/generic/TOOLS/SDK_ENG/MNEMONICFIX/GROUP' />
+	<unit unitID='PATHBROWSER' name='tools_sdk_eng_pathbrowser' bldFile='common/generic/TOOLS/SDK_ENG/PATHBROWSER/GROUP' />
+	<unit unitID='SHELLEXEC' name='tools_sdk_eng_shellexec' bldFile='common/generic/TOOLS/SDK_ENG/SHELLEXEC/GROUP' />
+	<unit unitID='SWINGWORKER' name='tools_sdk_eng_swingworker' bldFile='common/generic/TOOLS/SDK_ENG/SWINGWORKER/GROUP' />
+	<unit unitID='TESTCASERUNNER' name='tools_sdk_eng_testcaserunner' bldFile='common/generic/TOOLS/SDK_ENG/TESTCASERUNNER/GROUP' />
+	<unit unitID='TOOLBARPANEL' name='tools_sdk_eng_toolbarpanel' bldFile='common/generic/TOOLS/SDK_ENG/TOOLBARPANEL/GROUP' />
+	<unit unitID='JAVAHELP' name='tools_sdk_eng_javahelp' bldFile='common/generic/TOOLS/SDK_ENG/JAVAHELP/GROUP' />
+	<unit unitID='LANGCONFIG' name='tools_sdk_eng_langconfig' bldFile='common/generic/TOOLS/SDK_ENG/LANGCONFIG/GROUP' />
+	<unit unitID='MBMCODEC' name='tools_sdk_eng_mbmcodec' bldFile='common/generic/TOOLS/SDK_ENG/MBMCODEC/GROUP' />
+	<unit unitID='SDKINFO' name='tools_sdk_eng_sdkinfo' bldFile='common/generic/TOOLS/SDK_ENG/SDKINFO/GROUP' />
+	<unit unitID='JADE' name='tools_sdk_eng_jade' bldFile='common/generic/TOOLS/SDK_ENG/JADE/GROUP' />
+	<unit unitID='CSHLPCMP_GUI' name='tools_sdk_eng_cshlpcmp_gui' bldFile='common/generic/TOOLS/SDK_ENG/CSHLPCMP_GUI/GROUP' />
+	<unit unitID='SISAR' name='tools_sdk_eng_sisar' bldFile='common/generic/TOOLS/SDK_ENG/SISAR/GROUP' />
+	<unit unitID='SDKPKG-MANAGER' name='tools_sdk_eng_sdkpkg-manager' bldFile='common/generic/TOOLS/SDK_ENG/SDKPKG-MANAGER/GROUP' />
+	<unit unitID='SDKPKG-TOOLS' name='tools_sdk_eng_sdkpkg-tools' bldFile='common/generic/TOOLS/SDK_ENG/SDKPKG-TOOLS/GROUP' />
+	<unit unitID='EMULATOR_LAUNCHER' name='tools_sdk_eng_emulator_launcher' bldFile='common/generic/TOOLS/SDK_ENG/EMULATOR_LAUNCHER/GROUP' />
+	<unit unitID='PKGMGRGUI' name='tools_sdk_eng_pkgmgrgui' bldFile='common/generic/TOOLS/SDK_ENG/PKGMGRGUI/GROUP' />
+	<unit unitID='LAUNCH' name='tools_sdk_eng_launch' bldFile='common/generic/TOOLS/SDK_ENG/LAUNCH/GROUP' />
+	<unit unitID='TOOLS_STUBS' name='tools_sdk_eng_tools_stubs' bldFile='common/generic/TOOLS/SDK_ENG/TOOLS_STUBS/GROUP' />
+	<unit unitID='CWPLUGINS' name='tools_sdk_eng_cwplugins' bldFile='common/generic/TOOLS/SDK_ENG/CWPLUGINS/GROUP' />
+	<unit unitID='BSPBUILDER' name='tools_bspbuilder' bldFile='common/generic/TOOLS/BSPBUILDER/GROUP' />
+	<unit unitID='ALP2CSH' name='tools_sdk_eng_alp2csh' bldFile='common/generic/TOOLS/SDK_ENG/ALP2CSH/GROUP' />
+	<unit unitID='CJPEG' name='tools_sdk_eng_cjpeg' bldFile='common/generic/TOOLS/SDK_ENG/CJPEG/GROUP' />
+	<unit unitID='CSHLPCMP_FRONTEND' name='tools_sdk_eng_cshlpcmp_frontend' bldFile='common/generic/TOOLS/SDK_ENG/CSHLPCMP_FRONTEND/GROUP' />
+	<unit unitID='PERLLIBRARY' name='tools_sdk_eng_perllibrary' bldFile='common/generic/TOOLS/SDK_ENG/PERLLIBRARY/GROUP' />
+	<unit unitID='PERLSHARED' name='tools_sdk_eng_perl_shared' bldFile='common/generic/tools/sdk_eng/perl_shared/group' />
+	<unit unitID='RTF2PTML' name='tools_sdk_eng_rtf2ptml' bldFile='common/generic/TOOLS/SDK_ENG/RTF2PTML/GROUP' />
+	<unit unitID='SPLASH' name='tools_sdk_eng_splash' bldFile='common/generic/TOOLS/SDK_ENG/SPLASH/GROUP' />
+	<unit unitID='SDK_BUILDER' name='tools_sdk_eng_sdk_builder' bldFile='common/generic/TOOLS/sdk_eng/sdk_builder/GROUP' />
+<!--	<unit unitID='WINS_VARIANT_EKA2' name='base_wins' bldFile='cedar/generic/base/wins' /> -->
+	<unit unitID='LUBBOCK_EKA2' name='base_lubbock' bldFile='cedar/generic/BASE/LUBBOCK' />
+	<unit unitID='OMAP_H2' name='base_omaph2' bldFile='cedar/generic/base/omap/h2' />
+	<unit unitID='BASE_H2_UNISTORE2' name='base_h2_unistore2' bldFile='cedar/generic/base/omap/h2_restricted/unistore2' />
+	<unit unitID='BASE_H2_SDIO' name='base_h2_sdio' bldFile='cedar/generic/base/omap/h2_restricted/sdio' />
+	<unit unitID='OMAPH4HRP' name='base_omaph4hrp' bldFile='cedar/generic/base/omap_hrp/h4' />
+	<unit unitID='H4BOOTLOADER' name='base_omaph4hrp_bootldr' bldFile='cedar/generic/base/omap_hrp/h4_bootloader' />
+	<unit unitID='H4MEBOOTLOADER' name='base_omaph4hrp_mebootldr' bldFile='cedar/generic/base/omap_hrp/h4_mebootloader' />
+	<unit unitID='OMAPH4HRP_UNISTORE2' name='base_omaph4hrp_unistore2' bldFile='cedar/generic/base/omap_hrp/h4_restricted/unistore2' />
+	<unit unitID='OMAPH4HRP_SDIO' name='base_omaph4hrp_sdio' bldFile='cedar/generic/base/omap_hrp/h4_restricted/sdio' />
+	<unit unitID='LMNAND2_LOGIC' name='base_integrator_logic_lmnand2' bldFile='cedar/generic/base/integrator/logic/lmnand2' />
+	<unit unitID='UNISTORE2_DRIVERS' name='base_drivers_unistore2' bldFile='cedar/generic/base/e32/drivers/unistore2' />
+	<unit unitID='UNISTORE2_CRASHFLASH' name='base_crashflash_unistore2' bldFile='cedar/generic/base/e32/drivers/crashflash/unistore2' />
+	<unit unitID='UNISTORE2_NANDBOOT' name='base_nandboot_unistore2' bldFile='cedar/generic/base/e32utils/nandboot/nandloader/unistore2' />
+	<unit unitID='SCREENDRIVER' name='graphics_screendriver' bldFile='common/generic/GRAPHICS/ScreenDriver/Group' />
+	<unit unitID='C32BCA' name='networking_c32bca' bldFile='common/generic/NETWORKING/BasebandAdaptation/c32bca/group' />
+	<unit unitID='E32_EKA2' name='base_e32' bldFile='cedar/generic/BASE/E32' />
+<!--	<unit unitID='E32_COMPSUPP' name='base_e32_compsupp' bldFile='cedar/generic/BASE/E32/compsupp' /> -->
+	<unit unitID='SDCARD3C' name='base_e32_sd3c' bldFile='cedar/generic/base/e32/drivers/pbus/mmc/sdcard/sdcard3c' />
+	<unit unitID='SDCARD4C' name='base_e32_sd4c' bldFile='cedar/generic/base/e32/drivers/pbus/mmc/sdcard/sdcard4c' />
+	<unit unitID='LOCE32_ONGOING' name='base_loce32' bldFile='common/generic/BASE/LOCE32/ongoing' />
+	<unit unitID='F32_EKA2' name='base_f32' bldFile='cedar/generic/BASE/F32/GROUP' />
+	<unit unitID='F32TEST_EKA2' name='base_f32test' bldFile='cedar/generic/BASE/F32TEST/GROUP' />
+	<unit unitID='FATCHARSETCONV' name='syslibs_FATCharsetConv' bldFile='common/generic/syslibs/FATCharsetConv/GROUP' />
+	<unit unitID='HAL_EKA2' name='base_hal' bldFile='cedar/generic/BASE/HAL' />
+	<unit unitID='SYSAGENT2' name='syslibs_sysagent2' bldFile='common/generic/SYSLIBS/SYSAGENT2/GROUP' />
+	<unit unitID='SCHSVR_ONGOING' name='syslibs_schsvr' bldFile='common/generic/SYSLIBS/SCHSVR/ongoing/GROUP' />
+	<unit unitID='AUTHSERVER' name='security_authserver' bldFile='common/generic/security/authserver/group' />
+	<unit unitID='SYSSTART' name='app-framework_sysstart' bldFile='common/generic/app-framework/sysstart/group' />
+	<unit unitID='EMIME' name='app-framework_emime' bldFile='common/generic/APP-FRAMEWORK/EMIME/GROUP' />
+	<unit unitID='EZLIB' name='syslibs_ezlib' bldFile='common/generic/SYSLIBS/EZLIB/GROUP' />
+	<unit unitID='SECURITYCOMMON' name='security_common' bldFile='common/generic/SECURITY/COMMON/GROUP' />
+	<unit unitID='SECURITYCONFIG' name='security_config' bldFile='common/generic/security/securityconfig/group' />
+	<unit unitID='CRYPTOGRAPHY' name='security_crypto_weak' bldFile='common/generic/SECURITY/CRYPTO/GROUP' />
+	<unit unitID='STRONG_CRYPTO' name='security_crypto_strong' bldFile='common/generic/security/crypto/strong' />
+	<unit unitID='STDLIB' name='syslibs_stdlib' bldFile='common/generic/SYSLIBS/STDLIB/GROUP' />
+	<unit unitID='OECORE' name='openenv' bldFile='common/generic/openenv/core/group' />
+	<unit unitID='FEATREG' name='syslibs_featreg' bldFile='common/generic/syslibs/featreg/group' />
+	<unit unitID='ECOM_ONGOING' name='syslibs_ecom' bldFile='common/generic/SYSLIBS/ECOM/ongoing/GROUP' />
+	<unit unitID='PWRCLI' name='syslibs_pwrcli' bldFile='common/generic/SYSLIBS/PWRCLI/GROUP' />
+	<unit unitID='DOMAIN' name='base_domain' bldFile='cedar/generic/base/domain/group' />
+	<unit unitID='BAFL' name='syslibs_bafl' bldFile='common/generic/SYSLIBS/BAFL/GROUP' />
+	<unit unitID='CHARCONV_ONGOING' name='syslibs_charconv' bldFile='common/generic/SYSLIBS/Charconv/Ongoing/GROUP' />
+	<unit unitID='LOGENGONGOING' name='syslibs_logeng' bldFile='common/generic/SYSLIBS/LOGENG/ONGOING/GROUP' />
+	<unit unitID='FLOGGER' name='comms-infras_flogger' bldFile='common/generic/COMMS-INFRAS/Flogger/GROUP' />
+	<unit unitID='COMMSDEBUGUTILITY' name='comms-infras_commsdebugutility' bldFile='common/generic/comms-infras/commsdebugutility/GROUP' />
+	<unit unitID='CAF2' name='syslibs_caf2' bldFile='common/generic/syslibs/CAF2/GROUP' />
+	<unit unitID='CAF2CONFIG' name='syslibs_reccafconfig' bldFile='common/generic/syslibs/caf2/reccafconfig' />
+	<unit unitID='XML' name='syslibs_xml' bldFile='common/generic/syslibs/xml/group' />
+	<unit unitID='STORE' name='syslibs_store' bldFile='common/generic/SYSLIBS/Store/GROUP' />
+	<unit unitID='DBMS' name='syslibs_dbms' bldFile='common/generic/SYSLIBS/DBMS/GROUP' />
+	<unit unitID='DBMSSQL' name='syslibs_dbmssql' bldFile='common/generic/syslibs/dbms/esql/group' />
+	<unit unitID='CENTRALREPOSITORY' name='syslibs_centralrepository' bldFile='common/generic/syslibs/centralrepository/group' />
+	<unit unitID='SQL' name='syslibs_sql' bldFile='common/generic/syslibs/sql/group' />
+	<unit unitID='ROOTSERVER' name='comms-infras_rootserver' bldFile='common/generic/comms-infras/rootserver/GROUP' />
+	<unit unitID='COMMDB_SHIM' name='Comms Database SHIM' bldFile='common/generic/COMMS-INFRAS/Commdb/GROUP' />
+	<unit unitID='COMMSDAT' name='comms-infras_commsdat' bldFile='common/generic/COMMS-INFRAS/Commsdat/GROUP' />
+	<unit unitID='DEFAULTCOMMDB' name='comms-infras_defaultcommdb' bldFile='common/generic/COMMS-INFRAS/Commsdat/defaultcommdb/GROUP' />
+	<unit unitID='INSTALLDEFAULTCOMMDB' name='comms-infras_installdefaultcommdb' bldFile='common/generic/COMMS-INFRAS/Commsdat/installdefaultcommdb/GROUP' />
+	<unit unitID='C32' name='ser-comms_c32' bldFile='common/generic/SER-COMMS/C32/GROUP' />
+	<unit unitID='C32-config' name='ser-comms_c32-config' bldFile='common/generic/ser-comms/c32/data' />
+	<!-- excluding <unit unitID='ESOCK' name='comms-infras_esock' bldFile='common/generic/COMMS-INFRAS/ESOCK/version2/GROUP' /> -->
+	<unit unitID='ESOCK399' name='comms-infras_esock' bldFile='common/generic/COMMS-INFRAS/ESOCK/GROUP' />
+	<unit unitID='NIFMAN' name='comms-infras_nifman' bldFile='common/generic/COMMS-INFRAS/NIFMAN/GROUP' />
+	<unit unitID='DIALOG' name='networking_dialog' bldFile='common/generic/NETWORKING/DIALOG/GROUP' />
+	<unit unitID='DIALOG_DEFAULT' name='networking_dialog_default' bldFile='common/generic/networking/dialog/default' />
+	<unit unitID='NETCON' name='networking_netcon' bldFile='common/generic/NETWORKING/NETCON/GROUP' />
+	<unit unitID='COMMSFW' name='comms-infras_commsfw' bldFile='common/generic/comms-infras/commsfw/GROUP' />
+	<unit unitID='ELEMENTS' name='comms-infras_elements' bldFile='common/generic/COMMS-INFRAS/elements/group' />
+	<unit unitID='MBUFMAN' name='comms-infras_mbufmgr' bldFile='common/generic/comms-infras/mbufmgr/GROUP' />
+	<unit unitID='BCA' name='networking_bca' bldFile='common/generic/NETWORKING/BasebandAdaptation/bca/group' />
+	<!-- not including <unit unitID='ISC' name='networking_isc' bldFile='common/generic/NETWORKING/BasebandAdaptation/isc/group' /> -->
+	<unit unitID='DIAL' name='telephony_dial' bldFile='common/generic/TELEPHONY/DIAL/GROUP' />
+	<unit unitID='TELEPHONY_WATCHERS' name='telephony_watchers' bldFile='common/generic/telephony/watchers/group' />
+	<unit unitID='ETEL' name='telephony_etel' bldFile='common/generic/TELEPHONY/ETEL/GROUP' />
+	<unit unitID='ETEL3RDPARTY' name='telephony_etel3rdparty' bldFile='common/generic/TELEPHONY/ETel3rdParty/GROUP' />
+	<unit unitID='ETELMM' name='telephony_etelmm' bldFile='common/generic/TELEPHONY/ETELMM/GROUP' />
+	<unit unitID='ETELPCKT' name='telephony_etelpckt' bldFile='common/generic/TELEPHONY/etelpckt/group' />
+	<unit unitID='ETELSAT' name='telephony_etelsat' bldFile='common/generic/TELEPHONY/ETELSAT/GROUP' />
+	<unit unitID='ETELCDMA' name='telephony_etelcdma' bldFile='common/generic/telephony/etelcdma/group' />
+	<unit unitID='SMSSTACKV2' name='nbprotocols_smsstackv2' bldFile='common/generic/NBPROTOCOLS/SMSSTACKV2/GROUP' />
+	<unit unitID='CDMASMSSTACK' name='nbprotocols_cdmasmsstack' bldFile='common/generic/NBPROTOCOLS/CDMASMSSTACK/GROUP' />
+	<unit unitID='MMTSY' name='telephony_mmtsy' bldFile='common/generic/TELEPHONY/mmtsy/group' />
+	<unit unitID='CDMATSY' name='telephony_cdmatsy' bldFile='common/generic/TELEPHONY/cdmatsy/group' />
+	<unit unitID='SIMTSY' name='telephony_simtsy' bldFile='common/generic/TELEPHONY/simtsy/group' />
+	<unit unitID='TRP' name='telephony_trp' bldFile='common/generic/telephony/trp/group' />
+	<unit unitID='DND' name='networking_dnd' bldFile='common/generic/NETWORKING/dnd/group' />
+	<unit unitID='DHCP' name='networking_dhcp' bldFile='common/generic/NETWORKING/dhcp/group' />
+	<unit unitID='INSOCK' name='networking_insock' bldFile='common/generic/NETWORKING/insock/group' />
+	<unit unitID='NETWORKING_GENERAL' name='networking_general' bldFile='common/generic/networking/General/group' />
+	<unit unitID='IPEVENTNOTIFIER' name='networking_ipeventnotifier' bldFile='common/generic/networking/ipeventnotifier/group' />
+	<unit unitID='TCPIP6' name='networking_tcpip6' bldFile='common/generic/NETWORKING/TCPIP6/GROUP' />
+	<unit unitID='NETWORKING_EXAMPLECODE' name='IP Hook Examples' bldFile='common/generic/NETWORKING/examplecode/GROUP' />
+	<unit unitID='INHOOK6' name='networking_inhook6' bldFile='common/generic/NETWORKING/inhook6/group' />
+	<unit unitID='QOS' name='networking_qos' bldFile='common/generic/NETWORKING/QOS/GROUP' />
+	<unit unitID='QOSLIB' name='networking_qoslib' bldFile='common/generic/NETWORKING/QOSLIB/GROUP' />
+	<unit unitID='PFQOSLIB' name='networking_pfqoslib' bldFile='common/generic/NETWORKING/PFQOSLIB/GROUP' />
+	<unit unitID='NAPT' name='networking_napt' bldFile='common/generic/networking/napt/group' />
+	<!-- excluding <unit unitID='IPCPR' name='networking_ipcpr' bldFile='common/generic/NETWORKING/ip/version1/IPCPR/GROUP' /> -->
+	<!-- excluding <unit unitID='SHIMCPR' name='networking_shimcpr' bldFile='common/generic/comms-infras/nifman/version1/shimcpr/GROUP' /> -->
+	<!-- excluding <unit unitID='IPSCPR' name='networking_ipscpr' bldFile='common/generic/NETWORKING/umts/version1/ipscpr/GROUP' /> -->
+	<!-- excluding <unit unitID='REFERENCECPR' name='networking_ReferenceCPR' bldFile='common/generic/NETWORKING/ip/version1/referencecpr/GROUP' /> -->
+	<!-- excluding <unit unitID='REFERENCESCPR' name='networking_ReferenceSCPR' bldFile='common/generic/NETWORKING/umts/version1/referencescpr/GROUP' /> -->
+	<unit unitID='QOS3GPP' name='networking_qos3gpp' bldFile='common/generic/networking/umts/qos3gpp/group' />
+	<!-- excluding <unit unitID='UMTSGPRSSCPR' name='networking_UmtsGprsSCPR' bldFile='common/generic/NETWORKING/umts/version1/UmtsGprsSCPR/GROUP' /> -->
+	<unit unitID='IPPROTO' name='networking_ipproto' bldFile='common/generic/networking/ip/ipproto/group' />
+	<unit unitID='IPTRANSPORT' name='networking_iptransport' bldFile='common/generic/networking/ip/iptransport/group' />
+	<unit unitID='PDP' name='networking_pdp' bldFile='common/generic/networking/umts/pdp/group' />
+	<unit unitID='QOSIPSCPR' name='networking_qosipscpr' bldFile='common/generic/networking/umts/qosipscpr/group' />
+	<unit unitID='CSDAGT' name='networking_csdagt' bldFile='common/generic/NETWORKING/CSDAGT/GROUP' />
+	<unit unitID='PSDAGT' name='networking_psdagt' bldFile='common/generic/NETWORKING/PSDAGT/GROUP' />
+	<unit unitID='NULLAGT' name='networking_nullagt' bldFile='common/generic/NETWORKING/NULLAGT/GROUP' />
+	<unit unitID='GUQOS' name='networking_guqos' bldFile='common/generic/NETWORKING/GUQOS/GROUP' />
+	<unit unitID='UMTSIF' name='networking_umtsif' bldFile='common/generic/NETWORKING/UMTSIF/GROUP' />
+	<unit unitID='QOSEXTNAPI' name='networking_qosextnapi' bldFile='common/generic/networking/qosextnapi/group' />
+	<unit unitID='SPUD' name='networking_spud' bldFile='common/generic/NETWORKING/SPUD/GROUP' />
+	<unit unitID='EAP' name='networking_eap' bldFile='common/generic/networking/eap/group' />
+	<unit unitID='ETHER802' name='networking_ether802' bldFile='common/generic/NETWORKING/ETHER802/GROUP' />
+	<!-- excluding <unit unitID='PPP' name='networking_ppp' bldFile='common/generic/NETWORKING/PPP/version1/GROUP' /> -->
+	<unit unitID='PPP399' name='networking_ppp' bldFile='common/generic/NETWORKING/PPP/GROUP' />
+	<unit unitID='PREDCOMP' name='networking_predcomp' bldFile='common/generic/NETWORKING/PREDCOMP/GROUP' />
+	<unit unitID='MSCOMP' name='networking_mscomp' bldFile='common/generic/NETWORKING/MSComp/GROUP' />
+	<unit unitID='STACCOMP' name='networking_staccomp' bldFile='common/generic/NETWORKING/STACCOMP/GROUP' />
+	<unit unitID='SLIP' name='networking_slip' bldFile='common/generic/NETWORKING/SLIP/GROUP' />
+	<unit unitID='TUNNELNIF' name='networking_tunnelnif' bldFile='common/generic/NETWORKING/tunnelnif/group' />
+	<unit unitID='PACKETLOGGER' name='networking_packetlogger' bldFile='common/generic/NETWORKING/packetlogger/group' />
+	<unit unitID='RAWIPNIF' name='networking_rawipnif' bldFile='common/generic/NETWORKING/rawipnif/group' />
+	<unit unitID='WIFI_802_11' name='networking_802.11' bldFile='common/generic/networking/802.11/group' />
+	<unit unitID='USB' name='ser-comms_usb' bldFile='common/generic/SER-COMMS/USB/GROUP' />
+	<unit unitID='BLUETOOTH_MANAGER' name='bluetooth_manager' bldFile='common/generic/bluetooth/latest/bluetooth/manager' />
+	<unit unitID='BLUETOOTH_BTEXTNOTIFIERS' name='bluetooth_btextnotifiers' bldFile='common/generic/bluetooth/latest/bluetooth/BTExtNotifiers' />
+	<unit unitID='BLUETOOTH_CONFIG' name='bluetooth_config' bldFile='common/generic/bluetooth/latest/bluetooth/config' />
+	<unit unitID='BLUETOOTH_GAVDP' name='bluetooth_gavdp' bldFile='common/generic/bluetooth/latest/bluetooth/profiles/gavdp/group' />
+	<unit unitID='BLUETOOTH_ROM' name='bluetooth_rom' bldFile='common/generic/bluetooth/latest/bluetooth/rom' />
+	<unit unitID='BLUETOOTH_USER' name='bluetooth_user' bldFile='common/generic/bluetooth/latest/bluetooth/user' />
+	<unit unitID='HCI_V2_FRAMEWORK' name='bluetooth_hci_v2_framework' bldFile='common/generic/bluetooth/latest/bluetooth/hci_v2/framework/group' />
+	<unit unitID='BLUETOOTH_SDP' name='bluetooth_sdp' bldFile='common/generic/bluetooth/latest/bluetooth/sdp' />
+	<unit unitID='BLUETOOTH_REMOTECONTROL' name='bluetooth_remotecontrol' bldFile='common/generic/bluetooth/latest/bluetooth/remotecontrol/group' />
+	<unit unitID='BLUETOOTH_STACK' name='bluetooth_stack' bldFile='common/generic/bluetooth/latest/bluetooth/stack' />
+	<unit unitID='BLUETOOTH_HCI' name='bluetooth_hci' bldFile='common/generic/bluetooth/latest/bluetooth/hci' />
+	<unit unitID='BLUETOOTH_HCIPROXY' name='bluetooth_hciproxy' bldFile='common/generic/bluetooth/latest/bluetooth/HCIProxy' />
+	<unit unitID='HCI_V2_IMPLEMENTATIONS' name='bluetooth_hci_v2_implementations' bldFile='common/generic/bluetooth/latest/bluetooth/hci_v2/implementations/group' />
+	<unit unitID='IRDA' name='infra-red_irda' bldFile='common/generic/INFRA-RED/IRDA/GROUP' />
+	<unit unitID='INFRA-RED_CONFIG' name='infra-red_config' bldFile='common/generic/INFRA-RED/config' />
+	<unit unitID='BLUETOOTH_BTCOMM' name='bluetooth_btcomm' bldFile='common/generic/bluetooth/latest/bluetooth/btcomm' />
+	<unit unitID='MDF' name='multimedia_mdf' bldFile='common/generic/multimedia/mdf/group' />
+	<unit unitID='OPENMAX' name='multimedia_openmax' bldFile='common/generic/multimedia/openmax/group' />
+	<unit unitID='MMF' name='multimedia_mmf' bldFile='common/generic/MULTIMEDIA/MMF/GROUP' />
+	<unit unitID='COMMON' name='multimedia_common' bldFile='common/generic/MULTIMEDIA/MMCOMMON/GROUP' />
+	<unit unitID='CHAR' name='multimedia_mmf_char' bldFile='common/generic/MULTIMEDIA/char/mmf/group' />
+	<unit unitID='ICL' name='multimedia_icl' bldFile='common/generic/MULTIMEDIA/ICL/GROUP' />
+	<unit unitID='ECAM' name='multimedia_ecam' bldFile='common/generic/MULTIMEDIA/ECAM/GROUP' />
+	<unit unitID='TUNER' name='multimedia_tuner' bldFile='common/generic/MULTIMEDIA/tuner/GROUP' />
+	<unit unitID='WSERV8.1' name='graphics_wserv' bldFile='common/generic/GRAPHICS/Wserv/group' />
+	<unit unitID='OPENGLESDISPLAYPROPERTY' name='graphics_openglesdisplayproperty' bldFile='common/generic/graphics/OpenGLESDisplayProperty/group' />
+	<unit unitID='OPENGLSHEADERS' name='graphics_openglesheaders' bldFile='common/generic/graphics/OpenGLESHeaders/group' />
+	<unit unitID='OPENGLES9.X' name='graphics_opengles' bldFile='common/generic/graphics/OpenGLES/group/' />
+	<unit unitID='PDRSTORE' name='graphics_pdrstore' bldFile='common/generic/GRAPHICS/PDRSTORE/GROUP' />
+	<unit unitID='PRINTDRV' name='graphics_printdrv' bldFile='common/generic/GRAPHICS/PRINTDRV/GROUP' />
+	<unit unitID='ICULAYOUTENGINE' name='graphics_iculayoutengine' bldFile='common/generic/GRAPHICS/iculayoutengine/GROUP' />
+	<unit unitID='FBSERV' name='graphics_fbserv' bldFile='common/generic/GRAPHICS/Fbserv/GROUP' />
+	<unit unitID='FNTSTORE' name='graphics_fntstore' bldFile='common/generic/GRAPHICS/Fntstore/GROUP' />
+	<unit unitID='FREETYPE' name='graphics_freetype' bldFile='common/generic/GRAPHICS/Freetype/GROUP' />
+	<unit unitID='FONTS' name='graphics_fonts' bldFile='common/generic/GRAPHICS/Fonts/GROUP' />
+	<unit unitID='BITGDI' name='graphics_bitgdi' bldFile='common/generic/GRAPHICS/Bitgdi/GROUP' />
+	<unit unitID='GDI' name='graphics_gdi' bldFile='common/generic/GRAPHICS/GDI/GROUP' />
+	<unit unitID='PALETTE' name='graphics_palette' bldFile='common/generic/GRAPHICS/palette/group' />
+	<unit unitID='OPENVGHEADERS' name='graphics_openvgheaders' bldFile='common/generic/graphics/openvgheaders/group' />
+	<unit unitID='OPENVG' name='graphics_openvg' bldFile='common/generic/graphics/OpenVG/group/' />
+	<unit unitID='EGLVGHEADERS' name='graphics_eglheaders' bldFile='common/generic/graphics/eglheaders/group' />
+	<unit unitID='EGL' name='graphics_egl' bldFile='common/generic/graphics/egl/group/' />
+	<unit unitID='LOCATIONFRAMEWORK' name='lbs_locationframework' bldFile='common/generic/lbs/group' />
+	<unit unitID='LBSDATASOURCEPLUGINS' name='lbs_datasourceplugins' bldFile='common/generic/lbs/LbsLocDataSourcePlugins/group' />
+	<unit unitID='CONARC' name='app-framework_conarc' bldFile='common/generic/APP-FRAMEWORK/CONARC/GROUP' />
+	<unit unitID='CHTMLTOCRTCONVERTER' name='app-services_chtmltocrtconv' bldFile='common/generic/APP-SERVICES/CHTMLTOCRTCONV/GROUP' />
+	<unit unitID='CONVERT' name='app-engines_convert' bldFile='common/generic/APP-ENGINES/CONVERT/GROUP' />
+	<unit unitID='RICHTEXTTOHTMLCONV' name='app-services_richtexttohtmlconv' bldFile='common/generic/APP-SERVICES/RICHTEXTTOHTMLCONV/GROUP' />
+	<unit unitID='ETEXT' name='app-framework_etext' bldFile='common/generic/APP-FRAMEWORK/ETEXT/GROUP' />
+	<unit unitID='FORM' name='app-framework_form' bldFile='common/generic/APP-FRAMEWORK/FORM/GROUP' />
+	<unit unitID='ALARMSERVER' name='app-services_alarmserver' bldFile='common/generic/APP-SERVICES/AlarmServer/GROUP' />
+	<unit unitID='HLPMODEL' name='app-services_hlpmodel' bldFile='common/generic/APP-SERVICES/HLPMODEL/GROUP' />
+	<unit unitID='WORLDSERVER' name='app-services_worldserver' bldFile='common/generic/APP-SERVICES/WorldServer/GROUP' />
+	<unit unitID='TZ' name='app-services_tz' bldFile='common/generic/APP-SERVICES/tz/GROUP' />
+	<unit unitID='TIMEZONELOCALIZATION' name='app-services_timezonelocalization' bldFile='common/generic/APP-SERVICES/TimeZoneLocalization/GROUP' />
+	<unit unitID='TZLOCALIZATIONRSCFACTORY' name='app-services_tzlocalizationrscfactory' bldFile='common/generic/APP-SERVICES/TzLocalizationRscFactory/GROUP' />
+	<unit unitID='TZCOMPILER' name='app-services_tzcompiler' bldFile='common/generic/APP-SERVICES/tzcompiler/GROUP' />
+	<unit unitID='TZDB' name='app-services_tzdb' bldFile='common/generic/APP-SERVICES/tzdb/GROUP' />
+	<unit unitID='CONTENT_HANDLING' name='Content-Handling' bldFile='common/generic/Content-Handling/GROUP' />
+	<unit unitID='MSG_GMXML' name='messaging_gmxml' bldFile='common/generic/messaging/gmxml/group' />
+	<unit unitID='RECOGNISERS' name='application-protocols_recognisers' bldFile='common/generic/APPLICATION-PROTOCOLS/RECOGNISERS/GROUP' />
+	<unit unitID='PRINT' name='app-framework_print' bldFile='common/generic/APP-FRAMEWORK/PRINT/GROUP' />
+	<unit unitID='SECURESOFTWAREINSTALL' name='security_swi' bldFile='common/generic/SECURITY/SWI/GROUP' />
+	<unit unitID='SISINSTALLER' name='security_sisinstaller' bldFile='common/generic/SECURITY/SISInstaller/Group' />
+	<unit unitID='JAVAMIDLETINSTALLER' name='security_javaMIDletInstaller' bldFile='common/generic/SECURITY/JavaMIDletInstaller/Group' />
+	<unit unitID='CRYPTOTOKENS' name='security_cryptotokens' bldFile='common/generic/SECURITY/CRYPTOTOKENS/GROUP' />
+	<unit unitID='FILETOKENS' name='security_filetokens' bldFile='common/generic/security/filetokens/group' />
+	<unit unitID='CERTMAN' name='security_certman' bldFile='common/generic/SECURITY/Certman/GROUP' />
+	<unit unitID='TLS' name='networking_tls' bldFile='common/generic/networking/tls/group' />
+	<unit unitID='TLSPROVIDER' name='security_tlsprovider' bldFile='common/generic/security/tlsprovider/group' />
+	<unit unitID='IPSECV2' name='networking_ipsec' bldFile='common/generic/NETWORKING/ipsec/group' />
+	<unit unitID='HTTP' name='application-protocols_http2' bldFile='common/generic/application-protocols/http/protocol/group' />
+	<unit unitID='HTTP' name='application-protocols_http3' bldFile='common/generic/application-protocols/http/examples/testwebbrowser/group' />
+	<unit unitID='HTTP' name='application-protocols_http5' bldFile='common/generic/application-protocols/http/examples/pipeliningconfigfilter/group' />
+	<unit unitID='HTTP' name='application-protocols_http6' bldFile='common/generic/application-protocols/http/examples/cookies/group' />
+	<unit unitID='HTTP' name='application-protocols_http7' bldFile='common/generic/application-protocols/http/examples/uaprof/group' />
+	<unit unitID='HTTP' name='application-protocols_http9' bldFile='common/generic/application-protocols/http/examples/group' />
+	<unit unitID='HTTP' name='application-protocols_http10' bldFile='common/generic/application-protocols/http/transport/group' />
+	<unit unitID='HTTP' name='application-protocols_http12' bldFile='common/generic/application-protocols/http/framework/group' />
+	<unit unitID='WAPPUSH' name='wap-browser_wappush' bldFile='common/generic/WAP-BROWSER/WAPPUSH/GROUP' />
+	<unit unitID='FTP' name='networking_ftp_e' bldFile='common/generic/NETWORKING/ftp_e/group' />
+	<unit unitID='TELNET_E' name='networking_telnet_e' bldFile='common/generic/NETWORKING/TELNET_E/GROUP' />
+	<unit unitID='OBEX' name='obex' bldFile='common/generic/obex/group' />
+	<unit unitID='OBEX_EXTENSIONAPIS' name='obex_extensionapis' bldFile='common/generic/obex/obexextensionapis/group' />
+	<unit unitID='INETPROTUTIL' name='application-protocols_inetprotutil' bldFile='common/generic/APPLICATION-PROTOCOLS/INETPROTUTIL/GROUP' />
+	<unit unitID='INETURILIST' name='application-protocols_ineturilist' bldFile='common/generic/application-protocols/ineturilist/group' />
+	<unit unitID='BOOKMARK_SUPPORT' name='application-protocols_bookmarks' bldFile='common/generic/application-protocols/bookmarks/group' />
+	<unit unitID='BLUETOOTH_AVRCP' name='bluetooth_avrcp' bldFile='common/generic/bluetooth/latest/bluetooth/profiles/avrcp' />
+	<unit unitID='BLUETOOTH_ACCESSHOST' name='bluetooth_accesshost' bldFile='common/generic/bluetooth/latest/bluetooth/profiles/pbap/group' />
+	<unit unitID='BLUETOOTH_PAN' name='bluetooth_pan' bldFile='common/generic/bluetooth/latest/bluetooth/profiles/pan/group' />
+	<unit unitID='WAPMESSAGE' name='wap-stack_wapmessage' bldFile='common/generic/WAP-STACK/WAPMESSAGE/GROUP' />
+	<unit unitID='WAPSTACK' name='WAP Stack Wrapper' bldFile='common/generic/WAP-STACK/WAPSTACK/GROUP' />
+	<unit unitID='MROUTERSECURE' name='mRouterSecure' bldFile='common/generic/connectivity/mRouterSecure/group' />
+	<unit unitID='MROUTER-PLUGIN' name='mRouter-plugin' bldFile='common/generic/connectivity/BAL/Plugins/mRouter3/group' />
+	<unit unitID='PLPVARIANT' name='connectivity_legacy_plp_plpvariant' bldFile='common/generic/connectivity/legacy/plp/PLPVARIANT' />
+	<unit unitID='PLP' name='connectivity_legacy_plp_plpgrp' bldFile='common/generic/connectivity/legacy/plp/PLPGRP' />
+	<unit unitID='BRDCST' name='connectivity_legacy_brdcst' bldFile='common/generic/connectivity/legacy/BRDCST/GROUP' />
+	<unit unitID='MTPUSBSIC' name='mtp_usbsic' bldFile='common/generic/mtp/transports/usbsic/group' />
+	<unit unitID='MTPFRAMEWORK' name='mtp_framework' bldFile='common/generic/mtp/framework/group' />
+	<unit unitID='RTP' name='mm-protocols_rtp' bldFile='common/generic/mm-protocols/rtp/group' />
+	<!-- not including <unit unitID='SIP_COM' name='mm-protocols_sip_com' bldFile='common/generic/mm-protocols/sip/group' /> -->
+	<unit unitID='SIP_COM2' name='mm-protocols_SIP2_Com' bldFile='common/generic/mm-protocols/sip2/group' />
+	<!-- excluding <unit unitID='SIPCPR' name='mm-protocols_SIPCPR' bldFile='common/generic/mm-protocols/ConnProv/SIPCPR/group' /> -->
+	<!-- excluding <unit unitID='SIPDUMMYPRT' name='mm-protocols_SIPDummyPRT' bldFile='common/generic/mm-protocols/SipProvEngine/SIPDummyPRT/group' /> -->
+	<!-- excluding <unit unitID='SIPSTATEMACHINE' name='mm-protocols_SipStateMachine' bldFile='common/generic/mm-protocols/SipProvEngine/SipStateMachine/group' /> -->
+	<!-- excluding <unit unitID='SIPPARAMS' name='mm-protocols_SIPParams' bldFile='common/generic/mm-protocols/SubConnProv/SIPParams/group' /> -->
+	<!-- excluding <unit unitID='SIPSCPR' name='mm-protocols_SIPSCPR' bldFile='common/generic/mm-protocols/SubConnProv/SIPSCPR/group' /> -->
+	<unit unitID='GFXTRANSEFFECT' name='app-framework_gfxtranseffect' bldFile='common/generic/app-framework/gfxtranseffect/group' />
+	<unit unitID='EGUL' name='app-framework_egul' bldFile='common/generic/APP-FRAMEWORK/EGUL/GROUP' />
+	<unit unitID='NUMBERCONVERSION' name='app-framework_numberconversion' bldFile='common/generic/APP-FRAMEWORK/NumberConversion/group' />
+	<unit unitID='GRID' name='app-framework_grid' bldFile='common/generic/APP-FRAMEWORK/GRID/GROUP' />
+	<unit unitID='CLOCK' name='app-framework_clock' bldFile='common/generic/APP-FRAMEWORK/CLOCK/GROUP' />
+	<unit unitID='BMPANIM' name='app-framework_bmpanim' bldFile='common/generic/APP-FRAMEWORK/BmpAnim/GROUP' />
+	<unit unitID='ANIMATION' name='app-framework_animation' bldFile='common/generic/APP-FRAMEWORK/animation/group' />
+	<unit unitID='UIKON' name='app-framework_uikon' bldFile='common/generic/APP-FRAMEWORK/UIKON/GROUP' />
+	<unit unitID='UIKLAFGT' name='app-framework_uiklafgt' bldFile='common/generic/APP-FRAMEWORK/UIKLAFGT/GROUP' />
+	<unit unitID='CONE' name='app-framework_cone' bldFile='common/generic/APP-FRAMEWORK/CONE/GROUP' />
+	<unit unitID='FEPBASE' name='app-framework_fepbase' bldFile='common/generic/APP-FRAMEWORK/Fepbase/GROUP' />
+	<unit unitID='APPARC' name='app-framework_apparc' bldFile='common/generic/APP-FRAMEWORK/APPARC/GROUP' />
+	<unit unitID='VIEWSRV' name='app-framework_viewsrv' bldFile='common/generic/APP-FRAMEWORK/VIEWSRV/GROUP' />
+	<!-- excluding <unit unitID='CALINTERIMAPI' name='app-engines_calinterimapi' bldFile='common/generic/app-engines/calinterimapi/group' /> -->
+	<unit unitID='CALENDAR' name='app-engines_calendar' bldFile='common/generic/app-engines/calendar/group' />
+	<!-- excluding <unit unitID='AGNMODEL' name='app-engines_agnmodel' bldFile='common/generic/APP-ENGINES/AGNMODEL/GROUP' /> -->
+	<!-- excluding <unit unitID='AGNVERSIT' name='app-engines_agnversit' bldFile='common/generic/APP-ENGINES/AgnVersit/GROUP' /> -->
+	<unit unitID='AGNVERSIT2' name='app-engines_agnversit2' bldFile='common/generic/APP-ENGINES/AgnVersit2/GROUP' />
+	<!-- excluding <unit unitID='CNTMODEL' name='app-engines_cntmodel' bldFile='common/generic/APP-ENGINES/CNTMODEL/GROUP' /> -->
+	<unit unitID='CNTMODELSQL' name='app-engines_cntmodel' bldFile='common/generic/APP-ENGINES/CNTMODEL/GROUPSQL' />
+	<unit unitID='PHBKSYNC' name='telephony_phbksync' bldFile='common/generic/TELEPHONY/phbksync/group' />
+	<unit unitID='VERSIT' name='app-services_versit' bldFile='common/generic/APP-SERVICES/VERSIT/GROUP' />
+	<unit unitID='CALCON' name='app-services_calcon' bldFile='common/generic/APP-SERVICES/Calcon/GROUP' />
+	<unit unitID='BACKUPRESTORENOTIFICATION' name='app-services_BackupRestoreNotification' bldFile='common/generic/APP-SERVICES/BACKUPRESTORENOTIFICATION/GROUP' />
+	<unit unitID='DAMODEL' name='app-engines_damodel' bldFile='common/generic/APP-ENGINES/DAMODEL/GROUP' />
+	<unit unitID='SHENG' name='app-engines_sheng' bldFile='common/generic/APP-ENGINES/SHENG/GROUP' />
+	<unit unitID='WPENG' name='app-engines_wpeng' bldFile='common/generic/APP-ENGINES/WPENG/GROUP' />
+	<unit unitID='MSG_FRAMEWORK' name='messaging_framework' bldFile='common/generic/messaging/framework/group' />
+	<unit unitID='MSG_BIOMSG' name='messaging_biomsg' bldFile='common/generic/messaging/biomsg/group' />
+	<unit unitID='MSG_MMS_SETTINGS' name='messaging_mmssettings' bldFile='common/generic/messaging/mmssettings/group/' />
+	<unit unitID='MSG_BIOWATCHERSCDMA' name='messaging_biomsg_biowatchers_cdma' bldFile='common/generic/messaging/biomsg/biowatcherscdma/group' />
+	<unit unitID='MSG_SCHEDULEDSEND' name='messaging_schedulesend' bldFile='common/generic/messaging/schedulesend/group' />
+	<unit unitID='MSG_EMAIL' name='messaging_email' bldFile='common/generic/messaging/email/group' />
+	<unit unitID='MSG_IMAP' name='messaging_email_imap' bldFile='common/generic/messaging/email/imap/group' />
+	<unit unitID='MSG_OBEXMTM' name='messaging_obex' bldFile='common/generic/messaging/obex/group' />
+	<unit unitID='MSG_SMS8.1' name='messaging_sms_multimode' bldFile='common/generic/messaging/sms/multimode/group' />
+	<unit unitID='CONNECTIVITY' name='connectivity' bldFile='common/generic/CONNECTIVITY/GROUP' />
+	<unit unitID='SECUREBACKUPENGINE' name='connectivity_securebackupengine' bldFile='common/generic/connectivity/SecureBackupEngine/group' />
+	<unit unitID='MTPFILEDP' name='mtp_filedp' bldFile='common/generic/mtp/dataproviders/filedp/group' />
+	<unit unitID='SYNCMLCLIENT' name='SyncML' bldFile='common/generic/SyncML/Framework/Group' />
+	<unit unitID='SYNCMLDMCLIENT' name='SyncML_DM' bldFile='common/generic/SyncML/DevMan/Group' />
+	<unit unitID='DEVPROV_DEVMAN_FRAMEWORK' name='devprov_devman_framework' bldFile='common/generic/DEVPROV/DevMan/Group' />
+	<unit unitID='DEVPROV_CLIENTPROV_FRAMEWORK' name='devprov_clientprov_framework' bldFile='common/generic/DEVPROV/ClientProv/Group' />
+	<unit unitID='SYNCMLDSCLIENT' name='SyncML_DS' bldFile='common/generic/SyncML/DataSync/Group' />
+	<unit unitID='DEVPROV_DEVMAN_ADAPTERS' name='devprov_devman_adapters' bldFile='common/generic/DEVPROV/Adapters/DevMan/Group' />
+	<unit unitID='DEVPROV_CLIENTPROV_ADAPTERS' name='devprov_clientprov_adapters' bldFile='common/generic/DEVPROV/Adapters/ClientProv/Group' />
+	<unit unitID='MIDP2INSTALLER_9.2' name='MIDP2INSTALLER' bldFile='common/generic/j2me/systemamsV1_5' />
+	<unit unitID='MemSpy' name='graphics_memspy' bldFile='common/generic/graphics/testutils/memspy/group' />
+	<unit unitID='ASSABET_EKA2' name='base_assabet' bldFile='cedar/generic/BASE/ASSABET' />
+	<unit unitID='INTEGRATORAP_EKA2' name='base_integrator_integratorap' bldFile='cedar/generic/base/integrator/integratorap' />
+	<unit unitID='INTEGRATOR_CORE_EKA2' name='base_integrator_core_8.1b' bldFile='cedar/generic/base/integrator/core' />
+	<unit unitID='INTEGRATOR_CM920_EKA2' name='base_integrator_core_cm920' bldFile='cedar/generic/base/integrator/core/cm920' />
+	<unit unitID='INTEGRATOR_CM1136_EKA2' name='base_integrator_core_cm1136' bldFile='cedar/generic/base/integrator/core/cm1136' />
+	<unit unitID='INTEGRATOR_LMXX600_EKA2' name='base_integrator_logic_lmxx600' bldFile='cedar/generic/base/integrator/logic/lmxx600' />
+	<unit unitID='INTEGRATOR_LMNAND_EKA2' name='base_integrator_logic_lmnand' bldFile='cedar/generic/base/integrator/logic/lmnand' />
+	<unit unitID='UI_BENCH' name='graphics_ui_bench' bldFile='common/generic/graphics/ui_bench/group' />
+	<unit unitID='FAX' name='telephony_fax' bldFile='common/generic/TELEPHONY/FAX/GROUP' />
+	<unit unitID='DUMMY' name='additional_dummy' bldFile='common/generic/tools/cbr/dummy' />
+	<unit unitID='BASE_SDIOTESTS' name='base_sdiotests' bldFile='cedar/generic/base/e32utils/sdio' />
+	<unit unitID='E32UTILS_EKA2' name='base_e32utils' bldFile='cedar/generic/BASE/E32Utils/GROUP' />
+	<unit unitID='ERRORRESGT' name='app-framework_errorresgt' bldFile='common/generic/APP-FRAMEWORK/ERRORRESGT/GROUP' />
+	<unit unitID='GDITOOLS' name='graphics_gditools' bldFile='common/generic/GRAPHICS/GDITools/GROUP' />
+	<unit unitID='GDTRAN' name='GDTRAN' bldFile='common/generic/GRAPHICS/GDTran/GROUP' />
+	<unit unitID='INTEGRATIONTEST' name='networking_integrationtest' bldFile='common/generic/NETWORKING/Integrationtest/group' />
+	<unit unitID='MRPTEST' name='mtp_test' bldFile='common/generic/mtp/test/group' />
+	<unit unitID='BASEINTEGRATIONTEST' name='base_integration_test' bldFile='cedar/generic/base_integration_test/group' />
+	<unit unitID='MOBILEIP' name='networking_mobileip' bldFile='common/generic/networking/mobileip/group' />
+	<unit unitID='MSG_SENDAS2' name='messaging_sendas2' bldFile='common/generic/messaging/sendas2/group' />
+	<unit unitID='MSG_TEST' name='messaging_test' bldFile='common/generic/messaging/test/group' />
+	<unit unitID='MSG_URLHANDLER' name='messaging_urlhandler' bldFile='common/generic/messaging/urlhandler/group' />
+	<unit unitID='MVS_APP' name='multimedia_mvs_app' bldFile='common/generic/multimedia/mvs/application/group' />
+	<unit unitID='MVS_AGENTS' name='multimedia_mvs_agents' bldFile='common/generic/multimedia/mvs/agents/group' />
+	<unit unitID='TEMPLATE_EKA2' name='base_template' bldFile='cedar/generic/base/template/template_variant' />
+	<unit unitID='WAPBASE' name='wap-browser_wapbase' bldFile='common/generic/WAP-BROWSER/WAPBASE/GROUP' />
+	<unit unitID='WLDDATABASEKIT' name='WLDDATABASEKIT' bldFile='common/generic/APP-SERVICES/Wlddatabasekit/GROUP' />
+	<unit unitID='WLDTOOLS' name='app-services_wldtools' bldFile='common/generic/APP-SERVICES/WLDTOOLS/GROUP' />
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/allexport.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,788 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  
+  <systemModel>
+    <layer name="common">
+      <module name="allexports">
+        <component name="envelope">
+	<unit unitID="001" name="assabet" bldFile="cedar/generic/base/assabet" />
+<!--	<unit unitID="001" name="single" bldFile="cedar/generic/base/assabet/single" /> -->
+	<unit unitID="001" name="domain" bldFile="cedar/generic/base/domain/group" />
+	<unit unitID="001" name="e32" bldFile="cedar/generic/base/e32" />
+	<unit unitID="001" name="compsupp" bldFile="cedar/generic/base/e32/compsupp" />
+	<unit unitID="001" name="unistore2" bldFile="cedar/generic/base/e32/drivers/crashflash/unistore2" />
+	<unit unitID="001" name="sdcard3c" bldFile="cedar/generic/base/e32/drivers/pbus/mmc/sdcard/sdcard3c" />
+	<unit unitID="001" name="sdcard4c" bldFile="cedar/generic/base/e32/drivers/pbus/mmc/sdcard/sdcard4c" />
+	<unit unitID="001" name="unistore2" bldFile="cedar/generic/base/e32/drivers/unistore2" />
+	<unit unitID="001" name="e32utils" bldFile="cedar/generic/base/e32utils/group" />
+	<unit unitID="001" name="unistore2" bldFile="cedar/generic/base/e32utils/nandboot/nandloader/unistore2" />
+	<unit unitID="001" name="sdio" bldFile="cedar/generic/base/e32utils/sdio" />
+	<unit unitID="001" name="f32" bldFile="cedar/generic/base/f32/group" />
+	<unit unitID="001" name="hal" bldFile="cedar/generic/base/hal" />
+	<unit unitID="001" name="bootldr" bldFile="cedar/generic/base/integrator/bootldr" />
+	<unit unitID="001" name="core" bldFile="cedar/generic/base/integrator/core" />
+	<unit unitID="001" name="cm1136" bldFile="cedar/generic/base/integrator/core/cm1136" />
+	<unit unitID="001" name="cm920" bldFile="cedar/generic/base/integrator/core/cm920" />
+	<unit unitID="001" name="integratorap" bldFile="cedar/generic/base/integrator/integratorap" />
+	<unit unitID="001" name="lm_pana" bldFile="cedar/generic/base/integrator/logic/lm_pana" />
+	<unit unitID="001" name="lmnand" bldFile="cedar/generic/base/integrator/logic/lmnand" />
+	<unit unitID="001" name="lmnand2" bldFile="cedar/generic/base/integrator/logic/lmnand2" />
+	<unit unitID="001" name="lmxx600" bldFile="cedar/generic/base/integrator/logic/lmxx600" />
+	<unit unitID="001" name="lubbock" bldFile="cedar/generic/base/lubbock" />
+<!--	<unit unitID="001" name="single" bldFile="cedar/generic/base/lubbock/single" /> -->
+	<unit unitID="001" name="h2" bldFile="cedar/generic/base/omap/h2" />
+<!--	<unit unitID="001" name="single" bldFile="cedar/generic/base/omap/h2/single" /> -->
+	<unit unitID="001" name="sdio" bldFile="cedar/generic/base/omap/h2_restricted/sdio" />
+	<unit unitID="001" name="unistore2" bldFile="cedar/generic/base/omap/h2_restricted/unistore2" />
+	<unit unitID="001" name="h4" bldFile="cedar/generic/base/omap_hrp/h4" />
+	<unit unitID="001" name="h4_bootloader" bldFile="cedar/generic/base/omap_hrp/h4_bootloader" />
+	<unit unitID="001" name="h4_mebootloader" bldFile="cedar/generic/base/omap_hrp/h4_mebootloader" />
+	<unit unitID="001" name="sdio" bldFile="cedar/generic/base/omap_hrp/h4_restricted/sdio" />
+	<unit unitID="001" name="unistore2" bldFile="cedar/generic/base/omap_hrp/h4_restricted/unistore2" />
+	<unit unitID="001" name="template_variant" bldFile="cedar/generic/base/template/template_variant" />
+	<unit unitID="001" name="wins" bldFile="cedar/generic/base/wins" />
+	<unit unitID="001" name="mRouter" bldFile="cedar/generic/connectivity/mRouter/group" />
+	<unit unitID="001" name="mRouterSecure" bldFile="cedar/generic/connectivity/mRouterSecure/group" />
+	<unit unitID="001" name="e32tools" bldFile="cedar/generic/tools/e32tools/group" />
+	<unit unitID="001" name="redistribution" bldFile="cedar/generic/tools/redistribution" />
+	<unit unitID="001" name="romkit" bldFile="cedar/generic/tools/romkit/group" />
+	<unit unitID="001" name="agnmodel" bldFile="common/generic/app-engines/agnmodel/group" />
+	<unit unitID="001" name="agnversit" bldFile="common/generic/app-engines/agnversit/group" />
+	<unit unitID="001" name="agnversit2" bldFile="common/generic/app-engines/agnversit2/group" />
+	<unit unitID="001" name="calendar" bldFile="common/generic/app-engines/calendar/group" />
+	<unit unitID="001" name="CR-6BLC8W" bldFile="common/generic/app-engines/calendar/tsrc/Integration/CR-6BLC8W/group" />
+	<unit unitID="001" name="unit" bldFile="common/generic/app-engines/calendar/tsrc/unit/group" />
+	<unit unitID="001" name="CalInterimApi" bldFile="common/generic/app-engines/CalInterimApi/group" />
+	<unit unitID="001" name="CR-6BLC8W" bldFile="common/generic/app-engines/CalInterimApi/tsrc/Integration/CR-6BLC8W/group" />
+	<unit unitID="001" name="unit" bldFile="common/generic/app-engines/CalInterimApi/tsrc/unit/group" />
+	<unit unitID="001" name="chart" bldFile="common/generic/app-engines/chart/group" />
+	<unit unitID="001" name="cntmatchlog" bldFile="common/generic/app-engines/cntmodel/cntmatchlog/group" />
+	<unit unitID="001" name="cntmodel" bldFile="common/generic/app-engines/cntmodel/group" />
+	<unit unitID="001" name="groupsql" bldFile="common/generic/app-engines/cntmodel/groupsql" />
+	<unit unitID="001" name="cntmatchlog" bldFile="common/generic/app-engines/cntmodel/tsrc/cntmatchlog/group" />
+	<unit unitID="001" name="PerfFuncSuite" bldFile="common/generic/app-engines/cntmodel/tsrc/Integration/PerfFuncSuite/group" />
+	<unit unitID="001" name="groupsql" bldFile="common/generic/app-engines/cntmodel/tsrc/Integration/PerfFuncSuite/groupsql" />
+	<unit unitID="001" name="TCntPolice" bldFile="common/generic/app-engines/cntmodel/tsrc/Integration/TCntPolice/group" />
+	<unit unitID="001" name="groupsql" bldFile="common/generic/app-engines/cntmodel/tsrc/Integration/TCntPolice/groupsql" />
+	<unit unitID="001" name="convert" bldFile="common/generic/app-engines/convert/group" />
+	<unit unitID="001" name="damodel" bldFile="common/generic/app-engines/damodel/group" />
+	<unit unitID="001" name="sheng" bldFile="common/generic/app-engines/sheng/group" />
+	<unit unitID="001" name="wpeng" bldFile="common/generic/app-engines/wpeng/group" />
+	<unit unitID="001" name="animation" bldFile="common/generic/app-framework/animation/group" />
+	<unit unitID="001" name="apparc" bldFile="common/generic/app-framework/apparc/group" />
+	<unit unitID="001" name="bmpanim" bldFile="common/generic/app-framework/bmpanim/group" />
+	<unit unitID="001" name="clock" bldFile="common/generic/app-framework/clock/group" />
+	<unit unitID="001" name="conarc" bldFile="common/generic/app-framework/conarc/group" />
+	<unit unitID="001" name="cone" bldFile="common/generic/app-framework/cone/group" />
+	<unit unitID="001" name="egul" bldFile="common/generic/app-framework/egul/group" />
+	<unit unitID="001" name="emime" bldFile="common/generic/app-framework/emime/group" />
+	<unit unitID="001" name="errorresgt" bldFile="common/generic/app-framework/errorresgt/group" />
+	<unit unitID="001" name="etext" bldFile="common/generic/app-framework/etext/group" />
+	<unit unitID="001" name="fepbase" bldFile="common/generic/app-framework/fepbase/group" />
+	<unit unitID="001" name="form" bldFile="common/generic/app-framework/form/group" />
+	<unit unitID="001" name="GfxTransEffect" bldFile="common/generic/app-framework/GfxTransEffect/group" />
+	<unit unitID="001" name="grid" bldFile="common/generic/app-framework/grid/group" />
+	<unit unitID="001" name="numberconversion" bldFile="common/generic/app-framework/numberconversion/group" />
+	<unit unitID="001" name="print" bldFile="common/generic/app-framework/print/group" />
+	<unit unitID="001" name="SysStart" bldFile="common/generic/app-framework/SysStart/group" />
+	<unit unitID="001" name="uiklafGT" bldFile="common/generic/app-framework/uiklafGT/GROUP" />
+	<unit unitID="001" name="notifier1" bldFile="common/generic/app-framework/uikon/examples/notifier1/group" />
+	<unit unitID="001" name="uikon" bldFile="common/generic/app-framework/uikon/group" />
+	<unit unitID="001" name="viewsrv" bldFile="common/generic/app-framework/viewsrv/group" />
+	<unit unitID="001" name="word" bldFile="common/generic/app-framework/word/group" />
+	<unit unitID="001" name="alarmserver" bldFile="common/generic/app-services/alarmserver/Group" />
+	<unit unitID="001" name="BackupRestoreNotification" bldFile="common/generic/app-services/BackupRestoreNotification/group" />
+	<unit unitID="001" name="calcon" bldFile="common/generic/app-services/calcon/group" />
+	<unit unitID="001" name="chtmltocrtconv" bldFile="common/generic/app-services/chtmltocrtconv/group" />
+	<unit unitID="001" name="hlpmodel" bldFile="common/generic/app-services/hlpmodel/group" />
+	<unit unitID="001" name="richtexttohtmlconv" bldFile="common/generic/app-services/richtexttohtmlconv/Group" />
+	<unit unitID="001" name="TimeZoneLocalization" bldFile="common/generic/app-services/TimeZoneLocalization/group" />
+	<unit unitID="001" name="tz" bldFile="common/generic/app-services/tz/group" />
+	<unit unitID="001" name="tzcompiler" bldFile="common/generic/app-services/tzcompiler/group" />
+	<unit unitID="001" name="tzdb" bldFile="common/generic/app-services/tzdb/group" />
+	<unit unitID="001" name="TzLocalizationRscFactory" bldFile="common/generic/app-services/TzLocalizationRscFactory/group" />
+	<unit unitID="001" name="versit" bldFile="common/generic/app-services/versit/group" />
+	<unit unitID="001" name="wlddatabasekit" bldFile="common/generic/app-services/wlddatabasekit/group" />
+	<unit unitID="001" name="wldtools" bldFile="common/generic/app-services/wldtools/group" />
+	<unit unitID="001" name="worldserver" bldFile="common/generic/app-services/worldserver/group" />
+	<unit unitID="001" name="bookmarks" bldFile="common/generic/application-protocols/bookmarks/group" />
+	<unit unitID="001" name="cookies" bldFile="common/generic/application-protocols/http/examples/cookies/group" />
+	<unit unitID="001" name="PipeliningConfigFilter" bldFile="common/generic/application-protocols/http/examples/PipeliningConfigFilter/Group" />
+	<unit unitID="001" name="uaprof" bldFile="common/generic/application-protocols/http/examples/uaprof/group" />
+	<unit unitID="001" name="http" bldFile="common/generic/application-protocols/http/group" />
+	<unit unitID="001" name="inetprotutil" bldFile="common/generic/application-protocols/inetprotutil/group" />
+	<unit unitID="001" name="ineturilist" bldFile="common/generic/application-protocols/ineturilist/group" />
+	<unit unitID="001" name="recognisers" bldFile="common/generic/application-protocols/recognisers/group" />
+	<unit unitID="001" name="ongoing" bldFile="common/generic/base/loce32/ongoing" />
+	<unit unitID="001" name="mmpfiles" bldFile="common/generic/base/loce32/ongoing/mmpfiles" />
+	<unit unitID="001" name="commdbshim" bldFile="common/generic/comms-infras/commdb/commdbshim/group" />
+	<unit unitID="001" name="commdb" bldFile="common/generic/comms-infras/commdb/group" />
+	<unit unitID="001" name="te_cdma2000Settings" bldFile="common/generic/comms-infras/commdb/ts_commdb/te_cdma2000Settings/group" />
+	<unit unitID="001" name="defaultcommdb" bldFile="common/generic/comms-infras/commsdat/defaultcommdb/group" />
+	<unit unitID="001" name="commsdat" bldFile="common/generic/comms-infras/commsdat/group" />
+	<unit unitID="001" name="installdefaultcommdb" bldFile="common/generic/comms-infras/commsDat/installdefaultcommdb/group" />
+	<unit unitID="001" name="ced" bldFile="common/generic/comms-infras/commsdat/Tools/ced/group" />
+	<unit unitID="001" name="ceddump" bldFile="common/generic/comms-infras/commsdat/Tools/ceddump/group" />
+	<unit unitID="001" name="cfg2xml" bldFile="common/generic/comms-infras/commsdat/Tools/cfg2xml/group" />
+	<unit unitID="001" name="hidden_readonly_support" bldFile="common/generic/comms-infras/commsdat/Tools/cfg2xml/hidden_readonly_support/group" />
+	<unit unitID="001" name="commsdebugutility" bldFile="Common/Generic/comms-infras/commsdebugutility/group" />
+	<unit unitID="001" name="commsfw" bldFile="Common/Generic/comms-infras/commsfw/group" />
+	<unit unitID="001" name="te_Commsfw_transport" bldFile="common/generic/comms-infras/commsfw/te_Commsfw_transport/group" />
+	<unit unitID="001" name="Elements" bldFile="common/generic/comms-infras/Elements/group" />
+	<unit unitID="001" name="Helpers" bldFile="common/generic/comms-infras/Elements/Helpers/group" />
+	<unit unitID="001" name="MsgParser" bldFile="common/generic/comms-infras/Elements/MsgParser/group" />
+	<unit unitID="001" name="NetInterfaces" bldFile="common/generic/comms-infras/Elements/NetInterfaces/group" />
+	<unit unitID="001" name="NetMessages" bldFile="common/generic/comms-infras/Elements/NetMessages/group" />
+	<unit unitID="001" name="NetMeta" bldFile="common/generic/comms-infras/Elements/NetMeta/group" />
+	<unit unitID="001" name="NetSubscribe" bldFile="common/generic/comms-infras/Elements/NetSubscribe/group" />
+	<unit unitID="001" name="ResponseMsg" bldFile="common/generic/comms-infras/Elements/ResponseMsg/group" />
+	<unit unitID="001" name="version1" bldFile="common/generic/comms-infras/Elements/ResponseMsg/version1/group" />
+	<unit unitID="001" name="StartServer" bldFile="common/generic/comms-infras/Elements/StartServer/group" />
+	<unit unitID="001" name="StateMachine" bldFile="common/generic/comms-infras/Elements/StateMachine/group" />
+	<unit unitID="001" name="api_ext" bldFile="common/generic/comms-infras/esock/api_ext/group" />
+	<unit unitID="001" name="commsdataobjects" bldFile="common/generic/comms-infras/esock/commsdataobjects/group" />
+	<unit unitID="001" name="compatibility_headers" bldFile="common/generic/comms-infras/esock/compatibility_headers/group" />
+	<unit unitID="001" name="CoreProviders" bldFile="common/generic/comms-infras/ESock/CoreProviders/group" />
+	<unit unitID="001" name="MessageInterceptRegister" bldFile="common/generic/comms-infras/esock/debug/MessageInterceptRegister/group" />
+	<unit unitID="001" name="esock_internal_messages" bldFile="common/generic/comms-infras/esock/esock_internal_messages/group" />
+	<unit unitID="001" name="esock_messages" bldFile="common/generic/comms-infras/esock/esock_messages/group" />
+	<unit unitID="001" name="ETC" bldFile="common/generic/comms-infras/esock/ETC" />
+	<unit unitID="001" name="esock" bldFile="common/generic/comms-infras/esock/group" />
+	<unit unitID="001" name="MobilityCoreProviders" bldFile="common/generic/comms-infras/esock/MobilityCoreProviders/group" />
+	<unit unitID="001" name="simpleselectorbase" bldFile="common/generic/comms-infras/esock/simpleselectorbase/group" />
+	<unit unitID="001" name="commsdataobjects" bldFile="common/generic/comms-infras/esock/version2/commsdataobjects/group" />
+	<unit unitID="001" name="esock_messages" bldFile="common/generic/comms-infras/esock/version2/esock_messages/group" />
+	<unit unitID="001" name="ETC" bldFile="common/generic/comms-infras/esock/version2/ETC" />
+	<unit unitID="001" name="version2" bldFile="common/generic/comms-infras/esock/version2/group" />
+	<unit unitID="001" name="flogger" bldFile="common/generic/comms-infras/flogger/group" />
+	<unit unitID="001" name="mbufmgr" bldFile="Common/Generic/comms-infras/mbufmgr/group" />
+	<unit unitID="001" name="nifman" bldFile="common/generic/comms-infras/nifman/group" />
+	<unit unitID="001" name="netcfgext" bldFile="common/generic/comms-infras/nifman/netcfgext/group" />
+	<unit unitID="001" name="version1" bldFile="common/generic/comms-infras/nifman/version1/group" />
+	<unit unitID="001" name="shimcpr" bldFile="common/generic/comms-infras/nifman/version1/shimcpr/group" />
+	<unit unitID="001" name="configurator" bldFile="common/generic/comms-infras/rootserver/configurator/group" />
+	<unit unitID="001" name="ETC" bldFile="common/generic/comms-infras/rootserver/ETC" />
+	<unit unitID="001" name="rootserver" bldFile="Common/Generic/comms-infras/rootserver/group" />
+	<unit unitID="001" name="util" bldFile="common/generic/comms-infras/rootserver/Te_Configurator/util/group" />
+	<unit unitID="001" name="BAL" bldFile="common/generic/connectivity/BAL/Group" />
+	<unit unitID="001" name="mRouter3" bldFile="common/generic/connectivity/BAL/Plugins/mRouter3/group" />
+	<unit unitID="001" name="NTRAS" bldFile="common/generic/connectivity/BAL/Plugins/NTRAS/group" />
+	<unit unitID="001" name="FreeSpaceChecker" bldFile="common/generic/connectivity/FreeSpaceChecker/group" />
+	<unit unitID="001" name="connectivity" bldFile="common/generic/connectivity/group" />
+	<unit unitID="001" name="brdcst" bldFile="common/generic/connectivity/legacy/brdcst/group" />
+	<unit unitID="001" name="plpgrp" bldFile="common/generic/connectivity/legacy/PLP/plpgrp" />
+	<unit unitID="001" name="plpremlink" bldFile="common/generic/connectivity/legacy/PLP/plpremlink" />
+	<unit unitID="001" name="PLPVARIANT" bldFile="common/generic/connectivity/legacy/PLP/PLPVARIANT" />
+	<unit unitID="001" name="BT" bldFile="common/generic/connectivity/mRouterSecure/Bearers/BT/group" />
+	<unit unitID="001" name="Emulator" bldFile="common/generic/connectivity/mRouterSecure/Bearers/Emulator/group" />
+	<unit unitID="001" name="IR" bldFile="common/generic/connectivity/mRouterSecure/Bearers/IR/group" />
+	<unit unitID="001" name="Serial" bldFile="common/generic/connectivity/mRouterSecure/Bearers/Serial/group" />
+	<unit unitID="001" name="USB" bldFile="common/generic/connectivity/mRouterSecure/Bearers/USB/group" />
+	<unit unitID="001" name="SockComm" bldFile="common/generic/connectivity/mRouterSecure/CSY/SockComm/group" />
+	<unit unitID="001" name="WinsCsy" bldFile="common/generic/connectivity/mRouterSecure/CSY/WinsCsy/group" />
+	<unit unitID="001" name="mRouterSecure" bldFile="common/generic/connectivity/mRouterSecure/group" />
+	<unit unitID="001" name="mRouterAgent" bldFile="common/generic/connectivity/mRouterSecure/mRouterAgent/group" />
+	<unit unitID="001" name="mRouterClient" bldFile="common/generic/connectivity/mRouterSecure/mRouterClient/group" />
+	<unit unitID="001" name="SBSocketServer" bldFile="common/generic/connectivity/SBSocketServer/group" />
+	<unit unitID="001" name="SCRemoteFileServer" bldFile="common/generic/connectivity/SCRemoteFileServer/group" />
+	<unit unitID="001" name="SecureBackupEngine" bldFile="common/generic/connectivity/SecureBackupEngine/group" />
+	<unit unitID="001" name="ServerSocket" bldFile="common/generic/connectivity/ServerSocket/group" />
+	<unit unitID="001" name="ServiceBroker" bldFile="common/generic/connectivity/ServiceBroker/group" />
+	<unit unitID="001" name="SWInstallServer" bldFile="common/generic/connectivity/SWInstallServer/group" />
+	<unit unitID="001" name="SyncMLInitServer" bldFile="common/generic/connectivity/SyncMLInitServer/group" />
+	<unit unitID="001" name="CHFHelloWorld" bldFile="common/generic/Content-Handling/Framework/example/CHFHelloWorld" />
+	<unit unitID="001" name="Framework" bldFile="common/generic/content-handling/Framework/group" />
+	<unit unitID="001" name="content-handling" bldFile="common/generic/content-handling/Group" />
+	<unit unitID="001" name="ClientProv" bldFile="common/generic/DevProv/Adapters/ClientProv/group" />
+	<unit unitID="001" name="AppMgt" bldFile="common/generic/DevProv/Adapters/DevMan/AppMgt" />
+	<unit unitID="001" name="DevMan" bldFile="common/generic/DevProv/Adapters/DevMan/Group" />
+	<unit unitID="001" name="Shared" bldFile="common/generic/DevProv/Adapters/DevMan/Shared" />
+	<unit unitID="001" name="CPAgent" bldFile="common/generic/DevProv/ClientProv/CPAgent" />
+	<unit unitID="001" name="CpDocRecognizer" bldFile="common/generic/DevProv/ClientProv/CpDocRecognizer" />
+	<unit unitID="001" name="CpFileHandler" bldFile="common/generic/DevProv/ClientProv/CpFileHandler" />
+	<unit unitID="001" name="CpFileWatcher" bldFile="common/generic/DevProv/ClientProv/CpFileWatcher" />
+	<unit unitID="001" name="CpInputHistory" bldFile="common/generic/DevProv/ClientProv/CpInputHistory" />
+	<unit unitID="001" name="CpScDocReader" bldFile="common/generic/DevProv/ClientProv/CpScDocReader" />
+	<unit unitID="001" name="CpWapPushPlugin" bldFile="common/generic/DevProv/ClientProv/CpWapPushPlugin" />
+	<unit unitID="001" name="ClientProv" bldFile="common/generic/DevProv/ClientProv/Group" />
+	<unit unitID="001" name="ProvDoc" bldFile="common/generic/DevProv/ClientProv/ProvDoc" />
+	<unit unitID="001" name="UserAgent" bldFile="common/generic/DevProv/ClientProv/UserAgent" />
+	<unit unitID="001" name="Utils" bldFile="common/generic/DevProv/ClientProv/Utils" />
+	<unit unitID="001" name="dmtree" bldFile="common/generic/DevProv/DevMan/dmtree/group" />
+	<unit unitID="001" name="fota" bldFile="common/generic/devprov/DevMan/fota/group" />
+	<unit unitID="001" name="DevMan" bldFile="common/generic/DevProv/DevMan/group" />
+	<unit unitID="001" name="HostServerClient" bldFile="common/generic/DevProv/DevMan/HostServerClient/group" />
+	<unit unitID="001" name="RefHostServer" bldFile="common/generic/DevProv/DevMan/RefHostServer/group" />
+	<unit unitID="001" name="tools" bldFile="common/generic/DevProv/DevMan/tools/group" />
+	<unit unitID="001" name="DevProv" bldFile="common/generic/DevProv/Group" />
+	<unit unitID="001" name="bitgdi" bldFile="common/generic/graphics/bitgdi/group" />
+	<unit unitID="001" name="egl" bldFile="common/generic/graphics/egl/group" />
+	<unit unitID="001" name="symbian" bldFile="common/generic/graphics/egl/implementation/products/egl/1.0/build/symbian/group" />
+	<unit unitID="001" name="eglheaders" bldFile="common/generic/graphics/eglheaders/group" />
+	<unit unitID="001" name="fbserv" bldFile="common/generic/graphics/fbserv/group" />
+	<unit unitID="001" name="fntstore" bldFile="common/generic/graphics/fntstore/group" />
+	<unit unitID="001" name="fonts" bldFile="common/generic/graphics/fonts/group" />
+	<unit unitID="001" name="freetype" bldFile="common/generic/graphics/freetype/group" />
+	<unit unitID="001" name="gdi" bldFile="common/generic/graphics/gdi/group" />
+	<unit unitID="001" name="gditools" bldFile="common/generic/graphics/gditools/group" />
+	<unit unitID="001" name="gdtran" bldFile="common/generic/graphics/gdtran/group" />
+	<unit unitID="001" name="IcuLayoutEngine" bldFile="common/generic/graphics/IcuLayoutEngine/group" />
+	<unit unitID="001" name="OpenGLES" bldFile="common/generic/graphics/OpenGLES/group" />
+	<unit unitID="001" name="OpenGLESDisplayProperty" bldFile="common/generic/graphics/OpenGLESDisplayProperty/group" />
+	<unit unitID="001" name="OpenGLESHeaders" bldFile="common/generic/graphics/OpenGLESHeaders/group" />
+	<unit unitID="001" name="opengles_stub" bldFile="common/generic/graphics/openglesheaders/group/opengles_stub" />
+	<unit unitID="001" name="OpenVG" bldFile="common/generic/graphics/OpenVG/group" />
+	<unit unitID="001" name="symbian" bldFile="common/generic/graphics/OpenVG/implementation/products/openvg/1.2/openvg/build/symbian/group" />
+	<unit unitID="001" name="symbian" bldFile="common/generic/graphics/OpenVG/implementation/products/openvg/1.2/samples/build/symbian/group" />
+	<unit unitID="001" name="openvgheaders" bldFile="common/generic/graphics/openvgheaders/group" />
+	<unit unitID="001" name="palette" bldFile="common/generic/graphics/palette/group" />
+	<unit unitID="001" name="pdrstore" bldFile="common/generic/graphics/pdrstore/group" />
+	<unit unitID="001" name="printdrv" bldFile="common/generic/graphics/printdrv/group" />
+	<unit unitID="001" name="screendriver" bldFile="common/generic/graphics/screendriver/group" />
+	<unit unitID="001" name="ui_bench" bldFile="common/generic/graphics/ui_bench/group" />
+	<unit unitID="001" name="wserv" bldFile="common/generic/graphics/wserv/group" />
+	<unit unitID="001" name="config" bldFile="common/generic/infra-red/config" />
+	<unit unitID="001" name="irda" bldFile="common/generic/infra-red/irda" />
+	<unit unitID="001" name="irda" bldFile="common/generic/infra-red/irda/group" />
+	<unit unitID="001" name="irdialbca" bldFile="common/generic/infra-red/irda/irdialbca/group" />
+	<unit unitID="001" name="GpsClockManual" bldFile="common/generic/LBS/GPSClock/GpsClockManual/group" />
+	<unit unitID="001" name="GpsSetClock" bldFile="common/generic/LBS/GPSClock/GpsSetClock/group" />
+	<unit unitID="001" name="GPSClock" bldFile="common/generic/LBS/GPSClock/group" />
+	<unit unitID="001" name="LBS" bldFile="common/generic/LBS/group" />
+	<unit unitID="001" name="LbsAdmin" bldFile="common/generic/LBS/LbsAdmin/group" />
+	<unit unitID="001" name="LbsAGPSManager" bldFile="common/generic/LBS/LbsAGPSManager/group" />
+	<unit unitID="001" name="LbsAssistanceData" bldFile="common/generic/LBS/LbsAssistanceData/group" />
+	<unit unitID="001" name="LbsAssistanceDataSourceInterface" bldFile="common/generic/LBS/LbsAssistanceDataSourceInterface/group" />
+	<unit unitID="001" name="LBSClient" bldFile="common/generic/LBS/LBSClient/group" />
+	<unit unitID="001" name="LbsApi" bldFile="common/generic/LBS/LBSClient/LbsApi/group" />
+	<unit unitID="001" name="LbsDebug" bldFile="common/generic/LBS/LbsDebug/group" />
+	<unit unitID="001" name="LbsInternalApi" bldFile="common/generic/LBS/LbsInternalApi/group" />
+	<unit unitID="001" name="LbsLocCommon" bldFile="common/generic/LBS/LbsLocCommon/group" />
+	<unit unitID="001" name="ServerFramework" bldFile="common/generic/LBS/LbsLocCommon/ServerFramework/group" />
+	<unit unitID="001" name="LbsLocDataSource" bldFile="common/generic/LBS/LbsLocDataSource/group" />
+	<unit unitID="001" name="LbsLocDataSourcePlugins" bldFile="common/generic/LBS/LbsLocDataSourcePlugins/group" />
+	<unit unitID="001" name="sirf" bldFile="common/generic/LBS/LbsLocDataSourcePlugins/sirf/group" />
+	<unit unitID="001" name="LbsLocServer" bldFile="common/generic/LBS/LbsLocServer/group" />
+	<unit unitID="001" name="te_LbsLocServer" bldFile="common/generic/LBS/lbslocserver/te_LbsLocServer/group" />
+	<unit unitID="001" name="LbsLocUtils" bldFile="common/generic/LBS/LbsLocUtils/group" />
+	<unit unitID="001" name="LbsLogging" bldFile="common/generic/LBS/LbsLogging/group" />
+	<unit unitID="001" name="te_LbsLogging" bldFile="common/generic/LBS/LbsLogging/te_LbsLogging/group" />
+	<unit unitID="001" name="LbsMaths" bldFile="common/generic/LBS/LbsMaths/group" />
+	<unit unitID="001" name="te_lbsmaths" bldFile="common/generic/LBS/LbsMaths/te_lbsmaths/group" />
+	<unit unitID="001" name="LbsNetGateway" bldFile="common/generic/LBS/LbsNetGateway/group" />
+	<unit unitID="001" name="LbsNetInternalApi" bldFile="common/generic/LBS/LbsNetInternalApi/group" />
+	<unit unitID="001" name="LbsNetProtocol" bldFile="common/generic/LBS/LbsNetProtocol/group" />
+	<unit unitID="001" name="LbsNetSim" bldFile="common/generic/LBS/LbsNetSim/group" />
+	<unit unitID="001" name="LbsNetworkLocationManager" bldFile="common/generic/LBS/LbsNetworkLocationManager/group" />
+	<unit unitID="001" name="t_lbsDummygateway" bldFile="common/generic/LBS/LbsNetworkLocationManager/t_lbsDummygateway/group" />
+	<unit unitID="001" name="te_LbsNetworkLocationManager" bldFile="common/generic/LBS/LbsNetworkLocationManager/te_LbsNetworkLocationManager/group" />
+	<unit unitID="001" name="LbsNetworkRequestHandler" bldFile="common/generic/LBS/LbsNetworkRequestHandler/group" />
+	<unit unitID="001" name="LbsPartnerCommon" bldFile="common/generic/LBS/LbsPartnerCommon/group" />
+	<unit unitID="001" name="LBSPrivacyNotification" bldFile="common/generic/LBS/LBSPrivacyNotification/group" />
+	<unit unitID="001" name="LbsPrivacyController" bldFile="common/generic/LBS/LBSPrivacyNotification/LbsPrivacyController/group" />
+	<unit unitID="001" name="LbsPrivacyExtNotifiers" bldFile="common/generic/LBS/LBSPrivacyNotification/LbsPrivacyExtNotifiers/group" />
+	<unit unitID="001" name="LbsPrivacyNotifier" bldFile="common/generic/LBS/LBSPrivacyNotification/LbsPrivacyNotifier/group" />
+	<unit unitID="001" name="LbsProtocolModule" bldFile="common/generic/LBS/LbsProtocolModule/group" />
+	<unit unitID="001" name="LbsQualityProfileApi" bldFile="common/generic/LBS/LbsQualityProfileApi/group" />
+	<unit unitID="001" name="lbsroot" bldFile="common/generic/LBS/lbsroot/group" />
+	<unit unitID="001" name="lbsrootapi" bldFile="common/generic/LBS/lbsrootapi/group" />
+	<unit unitID="001" name="LbsX3P" bldFile="common/generic/LBS/LbsX3P/group" />
+	<unit unitID="001" name="LbsX3PApi" bldFile="common/generic/LBS/LbsX3P/LbsX3PApi/group" />
+	<unit unitID="001" name="suplasn1" bldFile="common/generic/LBS/suplasn1/group" />
+	<unit unitID="001" name="BDB" bldFile="common/generic/messaging/biomsg/BDB" />
+	<unit unitID="001" name="BIFU" bldFile="common/generic/messaging/biomsg/BIFU" />
+	<unit unitID="001" name="BIOC" bldFile="common/generic/messaging/biomsg/BIOC" />
+	<unit unitID="001" name="BIOS" bldFile="common/generic/messaging/biomsg/BIOS" />
+	<unit unitID="001" name="BioWatchers" bldFile="common/generic/messaging/biomsg/BioWatchers" />
+	<unit unitID="001" name="CdmaNbsWatcher" bldFile="common/generic/messaging/biomsg/BioWatchersCdma/CdmaNbsWatcher/Group" />
+	<unit unitID="001" name="CdmaSocketWatcher" bldFile="common/generic/messaging/biomsg/BioWatchersCdma/CdmaSocketWatcher/Group" />
+	<unit unitID="001" name="CdmaWatcherVMN" bldFile="common/generic/messaging/biomsg/BioWatchersCdma/CdmaWatcherVMN/Group" />
+	<unit unitID="001" name="CdmaWatcherWEMT" bldFile="common/generic/messaging/biomsg/BioWatchersCdma/CdmaWatcherWEMT/Group" />
+	<unit unitID="001" name="CdmaWatcherWMT" bldFile="common/generic/messaging/biomsg/BioWatchersCdma/CdmaWatcherWMT/Group" />
+	<unit unitID="001" name="CdmaWatcherWPT" bldFile="common/generic/messaging/biomsg/BioWatchersCdma/CdmaWatcherWPT/Group" />
+	<unit unitID="001" name="BioWatchersCdma" bldFile="common/generic/messaging/biomsg/BioWatchersCdma/Group" />
+	<unit unitID="001" name="BITS" bldFile="common/generic/messaging/biomsg/BITS" />
+	<unit unitID="001" name="BIUT" bldFile="common/generic/messaging/biomsg/BIUT" />
+	<unit unitID="001" name="cbcp" bldFile="common/generic/messaging/biomsg/cbcp" />
+	<unit unitID="001" name="enp" bldFile="common/generic/messaging/biomsg/enp" />
+	<unit unitID="001" name="gfp" bldFile="common/generic/messaging/biomsg/gfp" />
+	<unit unitID="001" name="biomsg" bldFile="common/generic/messaging/biomsg/group" />
+	<unit unitID="001" name="iacp" bldFile="common/generic/messaging/biomsg/iacp" />
+	<unit unitID="001" name="Rom" bldFile="common/generic/messaging/biomsg/Rom" />
+	<unit unitID="001" name="T_BIOMSG" bldFile="common/generic/messaging/biomsg/T_BIOMSG/Group" />
+	<unit unitID="001" name="wapp" bldFile="common/generic/messaging/biomsg/wapp" />
+	<unit unitID="001" name="autosend" bldFile="common/generic/messaging/email/autosend/group" />
+	<unit unitID="001" name="clientmtms" bldFile="common/generic/messaging/email/clientmtms/group" />
+	<unit unitID="001" name="email" bldFile="common/generic/messaging/email/group" />
+	<unit unitID="001" name="imap" bldFile="common/generic/messaging/email/imap/group" />
+	<unit unitID="001" name="imapmailstore" bldFile="common/generic/messaging/email/imap/imapmailstore/group" />
+	<unit unitID="001" name="imapofflinecontrol" bldFile="common/generic/messaging/email/imap/imapofflinecontrol/group" />
+	<unit unitID="001" name="imapprotocolcontroller" bldFile="common/generic/messaging/email/imap/imapprotocolcontroller/group" />
+	<unit unitID="001" name="imapservermtm" bldFile="common/generic/messaging/email/imap/imapservermtm/group" />
+	<unit unitID="001" name="imapsession" bldFile="common/generic/messaging/email/imap/imapsession/group" />
+	<unit unitID="001" name="imapsettings" bldFile="common/generic/messaging/email/imap/imapsettings/group" />
+	<unit unitID="001" name="imapsyncmanager" bldFile="common/generic/messaging/email/imap/imapsyncmanager/group" />
+	<unit unitID="001" name="imaptransporthandler" bldFile="common/generic/messaging/email/imap/imaptransporthandler/group" />
+	<unit unitID="001" name="imaputils" bldFile="common/generic/messaging/email/imap/imaputils/group" />
+	<unit unitID="001" name="imapservermtm" bldFile="common/generic/messaging/email/imapservermtm/group" />
+	<unit unitID="001" name="popservermtm" bldFile="common/generic/messaging/email/popservermtm/group" />
+	<unit unitID="001" name="servermtmutils" bldFile="common/generic/messaging/email/servermtmutils/group" />
+	<unit unitID="001" name="smtpservermtm" bldFile="common/generic/messaging/email/smtpservermtm/group" />
+	<unit unitID="001" name="framework" bldFile="common/generic/messaging/framework/group" />
+	<unit unitID="001" name="mtmbase" bldFile="common/generic/messaging/framework/mtmbase/group" />
+	<unit unitID="001" name="server" bldFile="common/generic/messaging/framework/server/group" />
+	<unit unitID="001" name="serverexe" bldFile="common/generic/messaging/framework/serverexe/group" />
+	<unit unitID="001" name="watcher" bldFile="common/generic/messaging/framework/watcher/group" />
+	<unit unitID="001" name="GMXML" bldFile="common/generic/messaging/GMXML/GROUP" />
+	<unit unitID="001" name="Rom" bldFile="common/generic/messaging/GMXML/Rom" />
+	<unit unitID="001" name="SMILdtd" bldFile="common/generic/messaging/GMXML/SMILdtd/GROUP" />
+	<unit unitID="001" name="XMLDom" bldFile="common/generic/messaging/GMXML/XMLDom/GROUP" />
+	<unit unitID="001" name="XMLParser" bldFile="common/generic/messaging/GMXML/XMLParser/GROUP" />
+	<unit unitID="001" name="messaging" bldFile="common/generic/messaging/group" />
+	<unit unitID="001" name="ETC" bldFile="common/generic/messaging/mmssettings/ETC" />
+	<unit unitID="001" name="mmssettings" bldFile="common/generic/messaging/mmssettings/group" />
+	<unit unitID="001" name="btclient" bldFile="common/generic/messaging/obex/btmtm/btclient/group" />
+	<unit unitID="001" name="btserver" bldFile="common/generic/messaging/obex/btmtm/btserver/group" />
+	<unit unitID="001" name="obex" bldFile="common/generic/messaging/obex/Group" />
+	<unit unitID="001" name="irclient" bldFile="common/generic/messaging/obex/irmtm/irclient/group" />
+	<unit unitID="001" name="irserver" bldFile="common/generic/messaging/obex/irmtm/irserver/group" />
+	<unit unitID="001" name="obexclient" bldFile="common/generic/messaging/obex/obexmtm/obexclient/group" />
+	<unit unitID="001" name="obexserver" bldFile="common/generic/messaging/obex/obexmtm/obexserver/group" />
+	<unit unitID="001" name="obexutil" bldFile="common/generic/messaging/obex/obexmtm/obexutil/group" />
+	<unit unitID="001" name="Rom" bldFile="common/generic/messaging/obex/Rom" />
+	<unit unitID="001" name="TObexMTM" bldFile="common/generic/messaging/obex/TObexMTM/GROUP" />
+	<unit unitID="001" name="sdp" bldFile="common/generic/Messaging/obex/TObexMTM/obexstub/BluetoothSdpStub/sdp" />
+	<unit unitID="001" name="IrobexStub" bldFile="common/generic/messaging/obex/TObexMTM/obexstub/IrobexStub/group" />
+	<unit unitID="001" name="schedulesend" bldFile="common/generic/messaging/schedulesend/group" />
+	<unit unitID="001" name="schedulesendexe" bldFile="common/generic/messaging/schedulesend/schedulesendexe/group" />
+	<unit unitID="001" name="schedulesendmtm" bldFile="common/generic/messaging/schedulesend/schedulesendmtm/group" />
+	<unit unitID="001" name="client" bldFile="common/generic/messaging/sendas2/client/group" />
+	<unit unitID="001" name="editutils" bldFile="common/generic/messaging/sendas2/editutils/group" />
+	<unit unitID="001" name="sendas2" bldFile="common/generic/messaging/sendas2/group" />
+	<unit unitID="001" name="server" bldFile="common/generic/messaging/sendas2/server/group" />
+	<unit unitID="001" name="clientmtm" bldFile="common/generic/messaging/sms/clientmtm/group" />
+	<unit unitID="001" name="clientmtm" bldFile="common/generic/messaging/sms/multimode/clientmtm/group" />
+	<unit unitID="001" name="multimode" bldFile="common/generic/messaging/sms/multimode/Group" />
+	<unit unitID="001" name="servermtm" bldFile="common/generic/messaging/sms/multimode/servermtm/group" />
+	<unit unitID="001" name="servermtm" bldFile="common/generic/messaging/sms/servermtm/group" />
+	<unit unitID="001" name="smsgetdetdescdefault" bldFile="common/generic/messaging/sms/smsgetdetdescdefault/group" />
+	<unit unitID="001" name="smsswitch" bldFile="common/generic/messaging/sms/smsswitch/group" />
+	<unit unitID="001" name="smcm" bldFile="common/generic/messaging/sms/smsswitch/smcm/group" />
+	<unit unitID="001" name="smss" bldFile="common/generic/messaging/sms/smsswitch/smss/group" />
+	<unit unitID="001" name="urlhandler" bldFile="common/generic/messaging/urlhandler/group" />
+	<unit unitID="001" name="urlhandler" bldFile="common/generic/messaging/urlhandler/urlhandler/group" />
+	<unit unitID="001" name="SIPCPR" bldFile="common/generic/mm-protocols/ConnProv/SIPCPR/group" />
+	<unit unitID="001" name="General" bldFile="common/generic/mm-protocols/General/Group" />
+	<unit unitID="001" name="core" bldFile="common/generic/mm-protocols/rtp/core/group" />
+	<unit unitID="001" name="rtp" bldFile="common/generic/mm-protocols/rtp/group" />
+	<unit unitID="001" name="SIP" bldFile="common/generic/mm-protocols/SIP/Group" />
+	<unit unitID="001" name="gameengine" bldFile="common/generic/mm-protocols/SIP/SampleApp/gameengine/Group" />
+	<unit unitID="001" name="gameUI_techview" bldFile="common/generic/mm-protocols/SIP/SampleApp/gameUI_techview/Group" />
+	<unit unitID="001" name="SampleApp" bldFile="common/generic/mm-protocols/SIP/SampleApp/group" />
+	<unit unitID="001" name="resolverplugin" bldFile="common/generic/mm-protocols/SIP/SampleApp/resolverplugin/Group" />
+	<unit unitID="001" name="sipengine" bldFile="common/generic/mm-protocols/SIP/SampleApp/sipengine/group" />
+	<unit unitID="001" name="socketengine" bldFile="common/generic/mm-protocols/SIP/SampleApp/socketengine/Group" />
+	<unit unitID="001" name="example_plugin" bldFile="common/generic/mm-protocols/SIP/SIP/NATTraversalController/example_plugin/group" />
+	<unit unitID="001" name="SIP2" bldFile="common/generic/mm-protocols/SIP2/Group" />
+	<unit unitID="001" name="gameengine" bldFile="common/generic/mm-protocols/SIP2/SampleApp/gameengine/Group" />
+	<unit unitID="001" name="gameUI_techview" bldFile="common/generic/mm-protocols/SIP2/SampleApp/gameUI_techview/Group" />
+	<unit unitID="001" name="SampleApp" bldFile="common/generic/mm-protocols/SIP2/SampleApp/group" />
+	<unit unitID="001" name="resolverplugin" bldFile="common/generic/mm-protocols/SIP2/SampleApp/resolverplugin/Group" />
+	<unit unitID="001" name="sipengine" bldFile="common/generic/mm-protocols/SIP2/SampleApp/sipengine/group" />
+	<unit unitID="001" name="socketengine" bldFile="common/generic/mm-protocols/SIP2/SampleApp/socketengine/Group" />
+	<unit unitID="001" name="example_plugin" bldFile="common/generic/mm-protocols/SIP2/SIP/NATTraversalController/example_plugin/group" />
+	<unit unitID="001" name="SIPDummyPRT" bldFile="common/generic/mm-protocols/SipProvEngine/SIPDummyPRT/group" />
+	<unit unitID="001" name="SipStateMachine" bldFile="common/generic/mm-protocols/SipProvEngine/SipStateMachine/group" />
+	<unit unitID="001" name="SIPParams" bldFile="common/generic/mm-protocols/SubConnProv/SIPParams/group" />
+	<unit unitID="001" name="SIPSCPR" bldFile="common/generic/mm-protocols/SubConnProv/SIPSCPR/group" />
+	<unit unitID="001" name="client" bldFile="common/generic/mtp/daemon/client/group" />
+	<unit unitID="001" name="daemon" bldFile="common/generic/mtp/daemon/group" />
+	<unit unitID="001" name="server" bldFile="common/generic/mtp/daemon/server/group" />
+	<unit unitID="001" name="dataproviderapi" bldFile="common/generic/mtp/dataproviders/dataproviderapi/group" />
+	<unit unitID="001" name="devdp" bldFile="common/generic/mtp/dataproviders/devdp/group" />
+	<unit unitID="001" name="dputility" bldFile="common/generic/mtp/dataproviders/dputility/group" />
+	<unit unitID="001" name="filedp" bldFile="common/generic/mtp/dataproviders/filedp/group" />
+	<unit unitID="001" name="dataproviders" bldFile="common/generic/mtp/dataproviders/group" />
+	<unit unitID="001" name="proxydp" bldFile="common/generic/mtp/dataproviders/proxydp/group" />
+	<unit unitID="001" name="datatypes" bldFile="common/generic/mtp/datatypes/group" />
+	<unit unitID="001" name="framework" bldFile="common/generic/mtp/framework/group" />
+	<unit unitID="001" name="mtp" bldFile="common/generic/mtp/group" />
+	<unit unitID="001" name="transports" bldFile="common/generic/mtp/transports/group" />
+	<unit unitID="001" name="transportapi" bldFile="common/generic/mtp/transports/transportapi/group" />
+	<unit unitID="001" name="usbsic" bldFile="common/generic/mtp/transports/usbsic/group" />
+	<unit unitID="001" name="usbdatatypes" bldFile="common/generic/mtp/transports/usbsic/usbdatatypes/group" />
+	<unit unitID="001" name="usbsic_cc" bldFile="common/generic/mtp/transports/usbsic/usbsic_cc/group" />
+	<unit unitID="001" name="usbsic_imp" bldFile="common/generic/mtp/transports/usbsic/usbsic_imp/group" />
+	<unit unitID="001" name="play" bldFile="common/generic/Multimedia/char/mmf/clientutils/audio/play/group" />
+	<unit unitID="001" name="record" bldFile="common/generic/Multimedia/char/mmf/clientutils/audio/record/group" />
+	<unit unitID="001" name="play" bldFile="common/generic/Multimedia/char/mmf/clientutils/video/play/group" />
+	<unit unitID="001" name="mmf" bldFile="common/generic/Multimedia/char/mmf/group" />
+	<unit unitID="001" name="ECam" bldFile="Common/Generic/Multimedia/ECam/Group" />
+	<unit unitID="001" name="BitmapTransform" bldFile="Common/Generic/Multimedia/ICL/BitmapTransform/group" />
+	<unit unitID="001" name="ICL" bldFile="Common/Generic/Multimedia/ICL/group" />
+	<unit unitID="001" name="MediaClientImage" bldFile="Common/Generic/Multimedia/ICL/MediaClientImage/Group" />
+	<unit unitID="001" name="mdf" bldFile="common/generic/Multimedia/mdf/group" />
+	<unit unitID="001" name="mmcommon" bldFile="Common/Generic/Multimedia/mmcommon/group" />
+	<unit unitID="001" name="MMF" bldFile="Common/Generic/Multimedia/MMF/group" />
+	<unit unitID="001" name="SoundDev" bldFile="Common/Generic/Multimedia/MMF/SoundDev/group" />
+	<unit unitID="001" name="sounddevbt" bldFile="Common/Generic/Multimedia/MMF/sounddevbt/group" />
+	<unit unitID="001" name="Agents" bldFile="common/generic/Multimedia/MVS/Agents/group" />
+	<unit unitID="001" name="Application" bldFile="common/generic/Multimedia/MVS/Application/group" />
+	<unit unitID="001" name="openmax" bldFile="common/generic/Multimedia/openmax/group" />
+	<unit unitID="001" name="Tuner" bldFile="Common/Generic/Multimedia/Tuner/group" />
+	<unit unitID="001" name="cdmaprot" bldFile="common/generic/nbprotocols/cdmasmsstack/cdmaprot/group" />
+	<unit unitID="001" name="cdmau" bldFile="common/generic/nbprotocols/cdmasmsstack/cdmau/group" />
+	<unit unitID="001" name="cdmawapprot" bldFile="common/generic/nbprotocols/cdmasmsstack/cdmawapprot/Group" />
+	<unit unitID="001" name="cdmasmsstack" bldFile="common/generic/nbprotocols/cdmasmsstack/group" />
+	<unit unitID="001" name="ota-xml" bldFile="common/generic/nbprotocols/cdmasmsstack/ota-xml/group" />
+	<unit unitID="001" name="smsstackv2" bldFile="common/generic/nbprotocols/smsstackv2/group" />
+	<unit unitID="001" name="gsmu" bldFile="common/generic/nbprotocols/smsstackv2/gsmu/group" />
+	<unit unitID="001" name="smsprot" bldFile="common/generic/nbprotocols/smsstackv2/smsprot/Group" />
+	<unit unitID="001" name="smsu" bldFile="common/generic/nbprotocols/smsstackv2/smsu/group" />
+	<unit unitID="001" name="wapprot" bldFile="common/generic/nbprotocols/smsstackv2/wapprot/Group" />
+	<unit unitID="001" name="6to4" bldFile="common/generic/networking/6to4/group" />
+	<unit unitID="001" name="802.11" bldFile="common/generic/networking/802.11/group" />
+	<unit unitID="001" name="WiFiAgent" bldFile="common/generic/networking/802.11/WiFiAgent/group" />
+	<unit unitID="001" name="WiFiCfgEng" bldFile="common/generic/networking/802.11/WiFiCfgEng/group" />
+	<unit unitID="001" name="WiFiCore" bldFile="common/generic/networking/802.11/WiFiCore/group" />
+	<unit unitID="001" name="WiFiDB" bldFile="common/generic/networking/802.11/WiFiDB/group" />
+	<unit unitID="001" name="WiFiLdd" bldFile="common/generic/networking/802.11/WiFiDrvs/WiFiLdd/group" />
+	<unit unitID="001" name="Marvell83xx" bldFile="common/generic/networking/802.11/WiFiDrvs/WiFiPdds/Marvell83xx/group" />
+	<unit unitID="001" name="WiFiPkt" bldFile="common/generic/networking/802.11/WiFiPkt/group" />
+	<unit unitID="001" name="WiFiRSSIEng" bldFile="common/generic/networking/802.11/WiFiRSSIEng/group" />
+	<unit unitID="001" name="WiFiSecEapMods" bldFile="common/generic/networking/802.11/WiFiSecEapMods/group" />
+	<unit unitID="001" name="WiFiSecurity" bldFile="common/generic/networking/802.11/WiFiSecurity/GROUP" />
+	<unit unitID="001" name="WiFiStatsEng" bldFile="common/generic/networking/802.11/WiFiStatsEng/group" />
+	<unit unitID="001" name="WiFiSurveyEng" bldFile="common/generic/networking/802.11/WiFiSurveyEng/group" />
+	<unit unitID="001" name="bca" bldFile="common/generic/networking/BasebandAdaptation/bca/group" />
+	<unit unitID="001" name="c32bca" bldFile="common/generic/networking/BasebandAdaptation/c32bca/group" />
+	<unit unitID="001" name="te_c32bca" bldFile="common/generic/networking/BasebandAdaptation/c32bca/te_c32bca/group" />
+	<unit unitID="001" name="isc" bldFile="common/generic/networking/BasebandAdaptation/isc/group" />
+<!-- deprecated 	<unit unitID="001" name="networking" bldFile="common/generic/networking" /> -->
+	<unit unitID="001" name="cgi" bldFile="common/generic/networking/cgi/group" />
+	<unit unitID="001" name="csdagt" bldFile="common/generic/networking/csdagt/group" />
+	<unit unitID="001" name="dhcp" bldFile="common/generic/networking/dhcp/group" />
+	<unit unitID="001" name="te_dhcp" bldFile="common/generic/networking/dhcp/te_dhcp" />
+	<unit unitID="001" name="config" bldFile="common/generic/networking/dhcp/te_dhcp/config" />
+	<unit unitID="001" name="agentnotifier" bldFile="common/generic/networking/dialog/agentnotifier/group" />
+	<unit unitID="001" name="default" bldFile="common/generic/networking/dialog/default" />
+	<unit unitID="001" name="dialog" bldFile="common/generic/networking/dialog/group" />
+	<unit unitID="001" name="TE_Dialog" bldFile="common/generic/networking/dialog/TE_Dialog/group" />
+	<unit unitID="001" name="data" bldFile="common/generic/networking/dnd/data" />
+	<unit unitID="001" name="dnd" bldFile="common/generic/networking/dnd/group" />
+	<unit unitID="001" name="wifieapaka" bldFile="common/generic/networking/eap/adapters/wifieapaka/group" />
+	<unit unitID="001" name="wifieapsim" bldFile="common/generic/networking/eap/adapters/wifieapsim/group" />
+	<unit unitID="001" name="eapaka" bldFile="common/generic/networking/eap/eapsimaka/eapaka/group" />
+	<unit unitID="001" name="eapsim" bldFile="common/generic/networking/eap/eapsimaka/eapsim/group" />
+	<unit unitID="001" name="eap" bldFile="common/generic/networking/eap/group" />
+	<unit unitID="001" name="ether802" bldFile="common/generic/networking/ether802/group" />
+	<unit unitID="001" name="version1" bldFile="common/generic/networking/ether802/version1/group" />
+	<unit unitID="001" name="etherdrv" bldFile="common/generic/networking/etherdrv/group" />
+	<unit unitID="001" name="examplecode" bldFile="common/generic/networking/examplecode/group" />
+	<unit unitID="001" name="inetd" bldFile="common/generic/networking/examplecode/inetd/group" />
+	<unit unitID="001" name="ipip" bldFile="common/generic/networking/examplecode/ipip/group" />
+	<unit unitID="001" name="tcpdumping" bldFile="common/generic/networking/examplecode/tcpdumping/group" />
+	<unit unitID="001" name="ftp_e" bldFile="common/generic/networking/ftp_e/group" />
+	<unit unitID="001" name="General" bldFile="common/generic/networking/General/group" />
+	<unit unitID="001" name="guqos" bldFile="common/generic/networking/guqos/group" />
+	<unit unitID="001" name="inetutil" bldFile="common/generic/networking/inetutil/group" />
+	<unit unitID="001" name="inhook6" bldFile="common/generic/networking/inhook6/group" />
+	<unit unitID="001" name="inhook6example" bldFile="common/generic/networking/inhook6example/group" />
+	<unit unitID="001" name="insock" bldFile="common/generic/networking/insock/group" />
+	<unit unitID="001" name="ipproto" bldFile="common/generic/networking/ip/ipproto/group" />
+	<unit unitID="001" name="iptransport" bldFile="common/generic/networking/ip/iptransport/group" />
+	<unit unitID="001" name="ipcpr" bldFile="common/generic/networking/ip/version1/ipcpr/group" />
+	<unit unitID="001" name="referencecpr" bldFile="common/generic/networking/ip/version1/referencecpr/group" />
+	<unit unitID="001" name="ipadm" bldFile="common/generic/networking/ipadm/group" />
+	<unit unitID="001" name="IPEventNotifier" bldFile="common/generic/networking/IPEventNotifier/group" />
+	<unit unitID="001" name="IPEventFactory" bldFile="common/generic/networking/IPEventNotifier/IPEventFactory/group" />
+	<unit unitID="001" name="IPEventTypes" bldFile="common/generic/networking/IPEventNotifier/IPEventTypes/group" />
+	<unit unitID="001" name="te_IPEventNotifier" bldFile="common/generic/networking/IPEventNotifier/te_IPEventNotifier/group" />
+	<unit unitID="001" name="iprotor" bldFile="common/generic/networking/iprotor/group" />
+	<unit unitID="001" name="eventmediator" bldFile="common/generic/networking/ipsec/eventmediator/group" />
+	<unit unitID="001" name="eventmediatorapi" bldFile="common/generic/networking/ipsec/eventmediatorapi/group" />
+	<unit unitID="001" name="ipsec" bldFile="common/generic/networking/ipsec/group" />
+	<unit unitID="001" name="ikepolparser" bldFile="common/generic/networking/ipsec/ikepolparser/group" />
+	<unit unitID="001" name="ikesocketplugin" bldFile="common/generic/networking/ipsec/ikesocketplugin/group" />
+	<unit unitID="001" name="ipsec6" bldFile="common/generic/networking/ipsec/ipsec6/group" />
+	<unit unitID="001" name="ipseccrypto" bldFile="common/generic/networking/ipsec/ipseccrypto/group" />
+	<unit unitID="001" name="ipsecpol" bldFile="common/generic/networking/ipsec/ipsecpol/group" />
+	<unit unitID="001" name="ipsecpolapi" bldFile="common/generic/networking/ipsec/ipsecpolapi/group" />
+	<unit unitID="001" name="ipsecpolparser" bldFile="common/generic/networking/ipsec/ipsecpolparser/group" />
+	<unit unitID="001" name="kmdserver" bldFile="common/generic/networking/ipsec/kmdserver/group" />
+	<unit unitID="001" name="lib_pfkey" bldFile="common/generic/networking/ipsec/lib_pfkey/group" />
+	<unit unitID="001" name="pkiservice" bldFile="common/generic/networking/ipsec/pkiservice/group" />
+	<unit unitID="001" name="pkiserviceapi" bldFile="common/generic/networking/ipsec/pkiserviceapi/group" />
+	<unit unitID="001" name="sit" bldFile="common/generic/networking/ipsec/sit/group" />
+	<unit unitID="001" name="te_ipsec_platsec" bldFile="common/generic/networking/ipsec/te_ipsec_platsec/group" />
+	<unit unitID="001" name="utlbase64" bldFile="common/generic/networking/ipsec/utlbase64/group" />
+	<unit unitID="001" name="utlcrypto" bldFile="common/generic/networking/ipsec/utlcrypto/group" />
+	<unit unitID="001" name="utlpkcs1" bldFile="common/generic/networking/ipsec/utlpkcs1/group" />
+	<unit unitID="001" name="utlpkcs10" bldFile="common/generic/networking/ipsec/utlpkcs10/group" />
+	<unit unitID="001" name="utlpkcs5" bldFile="common/generic/networking/ipsec/utlpkcs5/group" />
+	<unit unitID="001" name="vpnapi" bldFile="common/generic/networking/ipsec/vpnapi/group" />
+	<unit unitID="001" name="vpnconnagt" bldFile="common/generic/networking/ipsec/vpnconnagt/group" />
+	<unit unitID="001" name="vpnmanager" bldFile="common/generic/networking/ipsec/vpnmanager/group" />
+	<unit unitID="001" name="mobileip" bldFile="common/generic/networking/mobileip/group" />
+	<unit unitID="001" name="mscomp" bldFile="common/generic/networking/mscomp/group" />
+	<unit unitID="001" name="napt" bldFile="common/generic/networking/napt/group" />
+	<unit unitID="001" name="TE_Napt" bldFile="common/generic/networking/napt/TE_Napt/group" />
+	<unit unitID="001" name="Te_NaptCap" bldFile="common/generic/networking/napt/Te_NaptCap/group" />
+	<unit unitID="001" name="netcon" bldFile="common/generic/networking/netcon/group" />
+	<unit unitID="001" name="te_mobileiptosimpleipfallback" bldFile="common/generic/networking/netcon/te_mobileiptosimpleipfallback/group" />
+	<unit unitID="001" name="nslookup" bldFile="Common/Generic/networking/nslookup/group" />
+	<unit unitID="001" name="nullagt" bldFile="common/generic/networking/nullagt/group" />
+	<unit unitID="001" name="TS_nullagt" bldFile="common/generic/networking/nullagt/TS_nullagt/group" />
+	<unit unitID="001" name="packetlogger" bldFile="common/generic/networking/packetlogger/group" />
+	<unit unitID="001" name="pfqoslib" bldFile="common/generic/networking/pfqoslib/group" />
+	<unit unitID="001" name="ping" bldFile="common/generic/networking/ping/group" />
+	<unit unitID="001" name="data" bldFile="common/generic/networking/ppp/data" />
+	<unit unitID="001" name="ppp" bldFile="common/generic/networking/ppp/group" />
+	<unit unitID="001" name="dummyppp" bldFile="common/generic/networking/ppp/te_ppp/dummyppp/group" />
+	<unit unitID="001" name="te_incoming_ppp" bldFile="common/generic/networking/ppp/te_ppp/te_incoming_ppp/group" />
+	<unit unitID="001" name="te_pppcomp" bldFile="common/generic/networking/ppp/te_ppp/te_pppcomp/group" />
+	<unit unitID="001" name="te_vjcomp" bldFile="common/generic/networking/ppp/te_ppp/te_vjcomp/group" />
+	<unit unitID="001" name="TS_dummyppp" bldFile="common/generic/networking/ppp/te_ppp/TS_dummyppp/group" />
+	<unit unitID="001" name="data" bldFile="common/generic/networking/ppp/version1/data" />
+	<unit unitID="001" name="version1" bldFile="common/generic/networking/ppp/version1/group" />
+	<unit unitID="001" name="dummyppp" bldFile="common/generic/networking/ppp/version1/te_ppp/dummyppp/group" />
+	<unit unitID="001" name="te_incoming_ppp" bldFile="common/generic/networking/ppp/version1/te_ppp/te_incoming_ppp/group" />
+	<unit unitID="001" name="te_pppcomp" bldFile="common/generic/networking/ppp/version1/te_ppp/te_pppcomp/group" />
+	<unit unitID="001" name="te_vjcomp" bldFile="common/generic/networking/ppp/version1/te_ppp/te_vjcomp/group" />
+	<unit unitID="001" name="TS_dummyppp" bldFile="common/generic/networking/ppp/version1/te_ppp/TS_dummyppp/group" />
+	<unit unitID="001" name="predcomp" bldFile="common/generic/networking/predcomp/group" />
+	<unit unitID="001" name="probe" bldFile="common/generic/networking/probe/group" />
+	<unit unitID="001" name="psdagt" bldFile="common/generic/networking/psdagt/group" />
+	<unit unitID="001" name="data" bldFile="common/generic/networking/qos/data" />
+	<unit unitID="001" name="qos" bldFile="common/generic/networking/qos/group" />
+	<unit unitID="001" name="qosextnapi" bldFile="common/generic/networking/qosextnapi/group" />
+	<unit unitID="001" name="qoslib" bldFile="common/generic/networking/qoslib/group" />
+	<unit unitID="001" name="rawipnif" bldFile="common/generic/networking/rawipnif/group" />
+	<unit unitID="001" name="version1" bldFile="common/generic/networking/rawipnif/version1/group" />
+	<unit unitID="001" name="sblpapi" bldFile="common/generic/networking/sblpapi/group" />
+	<unit unitID="001" name="slip" bldFile="common/generic/networking/slip/group" />
+	<unit unitID="001" name="sockbench" bldFile="common/generic/networking/sockbench/group" />
+	<unit unitID="001" name="spud" bldFile="common/generic/networking/spud/group" />
+	<unit unitID="001" name="te_spudNetworkSide" bldFile="common/generic/networking/spud/te_spudNetworkSide/group" />
+	<unit unitID="001" name="te_spudRSubConn" bldFile="common/generic/networking/spud/te_spudRSubConn/group" />
+	<unit unitID="001" name="staccomp" bldFile="common/generic/networking/staccomp/group" />
+	<unit unitID="001" name="data" bldFile="common/generic/networking/tcpip6/data" />
+	<unit unitID="001" name="tcpip6" bldFile="common/generic/networking/tcpip6/group" />
+	<unit unitID="001" name="telnet_e" bldFile="common/generic/networking/telnet_e/group" />
+	<unit unitID="001" name="tls" bldFile="common/generic/networking/tls/group" />
+	<unit unitID="001" name="tunnelnif" bldFile="common/generic/networking/tunnelnif/group" />
+	<unit unitID="001" name="version1" bldFile="common/generic/networking/tunnelnif/version1/group" />
+	<unit unitID="001" name="udpecho" bldFile="common/generic/networking/udpecho/group" />
+	<unit unitID="001" name="udpsend" bldFile="common/generic/networking/udpsend/group" />
+	<unit unitID="001" name="pdp" bldFile="common/generic/networking/umts/pdp/group" />
+	<unit unitID="001" name="qos3gpp" bldFile="common/generic/networking/umts/qos3gpp/group" />
+	<unit unitID="001" name="qosipscpr" bldFile="common/generic/networking/umts/qosipscpr/group" />
+	<unit unitID="001" name="ipscpr" bldFile="common/generic/networking/umts/version1/ipscpr/group" />
+	<unit unitID="001" name="referencescpr" bldFile="common/generic/networking/umts/version1/referencescpr/group" />
+	<unit unitID="001" name="umtsgprsscpr" bldFile="common/generic/networking/umts/version1/umtsgprsscpr/group" />
+	<unit unitID="001" name="umtsapi" bldFile="common/generic/networking/umtsapi/group" />
+	<unit unitID="001" name="umtsif" bldFile="common/generic/networking/umtsif/group" />
+	<unit unitID="001" name="webserver" bldFile="common/generic/networking/webserver/group" />
+	<unit unitID="001" name="obex" bldFile="common/generic/obex" />
+	<unit unitID="001" name="obex" bldFile="common/generic/obex/group" />
+	<unit unitID="001" name="obex" bldFile="common/generic/obex/obex/group" />
+	<unit unitID="001" name="obexbttransport" bldFile="common/generic/obex/obexbttransport/group" />
+	<unit unitID="001" name="obexextensionapis" bldFile="common/generic/obex/obexextensionapis/group" />
+	<unit unitID="001" name="obexirdatransport" bldFile="common/generic/obex/obexirdatransport/group" />
+	<unit unitID="001" name="obextransport" bldFile="common/generic/obex/obextransport/group" />
+	<unit unitID="001" name="obexusbtransport" bldFile="common/generic/obex/obexusbtransport/group" />
+	<unit unitID="001" name="obexwin32usbtransport" bldFile="common/generic/obex/obexwin32usbtransport/group" />
+	<unit unitID="001" name="backend" bldFile="common/generic/openenv/core/backend/group" />
+	<unit unitID="001" name="ipcserver" bldFile="common/generic/openenv/core/backend/ipcserver/group" />
+	<unit unitID="001" name="ipccli" bldFile="common/generic/openenv/core/backend/ipcserver/ipccli/group" />
+	<unit unitID="001" name="ipcsrv" bldFile="common/generic/openenv/core/backend/ipcserver/ipcsrv/group" />
+	<unit unitID="001" name="ewsd" bldFile="common/generic/openenv/core/ewsd/group" />
+	<unit unitID="001" name="core" bldFile="common/generic/openenv/core/group" />
+	<unit unitID="001" name="libc" bldFile="common/generic/openenv/core/libc/group" />
+	<unit unitID="001" name="libdl" bldFile="common/generic/openenv/core/libdl/group" />
+	<unit unitID="001" name="liblogger" bldFile="common/generic/openenv/core/liblogger/group" />
+	<unit unitID="001" name="libm" bldFile="common/generic/openenv/core/libm/group" />
+	<unit unitID="001" name="libpthread" bldFile="common/generic/openenv/core/libpthread/group" />
+	<unit unitID="001" name="authserver" bldFile="common/generic/security/authserver/group" />
+	<unit unitID="001" name="security" bldFile="common/generic/security" />
+	<unit unitID="001" name="certman" bldFile="common/generic/security/certman/group" />
+	<unit unitID="001" name="common" bldFile="common/generic/security/common/group" />
+	<unit unitID="001" name="crypto" bldFile="common/generic/security/crypto/group" />
+	<unit unitID="001" name="strong" bldFile="common/generic/security/crypto/strong" />
+	<unit unitID="001" name="cryptospi" bldFile="common/generic/security/cryptospi/group" />
+	<unit unitID="001" name="strong" bldFile="common/generic/security/cryptospi/strong" />
+	<unit unitID="001" name="cryptotokens" bldFile="common/generic/security/cryptotokens/group" />
+	<unit unitID="001" name="filetokens" bldFile="common/generic/security/filetokens/group" />
+	<unit unitID="001" name="JavaMIDletInstaller" bldFile="common/generic/security/JavaMIDletInstaller/group" />
+	<unit unitID="001" name="winsignmidlet" bldFile="common/generic/security/JavaMIDletInstaller/source/winsignmidlet" />
+	<unit unitID="001" name="makekeys" bldFile="common/generic/security/makekeys/group" />
+	<unit unitID="001" name="securityconfig" bldFile="common/generic/security/securityconfig/group" />
+	<unit unitID="001" name="SISInstaller" bldFile="common/generic/security/SISInstaller/group" />
+	<unit unitID="001" name="swi" bldFile="common/generic/security/swi/group" />
+	<unit unitID="001" name="tlsprovider" bldFile="common/generic/security/tlsprovider/group" />
+	<unit unitID="001" name="data" bldFile="common/generic/ser-comms/c32/data" />
+	<unit unitID="001" name="c32" bldFile="common/generic/ser-comms/c32/group" />
+	<unit unitID="001" name="usb" bldFile="common/generic/ser-comms/usb" />
+	<unit unitID="001" name="acmserver" bldFile="common/generic/ser-comms/usb/csy/acmserver/group" />
+	<unit unitID="001" name="csy" bldFile="common/generic/ser-comms/usb/csy/group" />
+	<unit unitID="001" name="usb" bldFile="common/generic/ser-comms/usb/group" />
+	<unit unitID="001" name="logger" bldFile="common/generic/ser-comms/usb/logger/group" />
+	<unit unitID="001" name="mscc" bldFile="common/generic/ser-comms/usb/mscc/group" />
+	<unit unitID="001" name="usbman" bldFile="common/generic/ser-comms/usb/usbman/group" />
+	<unit unitID="001" name="DBA" bldFile="common/generic/SyncML/DataSync/DBA/group" />
+	<unit unitID="001" name="DataSync" bldFile="Common/Generic/SyncML/DataSync/Group" />
+	<unit unitID="001" name="HostServers" bldFile="common/generic/syncml/DataSync/HostServers/group" />
+	<unit unitID="001" name="PushMsgParsing" bldFile="Common/Generic/SyncML/DataSync/PushMsgParsing" />
+	<unit unitID="001" name="ServerDataProvider" bldFile="common/generic/syncml/DataSync/ServerDataProvider/group" />
+	<unit unitID="001" name="SyncEngine" bldFile="Common/Generic/SyncML/DataSync/SyncEngine" />
+	<unit unitID="001" name="DevMan" bldFile="Common/Generic/SyncML/DevMan/group" />
+	<unit unitID="001" name="PushMsgParsing" bldFile="Common/Generic/SyncML/DevMan/PushMsgParsing" />
+	<unit unitID="001" name="SyncAgent" bldFile="Common/Generic/SyncML/DevMan/SyncAgent" />
+	<unit unitID="001" name="SyncEngine" bldFile="Common/Generic/SyncML/DevMan/SyncEngine" />
+	<unit unitID="001" name="ClientAPI" bldFile="Common/Generic/SyncML/Framework/ClientAPI" />
+	<unit unitID="001" name="dataproviderregistry" bldFile="common/generic/SyncML/Framework/dataproviderregistry/group" />
+	<unit unitID="001" name="filter" bldFile="common/generic/SyncML/Framework/filter/group" />
+	<unit unitID="001" name="Framework" bldFile="Common/Generic/SyncML/Framework/Group" />
+	<unit unitID="001" name="Logger" bldFile="Common/Generic/SyncML/Framework/Logger" />
+	<unit unitID="001" name="Shared" bldFile="Common/Generic/SyncML/Framework/Shared" />
+	<unit unitID="001" name="SyncAgent" bldFile="Common/Generic/SyncML/Framework/SyncAgent" />
+	<unit unitID="001" name="SyncDataStore" bldFile="Common/Generic/SyncML/Framework/SyncDataStore" />
+	<unit unitID="001" name="SyncEngine" bldFile="Common/Generic/SyncML/Framework/SyncEngine" />
+	<unit unitID="001" name="TransportProvision" bldFile="Common/Generic/SyncML/Framework/TransportProvision" />
+	<unit unitID="001" name="SyncML" bldFile="Common/Generic/SyncML/Group" />
+	<unit unitID="001" name="stringpoolexample" bldFile="common/generic/syslibs/bafl/engineering/stringpoolexample" />
+	<unit unitID="001" name="bafl" bldFile="common/generic/syslibs/bafl/group" />
+	<unit unitID="001" name="initLocale" bldFile="common/generic/syslibs/bafl/initLocale/group" />
+	<unit unitID="001" name="caf2" bldFile="common/generic/syslibs/caf2/group" />
+	<unit unitID="001" name="reccafconfig" bldFile="common/generic/syslibs/caf2/reccafconfig" />
+	<unit unitID="001" name="centralrepository" bldFile="common/generic/syslibs/centralrepository/group" />
+	<unit unitID="001" name="ongoing" bldFile="common/generic/syslibs/charconv/ongoing/group" />
+	<unit unitID="001" name="esql" bldFile="common/generic/syslibs/dbms/esql/group" />
+	<unit unitID="001" name="dbms" bldFile="common/generic/syslibs/dbms/group" />
+	<unit unitID="001" name="ongoing" bldFile="common/generic/syslibs/ecom/ongoing/Group" />
+	<unit unitID="001" name="EcomSvrIniWriter" bldFile="common/generic/syslibs/ecom/ongoing/Tools/EcomSvrIniWriter" />
+	<unit unitID="001" name="Template" bldFile="common/generic/syslibs/ecom/ongoing/Unsupported/Tools/MsDev/Wizard/EComPluginWiz/Template" />
+	<unit unitID="001" name="ezlib" bldFile="common/generic/syslibs/ezlib/group" />
+	<unit unitID="001" name="FATCharsetConv" bldFile="common/generic/syslibs/FATCharsetConv/group" />
+	<unit unitID="001" name="featreg" bldFile="common/generic/syslibs/featreg/group" />
+	<unit unitID="001" name="ongoing" bldFile="common/generic/syslibs/logeng/ongoing/group" />
+	<unit unitID="001" name="pwrcli" bldFile="common/generic/syslibs/pwrcli/group" />
+	<unit unitID="001" name="ongoing" bldFile="common/generic/syslibs/schsvr/ongoing/group" />
+	<unit unitID="001" name="SQL" bldFile="common/generic/syslibs/SQL/GROUP" />
+	<unit unitID="001" name="stdlib" bldFile="common/generic/syslibs/stdlib/group" />
+	<unit unitID="001" name="store" bldFile="common/generic/syslibs/store/group" />
+	<unit unitID="001" name="SysAgent2" bldFile="common/generic/syslibs/SysAgent2/group" />
+	<unit unitID="001" name="xml" bldFile="common/generic/syslibs/xml/group" />
+	<unit unitID="001" name="cdmatsy" bldFile="common/generic/telephony/cdmatsy/group" />
+	<unit unitID="001" name="dial" bldFile="common/generic/telephony/dial/group" />
+	<unit unitID="001" name="DATA" bldFile="common/generic/telephony/etel/DATA" />
+	<unit unitID="001" name="playback" bldFile="common/generic/telephony/etel/EtelRecorder/playback/group" />
+	<unit unitID="001" name="etel" bldFile="common/generic/telephony/etel/group" />
+	<unit unitID="001" name="ExampleApps" bldFile="common/generic/telephony/ETel3rdParty/ExampleApps/Group" />
+	<unit unitID="001" name="ETel3rdParty" bldFile="common/generic/telephony/ETel3rdParty/Group" />
+	<unit unitID="001" name="etelcdma" bldFile="common/generic/telephony/etelcdma/group" />
+	<unit unitID="001" name="etelmm" bldFile="common/generic/telephony/etelmm/group" />
+	<unit unitID="001" name="etelpckt" bldFile="common/generic/telephony/etelpckt/group" />
+	<unit unitID="001" name="etelsat" bldFile="common/generic/telephony/etelsat/group" />
+	<unit unitID="001" name="FAX" bldFile="common/generic/telephony/FAX/Group" />
+	<unit unitID="001" name="mmtsy" bldFile="common/generic/telephony/mmtsy/group" />
+	<unit unitID="001" name="phbksync" bldFile="common/generic/telephony/phbksync/group" />
+	<unit unitID="001" name="simtsy" bldFile="common/generic/telephony/simtsy/group" />
+	<unit unitID="001" name="trpagt" bldFile="common/generic/telephony/trp/agt/trpagt/group" />
+	<unit unitID="001" name="csy27010" bldFile="common/generic/telephony/trp/csy/csy27010/group" />
+	<unit unitID="001" name="at" bldFile="common/generic/telephony/trp/group/at" />
+	<unit unitID="001" name="trp" bldFile="common/generic/telephony/trp/group" />
+	<unit unitID="001" name="stubbed" bldFile="common/generic/telephony/trp/group/stubbed" />
+	<unit unitID="001" name="rawipnif" bldFile="common/generic/telephony/trp/nif/rawipnif/group" />
+	<unit unitID="001" name="at" bldFile="common/generic/telephony/trp/tsy/group/at" />
+	<unit unitID="001" name="icera" bldFile="common/generic/telephony/trp/tsy/group/icera" />
+	<unit unitID="001" name="stubbed" bldFile="common/generic/telephony/trp/tsy/group/stubbed" />
+	<unit unitID="001" name="Watchers" bldFile="common/generic/telephony/Watchers/group" />
+	<unit unitID="001" name="bspbuilder" bldFile="common/generic/tools/bspbuilder/group" />
+	<unit unitID="001" name="build" bldFile="common/generic/tools/build/group" />
+	<unit unitID="001" name="dummy" bldFile="common/generic/tools/cbr/dummy" />
+	<unit unitID="001" name="prf" bldFile="common/generic/tools/cbr/prf/group" />
+	<unit unitID="001" name="HelloWorld" bldFile="common/generic/tools/cbr/tools/docs/Example/HelloWorld/group" />
+	<unit unitID="001" name="tools" bldFile="common/generic/tools/cbr/tools/group" />
+	<unit unitID="001" name="cinidata" bldFile="common/generic/tools/cinidata" />
+	<unit unitID="001" name="te_CInidata" bldFile="common/generic/tools/cinidata/te_CInidata/group" />
+	<unit unitID="001" name="ProductInstaller" bldFile="common/generic/tools/custkits/ProductInstaller/group" />
+	<unit unitID="001" name="depcheck" bldFile="common/generic/tools/depcheck" />
+	<unit unitID="001" name="DepModel" bldFile="common/generic/tools/DepModel/group" />
+	<unit unitID="001" name="KitSetupApp" bldFile="common/generic/tools/devkits/KitSetupApp/group" />
+	<unit unitID="001" name="evalid" bldFile="common/generic/tools/host_utilities/evalid" />
+	<unit unitID="001" name="rcomp" bldFile="common/generic/tools/rcomp/group" />
+	<unit unitID="001" name="redistribution" bldFile="common/generic/tools/redistribution" />
+	<unit unitID="001" name="s60_header_compat" bldFile="common/generic/tools/s60_header_compat/group" />
+	<unit unitID="001" name="isc" bldFile="common/generic/tools/s60_header_compat/isc" />
+	<unit unitID="001" name="alp2csh" bldFile="common/generic/tools/sdk_eng/alp2csh/group" />
+	<unit unitID="001" name="assertion" bldFile="common/generic/tools/sdk_eng/assertion/group" />
+	<unit unitID="001" name="build-tools" bldFile="common/generic/tools/sdk_eng/build-tools/group" />
+	<unit unitID="001" name="cjpeg" bldFile="common/generic/tools/sdk_eng/cjpeg/group" />
+	<unit unitID="001" name="cshlpcmp_backend" bldFile="common/generic/tools/sdk_eng/cshlpcmp_backend/group" />
+	<unit unitID="001" name="cshlpcmp_frontend" bldFile="common/generic/tools/sdk_eng/cshlpcmp_frontend/group" />
+	<unit unitID="001" name="cshlpcmp_gui" bldFile="common/generic/tools/sdk_eng/cshlpcmp_gui/group" />
+	<unit unitID="001" name="cwplugins" bldFile="common/generic/tools/sdk_eng/cwplugins/group" />
+	<unit unitID="001" name="emulator_launcher" bldFile="common/generic/tools/sdk_eng/emulator_launcher/group" />
+	<unit unitID="001" name="enum" bldFile="common/generic/tools/sdk_eng/enum/group" />
+	<unit unitID="001" name="envvar" bldFile="common/generic/tools/sdk_eng/envvar/group" />
+	<unit unitID="001" name="filesys" bldFile="common/generic/tools/sdk_eng/filesys/group" />
+	<unit unitID="001" name="InstallUtils" bldFile="common/generic/tools/sdk_eng/InstallUtils/group" />
+	<unit unitID="001" name="jade" bldFile="common/generic/tools/sdk_eng/jade/group" />
+	<unit unitID="001" name="javahelp" bldFile="common/generic/tools/sdk_eng/javahelp/group" />
+	<unit unitID="001" name="javalibrary" bldFile="common/generic/tools/sdk_eng/javalibrary/group" />
+	<unit unitID="001" name="langconfig" bldFile="common/generic/tools/sdk_eng/langconfig/group" />
+	<unit unitID="001" name="launch" bldFile="common/generic/tools/sdk_eng/launch/group" />
+	<unit unitID="001" name="logger" bldFile="common/generic/tools/sdk_eng/logger/group" />
+	<unit unitID="001" name="mbmcodec" bldFile="common/generic/tools/sdk_eng/mbmcodec/group" />
+	<unit unitID="001" name="mnemonicfix" bldFile="common/generic/tools/sdk_eng/mnemonicfix/group" />
+	<unit unitID="001" name="pathbrowser" bldFile="common/generic/tools/sdk_eng/pathbrowser/group" />
+	<unit unitID="001" name="perl_shared" bldFile="common/generic/tools/sdk_eng/perl_shared/group" />
+	<unit unitID="001" name="perllibrary" bldFile="common/generic/tools/sdk_eng/perllibrary/group" />
+	<unit unitID="001" name="pkgmgrgui" bldFile="common/generic/tools/sdk_eng/pkgmgrgui/group" />
+	<unit unitID="001" name="rtf2ptml" bldFile="common/generic/tools/sdk_eng/rtf2ptml/group" />
+	<unit unitID="001" name="runperl" bldFile="common/generic/tools/sdk_eng/runperl/group" />
+	<unit unitID="001" name="SDK_Builder" bldFile="common/generic/tools/sdk_eng/SDK_Builder/group" />
+	<unit unitID="001" name="sdkinfo" bldFile="common/generic/tools/sdk_eng/sdkinfo/group" />
+	<unit unitID="001" name="sdkpkg-manager" bldFile="common/generic/tools/sdk_eng/sdkpkg-manager/group" />
+	<unit unitID="001" name="sdkpkg-tools" bldFile="common/generic/tools/sdk_eng/sdkpkg-tools/group" />
+	<unit unitID="001" name="shellexec" bldFile="common/generic/tools/sdk_eng/shellexec/group" />
+	<unit unitID="001" name="sisar" bldFile="common/generic/tools/sdk_eng/sisar/group" />
+	<unit unitID="001" name="splash" bldFile="common/generic/tools/sdk_eng/splash/group" />
+	<unit unitID="001" name="swingworker" bldFile="common/generic/tools/sdk_eng/swingworker/group" />
+	<unit unitID="001" name="toolbarpanel" bldFile="common/generic/tools/sdk_eng/toolbarpanel/group" />
+	<unit unitID="001" name="tools_stubs" bldFile="common/generic/tools/sdk_eng/tools_stubs/group" />
+	<unit unitID="001" name="stlport" bldFile="common/generic/tools/stlport/group" />
+	<unit unitID="001" name="wapbase" bldFile="common/generic/wap-browser/wapbase/Group" />
+	<unit unitID="001" name="wapplugins" bldFile="common/generic/wap-browser/wapplugins/Group" />
+	<unit unitID="001" name="PushAppHandlerEx" bldFile="common/generic/wap-browser/wappush/examples/PushAppHandlerEx" />
+	<unit unitID="001" name="wappush" bldFile="common/generic/wap-browser/wappush/group" />
+	<unit unitID="001" name="MiscPushMsgUtils" bldFile="common/generic/wap-browser/wappush/MiscPushMsgUtils/group" />
+	<unit unitID="001" name="plugins" bldFile="common/generic/wap-browser/wappush/plugins/group" />
+	<unit unitID="001" name="WapUriLookup" bldFile="common/generic/wap-browser/wappush/plugins/WapUriLookup/group" />
+	<unit unitID="001" name="PushMsgEntry" bldFile="common/generic/wap-browser/wappush/PushMsgEntry/group" />
+	<unit unitID="001" name="pushmtm" bldFile="common/generic/wap-browser/wappush/pushmtm/group" />
+	<unit unitID="001" name="pushutils" bldFile="common/generic/wap-browser/wappush/pushutils/group" />
+	<unit unitID="001" name="pushwatcher" bldFile="common/generic/wap-browser/wappush/pushwatcher/group" />
+	<unit unitID="001" name="ROAPTContentHandler" bldFile="common/generic/wap-browser/wappush/ROAPTContentHandler/group" />
+	<unit unitID="001" name="ROContentHandler" bldFile="common/generic/wap-browser/wappush/ROContentHandler/group" />
+	<unit unitID="001" name="rom" bldFile="common/generic/wap-browser/wappush/rom" />
+	<unit unitID="001" name="SISLContentHandlers" bldFile="common/generic/wap-browser/wappush/SISLContentHandlers/group" />
+	<unit unitID="001" name="SISLPushMsgUtils" bldFile="common/generic/wap-browser/wappush/SISLPushMsgUtils/group" />
+	<unit unitID="001" name="tpush" bldFile="common/generic/wap-browser/wappush/tpush" />
+	<unit unitID="001" name="tpushscriptbased" bldFile="common/generic/wap-browser/wappush/tpushscriptbased" />
+	<unit unitID="001" name="WapPushSupport" bldFile="common/generic/wap-browser/WapPushSupport/Group" />
+	<unit unitID="001" name="wapmessage" bldFile="common/generic/wap-stack/wapmessage/group" />
+	<unit unitID="001" name="wapstack" bldFile="common/generic/wap-stack/wapstack/group" />
+	<unit unitID="001" name="possock" bldFile="common/generic/wap-stack/wapstack/rb-wps/possock/group" />
+	<unit unitID="001" name="wapstdlib" bldFile="common/generic/wap-stack/wapstack/rb-wps/wapstdlib/group" />
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/allexport2.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,389 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  <systemModel>
+    <layer name="common">
+      <module name="allexports">
+        <component name="envelope">
+	<unit unitID='BUILDSYSTEMTOOLS' name='tools_build' bldFile='common/generic/tools/build/group' />
+	<unit unitID='CBRTOOLS' name='tools_cbr_tools' bldFile='common/generic/tools/cbr/tools/Group' />
+	<unit unitID='CBRPRF' name='tools_cbr_prf' bldFile='common/generic/tools/cbr/prf/group' />
+	<unit unitID='DEPCHECK' name='tools_depcheck' bldFile='common/generic/tools/depcheck' />
+	<unit unitID='DEPMODEL' name='tools_depmodel' bldFile='common/generic/tools/depmodel/group' />
+	<unit unitID='E32TOOLS_EKA2' name='tools_e32tools' bldFile='cedar/generic/TOOLS/E32Tools/GROUP' />
+	<unit unitID='EVALID' name='tools_evalid' bldFile='common/generic/tools/host_utilities/evalid' />
+	<unit unitID='RCOMP' name='tools_rcomp' bldFile='common/generic/TOOLS/RCOMP/GROUP' />
+	<unit unitID='REDISTRIBUTION' name='tools_redistribution_common' bldFile='common/generic/TOOLS/REDISTRIBUTION' />
+	<unit unitID='ROMKIT_EKA2' name='tools_romkit' bldFile='cedar/generic/TOOLS/ROMKIT/GROUP' />
+	<!-- not including <unit unitID='s60headercompat' name='tools_s60_header_compat' bldFile='common/generic/tools/s60_header_compat/group' /> -->
+	<unit unitID='BLUETOOTH_LOGGER' name='bluetooth_logger' bldFile='common/generic/bluetooth/latest/bluetooth/logger/group' />
+	<unit unitID='CINIDATA' name='tools_cinidata' bldFile='common/generic/TOOLS/CINIDATA' />
+	<unit unitID='AUTOTEST' name='tools_autotest' bldFile='common/generic/TOOLS/AUTOTEST/GROUP' />
+	<unit unitID='TESTCONFIGFILEPARSER' name='tools_testconfigfileparser' bldFile='common/generic/TOOLS/testconfigfileparser/GROUP' />
+	<unit unitID='KITSETUPAPP' name='tools_devkits_kitsetupapp' bldFile='common/generic/TOOLS/DevKits/KitSetupApp/group' />
+	<unit unitID='PRODUCTINSTALLER' name='tools_custkits_productinstaller' bldFile='common/generic/TOOLS/Custkits/ProductInstaller/group' />
+	<unit unitID='REDISTRIBUTION_WINC_EKA2' name='tools_redistribution_cedar' bldFile='cedar/generic/tools/redistribution' />
+	<unit unitID='MAKEKEYS' name='security_makekeys' bldFile='common/generic/SECURITY/MakeKeys/GROUP' />
+	<unit unitID='PACKETLOOPBACKCSY' name='PacketLoopbackCSY' bldFile='common/generic/networking/test/PacketLoopbackCSY/group' />
+	<unit unitID='STLPORT' name='tools_stlport' bldFile='common/generic/tools/stlport/group' />
+	<unit unitID='RUNPERL' name='tools_sdk_eng_runperl' bldFile='common/generic/TOOLS/SDK_ENG/RUNPERL/GROUP' />
+	<unit unitID='BUILD-TOOLS' name='tools_sdk_eng_build-tools' bldFile='common/generic/TOOLS/SDK_ENG/BUILD-TOOLS/GROUP' />
+	<unit unitID='JAVALIBRARY' name='tools_sdk_eng_javalibrary' bldFile='common/generic/TOOLS/SDK_ENG/JAVALIBRARY/GROUP' />
+	<unit unitID='ASSERTION' name='tools_sdk_eng_assertion' bldFile='common/generic/TOOLS/SDK_ENG/ASSERTION/GROUP' />
+	<unit unitID='ENUM' name='tools_sdk_eng_enum' bldFile='common/generic/TOOLS/SDK_ENG/ENUM/GROUP' />
+	<unit unitID='LOGGER' name='tools_sdk_eng_logger' bldFile='common/generic/TOOLS/SDK_ENG/LOGGER/GROUP' />
+	<unit unitID='FILESYS' name='tools_sdk_eng_filesys' bldFile='common/generic/TOOLS/SDK_ENG/FILESYS/GROUP' />
+	<unit unitID='ENVVAR' name='tools_sdk_eng_envvar' bldFile='common/generic/TOOLS/SDK_ENG/ENVVAR/GROUP' />
+	<unit unitID='INSTALLUTILS' name='tools_sdk_eng_installutils' bldFile='common/generic/TOOLS/SDK_ENG/INSTALLUTILS/GROUP' />
+	<unit unitID='MNEMONICFIX' name='tools_sdk_eng_mnemonicfix' bldFile='common/generic/TOOLS/SDK_ENG/MNEMONICFIX/GROUP' />
+	<unit unitID='PATHBROWSER' name='tools_sdk_eng_pathbrowser' bldFile='common/generic/TOOLS/SDK_ENG/PATHBROWSER/GROUP' />
+	<unit unitID='SHELLEXEC' name='tools_sdk_eng_shellexec' bldFile='common/generic/TOOLS/SDK_ENG/SHELLEXEC/GROUP' />
+	<unit unitID='SWINGWORKER' name='tools_sdk_eng_swingworker' bldFile='common/generic/TOOLS/SDK_ENG/SWINGWORKER/GROUP' />
+	<unit unitID='TESTCASERUNNER' name='tools_sdk_eng_testcaserunner' bldFile='common/generic/TOOLS/SDK_ENG/TESTCASERUNNER/GROUP' />
+	<unit unitID='TOOLBARPANEL' name='tools_sdk_eng_toolbarpanel' bldFile='common/generic/TOOLS/SDK_ENG/TOOLBARPANEL/GROUP' />
+	<unit unitID='JAVAHELP' name='tools_sdk_eng_javahelp' bldFile='common/generic/TOOLS/SDK_ENG/JAVAHELP/GROUP' />
+	<unit unitID='LANGCONFIG' name='tools_sdk_eng_langconfig' bldFile='common/generic/TOOLS/SDK_ENG/LANGCONFIG/GROUP' />
+	<unit unitID='MBMCODEC' name='tools_sdk_eng_mbmcodec' bldFile='common/generic/TOOLS/SDK_ENG/MBMCODEC/GROUP' />
+	<unit unitID='SDKINFO' name='tools_sdk_eng_sdkinfo' bldFile='common/generic/TOOLS/SDK_ENG/SDKINFO/GROUP' />
+	<unit unitID='JADE' name='tools_sdk_eng_jade' bldFile='common/generic/TOOLS/SDK_ENG/JADE/GROUP' />
+	<unit unitID='CSHLPCMP_GUI' name='tools_sdk_eng_cshlpcmp_gui' bldFile='common/generic/TOOLS/SDK_ENG/CSHLPCMP_GUI/GROUP' />
+	<unit unitID='SISAR' name='tools_sdk_eng_sisar' bldFile='common/generic/TOOLS/SDK_ENG/SISAR/GROUP' />
+	<unit unitID='SDKPKG-MANAGER' name='tools_sdk_eng_sdkpkg-manager' bldFile='common/generic/TOOLS/SDK_ENG/SDKPKG-MANAGER/GROUP' />
+	<unit unitID='SDKPKG-TOOLS' name='tools_sdk_eng_sdkpkg-tools' bldFile='common/generic/TOOLS/SDK_ENG/SDKPKG-TOOLS/GROUP' />
+	<unit unitID='EMULATOR_LAUNCHER' name='tools_sdk_eng_emulator_launcher' bldFile='common/generic/TOOLS/SDK_ENG/EMULATOR_LAUNCHER/GROUP' />
+	<unit unitID='PKGMGRGUI' name='tools_sdk_eng_pkgmgrgui' bldFile='common/generic/TOOLS/SDK_ENG/PKGMGRGUI/GROUP' />
+	<unit unitID='LAUNCH' name='tools_sdk_eng_launch' bldFile='common/generic/TOOLS/SDK_ENG/LAUNCH/GROUP' />
+	<unit unitID='TOOLS_STUBS' name='tools_sdk_eng_tools_stubs' bldFile='common/generic/TOOLS/SDK_ENG/TOOLS_STUBS/GROUP' />
+	<unit unitID='CWPLUGINS' name='tools_sdk_eng_cwplugins' bldFile='common/generic/TOOLS/SDK_ENG/CWPLUGINS/GROUP' />
+	<unit unitID='BSPBUILDER' name='tools_bspbuilder' bldFile='common/generic/TOOLS/BSPBUILDER/GROUP' />
+	<unit unitID='ALP2CSH' name='tools_sdk_eng_alp2csh' bldFile='common/generic/TOOLS/SDK_ENG/ALP2CSH/GROUP' />
+	<unit unitID='CJPEG' name='tools_sdk_eng_cjpeg' bldFile='common/generic/TOOLS/SDK_ENG/CJPEG/GROUP' />
+	<unit unitID='CSHLPCMP_FRONTEND' name='tools_sdk_eng_cshlpcmp_frontend' bldFile='common/generic/TOOLS/SDK_ENG/CSHLPCMP_FRONTEND/GROUP' />
+	<unit unitID='PERLLIBRARY' name='tools_sdk_eng_perllibrary' bldFile='common/generic/TOOLS/SDK_ENG/PERLLIBRARY/GROUP' />
+	<unit unitID='PERLSHARED' name='tools_sdk_eng_perl_shared' bldFile='common/generic/tools/sdk_eng/perl_shared/group' />
+	<unit unitID='RTF2PTML' name='tools_sdk_eng_rtf2ptml' bldFile='common/generic/TOOLS/SDK_ENG/RTF2PTML/GROUP' />
+	<unit unitID='SPLASH' name='tools_sdk_eng_splash' bldFile='common/generic/TOOLS/SDK_ENG/SPLASH/GROUP' />
+	<unit unitID='SDK_BUILDER' name='tools_sdk_eng_sdk_builder' bldFile='common/generic/TOOLS/sdk_eng/sdk_builder/GROUP' />
+<!--	<unit unitID='WINS_VARIANT_EKA2' name='base_wins' bldFile='cedar/generic/base/wins' /> -->
+	<unit unitID='LUBBOCK_EKA2' name='base_lubbock' bldFile='cedar/generic/BASE/LUBBOCK' />
+	<unit unitID='OMAP_H2' name='base_omaph2' bldFile='cedar/generic/base/omap/h2' />
+	<unit unitID='BASE_H2_UNISTORE2' name='base_h2_unistore2' bldFile='cedar/generic/base/omap/h2_restricted/unistore2' />
+	<unit unitID='BASE_H2_SDIO' name='base_h2_sdio' bldFile='cedar/generic/base/omap/h2_restricted/sdio' />
+	<unit unitID='OMAPH4HRP' name='base_omaph4hrp' bldFile='cedar/generic/base/omap_hrp/h4' />
+	<unit unitID='H4BOOTLOADER' name='base_omaph4hrp_bootldr' bldFile='cedar/generic/base/omap_hrp/h4_bootloader' />
+	<unit unitID='H4MEBOOTLOADER' name='base_omaph4hrp_mebootldr' bldFile='cedar/generic/base/omap_hrp/h4_mebootloader' />
+	<unit unitID='OMAPH4HRP_UNISTORE2' name='base_omaph4hrp_unistore2' bldFile='cedar/generic/base/omap_hrp/h4_restricted/unistore2' />
+	<unit unitID='OMAPH4HRP_SDIO' name='base_omaph4hrp_sdio' bldFile='cedar/generic/base/omap_hrp/h4_restricted/sdio' />
+	<unit unitID='LMNAND2_LOGIC' name='base_integrator_logic_lmnand2' bldFile='cedar/generic/base/integrator/logic/lmnand2' />
+	<unit unitID='UNISTORE2_DRIVERS' name='base_drivers_unistore2' bldFile='cedar/generic/base/e32/drivers/unistore2' />
+	<unit unitID='UNISTORE2_CRASHFLASH' name='base_crashflash_unistore2' bldFile='cedar/generic/base/e32/drivers/crashflash/unistore2' />
+	<unit unitID='UNISTORE2_NANDBOOT' name='base_nandboot_unistore2' bldFile='cedar/generic/base/e32utils/nandboot/nandloader/unistore2' />
+	<unit unitID='SCREENDRIVER' name='graphics_screendriver' bldFile='common/generic/GRAPHICS/ScreenDriver/Group' />
+	<unit unitID='C32BCA' name='networking_c32bca' bldFile='common/generic/NETWORKING/BasebandAdaptation/c32bca/group' />
+	<unit unitID='E32_EKA2' name='base_e32' bldFile='cedar/generic/BASE/E32' />
+	<unit unitID='E32_COMPSUPP' name='base_e32_compsupp' bldFile='cedar/generic/BASE/E32/compsupp' />
+	<unit unitID='SDCARD3C' name='base_e32_sd3c' bldFile='cedar/generic/base/e32/drivers/pbus/mmc/sdcard/sdcard3c' />
+	<unit unitID='SDCARD4C' name='base_e32_sd4c' bldFile='cedar/generic/base/e32/drivers/pbus/mmc/sdcard/sdcard4c' />
+	<unit unitID='LOCE32_ONGOING' name='base_loce32' bldFile='common/generic/BASE/LOCE32/ongoing' />
+	<unit unitID='F32_EKA2' name='base_f32' bldFile='cedar/generic/BASE/F32/GROUP' />
+	<unit unitID='F32TEST_EKA2' name='base_f32test' bldFile='cedar/generic/BASE/F32TEST/GROUP' />
+	<unit unitID='FATCHARSETCONV' name='syslibs_FATCharsetConv' bldFile='common/generic/syslibs/FATCharsetConv/GROUP' />
+	<unit unitID='HAL_EKA2' name='base_hal' bldFile='cedar/generic/BASE/HAL' />
+	<unit unitID='SYSAGENT2' name='syslibs_sysagent2' bldFile='common/generic/SYSLIBS/SYSAGENT2/GROUP' />
+	<unit unitID='SCHSVR_ONGOING' name='syslibs_schsvr' bldFile='common/generic/SYSLIBS/SCHSVR/ongoing/GROUP' />
+	<unit unitID='AUTHSERVER' name='security_authserver' bldFile='common/generic/security/authserver/group' />
+	<unit unitID='SYSSTART' name='app-framework_sysstart' bldFile='common/generic/app-framework/sysstart/group' />
+	<unit unitID='EMIME' name='app-framework_emime' bldFile='common/generic/APP-FRAMEWORK/EMIME/GROUP' />
+	<unit unitID='EZLIB' name='syslibs_ezlib' bldFile='common/generic/SYSLIBS/EZLIB/GROUP' />
+	<unit unitID='SECURITYCOMMON' name='security_common' bldFile='common/generic/SECURITY/COMMON/GROUP' />
+	<unit unitID='SECURITYCONFIG' name='security_config' bldFile='common/generic/security/securityconfig/group' />
+	<unit unitID='CRYPTOGRAPHY' name='security_crypto_weak' bldFile='common/generic/SECURITY/CRYPTO/GROUP' />
+	<unit unitID='STRONG_CRYPTO' name='security_crypto_strong' bldFile='common/generic/security/crypto/strong' />
+	<unit unitID='CRYPTOGRAPHY' name='security_cryptospi' bldFile='common/generic/SECURITY/cryptospi/group' />
+	<unit unitID='STDLIB' name='syslibs_stdlib' bldFile='common/generic/SYSLIBS/STDLIB/GROUP' />
+	<unit unitID='OECORE' name='openenv' bldFile='common/generic/openenv/core/group' />
+	<unit unitID='FEATREG' name='syslibs_featreg' bldFile='common/generic/syslibs/featreg/group' />
+	<unit unitID='ECOM_ONGOING' name='syslibs_ecom' bldFile='common/generic/SYSLIBS/ECOM/ongoing/GROUP' />
+	<unit unitID='PWRCLI' name='syslibs_pwrcli' bldFile='common/generic/SYSLIBS/PWRCLI/GROUP' />
+	<unit unitID='DOMAIN' name='base_domain' bldFile='cedar/generic/base/domain/group' />
+	<unit unitID='BAFL' name='syslibs_bafl' bldFile='common/generic/SYSLIBS/BAFL/GROUP' />
+	<unit unitID='CHARCONV_ONGOING' name='syslibs_charconv' bldFile='common/generic/SYSLIBS/Charconv/Ongoing/GROUP' />
+	<unit unitID='LOGENGONGOING' name='syslibs_logeng' bldFile='common/generic/SYSLIBS/LOGENG/ONGOING/GROUP' />
+	<unit unitID='FLOGGER' name='comms-infras_flogger' bldFile='common/generic/COMMS-INFRAS/Flogger/GROUP' />
+	<unit unitID='COMMSDEBUGUTILITY' name='comms-infras_commsdebugutility' bldFile='common/generic/comms-infras/commsdebugutility/GROUP' />
+	<unit unitID='CAF2' name='syslibs_caf2' bldFile='common/generic/syslibs/CAF2/GROUP' />
+	<unit unitID='CAF2CONFIG' name='syslibs_reccafconfig' bldFile='common/generic/syslibs/caf2/reccafconfig' />
+	<unit unitID='XML' name='syslibs_xml' bldFile='common/generic/syslibs/xml/group' />
+	<unit unitID='STORE' name='syslibs_store' bldFile='common/generic/SYSLIBS/Store/GROUP' />
+	<unit unitID='DBMS' name='syslibs_dbms' bldFile='common/generic/SYSLIBS/DBMS/GROUP' />
+	<unit unitID='DBMSSQL' name='syslibs_dbmssql' bldFile='common/generic/syslibs/dbms/esql/group' />
+	<unit unitID='CENTRALREPOSITORY' name='syslibs_centralrepository' bldFile='common/generic/syslibs/centralrepository/group' />
+	<unit unitID='SQL' name='syslibs_sql' bldFile='common/generic/syslibs/sql/group' />
+	<unit unitID='ROOTSERVER' name='comms-infras_rootserver' bldFile='common/generic/comms-infras/rootserver/GROUP' />
+	<unit unitID='COMMDB_SHIM' name='Comms Database SHIM' bldFile='common/generic/COMMS-INFRAS/Commdb/GROUP' />
+	<unit unitID='COMMSDAT' name='comms-infras_commsdat' bldFile='common/generic/COMMS-INFRAS/Commsdat/GROUP' />
+	<unit unitID='DEFAULTCOMMDB' name='comms-infras_defaultcommdb' bldFile='common/generic/COMMS-INFRAS/Commsdat/defaultcommdb/GROUP' />
+	<unit unitID='INSTALLDEFAULTCOMMDB' name='comms-infras_installdefaultcommdb' bldFile='common/generic/COMMS-INFRAS/Commsdat/installdefaultcommdb/GROUP' />
+	<unit unitID='C32' name='ser-comms_c32' bldFile='common/generic/SER-COMMS/C32/GROUP' />
+	<unit unitID='C32-config' name='ser-comms_c32-config' bldFile='common/generic/ser-comms/c32/data' />
+	<!-- excluding <unit unitID='ESOCK' name='comms-infras_esock' bldFile='common/generic/COMMS-INFRAS/ESOCK/version2/GROUP' /> -->
+	<unit unitID='ESOCK399' name='comms-infras_esock' bldFile='common/generic/COMMS-INFRAS/ESOCK/GROUP' />
+	<unit unitID='NIFMAN' name='comms-infras_nifman' bldFile='common/generic/COMMS-INFRAS/NIFMAN/GROUP' />
+	<unit unitID='DIALOG' name='networking_dialog' bldFile='common/generic/NETWORKING/DIALOG/GROUP' />
+	<unit unitID='DIALOG_DEFAULT' name='networking_dialog_default' bldFile='common/generic/networking/dialog/default' />
+	<unit unitID='NETCON' name='networking_netcon' bldFile='common/generic/NETWORKING/NETCON/GROUP' />
+	<unit unitID='COMMSFW' name='comms-infras_commsfw' bldFile='common/generic/comms-infras/commsfw/GROUP' />
+	<unit unitID='ELEMENTS' name='comms-infras_elements' bldFile='common/generic/COMMS-INFRAS/elements/group' />
+	<unit unitID='MBUFMAN' name='comms-infras_mbufmgr' bldFile='common/generic/comms-infras/mbufmgr/GROUP' />
+	<unit unitID='BCA' name='networking_bca' bldFile='common/generic/NETWORKING/BasebandAdaptation/bca/group' />
+	<!-- not including <unit unitID='ISC' name='networking_isc' bldFile='common/generic/NETWORKING/BasebandAdaptation/isc/group' /> -->
+	<unit unitID='DIAL' name='telephony_dial' bldFile='common/generic/TELEPHONY/DIAL/GROUP' />
+	<unit unitID='TELEPHONY_WATCHERS' name='telephony_watchers' bldFile='common/generic/telephony/watchers/group' />
+	<unit unitID='ETEL' name='telephony_etel' bldFile='common/generic/TELEPHONY/ETEL/GROUP' />
+	<unit unitID='ETEL3RDPARTY' name='telephony_etel3rdparty' bldFile='common/generic/TELEPHONY/ETel3rdParty/GROUP' />
+	<unit unitID='ETELMM' name='telephony_etelmm' bldFile='common/generic/TELEPHONY/ETELMM/GROUP' />
+	<unit unitID='ETELPCKT' name='telephony_etelpckt' bldFile='common/generic/TELEPHONY/etelpckt/group' />
+	<unit unitID='ETELSAT' name='telephony_etelsat' bldFile='common/generic/TELEPHONY/ETELSAT/GROUP' />
+	<unit unitID='ETELCDMA' name='telephony_etelcdma' bldFile='common/generic/telephony/etelcdma/group' />
+	<unit unitID='SMSSTACKV2' name='nbprotocols_smsstackv2' bldFile='common/generic/NBPROTOCOLS/SMSSTACKV2/GROUP' />
+	<unit unitID='CDMASMSSTACK' name='nbprotocols_cdmasmsstack' bldFile='common/generic/NBPROTOCOLS/CDMASMSSTACK/GROUP' />
+	<unit unitID='MMTSY' name='telephony_mmtsy' bldFile='common/generic/TELEPHONY/mmtsy/group' />
+	<unit unitID='CDMATSY' name='telephony_cdmatsy' bldFile='common/generic/TELEPHONY/cdmatsy/group' />
+	<unit unitID='SIMTSY' name='telephony_simtsy' bldFile='common/generic/TELEPHONY/simtsy/group' />
+	<unit unitID='TRP' name='telephony_trp' bldFile='common/generic/telephony/trp/group' />
+	<unit unitID='DND' name='networking_dnd' bldFile='common/generic/NETWORKING/dnd/group' />
+	<unit unitID='DHCP' name='networking_dhcp' bldFile='common/generic/NETWORKING/dhcp/group' />
+	<unit unitID='INSOCK' name='networking_insock' bldFile='common/generic/NETWORKING/insock/group' />
+	<unit unitID='NETWORKING_GENERAL' name='networking_general' bldFile='common/generic/networking/General/group' />
+	<unit unitID='IPEVENTNOTIFIER' name='networking_ipeventnotifier' bldFile='common/generic/networking/ipeventnotifier/group' />
+	<unit unitID='TCPIP6' name='networking_tcpip6' bldFile='common/generic/NETWORKING/TCPIP6/GROUP' />
+	<unit unitID='NETWORKING_EXAMPLECODE' name='IP Hook Examples' bldFile='common/generic/NETWORKING/examplecode/GROUP' />
+	<unit unitID='INHOOK6' name='networking_inhook6' bldFile='common/generic/NETWORKING/inhook6/group' />
+	<unit unitID='QOS' name='networking_qos' bldFile='common/generic/NETWORKING/QOS/GROUP' />
+	<unit unitID='QOSLIB' name='networking_qoslib' bldFile='common/generic/NETWORKING/QOSLIB/GROUP' />
+	<unit unitID='PFQOSLIB' name='networking_pfqoslib' bldFile='common/generic/NETWORKING/PFQOSLIB/GROUP' />
+	<unit unitID='NAPT' name='networking_napt' bldFile='common/generic/networking/napt/group' />
+	<!-- excluding <unit unitID='IPCPR' name='networking_ipcpr' bldFile='common/generic/NETWORKING/ip/version1/IPCPR/GROUP' /> -->
+	<!-- excluding <unit unitID='SHIMCPR' name='networking_shimcpr' bldFile='common/generic/comms-infras/nifman/version1/shimcpr/GROUP' /> -->
+	<!-- excluding <unit unitID='IPSCPR' name='networking_ipscpr' bldFile='common/generic/NETWORKING/umts/version1/ipscpr/GROUP' /> -->
+	<!-- excluding <unit unitID='REFERENCECPR' name='networking_ReferenceCPR' bldFile='common/generic/NETWORKING/ip/version1/referencecpr/GROUP' /> -->
+	<!-- excluding <unit unitID='REFERENCESCPR' name='networking_ReferenceSCPR' bldFile='common/generic/NETWORKING/umts/version1/referencescpr/GROUP' /> -->
+	<unit unitID='QOS3GPP' name='networking_qos3gpp' bldFile='common/generic/networking/umts/qos3gpp/group' />
+	<!-- excluding <unit unitID='UMTSGPRSSCPR' name='networking_UmtsGprsSCPR' bldFile='common/generic/NETWORKING/umts/version1/UmtsGprsSCPR/GROUP' /> -->
+	<unit unitID='IPPROTO' name='networking_ipproto' bldFile='common/generic/networking/ip/ipproto/group' />
+	<unit unitID='IPTRANSPORT' name='networking_iptransport' bldFile='common/generic/networking/ip/iptransport/group' />
+	<unit unitID='PDP' name='networking_pdp' bldFile='common/generic/networking/umts/pdp/group' />
+	<unit unitID='QOSIPSCPR' name='networking_qosipscpr' bldFile='common/generic/networking/umts/qosipscpr/group' />
+	<unit unitID='CSDAGT' name='networking_csdagt' bldFile='common/generic/NETWORKING/CSDAGT/GROUP' />
+	<unit unitID='PSDAGT' name='networking_psdagt' bldFile='common/generic/NETWORKING/PSDAGT/GROUP' />
+	<unit unitID='NULLAGT' name='networking_nullagt' bldFile='common/generic/NETWORKING/NULLAGT/GROUP' />
+	<unit unitID='GUQOS' name='networking_guqos' bldFile='common/generic/NETWORKING/GUQOS/GROUP' />
+	<unit unitID='UMTSIF' name='networking_umtsif' bldFile='common/generic/NETWORKING/UMTSIF/GROUP' />
+	<unit unitID='QOSEXTNAPI' name='networking_qosextnapi' bldFile='common/generic/networking/qosextnapi/group' />
+	<unit unitID='SPUD' name='networking_spud' bldFile='common/generic/NETWORKING/SPUD/GROUP' />
+	<unit unitID='EAP' name='networking_eap' bldFile='common/generic/networking/eap/group' />
+	<unit unitID='ETHER802' name='networking_ether802' bldFile='common/generic/NETWORKING/ETHER802/GROUP' />
+	<!-- excluding <unit unitID='PPP' name='networking_ppp' bldFile='common/generic/NETWORKING/PPP/version1/GROUP' /> -->
+	<unit unitID='PPP399' name='networking_ppp' bldFile='common/generic/NETWORKING/PPP/GROUP' />
+	<unit unitID='PREDCOMP' name='networking_predcomp' bldFile='common/generic/NETWORKING/PREDCOMP/GROUP' />
+	<unit unitID='MSCOMP' name='networking_mscomp' bldFile='common/generic/NETWORKING/MSComp/GROUP' />
+	<unit unitID='STACCOMP' name='networking_staccomp' bldFile='common/generic/NETWORKING/STACCOMP/GROUP' />
+	<unit unitID='SLIP' name='networking_slip' bldFile='common/generic/NETWORKING/SLIP/GROUP' />
+	<unit unitID='TUNNELNIF' name='networking_tunnelnif' bldFile='common/generic/NETWORKING/tunnelnif/group' />
+	<unit unitID='PACKETLOGGER' name='networking_packetlogger' bldFile='common/generic/NETWORKING/packetlogger/group' />
+	<unit unitID='RAWIPNIF' name='networking_rawipnif' bldFile='common/generic/NETWORKING/rawipnif/group' />
+	<unit unitID='WIFI_802_11' name='networking_802.11' bldFile='common/generic/networking/802.11/group' />
+	<unit unitID='USB' name='ser-comms_usb' bldFile='common/generic/SER-COMMS/USB/GROUP' />
+	<unit unitID='BLUETOOTH_MANAGER' name='bluetooth_manager' bldFile='common/generic/bluetooth/latest/bluetooth/manager' />
+	<unit unitID='BLUETOOTH_BTEXTNOTIFIERS' name='bluetooth_btextnotifiers' bldFile='common/generic/bluetooth/latest/bluetooth/BTExtNotifiers' />
+	<unit unitID='BLUETOOTH_CONFIG' name='bluetooth_config' bldFile='common/generic/bluetooth/latest/bluetooth/config' />
+	<unit unitID='BLUETOOTH_GAVDP' name='bluetooth_gavdp' bldFile='common/generic/bluetooth/latest/bluetooth/profiles/gavdp/group' />
+	<unit unitID='BLUETOOTH_ROM' name='bluetooth_rom' bldFile='common/generic/bluetooth/latest/bluetooth/rom' />
+	<unit unitID='BLUETOOTH_USER' name='bluetooth_user' bldFile='common/generic/bluetooth/latest/bluetooth/user' />
+	<unit unitID='HCI_V2_FRAMEWORK' name='bluetooth_hci_v2_framework' bldFile='common/generic/bluetooth/latest/bluetooth/hci_v2/framework/group' />
+	<unit unitID='BLUETOOTH_SDP' name='bluetooth_sdp' bldFile='common/generic/bluetooth/latest/bluetooth/sdp' />
+	<unit unitID='BLUETOOTH_REMOTECONTROL' name='bluetooth_remotecontrol' bldFile='common/generic/bluetooth/latest/bluetooth/remotecontrol/group' />
+	<unit unitID='BLUETOOTH_STACK' name='bluetooth_stack' bldFile='common/generic/bluetooth/latest/bluetooth/stack' />
+	<unit unitID='BLUETOOTH_HCI' name='bluetooth_hci' bldFile='common/generic/bluetooth/latest/bluetooth/hci' />
+	<unit unitID='BLUETOOTH_HCIPROXY' name='bluetooth_hciproxy' bldFile='common/generic/bluetooth/latest/bluetooth/HCIProxy' />
+	<unit unitID='HCI_V2_IMPLEMENTATIONS' name='bluetooth_hci_v2_implementations' bldFile='common/generic/bluetooth/latest/bluetooth/hci_v2/implementations/group' />
+	<unit unitID='IRDA' name='infra-red_irda' bldFile='common/generic/INFRA-RED/IRDA/GROUP' />
+	<unit unitID='INFRA-RED_CONFIG' name='infra-red_config' bldFile='common/generic/INFRA-RED/config' />
+	<unit unitID='BLUETOOTH_BTCOMM' name='bluetooth_btcomm' bldFile='common/generic/bluetooth/latest/bluetooth/btcomm' />
+	<unit unitID='MDF' name='multimedia_mdf' bldFile='common/generic/multimedia/mdf/group' />
+	<unit unitID='OPENMAX' name='multimedia_openmax' bldFile='common/generic/multimedia/openmax/group' />
+	<unit unitID='MMF' name='multimedia_mmf' bldFile='common/generic/MULTIMEDIA/MMF/GROUP' />
+	<unit unitID='COMMON' name='multimedia_common' bldFile='common/generic/MULTIMEDIA/MMCOMMON/GROUP' />
+	<unit unitID='CHAR' name='multimedia_mmf_char' bldFile='common/generic/MULTIMEDIA/char/mmf/group' />
+	<unit unitID='ICL' name='multimedia_icl' bldFile='common/generic/MULTIMEDIA/ICL/GROUP' />
+	<unit unitID='ECAM' name='multimedia_ecam' bldFile='common/generic/MULTIMEDIA/ECAM/GROUP' />
+	<unit unitID='TUNER' name='multimedia_tuner' bldFile='common/generic/MULTIMEDIA/tuner/GROUP' />
+	<unit unitID='WSERV8.1' name='graphics_wserv' bldFile='common/generic/GRAPHICS/Wserv/group' />
+	<unit unitID='OPENGLESDISPLAYPROPERTY' name='graphics_openglesdisplayproperty' bldFile='common/generic/graphics/OpenGLESDisplayProperty/group' />
+	<unit unitID='OPENGLSHEADERS' name='graphics_openglesheaders' bldFile='common/generic/graphics/OpenGLESHeaders/group' />
+	<unit unitID='OPENGLES9.X' name='graphics_opengles' bldFile='common/generic/graphics/OpenGLES/group/' />
+	<unit unitID='PDRSTORE' name='graphics_pdrstore' bldFile='common/generic/GRAPHICS/PDRSTORE/GROUP' />
+	<unit unitID='PRINTDRV' name='graphics_printdrv' bldFile='common/generic/GRAPHICS/PRINTDRV/GROUP' />
+	<unit unitID='ICULAYOUTENGINE' name='graphics_iculayoutengine' bldFile='common/generic/GRAPHICS/iculayoutengine/GROUP' />
+	<unit unitID='FBSERV' name='graphics_fbserv' bldFile='common/generic/GRAPHICS/Fbserv/GROUP' />
+	<unit unitID='FNTSTORE' name='graphics_fntstore' bldFile='common/generic/GRAPHICS/Fntstore/GROUP' />
+	<unit unitID='FREETYPE' name='graphics_freetype' bldFile='common/generic/GRAPHICS/Freetype/GROUP' />
+	<unit unitID='FONTS' name='graphics_fonts' bldFile='common/generic/GRAPHICS/Fonts/GROUP' />
+	<unit unitID='BITGDI' name='graphics_bitgdi' bldFile='common/generic/GRAPHICS/Bitgdi/GROUP' />
+	<unit unitID='GDI' name='graphics_gdi' bldFile='common/generic/GRAPHICS/GDI/GROUP' />
+	<unit unitID='PALETTE' name='graphics_palette' bldFile='common/generic/GRAPHICS/palette/group' />
+	<unit unitID='OPENVGHEADERS' name='graphics_openvgheaders' bldFile='common/generic/graphics/openvgheaders/group' />
+	<unit unitID='OPENVG' name='graphics_openvg' bldFile='common/generic/graphics/OpenVG/group/' />
+	<unit unitID='EGLVGHEADERS' name='graphics_eglheaders' bldFile='common/generic/graphics/eglheaders/group' />
+	<unit unitID='EGL' name='graphics_egl' bldFile='common/generic/graphics/egl/group/' />
+	<unit unitID='LOCATIONFRAMEWORK' name='lbs_locationframework' bldFile='common/generic/lbs/group' />
+	<unit unitID='LBSDATASOURCEPLUGINS' name='lbs_datasourceplugins' bldFile='common/generic/lbs/LbsLocDataSourcePlugins/group' />
+	<unit unitID='CONARC' name='app-framework_conarc' bldFile='common/generic/APP-FRAMEWORK/CONARC/GROUP' />
+	<unit unitID='CHTMLTOCRTCONVERTER' name='app-services_chtmltocrtconv' bldFile='common/generic/APP-SERVICES/CHTMLTOCRTCONV/GROUP' />
+	<unit unitID='CONVERT' name='app-engines_convert' bldFile='common/generic/APP-ENGINES/CONVERT/GROUP' />
+	<unit unitID='RICHTEXTTOHTMLCONV' name='app-services_richtexttohtmlconv' bldFile='common/generic/APP-SERVICES/RICHTEXTTOHTMLCONV/GROUP' />
+	<unit unitID='ETEXT' name='app-framework_etext' bldFile='common/generic/APP-FRAMEWORK/ETEXT/GROUP' />
+	<unit unitID='FORM' name='app-framework_form' bldFile='common/generic/APP-FRAMEWORK/FORM/GROUP' />
+	<unit unitID='ALARMSERVER' name='app-services_alarmserver' bldFile='common/generic/APP-SERVICES/AlarmServer/GROUP' />
+	<unit unitID='HLPMODEL' name='app-services_hlpmodel' bldFile='common/generic/APP-SERVICES/HLPMODEL/GROUP' />
+	<unit unitID='WORLDSERVER' name='app-services_worldserver' bldFile='common/generic/APP-SERVICES/WorldServer/GROUP' />
+	<unit unitID='TZ' name='app-services_tz' bldFile='common/generic/APP-SERVICES/tz/GROUP' />
+	<unit unitID='TIMEZONELOCALIZATION' name='app-services_timezonelocalization' bldFile='common/generic/APP-SERVICES/TimeZoneLocalization/GROUP' />
+	<unit unitID='TZLOCALIZATIONRSCFACTORY' name='app-services_tzlocalizationrscfactory' bldFile='common/generic/APP-SERVICES/TzLocalizationRscFactory/GROUP' />
+	<unit unitID='TZCOMPILER' name='app-services_tzcompiler' bldFile='common/generic/APP-SERVICES/tzcompiler/GROUP' />
+	<unit unitID='TZDB' name='app-services_tzdb' bldFile='common/generic/APP-SERVICES/tzdb/GROUP' />
+	<unit unitID='CONTENT_HANDLING' name='Content-Handling' bldFile='common/generic/Content-Handling/GROUP' />
+	<unit unitID='MSG_GMXML' name='messaging_gmxml' bldFile='common/generic/messaging/gmxml/group' />
+	<unit unitID='RECOGNISERS' name='application-protocols_recognisers' bldFile='common/generic/APPLICATION-PROTOCOLS/RECOGNISERS/GROUP' />
+	<unit unitID='PRINT' name='app-framework_print' bldFile='common/generic/APP-FRAMEWORK/PRINT/GROUP' />
+	<unit unitID='SECURESOFTWAREINSTALL' name='security_swi' bldFile='common/generic/SECURITY/SWI/GROUP' />
+	<unit unitID='SISINSTALLER' name='security_sisinstaller' bldFile='common/generic/SECURITY/SISInstaller/Group' />
+	<unit unitID='JAVAMIDLETINSTALLER' name='security_javaMIDletInstaller' bldFile='common/generic/SECURITY/JavaMIDletInstaller/Group' />
+	<unit unitID='CRYPTOTOKENS' name='security_cryptotokens' bldFile='common/generic/SECURITY/CRYPTOTOKENS/GROUP' />
+	<unit unitID='FILETOKENS' name='security_filetokens' bldFile='common/generic/security/filetokens/group' />
+	<unit unitID='CERTMAN' name='security_certman' bldFile='common/generic/SECURITY/Certman/GROUP' />
+	<unit unitID='TLS' name='networking_tls' bldFile='common/generic/networking/tls/group' />
+	<unit unitID='TLSPROVIDER' name='security_tlsprovider' bldFile='common/generic/security/tlsprovider/group' />
+	<unit unitID='IPSECV2' name='networking_ipsec' bldFile='common/generic/NETWORKING/ipsec/group' />
+	<unit unitID='HTTP' name='application-protocols_http2' bldFile='common/generic/application-protocols/http/protocol/group' />
+	<unit unitID='HTTP' name='application-protocols_http3' bldFile='common/generic/application-protocols/http/examples/testwebbrowser/group' />
+	<unit unitID='HTTP' name='application-protocols_http5' bldFile='common/generic/application-protocols/http/examples/pipeliningconfigfilter/group' />
+	<unit unitID='HTTP' name='application-protocols_http6' bldFile='common/generic/application-protocols/http/examples/cookies/group' />
+	<unit unitID='HTTP' name='application-protocols_http7' bldFile='common/generic/application-protocols/http/examples/uaprof/group' />
+	<unit unitID='HTTP' name='application-protocols_http9' bldFile='common/generic/application-protocols/http/examples/group' />
+	<unit unitID='HTTP' name='application-protocols_http10' bldFile='common/generic/application-protocols/http/transport/group' />
+	<unit unitID='HTTP' name='application-protocols_http12' bldFile='common/generic/application-protocols/http/framework/group' />
+	<unit unitID='WAPPLUGINS' name='wap-browser_wapplugins' bldFile='common/generic/wap-browser/wapplugins/group' />
+	<unit unitID='WAPPUSH' name='wap-browser_wappush' bldFile='common/generic/wap-browser/wappush/group' />
+	<unit unitID='FTP' name='networking_ftp_e' bldFile='common/generic/NETWORKING/ftp_e/group' />
+	<unit unitID='TELNET_E' name='networking_telnet_e' bldFile='common/generic/NETWORKING/TELNET_E/GROUP' />
+	<unit unitID='OBEX' name='obex' bldFile='common/generic/obex/group' />
+	<unit unitID='OBEX_EXTENSIONAPIS' name='obex_extensionapis' bldFile='common/generic/obex/obexextensionapis/group' />
+	<unit unitID='INETPROTUTIL' name='application-protocols_inetprotutil' bldFile='common/generic/APPLICATION-PROTOCOLS/INETPROTUTIL/GROUP' />
+	<unit unitID='INETURILIST' name='application-protocols_ineturilist' bldFile='common/generic/application-protocols/ineturilist/group' />
+	<unit unitID='BOOKMARK_SUPPORT' name='application-protocols_bookmarks' bldFile='common/generic/application-protocols/bookmarks/group' />
+	<unit unitID='BLUETOOTH_AVRCP' name='bluetooth_avrcp' bldFile='common/generic/bluetooth/latest/bluetooth/profiles/avrcp' />
+	<unit unitID='BLUETOOTH_ACCESSHOST' name='bluetooth_accesshost' bldFile='common/generic/bluetooth/latest/bluetooth/profiles/pbap/group' />
+	<unit unitID='BLUETOOTH_PAN' name='bluetooth_pan' bldFile='common/generic/bluetooth/latest/bluetooth/profiles/pan/group' />
+	<unit unitID='WAPMESSAGE' name='wap-stack_wapmessage' bldFile='common/generic/WAP-STACK/WAPMESSAGE/GROUP' />
+	<unit unitID='WAPSTACK' name='WAP Stack Wrapper' bldFile='common/generic/WAP-STACK/WAPSTACK/GROUP' />
+	<unit unitID='MROUTERSECURE' name='mRouterSecure' bldFile='common/generic/connectivity/mRouterSecure/group' />
+	<unit unitID='MROUTER-PLUGIN' name='mRouter-plugin' bldFile='common/generic/connectivity/BAL/Plugins/mRouter3/group' />
+	<unit unitID='PLPVARIANT' name='connectivity_legacy_plp_plpvariant' bldFile='common/generic/connectivity/legacy/plp/PLPVARIANT' />
+	<unit unitID='PLP' name='connectivity_legacy_plp_plpgrp' bldFile='common/generic/connectivity/legacy/plp/PLPGRP' />
+	<unit unitID='BRDCST' name='connectivity_legacy_brdcst' bldFile='common/generic/connectivity/legacy/BRDCST/GROUP' />
+	<unit unitID='MTPUSBSIC' name='mtp_usbsic' bldFile='common/generic/mtp/transports/usbsic/group' />
+	<unit unitID='MTPFRAMEWORK' name='mtp_framework' bldFile='common/generic/mtp/framework/group' />
+	<unit unitID='RTP' name='mm-protocols_rtp' bldFile='common/generic/mm-protocols/rtp/group' />
+	<!-- not including <unit unitID='SIP_COM' name='mm-protocols_sip_com' bldFile='common/generic/mm-protocols/sip/group' /> -->
+	<unit unitID='SIP_COM2' name='mm-protocols_SIP2_Com' bldFile='common/generic/mm-protocols/sip2/group' />
+	<!-- excluding <unit unitID='SIPCPR' name='mm-protocols_SIPCPR' bldFile='common/generic/mm-protocols/ConnProv/SIPCPR/group' /> -->
+	<!-- excluding <unit unitID='SIPDUMMYPRT' name='mm-protocols_SIPDummyPRT' bldFile='common/generic/mm-protocols/SipProvEngine/SIPDummyPRT/group' /> -->
+	<!-- excluding <unit unitID='SIPSTATEMACHINE' name='mm-protocols_SipStateMachine' bldFile='common/generic/mm-protocols/SipProvEngine/SipStateMachine/group' /> -->
+	<!-- excluding <unit unitID='SIPPARAMS' name='mm-protocols_SIPParams' bldFile='common/generic/mm-protocols/SubConnProv/SIPParams/group' /> -->
+	<!-- excluding <unit unitID='SIPSCPR' name='mm-protocols_SIPSCPR' bldFile='common/generic/mm-protocols/SubConnProv/SIPSCPR/group' /> -->
+	<unit unitID='GFXTRANSEFFECT' name='app-framework_gfxtranseffect' bldFile='common/generic/app-framework/gfxtranseffect/group' />
+	<unit unitID='EGUL' name='app-framework_egul' bldFile='common/generic/APP-FRAMEWORK/EGUL/GROUP' />
+	<unit unitID='NUMBERCONVERSION' name='app-framework_numberconversion' bldFile='common/generic/APP-FRAMEWORK/NumberConversion/group' />
+	<unit unitID='GRID' name='app-framework_grid' bldFile='common/generic/APP-FRAMEWORK/GRID/GROUP' />
+	<unit unitID='CLOCK' name='app-framework_clock' bldFile='common/generic/APP-FRAMEWORK/CLOCK/GROUP' />
+	<unit unitID='BMPANIM' name='app-framework_bmpanim' bldFile='common/generic/APP-FRAMEWORK/BmpAnim/GROUP' />
+	<unit unitID='ANIMATION' name='app-framework_animation' bldFile='common/generic/APP-FRAMEWORK/animation/group' />
+	<unit unitID='UIKON' name='app-framework_uikon' bldFile='common/generic/APP-FRAMEWORK/UIKON/GROUP' />
+	<unit unitID='UIKLAFGT' name='app-framework_uiklafgt' bldFile='common/generic/APP-FRAMEWORK/UIKLAFGT/GROUP' />
+	<unit unitID='CONE' name='app-framework_cone' bldFile='common/generic/APP-FRAMEWORK/CONE/GROUP' />
+	<unit unitID='FEPBASE' name='app-framework_fepbase' bldFile='common/generic/APP-FRAMEWORK/Fepbase/GROUP' />
+	<unit unitID='APPARC' name='app-framework_apparc' bldFile='common/generic/APP-FRAMEWORK/APPARC/GROUP' />
+	<unit unitID='VIEWSRV' name='app-framework_viewsrv' bldFile='common/generic/APP-FRAMEWORK/VIEWSRV/GROUP' />
+	<!-- excluding <unit unitID='CALINTERIMAPI' name='app-engines_calinterimapi' bldFile='common/generic/app-engines/calinterimapi/group' /> -->
+	<unit unitID='CALENDAR' name='app-engines_calendar' bldFile='common/generic/app-engines/calendar/group' />
+	<!-- excluding <unit unitID='AGNMODEL' name='app-engines_agnmodel' bldFile='common/generic/APP-ENGINES/AGNMODEL/GROUP' /> -->
+	<!-- excluding <unit unitID='AGNVERSIT' name='app-engines_agnversit' bldFile='common/generic/APP-ENGINES/AgnVersit/GROUP' /> -->
+	<unit unitID='AGNVERSIT2' name='app-engines_agnversit2' bldFile='common/generic/APP-ENGINES/AgnVersit2/GROUP' />
+	<!-- excluding <unit unitID='CNTMODEL' name='app-engines_cntmodel' bldFile='common/generic/APP-ENGINES/CNTMODEL/GROUP' /> -->
+	<unit unitID='CNTMODELSQL' name='app-engines_cntmodel' bldFile='common/generic/APP-ENGINES/CNTMODEL/GROUPSQL' />
+	<unit unitID='PHBKSYNC' name='telephony_phbksync' bldFile='common/generic/TELEPHONY/phbksync/group' />
+	<unit unitID='VERSIT' name='app-services_versit' bldFile='common/generic/APP-SERVICES/VERSIT/GROUP' />
+	<unit unitID='CALCON' name='app-services_calcon' bldFile='common/generic/APP-SERVICES/Calcon/GROUP' />
+	<unit unitID='BACKUPRESTORENOTIFICATION' name='app-services_BackupRestoreNotification' bldFile='common/generic/APP-SERVICES/BACKUPRESTORENOTIFICATION/GROUP' />
+	<unit unitID='DAMODEL' name='app-engines_damodel' bldFile='common/generic/APP-ENGINES/DAMODEL/GROUP' />
+	<unit unitID='SHENG' name='app-engines_sheng' bldFile='common/generic/APP-ENGINES/SHENG/GROUP' />
+	<unit unitID='WPENG' name='app-engines_wpeng' bldFile='common/generic/APP-ENGINES/WPENG/GROUP' />
+	<unit unitID='MSG_FRAMEWORK' name='messaging_framework' bldFile='common/generic/messaging/framework/group' />
+	<unit unitID='MSG_BIOMSG' name='messaging_biomsg' bldFile='common/generic/messaging/biomsg/group' />
+	<unit unitID='MSG_MMS_SETTINGS' name='messaging_mmssettings' bldFile='common/generic/messaging/mmssettings/group/' />
+	<unit unitID='MSG_BIOWATCHERSCDMA' name='messaging_biomsg_biowatchers_cdma' bldFile='common/generic/messaging/biomsg/biowatcherscdma/group' />
+	<unit unitID='MSG_SCHEDULEDSEND' name='messaging_schedulesend' bldFile='common/generic/messaging/schedulesend/group' />
+	<unit unitID='MSG_EMAIL' name='messaging_email' bldFile='common/generic/messaging/email/group' />
+	<unit unitID='MSG_IMAP' name='messaging_email_imap' bldFile='common/generic/messaging/email/imap/group' />
+	<unit unitID='MSG_OBEXMTM' name='messaging_obex' bldFile='common/generic/messaging/obex/group' />
+	<unit unitID='MSG_SMS8.1' name='messaging_sms_multimode' bldFile='common/generic/messaging/sms/multimode/group' />
+	<unit unitID='CONNECTIVITY' name='connectivity' bldFile='common/generic/CONNECTIVITY/GROUP' />
+	<unit unitID='SECUREBACKUPENGINE' name='connectivity_securebackupengine' bldFile='common/generic/connectivity/SecureBackupEngine/group' />
+	<unit unitID='MTPFILEDP' name='mtp_filedp' bldFile='common/generic/mtp/dataproviders/filedp/group' />
+	<unit unitID='SYNCMLCLIENT' name='SyncML' bldFile='common/generic/SyncML/Framework/Group' />
+	<unit unitID='SYNCMLDMCLIENT' name='SyncML_DM' bldFile='common/generic/SyncML/DevMan/Group' />
+	<unit unitID='DEVPROV_DEVMAN_FRAMEWORK' name='devprov_devman_framework' bldFile='common/generic/DEVPROV/DevMan/Group' />
+	<unit unitID='DEVPROV_CLIENTPROV_FRAMEWORK' name='devprov_clientprov_framework' bldFile='common/generic/DEVPROV/ClientProv/Group' />
+	<unit unitID='SYNCMLDSCLIENT' name='SyncML_DS' bldFile='common/generic/SyncML/DataSync/Group' />
+	<unit unitID='DEVPROV_DEVMAN_ADAPTERS' name='devprov_devman_adapters' bldFile='common/generic/DEVPROV/Adapters/DevMan/Group' />
+	<unit unitID='DEVPROV_CLIENTPROV_ADAPTERS' name='devprov_clientprov_adapters' bldFile='common/generic/DEVPROV/Adapters/ClientProv/Group' />
+	<unit unitID='MIDP2INSTALLER_9.2' name='MIDP2INSTALLER' bldFile='common/generic/j2me/systemamsV1_5' />
+	<unit unitID='MemSpy' name='graphics_memspy' bldFile='common/generic/graphics/testutils/memspy/group' />
+	<unit unitID='ASSABET_EKA2' name='base_assabet' bldFile='cedar/generic/BASE/ASSABET' />
+	<unit unitID='INTEGRATORAP_EKA2' name='base_integrator_integratorap' bldFile='cedar/generic/base/integrator/integratorap' />
+	<unit unitID='INTEGRATOR_CORE_EKA2' name='base_integrator_core_8.1b' bldFile='cedar/generic/base/integrator/core' />
+	<unit unitID='INTEGRATOR_CM920_EKA2' name='base_integrator_core_cm920' bldFile='cedar/generic/base/integrator/core/cm920' />
+	<unit unitID='INTEGRATOR_CM1136_EKA2' name='base_integrator_core_cm1136' bldFile='cedar/generic/base/integrator/core/cm1136' />
+	<unit unitID='INTEGRATOR_LMXX600_EKA2' name='base_integrator_logic_lmxx600' bldFile='cedar/generic/base/integrator/logic/lmxx600' />
+	<unit unitID='INTEGRATOR_LMNAND_EKA2' name='base_integrator_logic_lmnand' bldFile='cedar/generic/base/integrator/logic/lmnand' />
+	<unit unitID='UI_BENCH' name='graphics_ui_bench' bldFile='common/generic/graphics/ui_bench/group' />
+	<unit unitID='FAX' name='telephony_fax' bldFile='common/generic/TELEPHONY/FAX/GROUP' />
+	<unit unitID='DUMMY' name='additional_dummy' bldFile='common/generic/tools/cbr/dummy' />
+	<unit unitID='BASE_SDIOTESTS' name='base_sdiotests' bldFile='cedar/generic/base/e32utils/sdio' />
+	<unit unitID='E32UTILS_EKA2' name='base_e32utils' bldFile='cedar/generic/BASE/E32Utils/GROUP' />
+	<unit unitID='ERRORRESGT' name='app-framework_errorresgt' bldFile='common/generic/APP-FRAMEWORK/ERRORRESGT/GROUP' />
+	<unit unitID='GDITOOLS' name='graphics_gditools' bldFile='common/generic/GRAPHICS/GDITools/GROUP' />
+	<unit unitID='GDTRAN' name='GDTRAN' bldFile='common/generic/GRAPHICS/GDTran/GROUP' />
+	<unit unitID='INTEGRATIONTEST' name='networking_integrationtest' bldFile='common/generic/NETWORKING/Integrationtest/group' />
+	<unit unitID='MRPTEST' name='mtp_test' bldFile='common/generic/mtp/test/group' />
+	<unit unitID='BASEINTEGRATIONTEST' name='base_integration_test' bldFile='cedar/generic/base_integration_test/group' />
+	<unit unitID='MOBILEIP' name='networking_mobileip' bldFile='common/generic/networking/mobileip/group' />
+	<unit unitID='MSG_SENDAS2' name='messaging_sendas2' bldFile='common/generic/messaging/sendas2/group' />
+	<unit unitID='MSG_TEST' name='messaging_test' bldFile='common/generic/messaging/test/group' />
+	<unit unitID='MSG_URLHANDLER' name='messaging_urlhandler' bldFile='common/generic/messaging/urlhandler/group' />
+	<unit unitID='MVS_APP' name='multimedia_mvs_app' bldFile='common/generic/multimedia/mvs/application/group' />
+	<unit unitID='MVS_AGENTS' name='multimedia_mvs_agents' bldFile='common/generic/multimedia/mvs/agents/group' />
+	<unit unitID='TEMPLATE_EKA2' name='base_template' bldFile='cedar/generic/base/template/template_variant' />
+	<unit unitID='WAPBASE' name='wap-browser_wapbase' bldFile='common/generic/WAP-BROWSER/WAPBASE/GROUP' />
+	<unit unitID='WLDDATABASEKIT' name='WLDDATABASEKIT' bldFile='common/generic/APP-SERVICES/Wlddatabasekit/GROUP' />
+	<unit unitID='WLDTOOLS' name='app-services_wldtools' bldFile='common/generic/APP-SERVICES/WLDTOOLS/GROUP' />
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/little.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  <systemModel>
+    <layer name="common">
+      <module name="allexports">
+        <component name="envelope">
+	<unit unitID='APPARC' name='app-framework_apparc' bldFile='common/generic/APP-FRAMEWORK/APPARC/GROUP' />
+	<unit unitID='SYSSTART' name='app-framework_sysstart' bldFile='common/generic/app-framework/sysstart/group' />
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/preexport.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!-- This file is used to export meta data in a pre-run through of raptor. 
+	i.e. raptor -s <thisfile> EXPORT
+     when system included mmh files are removed from MMPs this can be removed. -->
+<SystemDefinition name="MCL" schema="1.4.0">
+  <systemModel>
+    <layer name="common">
+      <module name="preexports">
+        <component name="envelope">
+	<unit unitID='LMNAND2_LOGIC' name='base_integrator_logic_lmnand2' bldFile='cedar/generic/base/integrator/logic/lmnand2' />
+	<unit unitID='LMNAND2_LOGIC' name='base_integrator_logic_lmnand2' bldFile='cedar/generic/base/integrator/logic/lmnand2' />
+	<unit unitID='INTEGRATOR_LMNAND_EKA2' name='base_integrator_logic_lmnand' bldFile='cedar/generic/base/integrator/logic/lmnand' />
+	<unit unitID='INTEGRATOR_LMXX600_EKA2' name='base_integrator_logic_lmxx600' bldFile='cedar/generic/base/integrator/logic/lmxx600' />
+	<unit unitID='OMAP_H2' name='base_omaph2' bldFile='cedar/generic/base/omap/h2' />
+	<unit unitID='BASE_H2_UNISTORE2' name='base_h2_unistore2' bldFile='cedar/generic/base/omap/h2_restricted/unistore2' />
+	<unit unitID='BASE_H2_SDIO' name='base_h2_sdio' bldFile='cedar/generic/base/omap/h2_restricted/sdio' />
+        <unit unitID='esockdebug' name='esockdebug' bldFile='common/generic/comms-infras/esock/debug/MessageInterceptRegister/group' />
+        <unit unitID='commsdebugutility' name='commsdebugutility' bldFile='common/generic/comms-infras/commsdebugutility/group' />
+        <unit unitID='usblogger' name='usblogger' bldFile='common/generic/ser-comms/usb/logger/group' />
+        <unit unitID='packetlogger' name='packetlogger' bldFile='common/generic/networking/packetlogger/group' />
+        <unit unitID='commsfw' name='cflog' bldFile='common/generic/comms-infras/commsfw/group' />
+
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/syslib0.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  
+  <systemModel>
+    <layer name="RaptorEnvelope">
+      <module name="Tests">
+        <component name="envelope">
+          <unit unitID="001" name="featreg" bldFile="common/generic/syslibs/featreg/group"/>
+          <unit unitID="001" name="store" bldFile="common/generic/syslibs/store/group"/>
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/syslib1.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  
+  <systemModel>
+    <layer name="common">
+      <module name="allexports">
+        <component name="envelope">
+          <unit unitID="001" name="emime" bldFile="common/generic/app-framework/emime/group"/>
+          <unit unitID="001" name="featreg" bldFile="common/generic/syslibs/ezlib/group"/>
+          <unit unitID="001" name="caf" bldFile="common/generic/syslibs/caf2/group"/>
+          <unit unitID="001" name="charconv" bldFile="common/generic/syslibs/charconv/ongoing/group/"/>
+          <unit unitID="001" name="featreg" bldFile="common/generic/syslibs/featreg/group"/>
+          <unit unitID="001" name="store" bldFile="common/generic/syslibs/store/group"/>
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/envelope/syslib2.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+
+<SystemDefinition name="MCL" schema="1.4.0">
+  
+  <systemModel>
+    <layer name="common">
+      <module name="allexports">
+        <component name="envelope">
+          <unit unitID="001" name="featreg" bldFile="common/generic/syslibs/ezlib/group"/>
+          <unit unitID="001" name="featreg" bldFile="common/generic/syslibs/ecom/ongoing/group"/>
+          <unit unitID="001" name="charconv" bldFile="common/generic/syslibs/charconv/ongoing/group"/>
+	  <unit unitID="001" name="ezlib" bldFile="common/generic/syslibs/ezlib/group" />
+	  <unit unitID="001" name="caf2" bldFile="common/generic/syslibs/caf2/group" />
+	  <unit unitID="001" name="stdlib" bldFile="common/generic/syslibs/stdlib/group" />
+	  <unit unitID="001" name="FATCharsetConv" bldFile="common/generic/syslibs/FATCharsetConv/group" />
+	  <unit unitID="001" name="pwrcli" bldFile="common/generic/syslibs/pwrcli/group" />
+	  <unit unitID="001" name="SysAgent2" bldFile="common/generic/syslibs/SysAgent2/group" />
+	  <unit unitID="001" name="bafl" bldFile="common/generic/syslibs/bafl/initLocale/group" />
+	  <unit unitID="001" name="bafl" bldFile="common/generic/syslibs/bafl/group" />
+	  <unit unitID="001" name="dbms" bldFile="common/generic/syslibs/dbms/esql/group" />
+	  <unit unitID="001" name="dbms" bldFile="common/generic/syslibs/dbms/group" />
+	  <unit unitID="001" name="xml" bldFile="common/generic/syslibs/xml/group" />
+	  <unit unitID="001" name="featreg" bldFile="common/generic/syslibs/featreg/group" />
+	  <unit unitID="001" name="charconv" bldFile="common/generic/syslibs/charconv/ongoing/group" />
+	  <unit unitID="001" name="logeng" bldFile="common/generic/syslibs/logeng/ongoing/group" />
+	  <unit unitID="001" name="centralrepository" bldFile="common/generic/syslibs/centralrepository/group" />
+	  <unit unitID="001" name="schsvr" bldFile="common/generic/syslibs/schsvr/ongoing/group" />
+	  <unit unitID="001" name="store" bldFile="common/generic/syslibs/store/group" />
+	  <unit unitID="001" name="sql" bldFile="common/generic/syslibs/SQL/group" />
+        </component>
+      </module>
+    </layer>
+  </systemModel>
+  
+  <build>
+  </build>
+
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/logging/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+simple.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/logging/simple.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			test
+TARGETTYPE		EXE
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/logging/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+TInt test1();
+TInt test2();
+TInt test3();
+TInt test4();
+TInt test5();
+TInt test6();
+
+TInt E32Main()
+{
+	test1();
+	test2();
+	test3();
+	test4();
+	test5();
+	test6();
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/config/empty_cfg.cfg	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,10 @@
+# test_hrh.hrh (based on Symbian_OS_v9.3.cfg)
+#
+# Copyright (c) Symbian Software Ltd 2004-2006.  All rights reserved.
+#
+# This file gives the location of the file that specifies
+# configuration options for Symbian OS 9.3
+#
+# The following is a path relative to %EPOCROOT%
+# 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/config/invalid_cfg.cfg	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,10 @@
+# test_hrh.hrh (based on Symbian_OS_v9.3.cfg)
+#
+# Copyright (c) Symbian Software Ltd 2004-2006.  All rights reserved.
+#
+# This file gives the location of the file that specifies
+# configuration options for Symbian OS 9.3
+#
+# The following is a path relative to %EPOCROOT%
+# 
+metadata\include\missing_hrh.hrh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/config/test_cfg.cfg	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,10 @@
+# test_hrh.hrh (based on Symbian_OS_v9.3.cfg)
+#
+# Copyright (c) Symbian Software Ltd 2004-2006.  All rights reserved.
+#
+# This file gives the location of the file that specifies
+# configuration options for Symbian OS 9.3
+#
+# The following is a path relative to %EPOCROOT%
+# 
+metadata\include\test_hrh.hrh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/include/subdir/test_hrh_include.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// test_hrh_include.h
+
+#ifndef TEST_HRH_INCLUDE
+#define TEST_HRH_INCLUDE
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/include/test_hrh.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1224 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* test_hrh.hrh (base on Symbian_OS_v9.4.hrh)
+*
+*/
+
+#include <subdir/test_hrh_include.h>
+
+
+/**
+@publishedAll
+
+EKA2
+
+If EKA2 is defined, assume Kernel Architecture 2.
+If EKA2 is not defined, assume Kernel Architecture 1
+
+Kernel Architecture 2 is a defining property of the Cedar platform.
+Kernel Architecture 1 is a defining property of the Beech platform.
+*/
+#ifndef EKA2
+#define EKA2
+#endif
+
+/**
+@publishedAll
+@deprecated
+@since 8.0
+
+SYMBIAN_CRYPTO
+
+*/
+#define SYMBIAN_CRYPTO
+
+/**
+@publishedAll
+
+__CNF_FORMAT_V2__
+
+If __CNF_FORMAT_V2__ is defined, assume that Epoccnf.pl generates
+files in version 2 of the CNF format, and that both versions 1
+and 2 of this file format can be read by Conarc.
+If __CNF_FORMAT_V2__ is not defined, assume that Epoccnf.pl
+generates files in version 1 of the CNF format, and that only
+version 1 of this file format can be read by Conarc.
+*/
+#define __CNF_FORMAT_V2__
+
+/**
+@publishedAll
+@deprecated
+@since 8.0
+
+__KEYSTORE_API_V2__
+
+*/
+#define __KEYSTORE_API_V2__
+
+/**
+@publishedAll
+
+__BLUETOOTH_API_V2__
+
+If __BLUETOOTH_API_V2__ is defined assume that version 2 of the bluetooth
+subsystem will be built.  This is binary compatible with version 1 for all
+published-all APIs but is not source compatible.  Users of classes defined
+in BTDevice.h and BTManClient.h may need to make source changes.
+
+The BTRegistry.dll is removed, users should link instead against BTManClient.lib.
+The APIs provided by that DLL were classified as published-partner.
+
+@see CBTDevice
+@see SGL.GT172.103 - Bluetooth Compatibility Specification
+
+If __BLUETOOTH_API_V2__ is not defined then version 1 of the bluetooth subsystem
+will be built.
+
+*/
+#define __BLUETOOTH_API_V2__
+
+
+/**
+@publishedAll
+
+__OBEX_USER_DEFINED_HEADERS__
+
+If __OBEX_USER_DEFINED_HEADERS__ is defined then the new API support for extended Headers will be available.
+This new support includes USER DEFINED HEADERS and the COUNT header.
+If this functionality is compiled out then the old API is available as before.
+For more information on see documents shown below.
+
+@see SGL.GT171.097 - Obex Header Extension how to
+@see SGL.GT171.095 - Obex Extension Design Document
+*/
+#define __OBEX_USER_DEFINED_HEADERS__
+
+
+/**
+@publishedAll
+
+__HIDE_IPC_V1__
+
+If __HIDE_IPC_V1__ is defined then the deprecated insecure IPC APIs will be removed from various Symbian OS header files. Classes affected include CSession, CServer, RMessage and RMessageptr.
+
+For more information see the document listed below.
+
+@see SMG.SM0005.004 - Platform Security Development for Zephyr
+@see CSession
+@see CServer
+@see RMessage
+@see RMessagePtr
+*/
+#define __HIDE_IPC_V1__
+
+
+/**
+@internalAll
+
+DO_NOT_USE_THIS_MACRO
+
+If DO_NOT_USE_THIS_MACRO is defined, assume the Cedar platform.
+If DO_NOT_USE_THIS_MACRO is not defined, assume the Beech platform.
+
+This macro was originally introduced as a stopgap measure, to
+identify differences between Symbian OS v7.0s and Symbian OS v8.0b
+which were not specifically to do with the change from Kernel
+Architecture 1 to Kernel Architecture 2.
+
+This macro will be deprecated when a suitable alternative is provided.
+*/
+
+#ifndef DO_NOT_USE_THIS_MACRO
+#define DO_NOT_USE_THIS_MACRO
+#endif
+
+/**
+@publishedAll
+
+__CONDITIONS_SCHEDULES_VALID__
+
+If __CONDITIONS_SCHEDULES_VALID__ is defined then the Task Scheduler component 
+supports creating persistent schedules based on a set of conditions and a 
+timeout. The schedule is run when either all the conditions are met or the 
+timeout is reached.
+
+This functionality is part of PREQ694 - PREQ 694 - Automatic sending of SMS on
+network reconnection.
+*/
+
+#define __CONDITIONS_SCHEDULES_VALID__
+
+
+/**
+@publishedAll
+
+__JAVACUSTOMINSTALL__
+
+If __JAVACUSTOMINSTALL__ is defined then an additional UI callback is made after MIDlet
+installation has succeeded or failed. This callback is intended for information only and the 
+information passed can be licensee customised. The intention would be that the device user
+can use this information to diagnose install problems in conjunction with network operators.
+If this #define is not present then the callback is not present and is not called.
+For more information on see documents shown below.
+
+@see SGL.GT0188.253 CDMA Java MIDlet Installer Component Design
+*/
+#define __JAVACUSTOMINSTALL__
+
+/**
+@publishedAll
+
+__UI_FRAMEWORKS_V2__
+
+If __UI_FRAMEWORKS_V2__ is defined then PlatSec aware UI Frameworks API's will be available. 
+The following frameworks will be affected:
+
+Applications 
+File Recognizers
+Data Recognizers
+Notifiers
+Control Panel Plugins
+Feps
+App-initialization (CEikLibrary)
+Converters
+Error-Resolving
+*/
+#define __UI_FRAMEWORKS_V2__
+#define SYMBIAN_HIDE_UI_FRAMEWORKS_V1
+#define SYMBIAN_REMOVE_UI_FRAMEWORKS_V1
+
+/**
+@publishedAll
+
+__BLUETOOTH_HCI_ALLOWS_AFH__
+
+If __BLUETOOTH_HCI_ALLOWS_AFH__ is defined the HCI interface will require the Adaptive Frequency Hopping CHCIBase pure virtual functions to be implemented in any derived class in Licensee produced host controller interface (HCI) code. 
+If this is not defined no AFH commands may be sent to the host controller, and no AFH events will be received from the host controller. 
+The APIs provided by the HCI DLL were classified as published-partner.
+
+@see CHCIBase
+@see MHCIEventObserver
+
+*/
+#define __BLUETOOTH_HCI_ALLOWS_AFH__
+
+/**
+@publishedAll
+
+__MESSAGING_API_V2__
+
+If __MESSAGING_API_V2__ is defined then new functionality 
+is available within the Messaging sub-system to support a 
+platform secured OS, e.g. the Attachment API.
+*/
+#define __MESSAGING_API_V2__
+#define __HIDE_MESSAGING_API_V1__
+#define __REMOVE_MESSAGING_API_V1__
+
+/**
+@internalAll
+
+__BC_FUTURE_PROOFING__
+
+Support for the implementation of PREQ743 "Introduction of interface 
+robustness patterns to support future binary compatibility".
+*/
+#define __BC_FUTURE_PROOFING__
+
+/**
+@publishedAll
+
+__SECURE_DATA__
+
+When __SECURE_DATA__ is defined, public read-only files are
+assumed to be in their data-caged locations. The presence of
+this #define does not imply that data-caging is enforced, and
+does not imply that binaries have been relocated to sys\bin.
+
+This #define supports PREQ537 "Platform security - file system layout".
+*/
+#define __SECURE_DATA__
+
+/**
+@publishedPartner
+
+__SECURE_BIN__
+
+When __SECURE_BIN__ is defined, executable files stored as
+"data" in the XIP ROM are assumed to be in their data-caged 
+locations. The presence of this #define does not imply that 
+data-caging is enforced, and does not imply that binaries have 
+been relocated to sys\bin.
+
+This #define supports PREQ537 "Platform security - file system layout".
+*/
+#define __SECURE_BIN__
+
+/**
+@publishedAll
+
+__SECURE_TELEPHONY__
+
+If __SECURE_TELEPHONY__ is defined, all Platform Security functionality 
+within the Telephony subsystem will be enabled.
+If __SECURE_TELEPHONY__ is not defined, no Platform Security functionality 
+within the Telephony subsystem is enabled.
+*/
+#define __SECURE_TELEPHONY__
+
+/**
+@publishedAll
+
+SYMBIAN_NETWORKING_PLATSEC
+
+If SYMBIAN_NETWORKING_PLATSEC is defined, additional platform security 
+related functionality in enabled in the Comms-Infras and Networking 
+subsystems (e.g. API policing).
+*/
+#define SYMBIAN_NETWORKING_PLATSEC
+
+/**
+@publishedAll
+
+__WATCHER_API_V2__
+
+If __WATCHER_API_V2__ is defined then the 
+watcher framework supports ECOM watcher plugins.
+*/
+#define __WATCHER_API_V2__
+/**
+@publishedAll
+
+SYMBIAN_COREAPPS_API_V2
+
+If SYMBIAN_COREAPPS_API_V2 is defined then new functionality is available within 
+the Core Apps sub-system (Contacts Model, Agenda Model and World Server) to 
+support a platform secured OS.
+*/
+#define SYMBIAN_COREAPPS_API_V2
+
+
+/**
+@publishedAll
+
+SYMBIAN_COREAPPS_PLUGIN_API_V2
+
+If SYMBIAN_COREAPPS_PLUGIN_API_V2 is defined then  Ecom solely is used as loading 
+mechanism.The legacy plugin loading mechanism is used otherwise.
+*/
+#define SYMBIAN_COREAPPS_PLUGIN_API_V2
+
+/**
+@PublishedPartner
+
+SYMBIAN_SECURE_DBMS
+
+When SYMBIAN_SECURE_DBMS is defined, support for secure 
+shared databases is enabled within DBMS.  
+When not defined, all secure-shared-database-specific APIs 
+take the form of dummy implementations which return KErrNone.
+*/
+#define SYMBIAN_SECURE_DBMS
+
+/**
+@publishedPartner
+
+__SECURE_SOFTWARE_INSTALL__
+
+When __SECURE_SOFTWARE_INSTALL__ is defined, the Software
+Install APIs are replaced with versions appropriate to
+the Secure Platform.
+
+This #define supports PREQ56 "Software install enhancements"
+*/
+#define __SECURE_SOFTWARE_INSTALL__
+
+/**
+@publishedAll
+
+__SECURITY_PLATSEC_ARCH__
+
+If this macro is defined, then platform security aware security services 
+APIs will be present.  This includes architectural changes to several 
+components.
+
+If this macro is not defined, the original version (since 8.0) of the 
+security services APIs will be present. 
+
+The following components are affected:
+  cryptotokens
+  certman
+  filetokens
+
+*/
+#define __SECURITY_PLATSEC_ARCH__
+
+/**
+@publishedAll
+
+SYMBIAN_SECURE_ECOM
+
+When SYMBIAN_SECURE_ECOM is not defined, ECOM plugins are discovered by 
+searching for DLLs in System\libs\plugins, and inferring the name of 
+the resource file from the UID3 of the DLL.
+
+When SYMBIAN_SECURE_ECOM is defined, ECOM plugins will also be discovered
+by searching for resource files in \Resource\Plugins, and inferring the
+name of the DLL from the name of the resource file. When platform security
+is fully enforced, only this new style of discovery will work.
+
+@see common\generic\syslibs\documentation\syslibs_functional_specification.doc
+*/
+#define SYMBIAN_SECURE_ECOM
+
+/**
+@publishedAll
+
+SYMBIAN_SECURITY_CAF_RFILE_HANDLE
+
+If SYMBIAN_SECURITY_CAF_RFILE_HANDLE is defined then it enables the Content Access 
+Framework to read from files passed to it as an open RFile handles instead of CAF 
+opening the file itself. This allows files stored in a data caged directory to be 
+read by CAF.  
+
+*/
+#define SYMBIAN_SECURITY_CAF_RFILE_HANDLE
+
+/** 
+@publishedPartner
+
+SYMBIAN_C32ROOT_API_V2
+
+Strengthens the C32Root API and extends it to include 
+configuration of queue length for bindings. 
+
+This #define supports PREQ318.
+*/
+#define SYMBIAN_C32ROOT_API_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_ESOCK_V3
+
+If SYMBIAN_ESOCK_V3 is defined, the socket server allows protocol 
+families to run in individual threads to protect one protocol family 
+from the behaviour of another. The allocation of protocol families to
+threads is determined by a naming convention on the ESK files.
+
+This #define supports PREQ318.
+*/
+#define SYMBIAN_ESOCK_V3
+
+/**
+@publishedPartner
+
+SYMBIAN_UIKON_UNIFICATION
+
+When SYMBIAN_UIKON_UNIFICATION is defined, the existing 
+CEikSrvAppUiBase class is replaced with a customisable class
+provided by the System GUI. 
+
+This #define supports PREQ819 and PREQ826
+*/
+#define SYMBIAN_UIKON_UNIFICATION
+
+/**
+@publishedPartner
+@released 9.0
+
+SYMBIAN_NETWORKING_RSUBCONNECTION
+
+If SYMBIAN_NETWORKING_RSUBCONNECTION is defined, the RQosChannel API is
+removed, and the RSubConnection API exported by ESOCK must be used instead.
+
+This #define supports PREQ 26.
+*/ 
+#define SYMBIAN_NETWORKING_RSUBCONNECTION
+
+/**
+@publishedAll
+
+SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
+
+If SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2 is defined then 
+the following additional features will be available in CONE.
+1) Functions to set and get the background of a control.
+2) Functions to add components to a compound control in a simpler way.
+3) Hooks for the support of layout managers.
+4) A component that will provide fonts and cache them for easier use 
+   of these fonts by controls.
+
+@see CCoeControl
+*/
+#define SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_SECURE_MIDLET_INSTALL
+
+If SYMBIAN_SECURE_MIDLET_INSTALL is defined then the Java MIDlet 
+Installer supports installation under Platform Security policies, 
+using the interface published by security\JavaMIDletInstaller.
+
+If SYMBIAN_SECURE_MIDLET_INSTALL is not defined then Java MIDlet 
+installation is achieved through the security\appinst interfaces.
+*/
+#define SYMBIAN_SECURE_MIDLET_INSTALL
+
+/**
+@publishedAll
+
+__SECURE_BACKUP__
+
+If __SECURE_BACKUP__ is defined, the Secure Backup server replaces
+the use of SCRemFs for backup and restore, changing the backup protocol.
+Applications which have private data need to provide additional backup 
+registration files, and may use Publish & Subscribe to receive 
+notification of backup requests.
+
+This #define supports PREQ716 - Provide support for secure backup and 
+restore for licensee PC Connectivity software 
+*/
+#define __SECURE_BACKUP__
+
+/**
+@published All 
+
+SYMBIAN_COMMS_REPOSITORY
+
+Comms data is now stored in the Central Repository rather than the DBMS server.  
+A new module, CommsDat.dll, replaces Commdb.dll as the interface for comms data stored on a device. 
+CommsDat has a different API to Commdb, but provides equivalent functionality. 
+There is no longer an SQL API for access to Comms Data. 
+Commdb tools have been migrated for use with CommsDat 
+Commdb is deprecated and should not be used, though it remains as a temporary BC shim on top of CommsDat.   
+*/
+#define SYMBIAN_COMMS_REPOSITORY
+
+/**
+@publishedAll
+
+__HIDE_WATCHER_API_V1__
+
+Hides support APIs for loading non-ECOM watcher plugins. Non-ECOM watcher 
+plugins are still loaded. The associated define __REMOVE_WATCHER_API_V1__
+removes the implementation of the support APIs.
+
+Assumes that __WATCHER_API_V2__ has been defined.
+*/
+#define __HIDE_WATCHER_API_V1__
+#define __REMOVE_WATCHER_API_V1__
+
+/** 
+@publishedAll
+
+SYMBIAN_NETWORKING_REMOVE_RGENERIC
+
+If this macro is defined the deprecated APIs RGenericAgent, 
+RNif, RNifMonitor and Nifman are removed. All of these APIs, 
+exported by NIFMAN, have been deprecated and replaced by 
+the RConnection API exported by ESOCK.
+
+@see Break request BR1070 
+*/ 
+#define SYMBIAN_NETWORKING_REMOVE_RGENERIC
+
+/**
+@publishedPartner
+
+SYMBIAN_IGNORE_BIN_TARGETPATH
+
+When SYMBIAN_IGNORE_BIN_TARGETPATH is defined the TARGETPATH keyword in MMP files is ignored for executables. 
+Executables for the emulator instead get built to the default location.
+e.g. \epoc32\release\winscw\udeb
+*/
+#define SYMBIAN_IGNORE_BIN_TARGETPATH
+
+/**
+@publishedAll
+
+SYMBIAN_HIDE_COREAPPS_API_V1
+
+If SYMBIAN_HIDE_COREAPPS_API_V1 is defined then the insecure CoreApps APIs
+will be removed from various Symbian OS header files. Components affected are 
+Contacts Model, Agenda Model and World Server.
+
+The related define SYMBIAN_REMOVE_COREAPPS_API_V1 removes the underlying implementations,
+causing a binary compatibility break to match the source compatibility break.
+*/
+#define SYMBIAN_HIDE_COREAPPS_API_V1
+#define SYMBIAN_REMOVE_COREAPPS_API_V1
+
+/**
+@publishedAll
+
+__SECURE_API__
+
+Hides unsecure APIs. Many of these have been replaced by Secure variants 
+but some are no longer available in a Secure platform.
+
+e.g.
+
+@see User::RenameThread
+@see User::CommandLine
+
+*/
+#define __SECURE_API__
+#define SYMBIAN_REMOVE_INSECURE_API
+
+/**
+@publishedPartner
+@since 8.1
+
+SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT 
+
+If this is defined, the MHCIEventObserver class must implement
+the FlushCompleteEvent virtual function, which will be used by 
+the link manager to send Flush Complete events up to the stack. 
+If this macro is not defined, Flush Complete events will be discarded.
+
+@see MHCIEventObserver
+@see CHCIFacade
+*/
+#define SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT
+
+/**
+@publishedPartner
+
+SYMBIAN_FONT_METRICS_V2 
+
+If this is defined, then classes which derive from COpenFont (usually 
+these are part of a font rasterizer implementation) must set the 
+protected member variables:
+iFontAscentOfCapitals
+iFontAscentIncAccents
+iFontDescent
+iFontLineGap
+to appropriate values during the creation of a font. 
+If this macro is not defined then these member variables do not exist.
+
+@see COpenFont
+*/
+#define SYMBIAN_FONT_METRICS_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
+
+When SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1 is defined a new EColor16MA 
+display mode is available, having an alpha channel. The alpha support 
+is tailored to the needs of wserv server-side, although some alpha 
+support will also be available to client applications.
+
+This #define supports PREQ915.
+*/
+#define SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
+
+/**
+@publishedPartner
+
+SYMBIAN_TELEPHONY_IMS
+
+If SYMBIAN_TELEPHONY_IMS is defined then IMS related APIs are included 
+in Telephony components.
+
+This #define supports PREQ61.
+*/
+#define SYMBIAN_TELEPHONY_IMS
+
+/**
+@internalComponent
+
+__LEAVE_EQUALS_THROW__
+
+If __LEAVE_EQUALS_THROW__ is defined, User::Leave() and TRAP() are 
+implemented in terms of C++ exceptions where the compiler supports this.
+If __LEAVE_EQUALS_THROW__ is not defined, the legacy Symbian exception 
+mechanism is used instead.
+
+Support for C++ exceptions by the compiler is indicated by the 
+internal macro __SUPPORT_CPP_EXCEPTIONS__ supplied by the tools.  
+Where this macro is not present, __LEAVE_EQUALS_THROW__ is automatically 
+undefined.
+
+This macro supports PREQ519 "Implement User::Leave() in terms of throw()".
+*/
+#define __LEAVE_EQUALS_THROW__
+
+/**
+@publishedPartner
+
+SYMBIAN_CAF_V2
+
+The SYMBIAN_CAF_V2 flag indicates the CAF API v2 is present. 
+CAF v2 supports files containing multiple content objects, which requires 
+a change of API for CAF agents: agents written for CAF v1 will not compile
+against CAF v2. See BR.1219.2 for migration information.
+
+This #define supports PREQ780.
+*/
+#define SYMBIAN_CAF_V2
+
+/**  
+@publishedAll 
+
+SYMBIAN_MDF_API_V2 
+
+This macro selects the Symbian OS 9.x phase of development in 
+the Media Device Framework API, including changes to enable 
+MDF Video Decoder Hardware devices to support applications, 
+streaming and demux.
+
+@see CMMFVideoPlayHwDevice
+*/ 
+#define SYMBIAN_MDF_API_V2
+
+/**
+SYMBIAN_GENERIC_SYSTEM_STARTUP
+
+@publishedPartner
+
+This #define enables the generic start-up architecture in
+which the System Starter process is responsible for the
+controlled startup of the system. 
+
+The #define supports PREQ808 and PREQ809.
+*/
+#define SYMBIAN_GENERIC_SYSTEM_STARTUP
+
+/**
+SYMBIAN_STAGED_SYSTEM_STARTUP
+
+@publishedPartner
+
+When SYMBIAN_STAGED_SYSTEM_STARTUP is defined, the staged 
+start-up architecture has been introduced into the OS and 
+'Start-up State Aware' components can make use of the 
+architecture.
+
+This #define supports PREQ 810.
+*/
+#define SYMBIAN_STAGED_SYSTEM_STARTUP
+
+/**
+SYMBIAN_TIMEZONE_SUPPORT_V1
+
+@publishedAll
+
+When SYMBIAN_TIMEZONE_SUPPORT_V1 is defined the App-services TzClient.dll 
+module (and accompanying import library) is made available for client 
+application use.
+
+This #define supports PREQ663
+*/
+#define SYMBIAN_TIMEZONE_SUPPORT_V1
+
+/**
+SYMBIAN_ECAM_CHUNKAPI
+
+@publishedAll
+@released
+
+Specifies that an extended API will be used in the multimedia 
+camera interface. This has a v2 observer which allows camera data 
+to be returned without buffer copy, and also allows clients to set 
+camera access priority
+
+@see CCamera
+@see MCameraObserver2
+
+This #define supports PREQ799.
+*/
+#define SYMBIAN_ECAM_CHUNKAPI
+
+/**
+@publishedAll
+
+SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
+
+If this macro is defined, then the Bluetooth stack reconfigures to take
+advantage of security mechanisms in Publish and Subscribe. Any other
+components requiring reconfiguration to make use of Publish and Subscribe
+can also use this macro.
+
+*/
+#define SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
+
+/**
+@publishedAll
+
+SYMBIAN_MMF_AUTOPAUSE_RESUME
+
+This #define enables extra features in the MMF APIs for auto pause 
+and resume of audio streams.
+*/
+#define SYMBIAN_MMF_AUTOPAUSE_RESUME
+
+/**
+@publishedPartner
+
+SYMBIAN_BLUETOOTH_ESCO_ENABLED
+
+Enable support for Bluetooth eSCO synchronous links.  
+Defining this macro extends the interface to CHCIBase to support 
+the Synchronous connection commands added in Bluetooth 1.2.
+*/
+#define SYMBIAN_BLUETOOTH_ESCO_ENABLED
+
+/**
+SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
+
+@publishedPartner
+ 
+This macro enables a consolidation phase in the ROM building 
+process to generate additional metadata for each ROM drive.  
+The metadata describes the content and structure of the ROM 
+conveniently filtered for any component that requires it.
+
+Components supply metadata with the "spidata" BUILDROM keyword.
+
+This macro supports PREQ806 and other requirements that 
+eliminate run-time scanning of ROM content.
+*/
+#define SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
+
+/**
+@publishedPartner
+
+SYMBIAN_BOOKMARK_DATABASE
+
+The Bookmark Database is an API used to provide system-wide 
+storage and management functionality for URI bookmarks. 
+If defined, this macro indicates that the Bookmark Database 
+API is present in the platform.
+*/
+#define SYMBIAN_BOOKMARK_DATABASE
+
+/**
+@publishedAll
+
+SYMBIAN_ASSUME_SECURE_DATA
+
+When this macro is defined, all data files are assumed to be in their secure
+locations, and all code which provided backward compatibility for the
+insecure locations is removed. For example, ICL extended resource files
+will not be loaded from System\Libs\Plugins, only from \Resource\ICL.
+
+This macro only makes sense if __SECURE_DATA__ is defined.
+*/
+#define SYMBIAN_ASSUME_SECURE_DATA
+
+/**
+@publishedPartner
+
+SYMBIAN_SWI_POST_INSTALL_REVOCATION
+
+When SYMBIAN_SWI_POST_INSTALL_REVOCATION is defined, 
+support for the SWI post install revocation service is enabled.
+
+This #define supports PREQ919
+*/
+#define SYMBIAN_SWI_POST_INSTALL_REVOCATION
+
+/**  
+@publishedAll 
+
+SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
+
+This macro removes the trivial encryption APIs that are exported by EUSER. 
+
+See BR1320 for more details
+
+*/
+#define SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
+
+/**
+@publishedPartner
+
+SYMBIAN_FLEXIBLE_ALARM
+
+When this macro is defined, Calendar Interim API, Alarm server and UIKON 
+Alert Server will support additional functionality.
+- Extra data can be attached to calendar alarm and allow UI app 
+to retrieve the associated data.
+- The Alarm server can send multiple expired alarms to Alert Server without 
+waiting for the previous alarm acknowledged first
+- A Resource file can be used to configure alarm play intervals and durations, 
+or to disable alarm sound control.
+
+This #define supports PREQ1118
+*/
+#define SYMBIAN_FLEXIBLE_ALARM
+
+/**
+@publishedPartner 
+
+SYMBIAN_C32_SERCOMMS_V2
+
+Description: 
+If SYMBIAN_C32_SERCOMMS_V2 is defined, the Comms Server allows grouped CSYs
+to get loaded into individual threads in order to avoid CSY blocking. 
+The allocation of CSYs to threads is determined by naming convention from 
+the configurator/INI file. 
+
+This #define supports PREQ890
+*/
+//#define SYMBIAN_C32_SERCOMMS_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_SMS_REL6_SUPPORT
+
+SMS Release 6 support is defined in the 3GPP specifications
+(3GPP TS 23.040 V6.5.0 and 3GPP TS 23.038 V6.1.0).
+If defined, this macro indicates that Symbian OS SMS APIs
+shall support Release 6 functionality.
+*/
+#define SYMBIAN_SMS_REL6_SUPPORT
+
+/**
+@publishedPartner
+
+SYMBIAN_HCI_API_V2
+
+If SYMBIAN_HCI_API_V2 is defined then the HCI APIs provided in PREQ750 
+(Bluetooth HCI improvements) will be required for use by a version 2 
+Bluetooth Stack and a version 2 HCI. These APIs are neither binary nor 
+source compatible with the previous version 1 HCI APIs. Both the original 
+version 1  Bluetooth stack and HCI, and the new version 2 Bluetooth stack 
+and HCI will be built, but both rombuild and the emulator will be 
+configured to use the version 2 binaries. The version 2 HCI will support 
+all commands and events listed in Bluetooth v2.0 specification.
+
+If SYMBIAN_HCI_API_V2 is not defined then only the version 1 Bluetooth 
+stack and HCI will be built and used by rombuild and the emulator.
+The version 1 HCI supports most but NOT all commands and events listed 
+in Bluetooth v2.0 specification.
+
+See BR1613 for more information.
+*/
+//#define SYMBIAN_HCI_API_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_NETWORKING_UMTSR5
+
+If SYMBIAN_NETWORKING_UMTSR5 is defined support for the QoS 
+and IMS parameters introduced by Release 5 of the 3GPP 
+specification will be enabled. This involves a BC break in 
+TContextConfig - see BR1582.1 for details.
+
+@see TContextConfig
+
+This #define supports PREQ192 and PREQ635.
+*/
+#define SYMBIAN_NETWORKING_UMTSR5
+
+/**
+@publishedPartner
+
+SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+If SYMBIAN_NETWORKING_3GPPDEFAULTQOS is defined, support 
+for QoS modification on the default PDP context will be 
+enabled via the RSubconnection API.
+
+This #define supports PREQ870.
+*/
+#define SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+/** 
+@publishedAll
+
+SYMBIAN_NETWORKING_WIFI 
+
+If SYMBIAN_NETWORKING_WIFI is defined the following WiFi 
+functionality is enabled: 
+1) New WiFi components can be built. 
+2) WiFi specific CommsDat tables are enabled. 
+
+This #define supports PREQ719 and PREQ1054. 
+*/ 
+#define SYMBIAN_NETWORKING_WIFI
+
+/**
+@internalTechnology
+
+SYMBIAN_COMMSDEBUGUTILITY_V2
+
+If SYMBIAN_COMMSDEBUGUTILITY_V2 is defined then COMSDBGUTIL.DLL 
+becomes a thin layer over the System Tracer. Users of CCFLogIf class 
+have to migrate to use the __FLOG macros instead.
+
+This change also affects the way that CommsDebugUtility logging is
+controlled, and the format of the logs produced. See BR1632 and BR1715.
+*/
+//#define SYMBIAN_COMMSDEBUGUTILITY_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_LFFS_SIBLEY_NORFLASH
+
+If SYMBIAN_LFFS_SIBLEY_NORFLASH is defined support for LFFS on 
+Intel Sibley NOR flash is enabled.
+
+This #define supports PREQ912 and involves a BC break in the 
+parameter list for DMediaDriverFlash::Caps() - see BR1680 for details.
+*/
+//#define SYMBIAN_LFFS_SIBLEY_NORFLASH
+
+/** 
+@publishedAll 
+
+SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY 
+
+If SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY is defined 
+then the comms-infras framework supports the management plane 
+with the RCommsManager API providing support for connection 
+selection, bearer mobility and other functionality.
+
+This #define supports PREQ 1060. 
+*/ 
+//#define SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+/**
+@publishedPartner
+
+SYMBIAN_NETWORKING_IPSEC_IKE_V2
+
+If SYMBIAN_NETWORKING_IPSEC_IKE_V2 is defined, IPSEC will 
+be able to support Internet Key Exchange version 2 in 
+addition to IKE v1. This involves a change in the size of 
+the TPfkeyMsgBase class - see BR1736.1.
+
+Actual support for IKE v2 will depend on the provision 
+of a suitable plugin to the Key Management Daemon.
+
+This #define supports PREQ1223.
+*/
+#define SYMBIAN_NETWORKING_IPSEC_IKE_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_PKCS12
+
+If SYMBIAN_PKCS12 is defined, the PKCS#12 Key Derivation 
+Algorithm is supplied.
+
+This #define supports PREQ1054. 
+*/
+#define SYMBIAN_PKCS12
+
+/**
+@publishedAll
+
+SYMBIAN_CNTMODEL_V2
+
+If SYMBIAN_CNTMODEL_V2 is defined, clients of the
+Contacts Model can exploit the efficiency improvements
+introduced by PREQ811, e.g. efficient use of transactions. 
+
+This #define supports PREQ811
+*/
+#define SYMBIAN_CNTMODEL_V2
+
+/**
+@publishedAll
+
+SYMBIAN_WSERV_AND_CONE_MULTIPLE_SCREENS 
+
+If SYMBIAN_WSERV_AND_CONE_MULTIPLE_SCREENS is defined, new
+APIs are provided in cone.lib and ws32.lib which allow 
+applications to draw to multiple displays simultaneously and 
+react to a change of the active display.
+
+This #define supports PREQ1227
+
+@see CCoeEnv::ScreenDevice
+@see CScreenItem
+*/
+//#define SYMBIAN_WSERV_AND_CONE_MULTIPLE_SCREENS
+
+/**
+@publishedPartner
+
+SYMBIAN_CENTREP_NOC
+
+If SYMBIAN_CENTREP_NOC is defined, the Central Repository 
+includes Notify-Only Client Optimization. This will cause 
+repositories to be unloaded after a timeout even if the 
+connection is still open.
+
+This #define supports PREQ1228. 
+*/
+#define SYMBIAN_CENTREP_NOC
+
+/**
+@publishedAll
+
+SYMBIAN_VARIABLE_BITRATE_CODEC
+
+If SYMBIAN_VARIABLE_BITRATE_CODEC is defined then 
+CMMFSwCodecWrapper based audio hardware devices in the 
+Multimedia Framework (MMF) can support variable bitrate codecs.
+
+@see CMMFSwCodecWrapper
+*/
+#define SYMBIAN_VARIABLE_BITRATE_CODEC
+
+/**
+@publishedAll
+
+SYMBIAN_SWTRACER_V1
+
+When defined, the new System Wide Tracer APIs are available.
+
+@see SWT::RTracer
+
+This #define supports PREQ505
+*/
+//#define SYMBIAN_SWTRACER_V1
+
+/** 
+@publishedPartner 
+  
+SYMBIAN_TELEPHONY_USAT5 
+
+If SYMBIAN_TELEPHONY_USAT5 is defined then support for 3GPP 
+Release 5 (U)SAT will be enabled. 
+
+@see RSat::TCallControlV5
+
+This #define supports PREQ1234.
+*/ 
+#define SYMBIAN_TELEPHONY_USAT5
+
+/**
+@publishedAll
+
+SYMBIAN_MULTIMEDIA_CODEC_API
+
+If SYMBIAN_MULTIMEDIA_CODEC_API is defined then support is 
+available for PREQ1024 delivered Processing Unit or 
+OpenMAX based codecs and Multimedia hardware devices.
+*/
+#define SYMBIAN_MULTIMEDIA_CODEC_API
+
+/**
+@publishedAll
+
+SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
+
+If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is defined, threads at 
+priority SystemServer/More (i.e. process priorities EPriorityFileServer, 
+EPriorityWindowServer or EPrioritySupervisor with relative thread priority 
+EPriorityMore) are mapped to absolute priority 23, equal to the highest 
+priority available to normal applications. This lowers the Window Server 
+and File Server priorities so application threads can timeslice with them, 
+benefitting audio and other pseudo real-time applications.
+
+If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is not defined, these system server 
+priorities remain at 24, preempting all normal user application threads.
+
+This #define supports PREQ955, and BR1821.
+*/
+#define SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
+
+/**
+@publishedPartner
+
+SYMBIAN_APPARC_APPINFO_CACHE
+
+If SYMBIAN_APPARC_APPINFO_CACHE is defined then apparc creates 
+a file of application information on the first boot, which is 
+used during subsequent boots for application information.
+*/
+#define SYMBIAN_APPARC_APPINFO_CACHE
+
+/** 
+@publishedAll
+
+SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
+
+If SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT is defined then 
+the Multimedia Framework (MMF) can support video playback on 
+a secondary display. The default screen will be the screen 
+number in the cone environment.
+
+@see CVideoPlayerUtility
+*/
+#define SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
+
+/**
+@publishedAll
+
+SYMBIAN_USE_MMF_RUF_RECOGNIZER
+
+If SYMBIAN_USE_MMF_RUF_RECOGNIZER is defined, the MMF recognizer is able to 
+recognize formats such as MPEG4, MPEG2, AAC and Divx.
+*/
+#define SYMBIAN_USE_MMF_RUF_RECOGNIZER
+
+/** 
+@publishedAll
+
+SYMBIAN_NETWORKING_EAP
+
+If SYMBIAN_NETWORKING_EAP is defined the following  
+functionality is affected: 
+1) Generic EAP-Framework Components built 
+2) Generic Support EAP-MSCHAPv2, PEAPv0, EAP-TTLS, EAP-TLS, EAP-SIM and EAP-AKA enabled
+3) WiFi specific EAP Framework and EAP Methods not built
+
+This #define supports PREQ1623. 
+*/
+//#define SYMBIAN_NETWORKING_EAP
+
+/**
+@publishedAll
+
+SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
+
+If  SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM is defined, the Composite
+File System allows more than one ROFS partition to be included in
+the composite Z: drive.
+
+This #define supports PREQ1085
+*/
+#define SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
+
+/** 
+@publishedPartner 
+
+SYMBIAN_SUPPORT_LINKED_FONTS 
+
+If SYMBIAN_SUPPORT_LINKED_FONTS is defined then APIs are provided 
+to create 'linked' font instances which combine glyph sets from 
+multiple existing font glyph sets.
+
+@see CLinkedTypefaceElement
+@see CLinkedTypefaceSpecification
+
+This #define supports PREQ1431.
+*/ 
+#define SYMBIAN_SUPPORT_LINKED_FONTS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/bad_lone_end.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// test for failure in PRJ_EXTENSIONS by processing for ARMV5 and
+// test for failure in PRJ_TESTEXTENSIONS by processing for WINSCW
+
+#ifdef EABI
+
+PRJ_EXTENSIONS
+// an END without a START
+END
+
+#else
+
+PRJ_TESTEXTENSIONS
+// an END without a START
+END
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/default_plats.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/default_plats_minus_plat.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,20 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT -WINSCW
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/exports.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+PRJ_EXPORTS
+export1.h															// %EPOCROOT%epoc32\include\export1.h
+export2.h				export_test/export2.h						// %EPOCROOT%epoc32\include\export_test\export2.h 
+export3.h				../export_test/export3.h					// %EPOCROOT%epoc32\export_test\export3.h
+export4.h				/export_test_abs/export4.h					// \export_test_abs\export4.h
+export5.h				/epoc32/export_test_abs/export5.h			// %EPOCROOT%epoc32\export_test_abs\export5.h
+export6.h				|../export_test_rel/\export6.h				// ..\export_test_rel\export6.h
+export7.h				|/export_test_rel/export7.h					// .\export_test_rel\export7.h
+export8.h				|export_test_rel/export8.h					// .\export_test_rel\export8.h
+:zip export9.zip													// %EPOCROOT% 
+:zip export10.zip		export_test									// %EPOCROOT%export_test
+:zip export11.zip		/export_test								// \export_test
+:zip export12.zip		/epoc32/export_test							// %EPOCROOT%epoc32\export_test
+export13.rsc			z:/resource/app/export13.rsc				// %EPOCROOT%epoc32\data\z\resource\app\export13.rsc
+
+PRJ_TESTEXPORTS
+testexport1.h														// .\testexport1.h (as exports over itself!)
+testexport2.h			export_test_rel/testexport2.h				// .\export_test_rel\testexport2.h 
+testexport3.h			../export_test_rel/testexport3.h			// ..\export_test_rel\testexport3.h
+testexport4.h			/export_test_abs/testexport4.h				// \export_test_abs\testexport4.h
+testexport5.h			/epoc32/export_test_abs/testexport5.h		// %EPOCROOT%epoc32\export_test_abs\testexport5.h
+testexport6.h			|../export_test_rel/testexport6.h			// ..\export_test_rel\testexport6.h
+testexport7.h			|/export_test_rel/testexport7.h				// .\export_test_rel\testexport7.h
+testexport8.h			|export_test_rel/testexport8.h				// .\export_test_rel\testexport8.h
+:zip testexport9.zip												// %EPOCROOT%
+:zip testexport10.zip	export_test									// %EPOCROOT%export_test
+:zip testexport11.zip	/export_test								// \export_test
+:zip testexport12.zip	/epoc32/export_test							// %EPOCROOT%epoc32\export_test
+testexport13.rsc		z:/resource/app/testexport13.rsc			// %EPOCROOT%epoc32\data\z\resource\app\testexport13.rsc
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/extensions.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+PRJ_EXTENSIONS
+
+START EXTENSION test/dummyextension1
+	TARGET dummyoutput1.exe
+	SOURCES dummysource11.cpp dummysource12.cpp dummysource13.cpp
+	DEPENDENCIES dummylib11.lib dummylib12.lib
+	TOOL dummytool1.exe
+	OPTION option11 option11value
+	OPTION option12 $(MAKE_VAR)
+END
+
+START EXTENSION test/dummyextension2
+	TARGET dummyoutput2.exe
+	SOURCES dummysource21.cpp dummysource22.cpp dummysource23.cpp
+	DEPENDENCIES dummylib21.lib dummylib22.lib
+	TOOL dummytool2.exe
+	OPTION option21 option21value
+	OPTION option22 $(MAKE_VAR)
+END
+
+// Note that variable prefixed TEMs are supported only for Raptor testing
+START EXTENSION $(SBS_HOME)/test/dummyextension3
+	TARGET dummyoutput3.exe
+	SOURCES dummysource31.cpp dummysource32.cpp dummysource33.cpp
+	DEPENDENCIES dummylib31.lib dummylib32.lib
+	TOOL dummytool3.exe
+	OPTION option31 option31value
+	OPTION option32 $(MAKE_VAR)
+END
+
+
+PRJ_TESTEXTENSIONS
+
+START EXTENSION test/dummytestextension1
+	TARGET dummytestoutput1.exe
+	SOURCES dummytestsource11.cpp dummytestsource12.cpp dummytestsource13.cpp
+	DEPENDENCIES dummytestlib11.lib dummytestlib12.lib
+	TOOL dummytesttool1.exe
+	OPTION optiontest11 optiontest11value
+	OPTION optiontest12 $(MAKE_VAR)
+END
+
+START EXTENSION test/dummytestextension2
+	TARGET dummytestoutput2.exe
+	SOURCES dummytestsource21.cpp dummytestsource22.cpp dummytestsource23.cpp
+	DEPENDENCIES dummytestlib21.lib dummytestlib22.lib
+	TOOL dummytesttool2.exe
+	OPTION optiontest21 optiontest21value
+	OPTION optiontest22 $(MAKE_VAR)
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/includes/dir1/dir2/up_dir.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// up_dir.inf
+
+#include "../../dir3/down_dir.inf"
+
+PRJ_EXPORTS
+up_dir_export_source.h	up_dir_export_destination.h
+
+PRJ_MMPFILES
+up_dir.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/includes/dir3/down_dir.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// down_dir.inf
+
+PRJ_EXPORTS
+down_dir_export_source.h	down_dir_export_destination.h
+
+PRJ_MMPFILES
+down_dir.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/includes/top_level.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// top_level.inf
+
+#include "dir1/dir2/up_dir.inf"
+
+PRJ_EXPORTS
+top_level_export_source.h	top_level_export_destination.h
+
+PRJ_MMPFILES
+top_level.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/multiple_plats.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5 WINSCW TOOLS
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/no_plats.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,20 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/no_prj_platforms.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/single_plat.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/mmps/includes/dir1/dir2/up_dir.mmh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// up_dir.mmh
+
+SOURCEPATH	.
+SOURCE		up_dir.cpp
+
+#include "../../dir3/down_dir.mmh"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/mmps/includes/dir3/down_dir.mmh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// down_dir.mmh
+
+SOURCEPATH	.
+SOURCE		down_dir.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/mmps/includes/top_level.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,20 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// top_level.inf
+
+PRJ_MMPFILES
+top_level.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/mmps/includes/top_level.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// top_level.mmp
+
+TARGET		dummy.exe
+TARGETTYPE 	EXE
+SOURCE		top_level.cpp
+
+#include "dir1/dir2/up_dir.mmh"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/mmps/test_mmps/autotest.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET		dummy.exe
+TARGETTYPE 	EXE
+SOURCE		top_level.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/mmps/test_mmps/ignoretest.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET		dummy.exe
+TARGETTYPE 	EXE
+SOURCE		top_level.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/mmps/test_mmps/manualtest.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET		dummy.exe
+TARGETTYPE 	EXE
+SOURCE		top_level.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/mmps/test_mmps/supporttest.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET		dummy.exe
+TARGETTYPE 	EXE
+SOURCE		top_level.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/project/mmps/test_mmps/test_mmps.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_TESTMMPFILES
+autotest.mmp
+manualtest.mmp		manual
+supporttest.mmp		support
+ignoretest.mmp		ignore
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/system/system_definition_1.3.1.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+<SystemDefinition name="MCL" schema="1.3.1" >
+	<systemModel>
+	    <layer name="test">
+			<component name="Test Component 1">          
+				<unit unitID="TCOMP1" name="test_component_1" bldFile="simple" mrp="simple\simple.mrp"/>
+			</component>
+			<component name="Test Component 2">
+				<unit unitID="TCOMP2" name="test_component_2" bldFile="basics\helloworld" mrp="basics\helloworld.mrp"/>
+			</component>
+			<component name="Missing Component">
+				<unit unitID="MCOMP" name="missing_component" bldFile="basics\missing" mrp="basics\missing\missing.mrp"/>
+			</component>
+		</layer>
+	</systemModel>
+</SystemDefinition>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/system/system_definition_1.4.1.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+<SystemDefinition name="MCL" schema="1.4.1" >
+	<systemModel>
+	    <layer name="test">
+			<component name="Test Component 1">          
+				<unit unitID="TCOMP1" name="test_component_1" bldFile="simple" mrp="simple\simple.mrp"/>
+			</component>
+			<component name="Test Component 2">
+				<unit unitID="TCOMP2" name="test_component_2" bldFile="basics\helloworld" mrp="basics\helloworld.mrp"/>
+			</component>
+			<component name="Missing Component">
+				<unit unitID="MCOMP" name="missing_component" bldFile="basics\missing" mrp="basics\missing\missing.mrp"/>
+			</component>
+		</layer>
+	</systemModel>
+</SystemDefinition>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/system/system_definition_1.5.1.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+<SystemDefinition name="MCL" schema="1.5.1" >
+	<systemModel>
+	    <layer name="test">
+			<component name="Test Component 1">          
+				<unit unitID="TCOMP1" name="test_component_1" bldFile="simple" mrp="simple\simple.mrp"/>
+			</component>
+			<component name="Test Component 2">
+				<unit unitID="TCOMP2" name="test_component_2" bldFile="basics\helloworld" mrp="basics\helloworld.mrp"/>
+			</component>
+			<component name="Missing Component">
+				<unit unitID="MCOMP" name="missing_component" bldFile="basics\missing" mrp="basics\missing\missing.mrp"/>
+			</component>
+		</layer>
+	</systemModel>
+</SystemDefinition>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/system/system_definition_2.0.0.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+<SystemDefinition name="MCL" schema="2.0.0" > 
+	<systemModel>
+	    <layer name="test">
+			<component name="Test Component 1">
+				<unit bldFile="simple" mrp="simple/simple.mrp"/>
+			</component>
+			<component name="Test Component 2">
+				<unit bldFile="test/smoke_suite/test_resources/basics/helloworld" root="SBS_HOME" mrp="test/smoke_suite/test_resources/basics/helloworld.mrp"/>
+			</component>
+			<component name="Incorrect root attribute">
+				<unit bldFile="basics/helloworld" root="NON_EXISTENT_ENVVAR" mrp="basics/helloworld.mrp"/>
+			</component>
+			<component name="Missing Component">
+				<unit unitID="MCOMP" name="missing_component" bldFile="basics\missing" mrp="basics\missing\missing.mrp"/>
+			</component>
+		</layer>
+	</systemModel>
+</SystemDefinition>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/system/system_definition_3.0.0.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+<SystemDefinition name="MCL" schema="3.0.0" >  
+	<systemModel>
+	    <layer name="test">
+			<component name="Test Component 1">          
+				<unit unitID="TCOMP1" name="test_component_1" bldFile="simple" mrp="simple\simple.mrp"/>
+			</component>
+			<component name="Test Component 2">
+				<unit unitID="TCOMP2" name="test_component_2" bldFile="basics\helloworld" mrp="basics\helloworld.mrp"/>
+			</component>
+		</layer>
+	</systemModel>
+</SystemDefinition>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/system/system_definition_multi_layers.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,47 @@
+<SystemDefinition name="MCL" schema="2.0.0" > 
+	<systemModel>
+	    <layer name="First Layer">
+			<component name="simple">
+				<unit bldFile="test/smoke_suite/test_resources/simple" root="SBS_HOME" mrp="simple/test.mrp"/>
+			</component>
+			<component name="simple_dll">
+				<unit bldFile="test/smoke_suite/test_resources/simple_dll" root="SBS_HOME" mrp="simple_dll/test.mrp"/>
+			</component>
+		</layer>
+	    <layer name="Second Layer">
+			<component name="simple_export">
+				<unit bldFile="test/smoke_suite/test_resources/simple_export" root="SBS_HOME" mrp="simple_export/test.mrp"/>
+			</component>
+			<component name="simple_gui">
+				<unit bldFile="test/smoke_suite/test_resources/simple_gui" root="SBS_HOME" mrp="simple_gui/test.mrp"/>
+			</component>
+		</layer>
+	    <layer name="Third Layer">
+			<component name="simple_implib">
+				<unit bldFile="test/smoke_suite/test_resources/simple_implib" root="SBS_HOME" mrp="simple_implib/test.mrp"/>
+			</component>
+			<component name="simple_lib">
+				<unit bldFile="test/smoke_suite/test_resources/simple_lib" root="SBS_HOME" mrp="simple_lib/test.mrp"/>
+			</component>
+		</layer>
+	    <layer name="Fourth Layer">
+			<component name="simple_stringtable">
+				<unit bldFile="test/smoke_suite/test_resources/simple_stringtable" root="SBS_HOME" mrp="simple_stringtable/test.mrp"/>
+			</component>
+			<component name="simple_test">
+				<unit bldFile="test/smoke_suite/test_resources/simple_test" root="SBS_HOME" mrp="simple_test/test.mrp"/>
+			</component>
+		</layer>
+	    <layer name="Fifth Layer">
+		</layer>
+		<!--layer name="Sixth layer" deliberately omitted -->
+	    <layer name="Seventh Layer">
+			<component name="simple_stringtable">
+				<unit bldFile="test/smoke_suite/test_resources/simple_plugin" root="SBS_HOME" mrp="simple_plugin/test.mrp"/>
+			</component>
+			<component name="does_not_exist">
+				<unit bldFile="test/smoke_suite/test_resources/does_not_exist" root="SBS_HOME" mrp="does_not_exist/test.mrp"/>
+			</component>
+		</layer>
+	</systemModel>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/metadata/system/system_definition_nover.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+<SystemDefinition name="MCL" >  
+	<systemModel>
+	    <layer name="test">
+			<component name="Test Component 1">          
+				<unit unitID="TCOMP1" name="test_component_1" bldFile="simple" mrp="simple\simple.mrp"/>
+			</component>
+			<component name="Test Component 2">
+				<unit unitID="TCOMP2" name="test_component_2" bldFile="basics\helloworld" mrp="basics\helloworld.mrp"/>
+			</component>
+			<component name="Missing Component">
+				<unit unitID="MCOMP" name="missing_component" bldFile="basics\missing" mrp="basics\missing\missing.mrp"/>
+			</component>
+		</layer>
+	</systemModel>
+</SystemDefinition>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/oe_linking_against_se_lib/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+test_oeexe.mmp
+
+// end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/oe_linking_against_se_lib/group/test_oeexe.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* t_oeexe.mmp
+*
+*/
+
+
+TARGET			test_oeexe.exe
+TARGETTYPE		stdexe
+romtarget
+ramtarget		sys/bin/
+SOURCEPATH		..
+
+// Emulator images have different export data
+#ifdef WINS
+SOURCE			test_oeexe_wins.cpp
+#else
+SOURCE			test_oeexe.cpp
+#endif
+
+LIBRARY			euser.lib t_oedll.lib
+
+// Standard Symbian Library Created by Simple_lib\simple.mmp
+STATICLIBRARY		etest.lib
+
+SYSTEMINCLUDE	/epoc32/include ..
+VENDORID		0x70000001
+capability		all -TCB
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/oe_linking_against_se_lib/test_oedll.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.h*
+*/
+
+
+ 
+
+
+
+#include <e32cons.h>
+
+extern "C" {
+
+extern int IMPORT_C myfoo();
+
+}
+
+
+
+IMPORT_C int bar();
+
+class CMessenger : public CBase
+
+  	{
+
+public:
+
+		// Construction
+
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+
+		// Destructor - virtual and class not intended
+
+		// for derivation, so not exported
+
+	~CMessenger();
+
+		// general functions - exported
+
+	IMPORT_C void ShowMessage();
+
+private:
+
+		// C++ constructor - not exported;
+
+		// implicitly called from NewLC()
+
+	CMessenger(CConsoleBase& aConsole);
+
+		// 2nd phase construction, called by NewLC()
+
+	void ConstructL(const TDesC& aString); // second-phase constructor
+
+private:
+
+	CConsoleBase& iConsole; // Use the console (but not owned)
+
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+
+	};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/oe_linking_against_se_lib/test_oeexe.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,296 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+
+Overview:
+
+	Tests it is possible to retrieve the 0th ordinal from exes and dlls
+
+	that are marked as having named symbol export data.  This is loaded
+
+	as non-XIP so loader fixups of 0th ordinal imports can be tested
+
+
+
+API Information:
+
+	RProcess, RLibrary
+
+
+
+Details:
+
+	- 	Test reading 0th ordinal from a dll which has a E32EpocExpSymInfoHdr 
+
+		struct at the 0th ordinal and verify the contents of the header
+
+	-	Test attempts to get the 0th ordinal from a dll without the named symbol 
+
+		data returns NULL
+
+	-	Test reading the named symbol data from an exe that contains a
+
+		E32EpocExpSymInfoHdr struct at the 0th ordinal and verify the contents
+
+	-	Test import fixups has correctly fixed up the 0th ordinal of the static
+
+		dependencies to this stdexe
+
+	-	Test NULL is returned when attempting to read the 0th ordinal of
+
+		an exe that doesn't contain a E32EpocExpSymInfoHdr
+
+
+
+Platforms/Drives/Compatibility:
+
+	All
+
+
+
+Assumptions/Requirement/Pre-requisites:
+
+
+
+	
+
+Failures and causes:
+
+	
+
+	
+
+Base Port information:
+
+
+
+*/
+
+#include <test_oedll.h>
+
+#include <e32test.h>
+
+#include <e32panic.h>
+
+#include <f32image.h>
+
+
+
+RTest test(_L("T_OEEXPORT"));
+
+
+
+// This is defined as LOCAL_D(static) to ensure that tools allow static symbol in stdexe/dlls
+
+// as this was not always the case.
+
+LOCAL_D void VerifyHdr(E32EpocExpSymInfoHdr& aExpectedHdr, E32EpocExpSymInfoHdr &aReadHdr)
+
+	{
+
+	test(aExpectedHdr.iSize == aReadHdr.iSize);
+
+	test(aExpectedHdr.iFlags == aReadHdr.iFlags);
+
+	test(aExpectedHdr.iSymCount == aReadHdr.iSymCount);
+
+	test(aExpectedHdr.iSymbolTblOffset == aReadHdr.iSymbolTblOffset);
+
+	test(aExpectedHdr.iStringTableSz == aReadHdr.iStringTableSz);
+
+	test(aExpectedHdr.iStringTableOffset == aReadHdr.iStringTableOffset);
+
+	test(aExpectedHdr.iDllCount == aReadHdr.iDllCount);
+
+	test(aExpectedHdr.iDepDllZeroOrdTableOffset == aReadHdr.iDepDllZeroOrdTableOffset);
+
+	}
+
+
+
+TInt E32Main()
+
+	{
+
+	test.Title();
+
+
+
+	test.Start(_L("Test retrieving 0th ordinal and therefore named symbol export data"));
+
+	
+
+	E32EpocExpSymInfoHdr tmpHdr;
+
+	E32EpocExpSymInfoHdr *readHdr;
+
+	RLibrary library;
+
+
+
+	// The values for the header of the dll with a 0th ordinal
+
+	tmpHdr.iSize = 0x1a4;
+
+	tmpHdr.iFlags = 0x0;
+
+	tmpHdr.iSymCount = 0xc;	
+
+	tmpHdr.iSymbolTblOffset = 0x1c;
+
+	tmpHdr.iStringTableSz = 0x134;
+
+	tmpHdr.iStringTableOffset = 0x64;
+
+	tmpHdr.iDllCount = 0x3;	
+
+	tmpHdr.iDepDllZeroOrdTableOffset = 0x198;
+
+	test(library.Load(_L("t_oedll.dll")) == KErrNone);
+
+	test.Next(_L("Attempt to retrieve named symbol data from t_oedll.dll"));
+
+	readHdr = (E32EpocExpSymInfoHdr*)library.Lookup(0);
+
+	test(readHdr!=NULL);
+
+	test.Next(_L("Verify export data of t_oedll.dll at the 0th ordinal is that expected"));
+
+	VerifyHdr(tmpHdr, *readHdr);
+
+	library.Close();
+
+
+
+	test.Next(_L("Verify lookup on dll without oe export data returns NULL"));
+
+	test(library.Load(_L("t_dll1.dll")) == KErrNone);
+
+	readHdr = (E32EpocExpSymInfoHdr*)library.Lookup(0);
+
+	test(readHdr == NULL);
+
+	library.Close();
+
+
+
+	// The values for the header of the exe of the current process with a 0th ordinal
+
+	tmpHdr.iSize = 0x48;
+
+	tmpHdr.iFlags = 0x0;
+
+	tmpHdr.iSymCount = 0x2;
+
+	tmpHdr.iSymbolTblOffset = 0x1c;
+
+	tmpHdr.iStringTableSz = 0x14;
+
+	tmpHdr.iStringTableOffset = 0x28;
+
+	tmpHdr.iDllCount = 0x3;
+
+	tmpHdr.iDepDllZeroOrdTableOffset = 0x3c;
+
+	test.Next(_L("Attempt to retrieve named symbol data from current process"));
+
+	readHdr = (E32EpocExpSymInfoHdr*)(RProcess::ExeExportData());
+
+	test(readHdr!=NULL);
+
+	test.Next(_L("Verify export data at th 0th ordinal of this exe is that expected"));
+
+
+
+//#define PRINT_ZEROTH
+
+#ifdef PRINT_ZEROTH
+
+	test.Printf(_L("iSize=%08x;iFlags=%08x;iSymCount=%08x;iSymbolTblOffset=%08x\n"),readHdr->iSize,readHdr->iFlags,readHdr->iSymCount,readHdr->iSymbolTblOffset);
+
+	test.Printf(_L("iStringTableSz=%08x,iStringTableOffset=%08x,iDllCount=%08x,iDepDllZeroOrdTableOffset=%08x\n"), readHdr->iStringTableSz, readHdr->iStringTableOffset,readHdr->iDllCount,readHdr->iDepDllZeroOrdTableOffset);
+
+#endif
+
+	VerifyHdr(tmpHdr, *readHdr);
+
+
+
+	test.Next(_L("Verify static dependency t_oedll1 has been fixed up correctly"));
+
+	test(myfoo()==0x1234);
+
+
+
+	// Get the 0th ordinal data from the dependency t_oedll1 and verify it
+
+	readHdr=(E32EpocExpSymInfoHdr *)((TUint32)readHdr+readHdr->iDepDllZeroOrdTableOffset);
+
+	TUint32 readHdrEnd = (TUint32)readHdr + 12;
+
+	// This stdexe only links one stddll so the only non-NULL entry in iDepDllZeroOrdTable
+
+	// should point to 0th ordinal of t_oedll1
+
+	while (*(TUint32*)readHdr == NULL && (TUint32)readHdr < readHdrEnd)
+
+		{
+
+		readHdr=(E32EpocExpSymInfoHdr *)(((TUint32*)readHdr)+1);
+
+		}
+
+
+
+#ifdef PRINT_ZEROTH
+
+	test.Printf(_L("iSize=%08x;iFlags=%08x;iSymCount=%08x;iSymbolTblOffset=%08x\n"),(*(E32EpocExpSymInfoHdr**)readHdr)->iSize,(*(E32EpocExpSymInfoHdr**)readHdr)->iFlags,(*(E32EpocExpSymInfoHdr**)readHdr)->iSymCount,(*(E32EpocExpSymInfoHdr**)readHdr)->iSymbolTblOffset);
+
+	test.Printf(_L("iStringTableSz=%08x,iStringTableOffset=%08x,iDllCount=%08x,iDepDllZeroOrdTableOffset=%08x\n"), (*(E32EpocExpSymInfoHdr**)readHdr)->iStringTableSz, (*(E32EpocExpSymInfoHdr**)readHdr)->iStringTableOffset,(*(E32EpocExpSymInfoHdr**)readHdr)->iDllCount,(*(E32EpocExpSymInfoHdr**)readHdr)->iDepDllZeroOrdTableOffset);
+
+#endif
+
+
+
+	tmpHdr.iSize = 0x1a4;
+
+	tmpHdr.iFlags = 0x0;
+
+	tmpHdr.iSymCount = 0xc;	
+
+	tmpHdr.iSymbolTblOffset = 0x1c;
+
+	tmpHdr.iStringTableSz = 0x134;
+
+	tmpHdr.iStringTableOffset = 0x64;
+
+	tmpHdr.iDllCount = 0x3;	
+
+	tmpHdr.iDepDllZeroOrdTableOffset = 0x198;
+
+	VerifyHdr(tmpHdr,**(E32EpocExpSymInfoHdr**)readHdr);
+
+	
+
+	test.End();
+
+	return KErrNone;
+
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/oe_linking_against_se_lib/test_oeexe_wins.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,208 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+
+Overview:
+
+	Emulator version that tests it is possible to retrieve the 0th 
+
+	ordinal from exes and dlls that are marked as having named 
+
+	symbol export data.
+
+
+
+API Information:
+
+	RProcess, RLibrary
+
+
+
+Details:
+
+	- 	Test reading 0th ordinal from a dll which has a E32EmulExpSymInfoHdr 
+
+		struct at the 0th ordinal and verify the contents of the header
+
+	-	Test NULL is returned on attempts to get the 0th ordinal from a 
+
+		dll without the named symbol data
+
+	-	Test reading the named symbol data from an exe that contains a
+
+		E32EmulExpSymInfoHdr struct at the 0th ordinal and verify the contents
+
+	-	Test NULL is returned when attempting to read the 0th ordinal of
+
+		an exe that doesn't contain a E32EmulExpSymInfoHdr
+
+
+
+Platforms/Drives/Compatibility:
+
+	All
+
+
+
+Assumptions/Requirement/Pre-requisites:
+
+
+
+	
+
+Failures and causes:
+
+	
+
+	
+
+Base Port information:
+
+
+
+*/
+
+#include <test_oedll.h>
+
+#include <e32test.h>
+
+#include <e32panic.h>
+
+#include <f32image.h>
+
+
+
+RTest test(_L("T_OEEXPORT"));
+
+
+
+LOCAL_D void VerifyHdr(E32EmulExpSymInfoHdr& aExpectedHdr, E32EmulExpSymInfoHdr &aReadHdr)
+
+	{
+
+	test(aExpectedHdr.iSymCount == aReadHdr.iSymCount);
+
+	test(aExpectedHdr.iDllCount == aReadHdr.iDllCount);
+
+	}
+
+
+
+TInt E32Main()
+
+	{
+
+	test.Title();
+
+
+
+	test.Start(_L("Test retrieving 0th ordinal and therefore named symbol export data"));
+
+	
+
+	E32EmulExpSymInfoHdr tmpHdr;
+
+	E32EmulExpSymInfoHdr *readHdr;
+
+	RLibrary library;
+
+
+
+	// The values for the header of the dll with a 0th ordinal
+
+	tmpHdr.iSymCount = 0x0;
+
+	tmpHdr.iDllCount = 0x3;
+
+	test(library.Load(_L("t_oedll.dll")) == KErrNone);
+
+	test.Next(_L("Attempt to retrieve named symbol data from t_oedll.dll"));
+
+	readHdr = (E32EmulExpSymInfoHdr*)library.Lookup(0);
+
+	test(readHdr!=NULL);
+
+//#define PRINT_ZEROTH
+
+#ifdef PRINT_ZEROTH
+
+	test.Printf(_L("iSymCount=%08x;iDllCounts=%08x\n"),readHdr->iSymCount,readHdr->iDllCount);
+
+#endif
+
+	test.Next(_L("Verify export data of t_oedll.dll is that expected"));
+
+	VerifyHdr(tmpHdr, *readHdr);
+
+	library.Close();
+
+
+
+	test.Next(_L("Verify lookup on dll without oe export data returns NULL"));
+
+	test(library.Load(_L("t_dll1.dll")) == KErrNone);
+
+	readHdr = (E32EmulExpSymInfoHdr*)library.Lookup(0);
+
+	test(readHdr == NULL);
+
+	library.Close();
+
+
+
+	// The values for the header of the exe of the current process with a 0th ordinal
+
+	tmpHdr.iSymCount = 0x3;
+
+	tmpHdr.iDllCount = 0x5;
+
+	test.Next(_L("Attempt to retrieve named symbol data from current process"));
+
+	readHdr = (E32EmulExpSymInfoHdr*)(RProcess::ExeExportData());
+
+	test(readHdr!=NULL);
+
+	test.Next(_L("Verify export data 0th ordinal data of this exe is that expected"));
+
+#ifdef PRINT_ZEROTH
+
+	test.Printf(_L("iSymCount=%08x;iDllCounts=%08x;\n"),readHdr->iSymCount,readHdr->iDllCount);
+
+#endif
+
+	VerifyHdr(tmpHdr, *readHdr);
+
+
+
+/*
+
+On Emulator can't examine fixups & depdencies via export data as data not included
+
+in E32EmulExpSymInfoHdr.  This is all handled by the MS loader.
+
+
+
+*/
+
+	test.End();
+
+	return KErrNone;
+
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/retirement/metadep.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,50 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "71"
+	t.name = "metadep"
+	t.description =  """Tests metadata dependency generation.  Changes 
+			to bld.infs and mmps can be detected."""
+	t.usebash = True
+	t.command = """export SBSLOGFILE SBSMAKEFILE; bash smoke_suite/test_resources/metadep.sh 2>&1"""
+			
+	t.targets = [
+		]
+
+	t.mustmatch_multiline = [
+""".*Step 1 .*no warnings or errors.*
+sbs: build log in.*
+\+ sleep 1.*
+.*make -rf .*epoc32/build/metadata_all.mk.*
+.*make.*epoc32/build/metadata_all.mk. is up to date.*
+Step 2 .*
+.*RE-RUNNING SBS with previous parameters.*
+Step 3 .*
+.*RE-RUNNING SBS with previous parameters.*
+.*RE-RUNNING SBS with previous parameters.*"""
+	]
+	t.mustnotmatch_multiline = [
+"""RE-RUNNING SBS with previous parameters.*
+RE-RUNNING SBS with previous parameters.*
+RE-RUNNING SBS with previous parameters.*
+RE-RUNNING SBS with previous parameters.*"""
+	]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/run	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,59 @@
+#!/bin/bash
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Test Suite execution file for linux
+#
+
+# Ensure that the host type is set for Raptor:
+eval $($SBS_HOME/bin/gethost.sh -e)
+
+if [ -z "$HOSTPLATFORM" ]; then
+	echo "Error: HOSTPLATFORM could not be determined."
+	exit 1
+fi
+
+if [ "$OSTYPE" == "cygwin" ]; then
+
+	SBS_HOME=${SBS_HOME//\\//}
+
+	__CYGWIN__=${SBS_CYGWIN:-$SBS_HOME/$HOSTPLATFORM_DIR/cygwin}
+	__PYTHON__=${SBS_PYTHON:-$SBS_HOME/$HOSTPLATFORM_DIR/python264/python.exe}
+
+	# Unify paths.
+
+	u="$__CYGWIN__/bin/cygpath.exe -m"
+
+	SBS_HOME=$($u "$SBS_HOME")
+	EPOCROOT=$($u "$EPOCROOT")
+
+	__PYTHON__=$($u "$__PYTHON__")
+else
+	LD_LIBRARY_PATH=$SBS_HOME/$HOSTPLATFORM_DIR/bv/lib:$LD_LIBRARY_PATH
+
+	export PATH LD_LIBRARY_PATH
+	__PYTHON__=python
+fi
+
+# Call run_tests.py with the arguments
+TEST_SUITE_PY="$SBS_HOME/test/common/run_tests.py"
+
+if [ -e "$TEST_SUITE_PY" ]; then
+	# run the source version
+	$__PYTHON__ -tt "$TEST_SUITE_PY" "$@"
+elif [ -e "$TEST_SUITE_PY"c ]; then
+	# run the compiled version
+	$__PYTHON__ -tt "$TEST_SUITE_PY"c "$@"
+else
+	echo "Cannot run Test Suite - $TEST_SUITE_PY not found" 1>&2
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/run.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+@rem
+@rem Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+@SETLOCAL
+@CALL %SBS_HOME%\bin\sbs_env.bat
+
+@SET __TEST_SUITE__=%~dp0common\run_tests.pyc
+@SET __TEST_SUITE_PY__=%~dp0common\run_tests.py
+
+@REM If the Python source exists, use it. Else use the byte-compiled Python code
+@IF EXIST %__TEST_SUITE_PY__% SET __TEST_SUITE__=%__TEST_SUITE_PY__%
+
+@REM Then run the test suite with all the arguments
+@%__PYTHON__% -tt %__TEST_SUITE__% %*
+
+@ENDLOCAL
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/simple/test_dbg.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple debuggable test";
+
+TInt E32Main()
+{
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/annofile2log.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "43563"
+	t.name = "annofile2log"
+	t.description = "test workaround for log corruption from a make engine whose name begins with 'e'"
+	
+	t.usebash = True
+	t.errors = 0
+	t.returncode = 0
+	t.exceptions = 0
+	t.command = 'cd smoke_suite/test_resources/annofile2log && ( FROMANNO="`mktemp`" ; bzip2 -dc scrubbed_ncp_dfs_resource.anno.bz2 | python testanno2log.py  >"${FROMANNO}" && FROMSTDOUT="`mktemp`"; bzip2 -dc scrubbed_ncp_dfs_resource.stdout.bz2 > "${FROMSTDOUT}" && diff -wB "${FROMANNO}" "${FROMSTDOUT}"; RET=$? ; rm "${FROMANNO}" "${FROMSTDOUT}"; exit $RET )'
+	
+	t.mustmatch_multiline = [ 
+		"^ *.?"
+                ]
+
+
+	t.run()
+
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/apply_usecases.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.description = "This testcase tests specific cases of using APPLY"
+	t.usebash = True
+
+	# Introduce LINKER_OPTIONS for tools2 linker
+	t.id = "0108"
+	t.name = "apply_usecases"
+	t.command = "sbs -b smoke_suite/test_resources/apply_usecases/linker_options/bld.inf -c tools2 -f -"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/tools2/rel/test_apply_linkeroptions.exe"
+		]
+	t.addbuildtargets("smoke_suite/test_resources/apply_usecases/linker_options/bld.inf", [
+		"test_apply_linkeroptions_/test_apply_linkeroptions_exe/tools2/deb/test_apply_linkeroptions.o",
+		"test_apply_linkeroptions_/test_apply_linkeroptions_exe/tools2/rel/test_apply_linkeroptions.o"
+	])
+	t.mustmatch = ["-lwsock32"]
+	t.run("windows")
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/armv5_asmtest.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "16"
+	t.name = "armv5_asmtest"
+	t.command = "sbs -b smoke_suite/test_resources/asmtest/bld.inf -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/asmtest.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/asmtest.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/asmtest.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/asmtest.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/asmtest.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/asmtest.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/asmtest/bld.inf', [
+		"asmtest_/armv5/udeb/asmtest_udeb_objects.via",
+		"asmtest_/armv5/udeb/testassembler.o.d",
+		"asmtest_/armv5/udeb/testassembler.o",
+		"asmtest_/armv5/udeb/testassembler.o",
+		"asmtest_/armv5/udeb/testcia_.o",
+		"asmtest_/armv5/udeb/testcia_.cpp",
+		"asmtest_/armv5/udeb/testcia_.pre",
+		"asmtest_/armv5/udeb/testcia_.pre.d",
+		"asmtest_/armv5/udeb/testasm.o.d",
+		"asmtest_/armv5/udeb/testasm.o",
+		"asmtest_/armv5/urel/asmtest_urel_objects.via",
+		"asmtest_/armv5/urel/testassembler.o.d",
+		"asmtest_/armv5/urel/testassembler.o",
+		"asmtest_/armv5/urel/testassembler.o",
+		"asmtest_/armv5/urel/testcia_.o",
+		"asmtest_/armv5/urel/testcia_.cpp",
+		"asmtest_/armv5/urel/testcia_.pre",
+		"asmtest_/armv5/urel/testcia_.pre.d",
+		"asmtest_/armv5/urel/testasm.o.d",
+		"asmtest_/armv5/urel/testasm.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/armv5_stringtable.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "26"
+	t.name = "armv5_stringtable"
+	t.command = "sbs -b smoke_suite/test_resources/simple_stringtable/bld.inf" \
+			+ " -c armv5 EXPORT"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/include/strconsts.h"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_stringtable/bld.inf', [
+		"stringtabletest_/strconsts.h",
+		"stringtabletest_/strconsts.cpp"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/armv5_testcode.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "28"
+	t.name = "armv5_testcode"
+	t.command = "sbs -b smoke_suite/test_resources/simple_test/bld.inf -c " + \
+			"armv5.test -f - "
+	
+	# Don't allow -f to be appended
+	t.logfileOption = lambda :""
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/simple_test_auto.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/simple_test_manual.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/simple_test_auto.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/simple_test_manual.exe",
+		"$(EPOCROOT)/epoc32/include/testexportheader.h",
+		"$(EPOCROOT)/epoc32/data/z/test/simple_test/armv5.auto.bat",
+		"$(EPOCROOT)/epoc32/data/z/test/simple_test/armv5.manual.bat"
+		]
+	t.mustmatch = [".*/epoc32/data/z/test/simple_test/armv5.auto.bat</build>.*"]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/armv7_asmtest.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "17"
+	t.name = "armv7_asmtest"
+	t.command = "sbs -b smoke_suite/test_resources/asmtest/bld.inf -c armv7"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/asmtest.exe",
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/asmtest.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/asmtest.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/asmtest.exe",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/asmtest.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/asmtest.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/asmtest/bld.inf', [
+		"asmtest_/armv7/udeb/asmtest_udeb_objects.via",
+		"asmtest_/armv7/udeb/testassembler.o.d",
+		"asmtest_/armv7/udeb/testassembler.o",
+		"asmtest_/armv7/udeb/testassembler.o",
+		"asmtest_/armv7/udeb/testcia_.o",
+		"asmtest_/armv7/udeb/testcia_.cpp",
+		"asmtest_/armv7/udeb/testcia_.pre",
+		"asmtest_/armv7/udeb/testcia_.pre.d",
+		"asmtest_/armv7/udeb/testasm.o.d",
+		"asmtest_/armv7/udeb/testasm.o",
+		"asmtest_/armv7/urel/asmtest_urel_objects.via",
+		"asmtest_/armv7/urel/testassembler.o.d",
+		"asmtest_/armv7/urel/testassembler.o",
+		"asmtest_/armv7/urel/testassembler.o",
+		"asmtest_/armv7/urel/testcia_.o",
+		"asmtest_/armv7/urel/testcia_.cpp",
+		"asmtest_/armv7/urel/testcia_.pre",
+		"asmtest_/armv7/urel/testcia_.pre.d",
+		"asmtest_/armv7/urel/testasm.o.d",
+		"asmtest_/armv7/urel/testasm.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/armv7_stringtable.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "27"
+	t.name = "armv7_stringtable"
+	t.command = "sbs -b smoke_suite/test_resources/simple_stringtable/bld.inf" \
+			+ " -c armv7 EXPORT"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/include/strconsts.h"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_stringtable/bld.inf', [
+		"stringtabletest_/strconsts.h",
+		"stringtabletest_/strconsts.cpp"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/armv7_testcode.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "29"
+	t.name = "armv7_testcode"
+	t.command = "sbs -b smoke_suite/test_resources/simple_test/bld.inf -c " + \
+			"armv7.test -f - "
+	
+	# Don't allow -f to be appended
+	t.logfileOption = lambda :""
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv7/urel/simple_test_auto.exe",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/simple_test_manual.exe",
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/simple_test_auto.exe",
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/simple_test_manual.exe",
+		"$(EPOCROOT)/epoc32/include/testexportheader.h",
+		"$(EPOCROOT)/epoc32/data/z/test/simple_test/armv7.auto.bat",
+		"$(EPOCROOT)/epoc32/data/z/test/simple_test/armv7.manual.bat"
+		]
+	t.mustmatch = [".*/epoc32/data/z/test/simple_test/armv7.auto.bat</build>.*"]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/bitmap.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Component description file
+#
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "8"
+	t.name = "bitmap"
+	t.description = "This step is for testing BITMAP keyword and MIFCONV support for s60"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/bitmap/bld.inf BITMAP && grep -ir 'MIFCONV_TEST:=1' $(EPOCROOT)/epoc32/build"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/include/testbitmap.mbg",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/testbitmap.mBm",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/test/mifconv.xml",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/test/mifconv.flm"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/bitmap/bld.inf', [
+		"testbitmap_dll/testbitmap.mBm_bmconvcommands"
+	])
+	t.mustmatch = [
+		".*Makefile(_all)?.bitmap:MIFCONV_TEST:=1.*"
+	]
+	t.mustnotmatch = [
+		".*Makefile(_all)?.default:MIFCONV_TEST.*"
+	]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/capability_arm.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,76 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+import sys
+
+def run():
+	t = SmokeTest()
+	t.usebash = True
+
+
+	if sys.platform.startswith("win"):
+		elf2e32 = "$(EPOCROOT)/epoc32/tools/elf2e32.exe"
+	else:
+		elf2e32 = "$(EPOCROOT)/epoc32/tools/elf2e32"
+
+	description = """This test attempts to check that an exe gets the capabilities that we requested.  It's ARM specific since it uses elf2e32. Tries to demonstrate capabilties being turned off then on in the mmp."""
+	command = "sbs -b smoke_suite/test_resources/simple/capability.inf -c %s -m ${SBSMAKEFILE} -f ${SBSLOGFILE} && " + \
+			  elf2e32 + " --dump=s  --e32input=$(EPOCROOT)/epoc32/release/armv5/urel/test_capability.exe"
+	targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_capability.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_capability.exe.map"
+		]	
+	buildtargets = [
+		]
+	mustmatch = [
+		"\s*Secure ID: 10003a5c$",
+		"\s*Vendor ID: 00000000$",
+		"\s*Capabilities: 00000000 000fffbf$",
+		"\s*CommDD$",
+		"\s*PowerMgmt$",
+		"\s*MultimediaDD$",
+		"\s*ReadDeviceData$",
+		"\s*WriteDeviceData$",
+		"\s*TrustedUI$",
+		"\s*DiskAdmin$",
+		"\s*NetworkControl$",
+		"\s*AllFiles$",
+		"\s*SwEvent$",
+		"\s*NetworkServices$",
+		"\s*LocalServices$",
+		"\s*ReadUserData$",
+		"\s*WriteUserData$",
+		"\s*Location$",
+		"\s*SurroundingsDD$",
+		"\s*UserEnvironment$",
+		"\s*TCB$"
+	]
+	mustnotmatch = [
+		"DRM"
+	]
+	warnings = 0
+	
+	t.id = "0107"
+	t.name = "capability_arm"
+	t.description = description
+	t.command = command % "arm.v5.urel.gcce4_4_1"
+	t.targets = targets
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.warnings = warnings
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/clean_readonly.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,72 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+import os
+import stat
+
+def run():
+	
+	# build something; make it read-only; then try and clean it
+	
+	t = AntiTargetSmokeTest()
+	t.id = "10a"
+	t.name = "clean_readonly" 
+	t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll"
+	]
+	t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf",
+	[
+	"createstaticdll_dll/armv5/udeb/CreateStaticDLL.o",
+	"createstaticdll_dll/armv5/urel/CreateStaticDLL.o"
+	])
+	t.run()
+	setupOK = (t.result != AntiTargetSmokeTest.FAIL)
+	
+	# This particular file createstaticdll.dll is changed to be readonly to test
+	# 		if sbs CLEAN command actually gets rid of read only files
+	fileForClean = os.environ['EPOCROOT'] + "/epoc32/release/armv5/urel/createstaticdll.dll"
+	if os.path.exists(fileForClean):
+		os.chmod(fileForClean, stat.S_IREAD)
+	
+	t.id = "10"
+	t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5 CLEAN"
+	t.targets = []
+	t.antitargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll"
+	]
+	t.addbuildantitargets("smoke_suite/test_resources/simple_dll/bld.inf",
+	[
+	"createstaticdll_dll/armv5/udeb/CreateStaticDLL.o",
+	"createstaticdll_dll/armv5/urel/CreateStaticDLL.o"
+	])
+	t.run()
+	
+	if not setupOK:
+		t.result = AntiTargetSmokeTest.FAIL
+		
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/cli_makevar_override.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+# Checks that functionality for overriding makefile varaibles at the command no longer works
+# The mechanism for dealing with this was removed as the fix for SF bug 2134
+# On the CLI, "something=something" is now treated as a target rather than a variable assignment
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.name = "cli_makevar_overide"
+	t.id = "0117"
+	t.description = "Attempt to override a makefile var at the command line."
+	t.usebash = True
+	
+	t.command = "sbs -b smoke_suite/test_resources/basics/helloworld/Bld.inf REALLYCLEAN -m ${SBSMAKEFILE} -f ${SBSLOGFILE} HOSTPLATFORM_DIR=unlikelydir"  
+	
+	t.mustmatch = ["sbs: warning: CLEAN, CLEANEXPORT and a REALLYCLEAN should not be combined with other targets as the result is unpredictable"]
+	
+	t.warnings = 1
+	t.run()
+	
+	return t
+	
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/commandfile.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "4"
+	t.name = "commandfile"
+	t.command = "sbs " \
+			+ "--command=smoke_suite/test_resources/simple/commands-v7.txt " \
+			+ "-c armv7_udeb"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/test.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [
+		"test_/armv7/udeb/test.o",
+		"test_/armv7/urel/test.o"
+	])
+	t.run()
+	return t
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/commandline.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# General commandline option handling tests which aren't appropriate as unit tests.
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "85a"
+	t.name = "commandline_nodefaults"
+	t.description = """Test that raptor complains if you run it without specifying any components and there is no default bld.inf or system definition in the current directory."""
+	t.usebash = True
+			
+	t.command = """
+		TMPDIR="build/commandline_testdefaults";
+		cd $(EPOCROOT)/epoc32 && rm -rf "$TMPDIR" 2>/dev/null; mkdir -p "$TMPDIR" && cd "$TMPDIR" &&
+		sbs ${SBSLOGFILE} -n ; rm -rf "$TMPDIR"
+	""" 
+		
+	t.mustmatch = [".*warning: No default bld.inf or system definition.*found.* "]
+	t.warnings = 1
+	t.run()
+
+	t.id = "0085"
+	t.name = "commandline"
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/configpath.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,103 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+import os
+import os.path
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.logfileOption = lambda :""
+	t.id = "0074a"
+	t.name = "configpath"
+	t.description = """Test --configpath option for sbs. Specify two remote
+			locations and use the variants in those folders along with ones in
+			each of the default folders."""
+
+	# the variants here affect compile steps so we only need to see a single compile
+	# to know whether the variant is doing its thing or not.
+	t.addbuildtargets("smoke_suite/test_resources/simple/bld.inf",
+	                  ["test_/armv5/udeb/test.o"])
+
+	result = SmokeTest.PASS
+
+	# the extra config folders are
+	# smoke_suite/test_resources/configpathtest/v{2,3}
+	sbshome = os.environ["SBS_HOME"].replace("\\","/")
+
+	aFolder = sbshome + "/test/smoke_suite/test_resources/configpathtest/v2"
+	bFolder = sbshome + "/test/smoke_suite/test_resources/configpathtest/v3"
+
+	common = "sbs -b smoke_suite/test_resources/simple/bld.inf " + \
+			"-c armv5.configpathtest1.configpathtest2.configpathtest3"
+
+	# run the command using the built-in default systemConfig
+	t.command = common + " --configpath=" + aFolder + os.pathsep + bFolder + \
+			" -f -"
+
+	t.mustmatch = [
+		".*armv5_udeb.configpathtest1.configpathtest2.configpathtest3.*",
+		".*armv5_urel.configpathtest1.configpathtest2.configpathtest3.*",
+		".*Duplicate variant 'configpathtest3'.*",
+		".*-DTESTPASSED.*",
+		".*-DOSVARIANT95WASAPPLIED.*"
+		]
+	t.mustnotmatch = [
+		".*sbs: error: Unknown variant.*",
+		".*-DTESTFAILED.*"
+		]
+	# Duplicate variant is Info not Warn
+	t.warnings = 0
+	t.run()
+
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	# run the command again using a systemConfig from $HOME/.sbs_init.xml
+	# and the configpath as two separate options.
+	t.usebash = True
+	homedir = sbshome + "/test/smoke_suite/test_resources/configpathtest/home"
+	t.command = "export HOME=" + homedir + "; " + common + \
+			" --configpath=" + aFolder + " --configpath=" + bFolder + " -f -"
+	t.id = "0074b"
+	t.mustmatch = [
+		".*armv5_udeb.configpathtest1.configpathtest2.configpathtest3.*",
+		".*armv5_urel.configpathtest1.configpathtest2.configpathtest3.*",
+		".*Duplicate variant 'configpathtest3'.*"
+		]
+	t.mustnotmatch = [
+		".*sbs: error: Unknown variant.*"
+		]
+	t.run()
+
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+	# Clean
+	t.mustmatch = []
+	t.targets = []
+	t.id = "0074c"
+	t.name = "CLEAN"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \
+			"REALLYCLEAN"
+	t.run() # Does not contribute to results
+
+	t.id = "74"
+	t.name = "configpath"
+	t.result = result
+	t.print_result()
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/defs_armv5.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest 
+
+def run():
+	t = SmokeTest()
+	t.id = "21"
+	t.name = "defs_armv5"
+	t.command = "sbs -b smoke_suite/test_resources/defs/group/bld.inf -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/deftest.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/deftest.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/deftest{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/deftest.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/deftest.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/deftest.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/deftest.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/deftest.dll.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/defs/group/bld.inf', [
+		"deftest_/armv5/udeb/deftest_udeb_objects.via",
+		"deftest_/armv5/udeb/test.o",
+		"deftest_/armv5/urel/deftest_urel_objects.via",
+		"deftest_/armv5/urel/test.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/defs_armv7.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest 
+
+def run():
+	t = SmokeTest()
+	t.id = "22"
+	t.name = "defs_armv7"
+	t.command = "sbs -b smoke_suite/test_resources/defs/group/bld.inf -c armv7"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/deftest.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/deftest.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/deftest{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/deftest.dso",
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/deftest.dll",
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/deftest.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/deftest.dll",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/deftest.dll.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/defs/group/bld.inf', [
+		"deftest_/armv7/udeb/deftest_udeb_objects.via",
+		"deftest_/armv7/udeb/test.o",
+		"deftest_/armv7/urel/deftest_urel_objects.via",
+		"deftest_/armv7/urel/test.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/delete_on_failed_compile.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,109 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+import os
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.id = "116"
+	t.name = "delete_on_failed_compile"
+	t.description = "Test that object files are not present following a forced failed compile."
+	
+	t.usebash = True
+	base_command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 -k"
+	
+	t.id = "116a" # Ensure everything is reallyclean before the test
+	t.name = "delete_on_failed_compile_reallyclean_01"
+	t.errors = 0
+	t.returncode = 0
+	t.antitargets = [ ]
+	t.command = base_command + " reallyclean"
+	t.run()
+	
+	t.id = "116b"  # Object files should *not* be present after this forced failed compile
+	t.name = "delete_on_failed_compile_build"
+	t.errors = 0
+	t.returncode = 1
+	# None of these files should be present
+	t.addbuildantitargets('smoke_suite/test_resources/simple/bld.inf', 
+		[	"test_/armv5/udeb/test.o",
+			"test_/armv5/udeb/test1.o",
+			"test_/armv5/udeb/test2.o",
+			"test_/armv5/udeb/test3.o",
+			"test_/armv5/udeb/test4.o",
+			"test_/armv5/udeb/test5.o",
+			"test_/armv5/udeb/test6.o",
+			"test_/armv5/urel/test.o",
+			"test_/armv5/urel/test1.o",
+			"test_/armv5/urel/test2.o",
+			"test_/armv5/urel/test3.o",
+			"test_/armv5/urel/test4.o",
+			"test_/armv5/urel/test5.o",
+			"test_/armv5/urel/test6.o"  ])
+	sbshome = os.environ["SBS_HOME"].replace("\\","/").rstrip("/")
+	t.command = base_command.replace("armv5", "armv5.fake_compiler") + \
+	" --configpath=%s/test/smoke_suite/test_resources/simple/compilervariants" % sbshome
+	t.run()
+	
+	t.id = "116c"
+	t.name = "delete_on_failed_compile_reallyclean_02"
+	t.errors = 0
+	t.returncode = 0
+	t.antitargets = [] # Remove the list of anti-targets
+	t.command = base_command + " reallyclean"
+	t.run()
+	
+	t.id = "116d"  # Use a redefined make_engine variant - object files *should* be present
+	t.name = "delete_on_failed_compile_build_redefined_make_engine"
+	t.errors = 0
+	t.returncode = 1
+	t.antitargets = [] # Remove the list of anti-targets
+	# All of these files should be present
+	t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', 
+		[	"test_/armv5/udeb/test.o",
+			"test_/armv5/udeb/test1.o",
+			"test_/armv5/udeb/test2.o",
+			"test_/armv5/udeb/test3.o",
+			"test_/armv5/udeb/test4.o",
+			"test_/armv5/udeb/test5.o",
+			"test_/armv5/udeb/test6.o",
+			"test_/armv5/urel/test.o",
+			"test_/armv5/urel/test1.o",
+			"test_/armv5/urel/test2.o",
+			"test_/armv5/urel/test3.o",
+			"test_/armv5/urel/test4.o",
+			"test_/armv5/urel/test5.o",
+			"test_/armv5/urel/test6.o"  ])
+	
+	t.command = base_command.replace("armv5", "armv5.fake_compiler") + " -e make_test " \
+	+ " --configpath=%s/test/smoke_suite/test_resources/simple/compilervariants " % sbshome \
+	+ " --configpath=%s/test/smoke_suite/test_resources/simple/makevariants" % sbshome
+	t.run()
+	
+	t.id = "116e"
+	t.name = "delete_on_failed_compile_reallyclean_03"
+	t.errors = 0
+	t.returncode = 0
+	t.antitargets = [] # Remove the list of anti-targets
+	t.targets = [] # Remove the list of targets
+	t.command = base_command + " reallyclean"
+	t.run()
+	
+	t.id = "116"
+	t.name = "delete_on_failed_compile"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/depcrunch_test.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,46 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.usebash = True
+	
+	t.description = "Test that dependency crunching for resource dependency files produces expected output" 
+
+	t.id = "43562999"
+	t.name = "depcrunch"
+	t.command = "python $SBS_HOME/bin/depcrunch.py --extensions mbg,rsg --assume EPOCROOT < smoke_suite/test_resources/depcrunch/dep2.rpp.d"
+	t.mustmatch_multiline = [
+		r"EPOCROOT/epoc32/build/resource/c_98665870f0168225/dependentresource_/dependentresource_dependentresource_sc.rpp: \\\n"+
+		r" EPOCROOT/testresource1.mbg \\\n"+
+		r" EPOCROOT/testresource2.rsg \\\n"+
+		r" EPOCROOT/testresource3.rsg \\\n"+
+		r" EPOCROOT/testresource4.mbg \\\n"+
+		r" EPOCROOT/testresource5.rsg \\\n"+
+		r" EPOCROOT/testresource6.mbg \\\n"+
+		r" EPOCROOT/testresource7.rsg \\\n"+
+		r" EPOCROOT/testresource8.mbg \\\n"+
+		r" EPOCROOT/testresource9.rsg \n"
+		]
+	t.run()
+
+
+	t.print_result()
+	
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dependencies.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,194 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+from raptor_meta import BldInfFile
+import os
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.usebash = True
+	
+	genericTargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dependency.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dependency.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dependency.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dependency.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/dependency.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/dependency.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/dependency.exe",
+		"$(EPOCROOT)/epoc32/include/dependency.rsg",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/dependency.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/dependency.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/dependency.rsc",
+		"$(EPOCROOT)/epoc32/include/main.rsg",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/main.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/main.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/main.rsc"
+		]
+	windowsTargets = [
+		"$(EPOCROOT)/epoc32/release/tools2/rel/dependency.exe",
+		"$(EPOCROOT)/epoc32/tools/dependency.exe"
+	]
+	linuxTargets = [
+		"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/dependency",
+		"$(EPOCROOT)/epoc32/tools/dependency"
+	]
+
+	# Set general host platform specifics from first test run, but assume Windows initially
+	hostPlatform = "windows"
+	hostPlatformTargets = genericTargets + windowsTargets
+	hostPlatformOffset = ""
+
+	t.id = "0098a"
+	t.name = "baseline_build"
+	t.description = "Build a component with source and resource files that are dependent on header files exported in the build"
+	t.command = """
+		cp smoke_suite/test_resources/dependencies/src/dependency1.cpp smoke_suite/test_resources/dependencies/dependency.cpp
+		cp smoke_suite/test_resources/dependencies/src/dependency1.rss smoke_suite/test_resources/dependencies/dependency.rss
+		sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""		
+	t.mustnotmatch = [
+		"<warning>Missing dependency detected: .*</warning>"
+	]
+	t.targets = hostPlatformTargets
+	t.run(hostPlatform)
+	if t.result == AntiTargetSmokeTest.SKIP:
+		hostPlatform = "linux"
+		hostPlatformTargets = genericTargets + linuxTargets
+		hostPlatformOffset = "$(HOSTPLATFORM_DIR)/"
+		t.targets = hostPlatformTargets
+		t.run(hostPlatform)
+	
+	# Ensure we don't clean up from the previous build in the following two tests
+	t.targets = []
+	
+	# Core expected outcome for the following two tests
+	t.mustmatch = [
+		".*recipe name='compile' target='.*dependency\.o'",
+		".*recipe name='win32compile2object' target='.*dependency\.o'",
+		".*recipe name='compile2object' target='.*dependency\.o'",
+		".*recipe name='resourcecompile' target='.*dependency\.rsc'"
+	]
+	t.countmatch = [
+		[".*recipe name='compile'", 2],
+		[".*recipe name='win32compile2object'", 2],
+		[".*recipe name='compile2object'", 1],
+		[".*recipe name='resourcecompile'", 1]
+	]
+
+	
+	t.id = "0098b"
+	t.name ="touched_header_dependencies"
+	t.description = "Touch the exported header files and check that only the related source and resource files are re-built"
+	t.command = """
+		sleep 1
+		touch $(EPOCROOT)/epoc32/include/dependency.h
+		touch $(EPOCROOT)/epoc32/include/dependency.rh
+		sbs -f- -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+	t.run()
+
+	
+	t.id = "0098c"
+	t.name ="redundant_header_dependencies"
+	t.description = """
+		Build the component again, but manipulate it so that (a) it no longer has a dependency on the exported header files and
+		(b) the header files have been removed and (c) the header files are no longer exported.  Check that only the related source
+		and resource files are re-built"""
+	t.command = """
+		cp smoke_suite/test_resources/dependencies/src/dependency2.cpp smoke_suite/test_resources/dependencies/dependency.cpp
+		cp smoke_suite/test_resources/dependencies/src/dependency2.rss smoke_suite/test_resources/dependencies/dependency.rss
+		rm -rf $(EPOCROOT)/epoc32/include/dependency.h
+		rm -rf $(EPOCROOT)/epoc32/include/dependency.rh
+		sbs -f- --noexport -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+	t.mustnotmatch = []
+	# Note that the resource build does not exhibit a missing dependency as its dependency files are generated in a separate stage where
+	# the target file isn't actually a target of that stage
+	t.mustmatch.extend([
+		"<warning>Missing dependency detected: .*/epoc32/include/dependency.h</warning>"
+		])
+	t.warnings = 1
+	t.run()
+	
+
+	t.id = "0098d"
+	t.name ="invalid_dependency_files"
+	t.description = "Invalidate dependency files, then make sure we can clean and re-build successfully"
+	buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_"
+	t.command = """
+		sleep 1
+		touch smoke_suite/test_resources/dependencies/dependency.cpp
+		echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d
+		echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d
+		echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d
+		echo INVALIDATE_RESOURCE_DEPENDENCY_FILE >> """+buildLocation+"""/dependency__resource_apps_sc.rpp.d
+		sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel
+		sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel clean
+		sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+	t.mustmatch = []
+	t.countmatch = []
+	t.warnings = 0
+	t.errors = 1 # We expect an error from the first build due to the deliberate dependency file corruption
+	t.targets = hostPlatformTargets
+	t.run(hostPlatform)
+
+
+	t.id = "0098e"
+	t.name ="no_depend_include"
+	t.description = "Invalidate dependency files in order to confirm they aren't processed when --no-depend-include is used"
+	buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_"
+	t.command = """
+		sleep 1
+		touch smoke_suite/test_resources/dependencies/dependency.cpp
+		echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d
+		echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d
+		echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d
+		sbs --no-depend-include -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+	t.errors = 0		
+	t.targets = hostPlatformTargets
+	t.run(hostPlatform)
+
+
+	t.id = "0098f"
+	t.name ="no_depend_generate"
+	t.description = "Invalidate and remove dependency files in order to confirm they are neither included nor re-generated when --no-depend-generate is used"
+	buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_"
+	t.command = """
+		sleep 1
+		touch smoke_suite/test_resources/dependencies/dependency.cpp
+		touch smoke_suite/test_resources/dependencies/main.cpp
+		echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d
+		echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d
+		echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d
+		sbs --no-depend-generate -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+	t.antitargets = [
+		buildLocation+"/armv5/urel/main.o.d",
+		buildLocation+"/armv5/udeb/main.o.d",
+		buildLocation+"/winscw/urel/main.o.d",
+		buildLocation+"/winscw/udeb/main.o.d",
+		buildLocation+"/dependency_exe/tools2/rel/"+hostPlatformOffset+"main.o.d"
+		]
+	t.targets = hostPlatformTargets
+	t.run(hostPlatform)
+	
+	# clean-up
+	os.remove("smoke_suite/test_resources/dependencies/dependency.cpp")
+	os.remove("smoke_suite/test_resources/dependencies/dependency.rss")
+
+	t.id = "98"
+	t.name = "dependencies"
+	t.print_result()
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_armv5.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,87 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.usebash = True
+	
+	command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c %s -f-"
+	maintargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll"
+		]
+	abiv1libtargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.lib"
+		]	
+	buildtargets =  [
+		"createstaticdll_dll/armv5/udeb/CreateStaticDLL.o",
+		"createstaticdll_dll/armv5/urel/CreateStaticDLL.o"
+		]
+	mustmatch = [
+		r".*\busrt\d_\d\.lib\b.*",
+		r".*\bscppnwdl\.dso\b.*"
+			]
+	mustnotmatch = [
+		".*ksrt.*"
+		]
+	
+	# Note that ABIv1 import libraries are only generated for RVCT-based armv5
+	# builds on Windows if the kit asks for it (off by default)
+	
+	t.id = "0009a"
+	t.name = "dll_armv5_rvct"
+	t.command = command % "armv5"
+	t.targets = maintargets[:]	# Shallow, as we optionally extend later and then re-use
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', buildtargets)
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.run()
+	
+	t.id = "0009b"
+	t.name = "dll_armv5_rvct_abiv1"
+	t.command += " --configpath=test/config/abiv1kit"
+	t.targets.extend(abiv1libtargets)
+	t.run("windows")
+		
+	t.id = "0009c"
+	t.name = "dll_armv5_clean"
+	t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5 clean"
+	t.targets = []
+	t.mustmatch = []
+	t.mustnotmatch = []
+	t.run()	
+		
+	t.id = "0009d"
+	t.name = "dll_armv5_gcce"
+	t.command = command % "gcce_armv5"
+	t.targets = maintargets
+	t.antitargets = abiv1libtargets
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', buildtargets)
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.run()	
+	
+	t.id = "9"
+	t.name = "dll_armv5"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_armv5_smp.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.name = "dll_armv5_smp"
+	t.id = "63"
+	t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c " + \
+			"armv5 -c armv5.smp"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/armv5smp/udeb/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5smp/urel/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5smp/udeb/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/armv5smp/urel/createstaticdll.dll"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [
+		"createstaticdll_dll/armv5/udeb/CreateStaticDLL.o",
+		"createstaticdll_dll/armv5/urel/CreateStaticDLL.o",
+		"createstaticdll_dll/armv5smp/udeb/CreateStaticDLL.o",
+		"createstaticdll_dll/armv5smp/urel/CreateStaticDLL.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_armv5_winscw_freeze.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,109 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+from raptor_tests import where
+
+def run():
+	t = SmokeTest()
+	t.id = "0012a"
+	t.name = "dll_armv5_winscw_freeze"
+	t.description = """Builds a component with unfrozen exports from clean,
+		followed by a FREEZE, a further CLEAN and then a check that new .def
+		files are present. The PERL environment variable is set to the absolute
+		Perl path in order to test a known issue with the execution of tools
+		such as efreeze under Cygwin when multiple arguments are listed.
+		Part b tests whether removing an export works when using the variant;
+		remove_freeze"""
+	t.usebash = True
+	
+	perl_location = where("perl")
+	
+	t.command = """
+sbs -b smoke_suite/test_resources/unfrozen/freeze.inf -p unfrozensymbols_for_freeze.mmp -c armv5 -c winscw CLEAN > /dev/null &&
+export PERL="%s" &&
+sbs -b smoke_suite/test_resources/unfrozen/freeze.inf -p unfrozensymbols_for_freeze.mmp -c armv5 -c winscw > /dev/null &&
+sbs -b smoke_suite/test_resources/unfrozen/freeze.inf -p unfrozensymbols_for_freeze.mmp -c armv5_urel -c winscw_urel FREEZE -m ${SBSMAKEFILE} -f ${SBSLOGFILE}
+""" % perl_location
+
+	t.targets = [
+		"smoke_suite/test_resources/unfrozen/frozen/bwins/frozenu.def",
+		"smoke_suite/test_resources/unfrozen/frozen/eabi/frozenu.def"		
+		]
+
+	t.warnings = 2	
+	t.run()
+	
+	
+	t.id = "0012b"
+	t.name = "armv5_re-freeze_with_removed_export"
+	
+	t.command = "sbs -b smoke_suite/test_resources/unfrozen/freeze.inf" \
+			+ " -p frozen_with_removed_export.mmp -c armv5_urel ;" \
+			+ " sbs -b smoke_suite/test_resources/unfrozen/freeze.inf" \
+			+ " -p frozen_with_removed_export.mmp FREEZE" \
+			+ " -c armv5_urel.remove_freeze" \
+			+ " -m ${SBSMAKEFILE} -f ${SBSLOGFILE} &&" \
+			+ " grep -ir '_ZN10CMessenger11ShowMessageEv @ 1 NONAME ABSENT' $(SBS_HOME)/test/smoke_suite/test_resources/unfrozen/frozen/eabi/frozenu.def"
+			
+	t.targets = []
+	t.mustmatch = [
+		"_ZN10CMessenger11ShowMessageEv @ 1 NONAME ABSENT"
+	]
+	t.warnings = 0
+	t.errors = 1
+			
+	t.run()
+	
+	
+	t.id = "0012c"
+	t.name = "winscw_re-freeze_with_removed_export"
+	
+	t.command = "sbs -b smoke_suite/test_resources/unfrozen/freeze.inf" \
+			+ " -p frozen_with_removed_export.mmp -c winscw_urel ;" \
+			+ " sbs -b smoke_suite/test_resources/unfrozen/freeze.inf" \
+			+ " -p frozen_with_removed_export.mmp FREEZE" \
+			+ " -c winscw_urel.remove_freeze" \
+			+ " -m ${SBSMAKEFILE} -f ${SBSLOGFILE} &&" \
+			+ " grep -ir '?ShowMessage@CMessenger@@QAEXXZ @ 3 NONAME ABSENT' $(SBS_HOME)/test/smoke_suite/test_resources/unfrozen/frozen/bwins/frozenu.def"
+
+	t.mustmatch = [
+		"\?ShowMessage@CMessenger@@QAEXXZ @ 3 NONAME ABSENT"
+	]
+			
+	t.run()
+	
+
+	t.id = "0012d"
+	t.name = "efreeze_info"
+	
+	t.command = "sbs -b smoke_suite/test_resources/unfrozen/freeze.inf" \
+			+ " -p unfrozensymbols_for_freeze.mmp -c winscw freeze"
+			
+	t.mustmatch = [
+		"EFREEZE: DEF file up to date"
+	]
+	t.warnings = 0
+	t.errors = 0
+			
+	t.run()
+
+
+	t.id = "12"
+	t.name = "dll_armv5_winscw_freeze"
+	t.print_result()
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_armv6.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,68 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = AntiTargetSmokeTest()
+
+	rootcommand = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf"
+	targets = [
+		"$(EPOCROOT)/epoc32/release/armv6/udeb/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv6/urel/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv6/udeb/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/armv6/urel/createstaticdll.dll"
+		]
+	antitargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.lib"
+		]
+	buildtargets = [
+		"createstaticdll_dll/armv6/udeb/CreateStaticDLL.o",
+		"createstaticdll_dll/armv6/urel/CreateStaticDLL.o",
+		"createstaticdll_dll/armv6/udeb/armv6_specific.o",
+		"createstaticdll_dll/armv6/urel/armv6_specific.o"
+	]
+	
+	t.id = "0097a"
+	t.name = "dll_armv6_rvct"
+	t.command = rootcommand + " -c armv6"
+	t.targets = targets
+	t.antitargets = antitargets
+	t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets)
+	t.run()
+
+	t.id = "0097b"
+	t.name = "dll_armv6_clean"
+	t.command = rootcommand + " -c armv6 clean"
+	t.targets = []
+	t.antitargets = []
+	t.run()
+
+	t.id = "0097c"
+	t.name = "dll_armv6_gcce"
+	t.command = rootcommand + " -c arm.v6.udeb.gcce4_3_2 -c arm.v6.urel.gcce4_3_2"
+	t.targets = targets
+	t.antitargets = antitargets
+	t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets)
+	t.run()
+
+	t.id = "97"
+	t.name = "dll_armv6"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_armv7.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,61 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	
+	rootcommand = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf"
+	targets = [
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/createstaticdll.dll"
+		]
+	buildtargets = [
+		"createstaticdll_dll/armv7/udeb/CreateStaticDLL.o",
+		"createstaticdll_dll/armv7/urel/CreateStaticDLL.o",
+		"createstaticdll_dll/armv7/udeb/armv7_specific.o",
+		"createstaticdll_dll/armv7/urel/armv7_specific.o"		
+	]
+	
+	t.id = "0011a"
+	t.name = "dll_armv7_rvct"
+	t.command = rootcommand + " -c armv7"
+	t.targets = targets
+	t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets)
+	t.run()
+
+	t.id = "0011b"
+	t.name = "dll_armv7_clean"
+	t.command = rootcommand + " -c armv7 clean"
+	t.targets = []
+	t.run()
+
+	t.id = "0011c"
+	t.name = "dll_armv7_gcce"
+	t.command = rootcommand + " -c arm.v7.udeb.gcce4_3_2 -c arm.v7.urel.gcce4_3_2"
+	t.targets = targets
+	t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets)
+	t.run()
+
+	t.id = "11"
+	t.name = "dll_armv7"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_winscw.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "34"
+	t.name = "dll_winscw"
+	t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c winscw"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticdll.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [
+		"createstaticdll_dll/winscw/udeb/CreateStaticDLL.o",
+		"createstaticdll_dll/winscw/udeb/createstaticdll.UID.CPP",
+		"createstaticdll_dll/winscw/udeb/createstaticdll_UID_.o",
+		"createstaticdll_dll/winscw/urel/CreateStaticDLL.o",
+		"createstaticdll_dll/winscw/urel/createstaticdll.UID.CPP",
+		"createstaticdll_dll/winscw/urel/createstaticdll_UID_.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_winscw_win32resource.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "78"
+	t.name = "dll_winscw_win32resource"
+	t.description = """Test the construction of a custom WINSCW DLL containing Windows resources specified by win32_resource."""
+	t.command = "sbs -b smoke_suite/test_resources/simple_dll/win32resource/bld.inf -c winscw"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticdll.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/win32resource/bld.inf', [
+		"createstaticdll_dll/winscw/udeb/CreateStaticDLL.o",
+		"createstaticdll_dll/winscw/udeb/createstaticdll.UID.CPP",
+		"createstaticdll_dll/winscw/udeb/createstaticdll_UID_.o",
+		"createstaticdll_dll/winscw/udeb/gui.res",
+		"createstaticdll_dll/winscw/udeb/gui.res.d",
+		"createstaticdll_dll/winscw/urel/CreateStaticDLL.o",
+		"createstaticdll_dll/winscw/urel/createstaticdll.UID.CPP",
+		"createstaticdll_dll/winscw/urel/createstaticdll_UID_.o",
+		"createstaticdll_dll/winscw/urel/gui.res",
+		"createstaticdll_dll/winscw/urel/gui.res.d",
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/emulated_drives.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "42"
+	t.name = "emulated_drives"
+	t.command = "sbs -b " + \
+			"smoke_suite/test_resources/emulated_drives_export/bld.inf EXPORT"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/data/c/private/10001234/policy/emulated_drives_export2.mbm",
+		"$(EPOCROOT)/epoc32/winscw/c/private/10001234/policy/emulated_drives_export2.mbm",
+		"$(EPOCROOT)/epoc32/data/z/private/10001234/policy/emulated_drives_export1.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/private/10001234/policy/emulated_drives_export1.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10001234/policy/emulated_drives_export1.mbm"
+		]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv5.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,141 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.usebash = True
+	result = SmokeTest.PASS
+
+	description = """This test is testing 2 states of keywords, DEBUGGABLE on its own and with DEBUGGABLE_UDEBONLY together; in their mmp's
+			make a new mmp change the target so that it generates another exe, and search together with that exe name when testing second test"""
+	command = "sbs -b smoke_suite/test_resources/simple/bld.inf -b smoke_suite/test_resources/simple/debuggable_bld.inf -c %s -m ${SBSMAKEFILE} -f ${SBSLOGFILE} && " + \
+			"grep -i '.*elf2e32.*--debuggable.*' ${SBSLOGFILE};"
+	targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/debuggable.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/debuggable.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/debuggable.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/debuggable.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/debuggable.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/debuggable.exe.map"
+		]	
+	buildtargets = [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o",
+		"test_/armv5/udeb/test.o.d",
+		"test_/armv5/udeb/test3.o.d",
+		"test_/armv5/udeb/test4.o.d",
+		"test_/armv5/udeb/test5.o.d",
+		"test_/armv5/udeb/test1.o.d",
+		"test_/armv5/udeb/test6.o.d",
+		"test_/armv5/udeb/test2.o.d",
+		"test_/armv5/udeb/test3.o",
+		"test_/armv5/udeb/test4.o",
+		"test_/armv5/udeb/test5.o",
+		"test_/armv5/udeb/test1.o",
+		"test_/armv5/udeb/test6.o",
+		"test_/armv5/udeb/test2.o",
+		"test_/armv5/urel/test.o.d",
+		"test_/armv5/urel/test3.o.d",
+		"test_/armv5/urel/test4.o.d",
+		"test_/armv5/urel/test5.o.d",
+		"test_/armv5/urel/test1.o.d",
+		"test_/armv5/urel/test6.o.d",
+		"test_/armv5/urel/test2.o.d",
+		"test_/armv5/urel/test3.o",
+		"test_/armv5/urel/test4.o",
+		"test_/armv5/urel/test5.o",
+		"test_/armv5/urel/test1.o",
+		"test_/armv5/urel/test6.o",
+		"test_/armv5/urel/test2.o",
+		"test_/armv5/udeb/test_udeb_objects.via",
+		"test_/armv5/urel/test_urel_objects.via"
+		]
+	mustmatch = [
+		".*elf2e32.*urel.*test.exe.*--debuggable.*",
+		".*elf2e32.*udeb.*test.exe.*--debuggable.*",
+		".*elf2e32.*udeb.*debuggable.exe.*--debuggable.*"
+	]
+	mustnotmatch = [
+		".*elf2e32.*urel.*debuggable.exe.*--debuggable.*"
+	]
+	warnings = 1
+	
+	t.id = "0001a"
+	t.name = "exe_armv5_rvct"
+	t.description = description
+	t.command = command % "armv5"
+	t.targets = targets
+	t.addbuildtargets("smoke_suite/test_resources/simple/bld.inf", buildtargets)
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.warnings = warnings
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+		
+	t.id = "0001b"
+	t.name = "exe_armv5_clean"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 clean"
+	t.targets = []
+	t.mustmatch = []
+	t.mustnotmatch = []
+	t.warnings = 0
+	t.run()	
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL	
+	
+
+	t.id = "0001c"
+	t.name = "exe_armv5_gcce"
+	t.command = command % "gcce_armv5"
+	t.targets = targets
+	t.addbuildtargets("smoke_suite/test_resources/simple/bld.inf", buildtargets)
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.warnings = warnings
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL	
+
+
+	# Test for the Check Filter to ensure that it reports 
+	# missing files properly when used from sbs_filter.py:
+	import os
+	abs_epocroot = os.path.abspath(os.environ["EPOCROOT"])
+	t.id = "0001d"
+	t.command = "rm $(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map; sbs_filter  --filters=FilterCheck < ${SBSLOGFILE}"
+	t.targets = []
+	t.mustmatch = ["MISSING:[ 	]+" + abs_epocroot.replace("\\","\\\\") + ".epoc32.release.armv5.udeb.test\.exe\.map.*"]
+	t.mustnotmatch = []
+	t.warnings = 1
+	t.returncode = 2
+	t.run()
+
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL	
+	t.id = "1"
+	t.name = "exe_armv5"
+	t.result = result
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv5_filtered.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "2"
+	t.name = "exe_armv5_filtered"
+	t.description = "Run exe_armv5 with a customised filter. Will create then" \
+			+ " remove filter file"
+	t.usebash = True
+	t.command = "cp -f smoke_suite/test_resources/filter_test/testfilter.py ../python/plugins/testfilter.py " \
+				"&& chmod 600 ../python/plugins/testfilter.py " \
+				"&& sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 --filters=TestFilter " \
+				"&& rm -f ../python/plugins/testfilter.py*"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o"
+	])
+	t.mustmatch = [
+		".*Test Passed!.*"
+		]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv5_smp.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "62"
+	t.name = "exe_armv5_smp"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 -c" \
+			+ " armv5.smp"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5smp/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5smp/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5smp/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5smp/urel/test.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o",
+		"test_/armv5smp/udeb/test.o",
+		"test_/armv5smp/urel/test.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_check.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,76 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest
+import re
+
+def run():
+	t = CheckWhatSmokeTest()
+	t.id = "6"
+	t.name = "exe_armv5_winscw_check"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 -c winscw --check"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe.map"
+		]
+	t.missing = 7
+	t.returncode = 1
+	t.stdout = [
+	# armv5 artefacts
+		"MISSING: $(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"MISSING: $(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"MISSING: $(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"MISSING: $(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
+	# winscw artefacts
+		"MISSING: $(EPOCROOT)/epoc32/release/winscw/udeb/test.exe",
+		"MISSING: $(EPOCROOT)/epoc32/release/winscw/urel/test.exe",
+		"MISSING: $(EPOCROOT)/epoc32/release/winscw/urel/test.exe.map"
+	]
+	t.run()
+
+	t.id = "6a"
+	t.name = "exe_armv5_winscw_check_error"
+	t.command = "sbs -b no/such/bld.inf --check"
+	t.targets = []
+	t.missing = 0
+	t.errors = 2
+	t.returncode = 1
+	t.regexlinefilter = re.compile("^NEVER") # no literal stdout matching
+	t.stdout = []
+	t.mustmatch = [
+		"sbs: error:.*build info file does not exist",
+		"sbs: error: no CHECK information found",
+	]
+	t.run()
+
+	t.id = "6b"
+	t.name = "exe_armv5_winscw_what_error"
+	t.command = "sbs -b no/such/bld.inf --what"
+	t.mustmatch = [
+		"sbs: error:.*build info file does not exist",
+		"sbs: error: no WHAT information found",
+	]
+	t.run()
+
+	t.id = "6"
+	t.name = "exe_armv5_winscw_check"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_plus_clean.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,102 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest, AntiTargetSmokeTest
+
+def run():
+	result = SmokeTest.PASS
+	
+	t = SmokeTest()
+	t.id = "0005a"
+	t.name = "exe_armv5_winscw"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \
+			"-c winscw"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o",
+		"test_/winscw/udeb/test.o",
+		"test_/winscw/udeb/test_UID_.o",
+		"test_/winscw/udeb/test.UID.CPP",
+		"test_/winscw/urel/test.o",
+		"test_/winscw/urel/test_UID_.o",
+		"test_/winscw/urel/test.UID.CPP"
+	])
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+		
+	
+	"Check that CLEAN removes built files"
+	c = AntiTargetSmokeTest()
+	c.id = "0005b"
+	c.name = "exe_armv5_winscw_clean"
+	c.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \
+			"-c winscw CLEAN"
+	c.antitargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe.map"
+		]
+	c.addbuildantitargets('smoke_suite/test_resources/simple/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o",
+		"test_/winscw/udeb/test.o",
+		"test_/winscw/udeb/test_UID_.o",
+		"test_/winscw/udeb/test.UID.CPP",
+		"test_/winscw/urel/test.o",
+		"test_/winscw/urel/test_UID_.o",
+		"test_/winscw/urel/test.UID.CPP"
+	])
+	c.run()
+	if c.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+	
+	"Rebuild"
+	t.id = "0005c"
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+	
+	"Check that REALLYCLEAN removes built files"
+	c.id = "0005d"
+	c.name = "exe_armv5_winscw_reallyclean"
+	c.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \
+			"-c winscw REALLYCLEAN"
+	c.run()
+	if c.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+	
+	t.id = "5"
+	t.name = "exe_armv5_winscw_plus_clean"
+	t.result = result
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_single_file.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,149 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	result = SmokeTest.PASS
+
+	t = SmokeTest()
+	t.name = "exe_armv5_winscw_single_file_baseline_build"
+
+	# Build component
+	t.id = "0089a"
+	t.command = "sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -c armv5 -c winscw"
+	t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [
+		"helloworld_exe/helloworld.mbm_bmconvcommands",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_Application.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Application.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppView.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppView.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_Document.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Document.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_Main.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Main.o.d",
+		"helloworld_exe/armv5/udeb/helloworld_udeb_objects.via",
+		"helloworld_exe/armv5/urel/HelloWorld_Application.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Application.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_AppUi.o",
+		"helloworld_exe/armv5/urel/HelloWorld_AppUi.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_AppView.o",
+		"helloworld_exe/armv5/urel/HelloWorld_AppView.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_Document.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Document.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_Main.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Main.o.d",
+		"helloworld_exe/armv5/urel/helloworld_urel_objects.via",
+		"helloworld_exe/winscw/udeb/helloworld.UID.CPP",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.o.d",
+		"helloworld_exe/winscw/udeb/helloworld_udeb_objects.lrf",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.dep",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.o",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.o.d",
+		"helloworld_exe/winscw/urel/helloworld.UID.CPP",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.o",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.o",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.o.d",
+		"helloworld_exe/winscw/urel/helloworld_UID_.dep",
+		"helloworld_exe/winscw/urel/helloworld_UID_.o",
+		"helloworld_exe/winscw/urel/helloworld_UID_.o.d",
+		"helloworld_exe/winscw/urel/helloworld_urel_objects.lrf",
+		"helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp",
+		"helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d"
+	])
+
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	# Ensure we don't clean up from the previous build in any subsequent runs
+	t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [])
+	t.targets = []
+	t.usebash = True
+
+	# Touch both a straight source and a resource file and confirm we can recompile in isolation without additional impact
+	t.id = "0089b"
+	t.name = "exe_armv5_winscw_single_file_touch_rebuild"
+	t.command = """
+		sleep 1
+		touch smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp
+		touch smoke_suite/test_resources/simple_gui/HelloWorld.rss
+		sbs -f - --source-target=smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp --source-target=smoke_suite/test_resources/simple_gui/HelloWorld.rss -b smoke_suite/test_resources/simple_gui/Bld.inf"""
+	t.countmatch = [
+		[".*recipe name='resource(preprocess|header|compile)'", 3],
+		[".*recipe name='compile'.*", 2],
+		[".*recipe name='win32compile2object'.*", 2]
+	]
+	t.mustnotmatch = [
+		".*recipe name='(win32simplelink|postlink|link)'.*"
+	]
+
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	# Attempt separate source and resource file compile where nothing should be done
+	t.id = "0089c"
+	t.name = "exe_armv5_winscw_single_file_notouch_rebuild"
+	t.command = "sbs -f - --source-target=smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp --source-target=smoke_suite/test_resources/simple_gui/HelloWorld.rss -b smoke_suite/test_resources/simple_gui/Bld.inf"
+	t.mustmatch = []
+	t.countmatch = [
+		[".*make.*Nothing to be done for.*SOURCETARGET_.*", 10]
+	]
+	t.mustnotmatch = [
+		".*recipe name='(resourcepreprocess|win32compile2object|compile|win32simplelink|postlink|link)'.*"
+	]
+
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	t.id = "89"
+	t.name = "exe_armv5_winscw_single_file"
+	t.description = """Builds a component and tests single file compilation for straight source and resource files"""
+	t.result = result
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_what.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest
+
+def run():
+	t = CheckWhatSmokeTest()
+	t.id = "7"
+	t.name = "exe_armv5_winscw_what"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \
+			"-c winscw --what"
+	t.stdout = [
+			# armv5 artefacts
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
+			# winscw artefacts
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe.map"
+	]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv7.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,35 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "3"
+	t.name = "exe_armv7"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv7"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/test.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [
+		"test_/armv7/udeb/test.o",
+		"test_/armv7/urel/test.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_checksource.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+# NB - the checksource filter can find the same problem twice
+# So the count of 5 errors here is not actually accurate (AFAIK there are only 4)
+
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "88"
+	t.name = "exe_checksource"
+	t.description = "Build a exe with a checksource filter"
+	t.usebash = True
+	
+	bldinf = "smoke_suite/test_resources/checksource/helloworld/bld.inf"
+	cmd1 = "sbs -b %s REALLYCLEAN -m ${SBSMAKEFILE} -f ${SBSLOGFILE}" % bldinf
+	cmd2 = "sbs -b %s --filter=FilterCheckSource -m ${SBSMAKEFILE} -f ${SBSLOGFILE}" % bldinf
+	cmd3 = "grep -i '.*checksource errors found.*' ${SBSLOGFILE}"
+	t.command = cmd1 + " && " + cmd2 + " && " + cmd3
+
+	t.mustmatch_singleline = ["[1-9] checksource errors found"]
+	
+	t.returncode = 1
+	t.run("windows")
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_winscw.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "33"
+	t.name = "exe_winscw"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c winscw -m ${SBSMAKEFILE} -f ${SBSLOGFILE}; grep -E \"mwldsym2\" ${SBSLOGFILE}"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [
+		"test_/winscw/udeb/test.o",
+		"test_/winscw/udeb/test_.o",
+		"test_/winscw/udeb/test_UID_.o",
+		"test_/winscw/udeb/test.UID.CPP",
+		"test_/winscw/urel/test.o",
+		"test_/winscw/urel/test_.o",
+		"test_/winscw/urel/test_UID_.o",
+		"test_/winscw/urel/test.UID.CPP"
+	])
+	# Check that the default operator new library is used
+	t.mustmatch = [
+		'.*mwldsym2.*scppnwdl.lib.*test.exe.*'
+		]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/export.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,149 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest, AntiTargetSmokeTest
+import os
+
+def run():
+	
+	# This .inf file is created for clean_simple_export and
+	# reallyclean_simple_export tests to use so that we can put the
+	# username into the output filenames - which helps a lot when
+	# several people run tests on the same computer (e.g. linux machines)
+	bld = open('smoke_suite/test_resources/simple_export/expbld.inf', 'w')
+	user = os.environ['USER']
+	bld.write("""
+	
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+simple.mmp
+
+PRJ_EXPORTS
+#if !defined( WINSCW )
+// Exports conditional on build configuration macros aren't actually supported,
+// but we confirm that we preprocess in the context of an armv5 build when both
+// winscw and armv5 configurations are (implicitly, as there's no "-c" argument)
+// used.  This is in order to work around assumptions currently made in the
+// source base.
+simple_exp1.h exported_1.h
+#endif
+simple_exp2.h exported_2.h
+simple_exp3.h exported_3.h
+executable_file executable_file
+"file with a space.doc" "exportedfilewithspacesremoved.doc"
+"file with a space.doc" "exported file with a space.doc"
+
+simple_exp1.h /tmp/%s/  //
+simple_exp2.h \\tmp\\%s/  //
+simple_exp3.h /tmp/%s/simple_exp3.h 
+simple_exp4.h //
+
+""" % (user, user, user))
+	bld.close()
+
+
+	t = SmokeTest()
+	t.id = "0023a"
+	t.name = "export"
+	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf export"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/include/exported_1.h",
+		"$(EPOCROOT)/epoc32/include/exported_2.h",
+		"$(EPOCROOT)/epoc32/include/exported_3.h",
+		"$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc",
+		"$(EPOCROOT)/epoc32/include/exported file with a space.doc",
+		"/tmp/$(USER)/simple_exp1.h",
+		"/tmp/$(USER)/simple_exp2.h",
+		"/tmp/$(USER)/simple_exp3.h",
+		"$(EPOCROOT)/epoc32/include/executable_file",
+		"$(EPOCROOT)/epoc32/include/simple_exp4.h"
+		]
+	t.run()
+	
+
+	t = SmokeTest()
+	t.id = "0023a1"
+	t.name = "export"
+	t.usebash = True
+	t.command = "ls -l ${EPOCROOT}/epoc32/include/executable_file"
+	t.mustmatch = [ "^.rwxrwxr.x[\.\+]? .*executable_file.*$" ]
+	t.targets = []
+	t.run("linux")
+	t.usebash = False
+
+
+	# Testing if clean deletes any exports which it is not supposed to
+	t.id = "0023b"
+	t.name = "export_clean" 
+	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf clean"
+	t.mustmatch = []
+	t.targets = [
+		"$(EPOCROOT)/epoc32/include/exported_1.h",
+		"$(EPOCROOT)/epoc32/include/exported_2.h",
+		"$(EPOCROOT)/epoc32/include/exported_3.h",
+		"$(EPOCROOT)/epoc32/include/executable_file",
+		"$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc",
+		"$(EPOCROOT)/epoc32/include/exported file with a space.doc",
+		"/tmp/$(USER)/simple_exp1.h",
+		"/tmp/$(USER)/simple_exp2.h",
+		"/tmp/$(USER)/simple_exp3.h"
+		]
+	t.run()
+
+
+	t = AntiTargetSmokeTest()
+	t.id = "0023c"
+	t.name = "export_reallyclean" 
+	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf reallyclean"
+	t.antitargets = [
+		'$(EPOCROOT)/epoc32/include/exported_1.h',
+		'$(EPOCROOT)/epoc32/include/exported_2.h',
+		'$(EPOCROOT)/epoc32/include/exported_3.h',
+		"$(EPOCROOT)/epoc32/include/executable_file",
+		'$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc',
+		'$(EPOCROOT)/epoc32/include/exported file with a space.doc',
+		'/tmp/$(USER)/simple_exp1.h',
+		'/tmp/$(USER)/simple_exp2.h',
+		'/tmp/$(USER)/simple_exp3.h',
+		'$(EPOCROOT)/epoc32/include/simple_exp4.h'
+	]
+	t.run()
+
+	# Check that the --noexport feature really does prevent exports from happening
+	t = AntiTargetSmokeTest()
+	t.id = "0023d"
+	t.name = "export_noexport" 
+	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf --noexport -n"
+	t.antitargets = [
+		'$(EPOCROOT)/epoc32/include/exported_1.h',
+		'$(EPOCROOT)/epoc32/include/exported_2.h',
+		'$(EPOCROOT)/epoc32/include/exported_3.h',
+		"$(EPOCROOT)/epoc32/include/executable_file",
+		'$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc',
+		'$(EPOCROOT)/epoc32/include/exported file with a space.doc',
+		'/tmp/$(USER)/simple_exp1.h',
+		'/tmp/$(USER)/simple_exp2.h',
+		'/tmp/$(USER)/simple_exp3.h',
+		'$(EPOCROOT)/epoc32/include/simple_exp4.h'
+	]
+	t.run()
+		
+	t.id = "23"
+	t.name = "export"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/export_multi.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,32 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "81"
+	t.name = "export_multi"
+	t.description = "Test that the export section only gets included once even if all platforms are selected (see DPDEF138366)"
+	# Note I'm not including 'tools' to avoid a dependency on MSVC6
+	# Given this test will not be necessary once the export section is removed from the make files anyway, I'm not too worried.
+	t.command = "sbs -b smoke_suite/test_resources/basics/helloworld/Bld.inf -c winscw -c armv5 -c tools2 -c armv7 -c gccxml EXPORT"
+	t.mustnotmatch = [
+		".*warning: overriding commands for target.*",
+		".*warning: ignoring old commands for target.*"
+	]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/extension_reallyclean.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.id = "19"
+	t.name = "extension_reallyclean"
+	t.description = "These 2 sets of tests are for testing REALLYCLEAN on TEM" \
+			+ " files"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/simple_extension/bld.inf " \
+			+ "-c armv5_urel -m ${SBSMAKEFILE} -f ${SBSLOGFILE}; ls " \
+			+ "$(EPOCROOT)/epoc32/build/tem_export_test; sbs -b " \
+			+ "smoke_suite/test_resources/simple_extension/bld.inf -c " \
+			+ "armv5_urel REALLYCLEAN -m ${SBSMAKEFILE}_2 -f ${SBSLOGFILE}_2"
+	t.mustnotmatch = [
+		"ls.*/epoc32/build/tem_export_test: No such file or directory"
+	]
+	t.antitargets = [
+		"$(EPOCROOT)/epoc32/build/tem_export_test",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.mk",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.meta",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.mk",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.meta",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/simple_extension.txt"
+	]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/extension_whattarget.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,54 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest
+import re
+
+def run():
+	
+	t = CheckWhatSmokeTest()
+	t.id = "68"
+	t.description = "Test output from WHAT target"
+	t.name = "extension_whattarget"
+	t.command = "sbs -b smoke_suite/test_resources/simple_extension/bld.inf" + \
+			" WHAT -f - -m ${SBSMAKEFILE}"
+	t.regexlinefilter = \
+			re.compile("^<(whatlog|export|build>|resource>|bitmap>)")
+	t.hostossensitive = False
+	t.usebash = True
+	t.targets = [
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.mk",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.meta",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.mk",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.meta",
+		]
+	t.stdout = [
+		"<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/simple_extension/bld.inf' mmp='' config=''>",
+		"<export destination='$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.mk' source='$(SBS_HOME)/test/smoke_suite/test_resources/simple_extension/clean.mk'/>",
+		"<export destination='$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.meta' source='$(SBS_HOME)/test/smoke_suite/test_resources/simple_extension/clean.meta'/>",
+		"<export destination='$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.mk' source='$(SBS_HOME)/test/smoke_suite/test_resources/simple_extension/build.mk'/>",
+		"<export destination='$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.meta' source='$(SBS_HOME)/test/smoke_suite/test_resources/simple_extension/build.meta'/>",
+		"<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/simple_extension/bld.inf' mmp='' config='armv5_udeb'>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/udeb/simple_extension.txt</build>",
+		"<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/simple_extension/bld.inf' mmp='' config='armv5_urel'>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/urel/simple_extension.txt</build>",
+		"<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/simple_extension/bld.inf' mmp='' config='winscw_urel'>",
+		"<build>$(EPOCROOT)/epoc32/release/winscw/urel/simple_extension.txt</build>",
+		"<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/simple_extension/bld.inf' mmp='' config='winscw_udeb'>",
+		"<build>$(EPOCROOT)/epoc32/release/winscw/udeb/simple_extension.txt</build>"
+	]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/featurevariants.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,422 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest, ReplaceEnvs
+import os
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.usebash = True
+	
+	preBuiltTargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dummy.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dummy.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/debfake.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/relfake.lib"
+		]
+	
+	invariantTargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant{000a0000}.dso"
+		]
+	
+	variantTargetsDefaultTree = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant1.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant1.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant1.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_variant2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createexe_variant3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createexe_variant3.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/createexe_variant3.exe.sym",
+
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant1.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant1.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant1.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_variant2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createexe_variant3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createexe_variant3.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createexe_variant3.exe.sym"
+		]
+	
+	variantTargetsProductTrees = [		
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.vmap",
+
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.sym",		
+		"$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.vmap",
+
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.vmap",
+		
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.vmap",
+
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.vmap",
+		
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.vmap",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.vmap",
+		]
+	
+	variantTargetsGeneric = [
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var1.rsc",
+		"$(EPOCROOT)/epoc32/include/dummy_var1.rsg",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var2.rsc",
+		"$(EPOCROOT)/epoc32/include/dummy_var2.rsg",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var3.rsc",
+		"$(EPOCROOT)/epoc32/include/dummy_var3.rsg",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_inv.rsc",
+		"$(EPOCROOT)/epoc32/include/dummy_inv.rsg",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2{000a0000}.dso"
+		]
+	
+	invariantBuildTargets = [
+		"createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o",
+		"createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o.d",
+		"createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant_udeb_objects.via",
+		"createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.def",
+		"createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.dso",
+		"createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o",
+		"createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o.d",
+		"createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant_urel_objects.via",
+		"createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.def",
+		"createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.dso",
+		"dummy_inv_dll/dummy_inv_dummy_sc.rpp",
+		"dummy_inv_dll/dummy_inv_dummy_sc.rpp.d"
+		]
+
+	variantBuildTargetsDefaultTree = [
+		"createstaticdll_variant1_dll/armv5/udeb/CreateStaticDLL_variant1.o",
+		"createstaticdll_variant1_dll/armv5/udeb/CreateStaticDLL_variant1.o.d",
+		"createstaticdll_variant1_dll/armv5/udeb/createstaticdll_variant1_udeb_objects.via",
+		"createstaticdll_variant1_dll/armv5/udeb/createstaticdll_variant1{000a0000}.def",
+		"createstaticdll_variant1_dll/armv5/udeb/createstaticdll_variant1{000a0000}.dso",
+		"createstaticdll_variant1_dll/armv5/urel/CreateStaticDLL_variant1.o",
+		"createstaticdll_variant1_dll/armv5/urel/CreateStaticDLL_variant1.o.d",
+		"createstaticdll_variant1_dll/armv5/urel/createstaticdll_variant1_urel_objects.via",
+		"createstaticdll_variant1_dll/armv5/urel/createstaticdll_variant1{000a0000}.def",
+		"createstaticdll_variant1_dll/armv5/urel/createstaticdll_variant1{000a0000}.dso",
+		
+		"createstaticdll_variant2_dll/armv5/udeb/CreateStaticDLL_variant2.o",
+		"createstaticdll_variant2_dll/armv5/udeb/CreateStaticDLL_variant2.o.d",
+		"createstaticdll_variant2_dll/armv5/udeb/createstaticdll_variant2_udeb_objects.via",
+		"createstaticdll_variant2_dll/armv5/udeb/createstaticdll_variant2{000a0000}.def",
+		"createstaticdll_variant2_dll/armv5/udeb/createstaticdll_variant2{000a0000}.dso",
+		"createstaticdll_variant2_dll/armv5/urel/CreateStaticDLL_variant2.o",
+		"createstaticdll_variant2_dll/armv5/urel/CreateStaticDLL_variant2.o.d",
+		"createstaticdll_variant2_dll/armv5/urel/createstaticdll_variant2_urel_objects.via",
+		"createstaticdll_variant2_dll/armv5/urel/createstaticdll_variant2{000a0000}.def",
+		"createstaticdll_variant2_dll/armv5/urel/createstaticdll_variant2{000a0000}.dso",
+		
+		"createexe_variant3_exe/armv5/udeb/CreateEXE_variant3.o",
+		"createexe_variant3_exe/armv5/udeb/CreateEXE_variant3.o.d",
+		"createexe_variant3_exe/armv5/udeb/createexe_variant3_udeb_objects.via",
+		"createexe_variant3_exe/armv5/urel/CreateEXE_variant3.o",
+		"createexe_variant3_exe/armv5/urel/CreateEXE_variant3.o.d",
+		"createexe_variant3_exe/armv5/urel/createexe_variant3_urel_objects.via"
+		]
+	
+	variantBuildTargetsProductTrees = [		
+		"createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o",
+		"createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o.d",
+		"createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1_udeb_objects.via",
+		"createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.def",
+		"createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.dso",
+		"createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o",
+		"createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o.d",
+		"createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1_urel_objects.via",
+		"createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.def",
+		"createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.dso",
+		
+		"createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o",
+		"createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o.d",
+		"createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2_udeb_objects.via",
+		"createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.def",
+		"createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.dso",
+		"createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o",
+		"createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o.d",
+		"createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2_urel_objects.via",
+		"createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.def",
+		"createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.dso",
+		
+		"createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o",
+		"createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o.d",
+		"createexe_variant3_exe/armv5.one/udeb/createexe_variant3_udeb_objects.via",
+		"createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o",
+		"createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o.d",
+		"createexe_variant3_exe/armv5.one/urel/createexe_variant3_urel_objects.via",
+		
+		"createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o",
+		"createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o.d",
+		"createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1_udeb_objects.via",
+		"createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.def",
+		"createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.dso",
+		"createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o",
+		"createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o.d",
+		"createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1_urel_objects.via",
+		"createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.def",
+		"createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.dso",
+		
+		"createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o",
+		"createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o.d",
+		"createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2_udeb_objects.via",
+		"createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.def",
+		"createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.dso",
+		"createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o",
+		"createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o.d",
+		"createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2_urel_objects.via",
+		"createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.def",
+		"createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.dso",
+		
+		"createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o",
+		"createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o.d",
+		"createexe_variant3_exe/armv5.two/udeb/createexe_variant3_udeb_objects.via",
+		"createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o",
+		"createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o.d",
+		"createexe_variant3_exe/armv5.two/urel/createexe_variant3_urel_objects.via",
+		
+		"createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o",
+		"createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o.d",
+		"createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1_udeb_objects.via",
+		"createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.def",
+		"createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.dso",
+		"createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o",
+		"createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o.d",
+		"createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1_urel_objects.via",
+		"createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.def",
+		"createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.dso",
+		
+		"createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o",
+		"createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o.d",
+		"createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2_udeb_objects.via",
+		"createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.def",
+		"createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.dso",
+		"createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o",
+		"createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o.d",
+		"createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2_urel_objects.via",
+		"createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.def",
+		"createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.dso",
+		
+		"createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o",
+		"createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o.d",
+		"createexe_variant3_exe/armv5.three/udeb/createexe_variant3_udeb_objects.via",
+		"createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o",
+		"createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o.d",
+		"createexe_variant3_exe/armv5.three/urel/createexe_variant3_urel_objects.via"
+		]
+	
+	variantBuildTargetsGeneric = [
+		"dummy_var1_dll/dummy_var1_dummy_sc.rpp",
+		"dummy_var1_dll/dummy_var1_dummy_sc.rpp.d",
+		"dummy_var2_dll/dummy_var2_dummy_sc.rpp",
+		"dummy_var2_dll/dummy_var2_dummy_sc.rpp.d",
+		"dummy_var3_exe/dummy_var3_dummy_sc.rpp",
+		"dummy_var3_exe/dummy_var3_dummy_sc.rpp.d"
+		]
+	
+	sbscommand = "sbs -b smoke_suite/test_resources/bv/bld.inf -c armv5 " + \
+				"-c armv5.test_bv_1 -c armv5.test_bv_2 -c armv5.test_bv_3 -f- " + \
+				"--configpath=test/smoke_suite/test_resources/bv/config/variants"
+	
+	t.id = "56a"
+	t.description = """Build variant and invariant components.
+		In this default mode of operation, all components build for the non-product armv5 config whereas
+		only variant components build for the armv5.* bv configs."""
+	t.name = "featurevariant_build"
+	t.command = sbscommand
+	t.targets = preBuiltTargets + invariantTargets + variantTargetsGeneric + variantTargetsDefaultTree + variantTargetsProductTrees							
+	t.addbuildtargets('smoke_suite/test_resources/bv/bld.inf',
+				invariantBuildTargets + variantBuildTargetsGeneric + variantBuildTargetsDefaultTree + variantBuildTargetsProductTrees	
+				)
+	# Test that static libs are linked from the invariant place.
+	t.mustmatch = [
+		"armlink.*epoc32/release/armv5/urel/bv_static_lib.lib",
+		"armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib"
+		]
+	t.run()
+	
+	t.id = "56b"
+	t.description = """Build variant and invariant components using an os_properties.xml that sets FEATUREVARIANTSAFE=1.
+		With FEATUREVARIANTSAFE only invariant components build for the non-product armv5 config and
+		only variant components build for the armv5.* bv configs.""" 
+	t.name = "featurevariant_build_featurevariantsafe"
+	t.command = sbscommand + " --configpath=test/smoke_suite/test_resources/bv/config/properties"
+	t.targets = preBuiltTargets + invariantTargets + variantTargetsGeneric + variantTargetsProductTrees
+	t.addbuildtargets('smoke_suite/test_resources/bv/bld.inf',
+				invariantBuildTargets + variantBuildTargetsGeneric + variantBuildTargetsProductTrees	
+				)
+	t.antitargets = variantTargetsDefaultTree
+	t.addbuildantitargets('smoke_suite/test_resources/bv/bld.inf',
+				variantBuildTargetsDefaultTree
+				)
+	# Test that static libs are linked from the invariant place.
+	t.mustmatch = [
+		"armlink.*epoc32/release/armv5/urel/bv_static_lib.lib",
+		"armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib"
+		]
+	t.run()
+
+	
+	# tests for the createvmap script
+	createvmap = "python $(SBS_HOME)/bin/createvmap.py"
+	vmapfile = "$(EPOCROOT)/epoc32/build/test.vmap"
+	vmap = " -o " + vmapfile
+	
+	if 'SBS_BVCPP' in os.environ:
+		bvcpp = " -c " + os.environ['SBS_BVCPP'].replace('\\','/')
+	else:
+		bvcpp = " -c $(SBS_HOME)/$(HOSTPLATFORM_DIR)/bv/bin/cpp"
+		if t.onWindows:
+			bvcpp += ".exe"
+
+	bvdata = "$(SBS_HOME)/test/smoke_suite/test_resources/bv"
+	
+	preinc = " -p " + bvdata + "/var1/var1.h"
+	listA = " -f " + bvdata + "/listA.txt"
+	listB = " -f " + bvdata + "/listB.txt"
+	listC = " -f " + bvdata + "/listC.txt"
+	srcWith = " -s " + bvdata + "/with_macros.cpp"
+	srcWithout = " -s " + bvdata + "/without_macros.cpp"
+	badSrc = " -s " + bvdata + "/with_errors.cpp"
+
+	t.id = "56c"
+	t.name = "createvmap exits with an error"
+	t.usebash = True
+	t.command = createvmap
+	t.returncode = 1
+	t.targets = []
+	t.mustmatch = []
+	t.run()
+
+	
+	t.id = "56d"
+	t.name = "createvmap shows cpp errors"
+	t.usebash = True
+	t.command = createvmap + vmap + bvcpp + preinc + listA + badSrc
+	t.returncode = 1
+	t.targets = []
+	t.mustmatch = ["#error this code is broken"]
+	t.run()
+	
+	
+	t.id = "56e"
+	t.name = "createvmap errors on missing feature list"
+	t.usebash = True
+	t.command = createvmap + vmap + bvcpp + preinc + listC + srcWith
+	t.returncode = 1
+	t.targets = []
+	t.mustmatch = ["The feature list '.*listC.txt' does not exist"]
+	t.run()
+	
+	
+	t.id = "56f"
+	t.name = "createvmap warns on featureless code"
+	t.usebash = True
+	t.command = createvmap + vmap + bvcpp + preinc + listA + srcWithout
+	t.returncode = 0
+	t.targets = [vmapfile]
+	t.mustmatch = ["warning: No feature macros were found in the source"]
+	t.run()
+	
+	
+	t.id = "56g"
+	t.name = "createvmap creates the right vmap file"
+	t.usebash = True
+	t.command = createvmap + vmap + bvcpp + preinc + listA + listB + srcWith + srcWithout + " && cat " + vmapfile
+	t.returncode = 0
+	t.targets = [vmapfile]
+	t.mustmatch = ["A_1=defined", "B_1000=undefined"]
+	t.run()
+	
+	
+	# print the overall result
+	t.id = "56"
+	t.name = "featurevariants"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/filter_missing.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,60 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import GenericSmokeTest
+
+def run():
+	result = GenericSmokeTest.PASS 
+	
+	t = GenericSmokeTest()
+	t.id = "0072a"
+	t.name = "filter_missing" 
+	t.command = "sbs --filters=NonExistingFilter"
+	t.mustmatch = [
+			".*requested filters not found.*NonExistingFilter.*"
+	]
+	t.errors = 1
+	t.returncode = 1
+	t.run()
+	if t.result == GenericSmokeTest.FAIL:
+		result = GenericSmokeTest.FAIL
+
+	t.id = "0072b"
+	t.name = "filter_crashes"
+	t.usebash = True
+	t.command = "cp -f smoke_suite/test_resources/filter_test/testfilter_exceptions.py " \
+			+ "$SBS_HOME/python/plugins ; " \
+			+ "sbs -n --filters=FilterTestCrash,FilterLogFile,FilterTerminal " \
+			+ "-b smoke_suite/test_resources/simple/bld.inf " \
+			+ "-m ${SBSMAKEFILE} -f ${SBSLOGFILE} ; " \
+    		+ "rm -f $SBS_HOME/python/plugins/testfilter_exceptions.py"
+	t.errors = 0
+	t.returncode = 0
+	t.exceptions = 1
+	t.mustmatch = [
+			".*A test exception in a filter was generated.*",
+			".*sbs: build log in.*"
+	]
+
+	t.run()
+	if t.result == GenericSmokeTest.FAIL:
+		result = GenericSmokeTest.FAIL
+	
+	t.id = "72"
+	t.name = "filter_missing"
+	t.result = result
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/filter_params.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,140 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	
+	t = SmokeTest()
+	t.description = "Test the passing of parameters to log filters"
+	
+	command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel --filters="
+	
+	# no parameters means count all tags	
+	t.name = "filter_params_all_tags"
+	t.command = command + "FilterTagCounter"
+	t.mustmatch_singleline = [
+		"^info \d+ \d+",
+		"^whatlog \d+ \d+",
+		"^clean \d+ \d+"	
+		]
+	t.run()
+	
+	# empty parameter lists are valid
+	t.name = "filter_params_all_tags2"
+	t.command = command + "FilterTagCounter[]"
+	t.run()
+	
+	# parameters mean report only those tags	
+	t.name = "filter_params_info"
+	t.command = command + "FilterTagCounter[info]"
+	t.mustmatch_singleline = [
+		"^info \d+ \d+"
+		]
+	t.mustnotmatch_singleline = [
+		"^whatlog \d+ \d+",
+		"^clean \d+ \d+"	
+		]
+	t.run()
+	
+	# multiple parameters are valid	
+	t.name = "filter_params_info_clean"
+	t.command = command + "FilterTagCounter[info,clean]"
+	t.mustmatch_singleline = [
+		"^info \d+ \d+",
+		"^clean \d+ \d+"
+		]
+	t.mustnotmatch_singleline = [
+		"^whatlog \d+ \d+"
+		]
+	t.run()
+	
+	# using the same filter with different parameters is valid
+	t.name = "filter_params_info_clean2"
+	t.command = command + "FilterTagCounter[info],FilterTagCounter[clean]"
+	t.run()
+	
+	# using the same filter with the same parameters is valid too
+	t.name = "filter_params_info_clean3"
+	t.command = command + "FilterTagCounter[info,clean],FilterTagCounter[info,clean]"
+	t.run()
+	
+	
+	# parameters must work with the sbs_filter script as well
+	
+	command = "sbs_filter --filters=%s < smoke_suite/test_resources/logexamples/filter_component.log"
+	t.logfileOption = lambda :""
+	t.makefileOption = lambda :""
+
+	# should still work with no parameters
+	t.name = "sbs_filter_no_params"
+	t.command = command % "FilterComp"
+	t.mustmatch_singleline = [
+		]
+	t.mustnotmatch_singleline = [
+		"[<>]" # no elements should be printed at all as no bld.inf is selected
+		]
+	t.run()
+	
+	# should work with an empty parameter list
+	t.name = "sbs_filter_no_params2"
+	t.command = command % "FilterComp[]"
+	t.run()
+	
+	# with a parameter
+	t.name = "sbs_filter_one_param"
+	t.command = command % "FilterComp[email]"
+	t.stdout = [
+		"<error bldinf='y:/src/email/bld.inf'>email error #1</error>",
+		"<error bldinf='y:/src/email/bld.inf'>email error #2</error>",
+		"<warning bldinf='y:/src/email/bld.inf'>email warning #1</warning>",
+		"<warning bldinf='y:/src/email/bld.inf'>email warning #2</warning>",
+		"<whatlog bldinf='y:/src/email/bld.inf' config='armv5_urel' mmp='y:/src/email/a.mmp'>",
+		"<build>/epoc32/data/email_1</build>",
+		"<build>/epoc32/data/email_2</build>",
+		"</whatlog>",
+		"<recipe bldinf='y:/src/email/bld.inf' name='dummy'>",
+		"+ make_email",
+		"email was made fine",
+		"<status exit='ok'></status>",
+		"</recipe>",
+		"<fake bldinf='y:src/email/bld.inf'>",
+		"  <foo>",
+		"   <bar>",
+		"     <fb>fb email</fb>",
+		"   </bar>",
+		" </foo>",
+		"</fake>"
+		]
+	t.mustmatch_singleline = []
+	t.mustnotmatch_singleline = []
+	t.warnings = 2
+	t.errors = 2
+	t.run()
+	
+	# with multiple filters
+	t.name = "sbs_filter_multi"
+	t.command = command % "FilterComp[txt],FilterTagCounter[file,recipe]"
+	t.stdout = []
+	t.mustmatch_singleline = [ "txt", "^file \d+", "^recipe \d+" ]
+	t.mustnotmatch_singleline = [ "email" ]
+	t.warnings = 2
+	t.errors = 0
+	t.run()
+	
+	t.name = "filter_params"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/flm_extension.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "20"
+	t.name = "flm_extension"
+	t.command = "sbs -b " + \
+			"smoke_suite/test_resources/simple_extension/flm_bld.inf -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/build/flm_test_1_2",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/tools/flm_export.xml",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/tools/flm_export.flm"
+		]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/gccxml.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,129 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest, AntiTargetSmokeTest
+
+def run():
+	result = SmokeTest.PASS
+	
+	t = SmokeTest()
+	t.id = "0057a"
+	t.name = "gccxml"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/simple_gui/bld.inf " + \
+			"-c gccxml_urel -m ${SBSMAKEFILE} -f ${SBSLOGFILE} && " + \
+			"grep -o 'gcc.*-fpermissive' ${SBSLOGFILE}"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/gccxml/includeheaders.txt",
+		"$(EPOCROOT)/epoc32/release/gccxml/urel/helloworldexe.gxp"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_gui/bld.inf', [
+		"helloworld_exe/gccxml/HelloWorld.mmp.xml",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+		"helloworld_exe/gccxml/HelloWorld.rss.rfi",
+		"helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d",
+		"helloworld_exe/gccxml/HelloWorld_reg.rss.rfi",
+		"helloworld_exe/gccxml/urel/HelloWorld_Application.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_Application.xml",
+		"helloworld_exe/gccxml/urel/HelloWorld_AppUi.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_AppUi.xml",
+		"helloworld_exe/gccxml/urel/HelloWorld_AppView.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_AppView.xml",
+		"helloworld_exe/gccxml/urel/HelloWorld_Document.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_Document.xml",
+		"helloworld_exe/gccxml/urel/HelloWorld_Main.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_Main.xml"
+	])
+	t.mustmatch = [
+		".*gcc.*-fpermissive.*"
+	]
+	# Windows-only until formal delivery of a Linux version of gccxml_cc1plus
+	t.run("windows")
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	elif t.result == SmokeTest.SKIP:
+		return t
+	
+	
+	t = AntiTargetSmokeTest()
+	t.id = "0057b"
+	t.name = "gccxml_reallyclean"
+	t.command = "sbs -b smoke_suite/test_resources/simple_gui/bld.inf " + \
+			"-c gccxml_urel REALLYCLEAN"
+	t.antitargets = ["$(EPOCROOT)/epoc32/release/gccxml/urel/helloworldexe.gxp"]
+	t.addbuildantitargets('smoke_suite/test_resources/simple_gui/bld.inf', [
+		"helloworld_exe/gccxml/HelloWorld.mmp.xml",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+		"helloworld_exe/gccxml/HelloWorld.rss.rfi",
+		"helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d",
+		"helloworld_exe/gccxml/HelloWorld_reg.rss.rfi",
+		"helloworld_exe/gccxml/urel/HelloWorld_Application.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_Application.xml",
+		"helloworld_exe/gccxml/urel/HelloWorld_AppUi.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_AppUi.xml",
+		"helloworld_exe/gccxml/urel/HelloWorld_AppView.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_AppView.xml",
+		"helloworld_exe/gccxml/urel/HelloWorld_Document.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_Document.xml",
+		"helloworld_exe/gccxml/urel/HelloWorld_Main.xml.d",
+		"helloworld_exe/gccxml/urel/HelloWorld_Main.xml"
+	])
+	t.run("windows")
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+		
+		
+	t = SmokeTest()
+	t.id = "0057c"
+	t.name = "gccxml_var2"
+	t.command = "sbs -b smoke_suite/test_resources/simple_gui/BldVar2.inf " + \
+			"-c gccxml_urel -f -"
+	
+	# Don't allow -m or -f to be appended
+	t.logfileOption = lambda :""
+	t.makefileOption = lambda :""
+	
+	t.mustmatch = [".*__KERNEL_MODE__.*"]
+	t.errors = 1 # not really VAR2 code, so it wont build cleanly
+	t.returncode = 1
+	t.run("windows")
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+		
+		
+	t = SmokeTest()
+	t.id = "0057d"
+	t.name = "gccxml_stdcpp"
+	t.command = "sbs -b smoke_suite/test_resources/simple_gui/Bld_stdcpp.inf " + \
+			"-c gccxml_urel -f -"
+	
+	# Don't allow -m or -f to be appended
+	t.logfileOption = lambda :""
+	t.makefileOption = lambda :""
+	
+	t.mustmatch = [".*__SYMBIAN_STDCPP_SUPPORT__.*"]
+	t.errors = 0 # reset after previous run
+	t.run("windows")
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+		
+	t.id = "57"
+	t.name = "gccxml"
+	t.result = result
+	t.print_result()
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/gnumakefile.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,67 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "53"	
+	t.name = "gnumakefile"
+	t.command = "sbs -b smoke_suite/test_resources/gnumakefile/bld.inf"
+	t.targets = [
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_bld_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_bld_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_bld_WINSCW_UDEB.txt",
+	  	"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_bld_WINSCW_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_final_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_final_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_final_WINSCW_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_final_WINSCW_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_lib_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_lib_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_lib_WINSCW_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_lib_WINSCW_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_makmake_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_makmake_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_makmake_WINSCW_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_makmake_WINSCW_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_resource_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_resource_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_resource_WINSCW_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/master_resource_WINSCW_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_bld_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_bld_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_bld_WINSCW_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_bld_WINSCW_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_final_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_final_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_final_WINSCW_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_final_WINSCW_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_lib_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_lib_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_lib_WINSCW_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_lib_WINSCW_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_makmake_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_makmake_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_makmake_WINSCW_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_makmake_WINSCW_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_resource_ARMV5_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_resource_ARMV5_UREL.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_resource_WINSCW_UDEB.txt",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/gnumakefile/slave_resource_WINSCW_UREL.txt"
+		]
+	t.run("windows") # we don't have make 3.79 on Linux
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/gnumakefile_what.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,72 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest
+import re,os
+
+def run():
+	t = CheckWhatSmokeTest()
+	t.id = "54"
+	t.name = "gnumakefile_what"
+	t.command = "sbs -b smoke_suite/test_resources/gnumakefile/bld.inf --what"
+	componentpath = re.sub(r'\\','/',os.path.abspath("smoke_suite/test_resources/gnumakefile"))
+	
+	t.output_expected_only_once = True
+	t.stdout = [
+	# Generated txt files by the gnumakefile
+		componentpath+"/master_bld_ARMV5_UDEB.txt",
+		componentpath+"/master_bld_ARMV5_UREL.txt",
+		componentpath+"/master_bld_WINSCW_UDEB.txt",
+		componentpath+"/master_bld_WINSCW_UREL.txt",
+		componentpath+"/master_final_ARMV5_UDEB.txt",
+		componentpath+"/master_final_ARMV5_UREL.txt",
+		componentpath+"/master_final_WINSCW_UDEB.txt",
+		componentpath+"/master_final_WINSCW_UREL.txt",
+		componentpath+"/master_lib_ARMV5_UDEB.txt",
+		componentpath+"/master_lib_ARMV5_UREL.txt",
+		componentpath+"/master_lib_WINSCW_UDEB.txt",
+		componentpath+"/master_lib_WINSCW_UREL.txt",
+		componentpath+"/master_makmake_ARMV5_UDEB.txt",
+		componentpath+"/master_makmake_ARMV5_UREL.txt",
+		componentpath+"/master_makmake_WINSCW_UDEB.txt",
+		componentpath+"/master_makmake_WINSCW_UREL.txt",
+		componentpath+"/master_resource_ARMV5_UDEB.txt",
+		componentpath+"/master_resource_ARMV5_UREL.txt",
+		componentpath+"/master_resource_WINSCW_UDEB.txt",
+		componentpath+"/master_resource_WINSCW_UREL.txt",
+		componentpath+"/slave_bld_ARMV5_UDEB.txt",
+		componentpath+"/slave_bld_ARMV5_UREL.txt",
+		componentpath+"/slave_bld_WINSCW_UDEB.txt",
+		componentpath+"/slave_bld_WINSCW_UREL.txt",
+		componentpath+"/slave_final_ARMV5_UDEB.txt",
+		componentpath+"/slave_final_ARMV5_UREL.txt",
+		componentpath+"/slave_final_WINSCW_UDEB.txt",
+		componentpath+"/slave_final_WINSCW_UREL.txt",
+		componentpath+"/slave_lib_ARMV5_UDEB.txt",
+		componentpath+"/slave_lib_ARMV5_UREL.txt",
+		componentpath+"/slave_lib_WINSCW_UDEB.txt",
+		componentpath+"/slave_lib_WINSCW_UREL.txt",
+		componentpath+"/slave_makmake_ARMV5_UDEB.txt",
+		componentpath+"/slave_makmake_ARMV5_UREL.txt",
+		componentpath+"/slave_makmake_WINSCW_UDEB.txt",
+		componentpath+"/slave_makmake_WINSCW_UREL.txt",
+		componentpath+"/slave_resource_ARMV5_UDEB.txt",
+		componentpath+"/slave_resource_ARMV5_UREL.txt",
+		componentpath+"/slave_resource_WINSCW_UDEB.txt",
+		componentpath+"/slave_resource_WINSCW_UREL.txt"
+	]
+	t.run("windows") # we don't have make 3.79 on Linux
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/gnumakefile_whatlog.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,123 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest
+import re, os
+
+def run():
+	t = CheckWhatSmokeTest()
+	t.id = "70"
+	t.name = "gnumakefile_whatlog"
+	t.command = "sbs -b smoke_suite/test_resources/gnumakefile/bld.inf -f - " \
+			"-m ${SBSMAKEFILE} -c armv5.whatlog -c winscw.whatlog"
+	componentpath = re.sub(r'\\','/',os.path.abspath("smoke_suite/test_resources/gnumakefile"))
+	t.regexlinefilter = re.compile("^<(whatlog|build>)")
+	t.hostossensitive = False
+	t.usebash = True
+	t.targets = [
+		componentpath+"/master_bld_ARMV5_UDEB.txt",
+		componentpath+"/master_bld_ARMV5_UREL.txt",
+		componentpath+"/master_bld_WINSCW_UDEB.txt",
+		componentpath+"/master_bld_WINSCW_UREL.txt",
+		componentpath+"/master_final_ARMV5_UDEB.txt",
+		componentpath+"/master_final_ARMV5_UREL.txt",
+		componentpath+"/master_final_WINSCW_UDEB.txt",
+		componentpath+"/master_final_WINSCW_UREL.txt",
+		componentpath+"/master_lib_ARMV5_UDEB.txt",
+		componentpath+"/master_lib_ARMV5_UREL.txt",
+		componentpath+"/master_lib_WINSCW_UDEB.txt",
+		componentpath+"/master_lib_WINSCW_UREL.txt",
+		componentpath+"/master_makmake_ARMV5_UDEB.txt",
+		componentpath+"/master_makmake_ARMV5_UREL.txt",
+		componentpath+"/master_makmake_WINSCW_UDEB.txt",
+		componentpath+"/master_makmake_WINSCW_UREL.txt",
+		componentpath+"/master_resource_ARMV5_UDEB.txt",
+		componentpath+"/master_resource_ARMV5_UREL.txt",
+		componentpath+"/master_resource_WINSCW_UDEB.txt",
+		componentpath+"/master_resource_WINSCW_UREL.txt",
+		componentpath+"/slave_bld_ARMV5_UDEB.txt",
+		componentpath+"/slave_bld_ARMV5_UREL.txt",
+		componentpath+"/slave_bld_WINSCW_UDEB.txt",
+		componentpath+"/slave_bld_WINSCW_UREL.txt",
+		componentpath+"/slave_final_ARMV5_UDEB.txt",
+		componentpath+"/slave_final_ARMV5_UREL.txt",
+		componentpath+"/slave_final_WINSCW_UDEB.txt",
+		componentpath+"/slave_final_WINSCW_UREL.txt",
+		componentpath+"/slave_lib_ARMV5_UDEB.txt",
+		componentpath+"/slave_lib_ARMV5_UREL.txt",
+		componentpath+"/slave_lib_WINSCW_UDEB.txt",
+		componentpath+"/slave_lib_WINSCW_UREL.txt",
+		componentpath+"/slave_makmake_ARMV5_UDEB.txt",
+		componentpath+"/slave_makmake_ARMV5_UREL.txt",
+		componentpath+"/slave_makmake_WINSCW_UDEB.txt",
+		componentpath+"/slave_makmake_WINSCW_UREL.txt",
+		componentpath+"/slave_resource_ARMV5_UDEB.txt",
+		componentpath+"/slave_resource_ARMV5_UREL.txt",
+		componentpath+"/slave_resource_WINSCW_UDEB.txt",
+		componentpath+"/slave_resource_WINSCW_UREL.txt"
+		]
+	t.stdout = [
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='' config='armv5_udeb.whatlog'>",
+		"<build>"+componentpath+"/master_bld_ARMV5_UDEB.txt</build>",
+		"<build>"+componentpath+"/master_final_ARMV5_UDEB.txt</build>",
+		"<build>"+componentpath+"/master_lib_ARMV5_UDEB.txt</build>",
+		"<build>"+componentpath+"/master_makmake_ARMV5_UDEB.txt</build>",
+		"<build>"+componentpath+"/master_resource_ARMV5_UDEB.txt</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='' config='armv5_urel.whatlog'>",
+		"<build>"+componentpath+"/master_bld_ARMV5_UREL.txt</build>",
+		"<build>"+componentpath+"/master_final_ARMV5_UREL.txt</build>",
+		"<build>"+componentpath+"/master_lib_ARMV5_UREL.txt</build>",
+		"<build>"+componentpath+"/master_makmake_ARMV5_UREL.txt</build>",
+		"<build>"+componentpath+"/master_resource_ARMV5_UREL.txt</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='' config='winscw_urel.whatlog'>",
+		"<build>"+componentpath+"/master_bld_WINSCW_UREL.txt</build>",
+		"<build>"+componentpath+"/master_final_WINSCW_UREL.txt</build>",
+		"<build>"+componentpath+"/master_lib_WINSCW_UREL.txt</build>",
+		"<build>"+componentpath+"/master_makmake_WINSCW_UREL.txt</build>",
+		"<build>"+componentpath+"/master_resource_WINSCW_UREL.txt</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='' config='winscw_udeb.whatlog'>",
+		"<build>"+componentpath+"/master_bld_WINSCW_UDEB.txt</build>",
+		"<build>"+componentpath+"/master_final_WINSCW_UDEB.txt</build>",
+		"<build>"+componentpath+"/master_lib_WINSCW_UDEB.txt</build>",
+		"<build>"+componentpath+"/master_makmake_WINSCW_UDEB.txt</build>",
+		"<build>"+componentpath+"/master_resource_WINSCW_UDEB.txt</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='' config='armv5_udeb.whatlog'>",
+		"<build>"+componentpath+"/slave_bld_ARMV5_UDEB.txt</build>",
+		"<build>"+componentpath+"/slave_final_ARMV5_UDEB.txt</build>",
+		"<build>"+componentpath+"/slave_lib_ARMV5_UDEB.txt</build>",
+		"<build>"+componentpath+"/slave_makmake_ARMV5_UDEB.txt</build>",
+		"<build>"+componentpath+"/slave_resource_ARMV5_UDEB.txt</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='' config='armv5_urel.whatlog'>",
+		"<build>"+componentpath+"/slave_bld_ARMV5_UREL.txt</build>",
+		"<build>"+componentpath+"/slave_final_ARMV5_UREL.txt</build>",
+		"<build>"+componentpath+"/slave_lib_ARMV5_UREL.txt</build>",
+		"<build>"+componentpath+"/slave_makmake_ARMV5_UREL.txt</build>",
+		"<build>"+componentpath+"/slave_resource_ARMV5_UREL.txt</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='' config='winscw_urel.whatlog'>",
+		"<build>"+componentpath+"/slave_bld_WINSCW_UREL.txt</build>",
+		"<build>"+componentpath+"/slave_final_WINSCW_UREL.txt</build>",
+		"<build>"+componentpath+"/slave_lib_WINSCW_UREL.txt</build>",
+		"<build>"+componentpath+"/slave_makmake_WINSCW_UREL.txt</build>",
+		"<build>"+componentpath+"/slave_resource_WINSCW_UREL.txt</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='' config='winscw_udeb.whatlog'>",
+		"<build>"+componentpath+"/slave_bld_WINSCW_UDEB.txt</build>",
+		"<build>"+componentpath+"/slave_final_WINSCW_UDEB.txt</build>",
+		"<build>"+componentpath+"/slave_lib_WINSCW_UDEB.txt</build>",
+		"<build>"+componentpath+"/slave_makmake_WINSCW_UDEB.txt</build>",
+		"<build>"+componentpath+"/slave_resource_WINSCW_UDEB.txt</build>"
+	]
+	t.run("windows") # we don't have make 3.79 on Linux
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/gui_whatlog.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,141 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest
+import re, os
+
+def run():
+	t = CheckWhatSmokeTest()
+	t.id = "66"
+	t.name = "gui_whatlog"
+	t.command = "sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -f - -m" \
+			+ " ${SBSMAKEFILE} -c armv5.whatlog -c winscw.whatlog"
+	componentpath = re.sub(r'\\','/',os.path.abspath("smoke_suite/test_resources/simple_gui"))
+	t.regexlinefilter = \
+			re.compile("^<(whatlog|export|build>|resource>|bitmap>)")
+	t.hostossensitive = False
+	t.usebash = True
+	t.targets = [
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/include/helloworld.rsg",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [
+		"helloworld_exe/helloworld.mbm_bmconvcommands",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_Application.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Application.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppView.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppView.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_Document.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Document.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_Main.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Main.o.d",
+		"helloworld_exe/armv5/udeb/helloworld_udeb_objects.via",
+		"helloworld_exe/armv5/urel/HelloWorld_Application.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Application.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_AppUi.o",
+		"helloworld_exe/armv5/urel/HelloWorld_AppUi.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_AppView.o",
+		"helloworld_exe/armv5/urel/HelloWorld_AppView.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_Document.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Document.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_Main.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Main.o.d",
+		"helloworld_exe/armv5/urel/helloworld_urel_objects.via",
+		"helloworld_exe/winscw/udeb/helloworld.UID.CPP",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.o.d",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.dep",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.o",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.o.d",
+		"helloworld_exe/winscw/urel/helloworld.UID.CPP",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.o",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.o",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.o.d",
+		"helloworld_exe/winscw/urel/helloworld_UID_.dep",
+		"helloworld_exe/winscw/urel/helloworld_UID_.o",
+		"helloworld_exe/winscw/urel/helloworld_UID_.o.d",
+		"helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d"
+	])
+	t.stdout = [
+		"<whatlog bldinf='"+componentpath+"/Bld.inf' mmp='"+componentpath+"/HelloWorld.mmp' config='armv5_udeb.whatlog'>",
+		"<bitmap>$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm</bitmap>",
+		"<resource>$(EPOCROOT)/epoc32/include/helloworld.rsg</resource>",
+		"<resource>$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.rsc</resource>",
+		"<resource>$(EPOCROOT)/epoc32/data/z/private/10003a3f/apps/helloworld_reg.rsc</resource>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe</build>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.map</build>",
+		"<whatlog bldinf='"+componentpath+"/Bld.inf' mmp='"+componentpath+"/HelloWorld.mmp' config='winscw_urel.whatlog'>",
+		"<bitmap>$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm</bitmap>",
+		"<bitmap>$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm</bitmap>",
+		"<bitmap>$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm</bitmap>",
+		"<resource>$(EPOCROOT)/epoc32/include/helloworld.rsg</resource>",
+		"<resource>$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.rsc</resource>",
+		"<resource>$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.rsc</resource>",
+		"<resource>$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.rsc</resource>",
+		"<resource>$(EPOCROOT)/epoc32/data/z/private/10003a3f/apps/helloworld_reg.rsc</resource>",
+		"<resource>$(EPOCROOT)/epoc32/release/winscw/udeb/z/private/10003a3f/apps/helloworld_reg.rsc</resource>",
+		"<resource>$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10003a3f/apps/helloworld_reg.rsc</resource>",
+		"<build>$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe</build>",
+		"<build>$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe.map</build>",
+		"<whatlog bldinf='"+componentpath+"/Bld.inf' mmp='"+componentpath+"/HelloWorld.mmp' config='armv5_urel.whatlog'>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe</build>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.map</build>",
+		"<whatlog bldinf='"+componentpath+"/Bld.inf' mmp='"+componentpath+"/HelloWorld.mmp' config='winscw_udeb.whatlog'>",
+		"<build>$(EPOCROOT)/epoc32/release/winscw/udeb/helloworld.exe</build>",
+	]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_armv5.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "14"
+	t.name = "implib_armv5"
+	t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf" \
+		+ " -c armv5 LIBRARY"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib{000a0000}.dso"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_implib/bld.inf', [
+		['simple_implib_lib/armv5/udeb/simple_implib.prep',
+                 'simple_implib_lib/armv5/urel/simple_implib.prep']
+	])
+	t.run()
+	
+	t.print_result()	
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_armv5_smp.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.id = "64"
+	t.name = "implib_armv5_smp"
+	t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf -c " \
+			+ "armv5.smp LIBRARY"
+	# ABIv1 .lib files are not generated on Linux
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib{000a0000}.dso"
+		]
+	t.run()
+	
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_armv5_what.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,32 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest
+
+def run():
+	t = CheckWhatSmokeTest()
+	t.id = "15"
+	t.name = "implib_armv5_what"
+	t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf -c " + \
+			"armv5 --what LIBRARY"
+	t.stdout = [
+		'$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib.dso',
+		'$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib{000a0000}.dso'
+	]
+	t.run()
+	
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_armv5_with_armv5_smp.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "65"
+	t.name = "implib_armv5_with_armv5_smp"
+	t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf -c " \
+			+ "armv5 -c armv5.smp LIBRARY"
+	# ABIv1 .lib files are not generated on Linux
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib{000a0000}.dso"
+		]
+	t.run()
+	
+	t.print_result()	
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_nodef.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	
+	t.id = "71a"
+	t.name = "implib_implicit_def"
+	t.command = "sbs -b smoke_suite/test_resources/simple_implib/nodef/group/bld.inf" \
+			+ " -p implib_implicit_def.mmp"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/implib_implicit_def.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/implib_implicit_def{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/implib_implicit_def.lib"
+		]
+	t.run()
+
+	t.id = "71b"
+	t.name = "implib_no_def"
+	t.command = "sbs -b smoke_suite/test_resources/simple_implib/nodef/group/bld.inf" \
+			+ " -p implib_no_def.mmp"
+	t.targets = []
+	t.mustmatch = [
+		"No DEF File for IMPLIB target type in"	
+		]
+	t.errors = 2 # 1 for winscw and 1 for armv5
+	t.returncode = 1
+	t.run()
+
+	t.id = "71"
+	t.name = "implib_nodef"
+	t.print_result()
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_whatlog.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest
+import re, os
+
+def run():
+	t = CheckWhatSmokeTest()
+	t.id = "67"
+	t.name = "implib_whatlog"
+	t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf -f -" \
+			" -m ${SBSMAKEFILE} -c armv5.whatlog -c winscw.whatlog LIBRARY"
+	componentpath = re.sub(r'\\','/',os.path.abspath("smoke_suite/test_resources/simple_implib"))
+	t.regexlinefilter = re.compile("^<(whatlog|build>)")
+	t.hostossensitive = False
+	t.usebash = True
+	# ABIv1 .lib files are not generated on Linux
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/simple_implib.lib"
+		]
+	t.stdout = [
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='"+componentpath+"/simple_implib.mmp' config='winscw_udeb.whatlog'>",
+		"<build>$(EPOCROOT)/epoc32/release/winscw/udeb/simple_implib.lib</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='"+componentpath+"/simple_implib.mmp' config='winscw_urel.whatlog'>",
+		"<build>$(EPOCROOT)/epoc32/release/winscw/udeb/simple_implib.lib</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='"+componentpath+"/simple_implib.mmp' config='armv5_udeb.whatlog'>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib.dso</build>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib{000a0000}.dso</build>",
+		"<whatlog bldinf='"+componentpath+"/bld.inf' mmp='"+componentpath+"/simple_implib.mmp' config='armv5_urel.whatlog'>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib.dso</build>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/lib/simple_implib{000a0000}.dso</build>"
+	]
+	t.run()
+	
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_winscw.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "36"
+	t.name = "implib_winscw"
+	t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf -c " \
+			+ "winscw LIBRARY"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/simple_implib.lib"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_implib/bld.inf', [
+		["simple_implib/simple_implib_lib/winscw/udeb/simple_implib.prep.def",
+		"simple_implib/simple_implib_lib/winscw/urel/simple_implib.prep.def"]
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_winscw_what.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest
+
+def run():
+	t = CheckWhatSmokeTest()
+	t.id = "37"
+	t.name = "implib_winscw_what"
+	t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf -c " \
+			+ "winscw --what LIBRARY"
+	t.stdout = [
+		'$(EPOCROOT)/epoc32/release/winscw/udeb/simple_implib.lib'
+	]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/input_validation.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,58 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.description = "Set of tests for commandline option validation e.g. checking that the specified make engine exists"
+	
+	
+	t.usebash = True
+	t.errors = 1
+	t.returncode = 1
+	t.exceptions = 0
+	base_command = "sbs -b smoke_suite/test_resources/simple/bld.inf -f ${SBSLOGFILE} -m ${SBSMAKEFILE}"
+	
+	t.id = "42562a"
+	t.name = "validate_makeengine_nonexist"
+	t.command = base_command + " -e amakeenginethatdoesnotexist"
+	t.mustmatch = ["Unable to use make engine: 'amakeenginethatdoesnotexist' does not appear to be a make engine - no settings found for it"]
+
+	t.run()
+
+	t.id = "43562b"
+	t.mustmatch = ["Unable to use make engine: 'arm' is not a build engine \(it's a variant but it does not extend 'make_engine'"]
+	t.name = "validate_makeengine_is_a_non_makengine_variant"
+	t.command = base_command + " -e arm"
+	t.run()
+
+	# aliases can be of the form name='blah' meaning='x.y.z'  i.e. where the alias is for a sequence of variants
+	# this tests that we detect that at least one of these variants has make_engine as a parent
+	# it is possible for one of them not to and we mustn't bomb-out just because of that
+	t.id = "43562c"
+	t.mustmatch = []
+	t.name = "validate_real_dfs_modded_makeengine_alias"
+	t.command = "export HOME=$SBS_HOME/test/custom_options/dfsconfig;  " + base_command + " -e dfstestmake -c arm.v5.urel.gcce4_4_1"
+	t.errors = 0
+	t.warnings = 0
+	t.returncode = 0
+	t.run()
+	
+	t.id = "43562"
+	t.name = "input_validation"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/kdll_armv5.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "0096"
+	t.name = "kdll_armv5"
+	t.usebash = 1
+
+	t.command = "sbs -b smoke_suite/test_resources/simple_kdll/bld.inf -c armv5_urel -f-"
+
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_kdll.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_kdll.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_kdll.dll.sym"
+		]
+
+	t.mustmatch = [
+		r".*\bksrt\d_\d\.lib\b.*",
+		r".*\bekll\.lib\b.*"
+		]
+
+	t.mustnotmatch = [
+		r".*usrt.*",
+		r".*scppnwdl.*"
+		]
+
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/keepgoing.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,106 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.description = """Raptor should keep going and build as much as possible with the -k option specified."""
+	
+	command = "sbs -b smoke_suite/test_resources/simple/bld.inf -k"
+	config = " --configpath=test/smoke_suite/test_resources/keepgoing"
+	targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.sym"
+		]	
+	buildtargets = [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o",
+		"test_/armv5/udeb/test.o.d",
+		"test_/armv5/udeb/test3.o.d",
+		"test_/armv5/udeb/test4.o.d",
+		"test_/armv5/udeb/test5.o.d",
+		"test_/armv5/udeb/test1.o.d",
+		"test_/armv5/udeb/test6.o.d",
+		"test_/armv5/udeb/test2.o.d",
+		"test_/armv5/udeb/test3.o",
+		"test_/armv5/udeb/test4.o",
+		"test_/armv5/udeb/test5.o",
+		"test_/armv5/udeb/test1.o",
+		"test_/armv5/udeb/test6.o",
+		"test_/armv5/udeb/test2.o",
+		"test_/armv5/urel/test.o.d",
+		"test_/armv5/urel/test3.o.d",
+		"test_/armv5/urel/test4.o.d",
+		"test_/armv5/urel/test5.o.d",
+		"test_/armv5/urel/test1.o.d",
+		"test_/armv5/urel/test6.o.d",
+		"test_/armv5/urel/test2.o.d",
+		"test_/armv5/urel/test3.o",
+		"test_/armv5/urel/test4.o",
+		"test_/armv5/urel/test5.o",
+		"test_/armv5/urel/test1.o",
+		"test_/armv5/urel/test6.o",
+		"test_/armv5/urel/test2.o",
+		"test_/armv5/udeb/test_udeb_objects.via",
+		"test_/armv5/urel/test_urel_objects.via"
+		]
+	
+	# using a non-existent config with -c should build any independent configs
+	t.id = "115a"
+	t.name = "keepgoing_bad_config"
+	t.command = command + " -c armv5 -c armv5.bogus"
+	t.targets = targets
+	t.addbuildtargets("smoke_suite/test_resources/simple/bld.inf", buildtargets)
+	t.mustmatch = ["sbs: error: Unknown build variant 'bogus'"]
+	t.warnings = 0
+	t.errors = 1
+	t.returncode = 1
+	t.run()
+	
+	# using groups with bad sub-groups should build any independent groups
+	t.id = "115b"
+	t.name = "keepgoing_bad_subgroup"
+	t.command = command + config + " -c lots_of_products"
+	t.mustmatch = ["Unknown reference 'qwertyuio'",
+	               "Unknown reference 'asdfghjkl'",
+	               "Unknown reference 'zxcvbnm_p'"]
+	t.warnings = 0
+	t.errors = 3
+	t.returncode = 1
+	t.run()
+	
+	# using groups with bad sub-sub-groups should build any independent groups
+	t.id = "115c"
+	t.name = "keepgoing_bad_subsubgroup"
+	t.command = command + config + " -c lots_of_products_2"
+	t.mustmatch = ["Unknown reference 'qwertyuio'",
+	               "Unknown reference 'asdfghjkl'",
+	               "Unknown reference 'zxcvbnm_p'"]
+	t.warnings = 0
+	t.errors = 3
+	t.returncode = 1
+	t.run()
+	
+	# summarise	
+	t.id = "115"
+	t.name = "keepgoing"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/lib_armv5_armv7.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,107 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+from raptor_tests import ReplaceEnvs
+import os
+
+def run():
+	# Generate source files for simple_lib tests
+	dir = ReplaceEnvs("$(SBS_HOME)/test/smoke_suite/test_resources/simple_lib")
+	zs = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
+	for i in range(1, 100):
+		file = open(os.path.join(dir, zs + "_" + str(i) + ".cpp"), "w")
+		file.write("int f(void) { return 1; }\n")
+		file.close()
+
+	# Convenience method to list generated source build output
+	def __generatedFiles(aConfig):
+		udeb = "etest_lib/%s/udeb/" % aConfig
+		urel = "etest_lib/%s/urel/" % aConfig
+	
+		generated = []
+		for i in range(1, 100):
+			generated.append(udeb + zs + "_" + str(i) + ".o")
+			generated.append(udeb + zs + "_" + str(i) + ".o.d")
+			generated.append(urel + zs + "_" + str(i) + ".o")
+			generated.append(urel + zs + "_" + str(i) + ".o.d")
+		return generated
+		
+	t = SmokeTest()
+	result = SmokeTest.PASS
+	
+	armv5targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/etest.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/etest.lib"
+		]
+	armv5buildtargets = [
+		"etest_lib/armv5/udeb/etest_udeb_objects.via",
+		"etest_lib/armv5/udeb/test_lib.o",
+		"etest_lib/armv5/urel/etest_urel_objects.via",
+		"etest_lib/armv5/urel/test_lib.o"
+		]
+	armv5buildtargets.extend(__generatedFiles("armv5"))
+		
+	t.id = "0013a"
+	t.name = "lib_armv5_rvct"
+	t.command = "sbs -b smoke_suite/test_resources/simple_lib/bld.inf -c armv5 LIBRARY"
+	t.targets = armv5targets
+	t.addbuildtargets('smoke_suite/test_resources/simple_lib/bld.inf', armv5buildtargets)
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+		
+	t.id = "0013b"
+	t.name = "lib_armv5_clean"
+	t.command = "sbs -b smoke_suite/test_resources/simple_lib/bld.inf -c armv5 clean"
+	t.targets = []
+	t.run()	
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	t.id = "0013c"
+	t.name = "lib_armv5_gcce"
+	t.command = "sbs -b smoke_suite/test_resources/simple_lib/bld.inf -c gcce_armv5 LIBRARY"
+	t.targets = armv5targets
+	t.addbuildtargets('smoke_suite/test_resources/simple_lib/bld.inf', armv5buildtargets)
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	t.name = "lib_armv7"
+	t.id = "0013d"
+	t.command = "sbs -b smoke_suite/test_resources/simple_lib/bld.inf -c armv7 LIBRARY"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv7/udeb/etest.lib",
+		"$(EPOCROOT)/epoc32/release/armv7/urel/etest.lib"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_lib/bld.inf', [
+		"etest_lib/armv7/udeb/etest_udeb_objects.via",
+		"etest_lib/armv7/udeb/test_lib.o",
+		"etest_lib/armv7/urel/etest_urel_objects.via",
+		"etest_lib/armv7/urel/test_lib.o"
+	])
+	t.addbuildtargets('smoke_suite/test_resources/simple_lib/bld.inf', __generatedFiles("armv7"))
+	
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+
+	t.id = "13"
+	t.name = "lib_armv5_armv7"
+	t.result = result
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/lib_versioned.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+import sys
+
+def run():
+	t = SmokeTest()
+	t.id = "58"
+	t.name = "lib_versioned"
+	t.command = "sbs -b smoke_suite/test_resources/versioned_lib/bld.inf" + \
+		    " -b smoke_suite/test_resources/versioned_lib/dllversioning.inf" + \
+		    " -c armv5 -c winscw "
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/testver.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/testver{00020000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/testver{00030000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/version.ed.lib.04.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/version.ed.lib{000a0000}.04.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/versioned.lib.03.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/versioned.lib{000a0000}.03.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/versionedlib.02.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/versionedlib01.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/versionedlib01{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/versionedlib{000a0000}.02.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/testver.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/testver.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/testver{00020000}.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/testver{00020000}.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testver.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testver.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testver{00020000}.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testver{00020000}.dll.sym",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/version.ed.lib.04.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/versioned.lib.03.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/versionedlib.02.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/versionedlib01.lib"
+		]
+	t.run()
+	
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/lib_winscw.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "35"
+	t.name = "lib_winscw"
+	t.command = "sbs -b smoke_suite/test_resources/simple_lib/bld.inf -c " + \
+			"winscw LIBRARY"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/etest.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/etest.lib"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_lib/bld.inf', [
+		"etest_lib/winscw/udeb/test_lib.o",
+		"etest_lib/winscw/urel/test_lib.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/listing.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "31"
+	t.name = "listing"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \
+			"-c winscw -k listing"
+	t.targets = [
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test.armv5.urel.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test.armv5.udeb.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test.WINSCW.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test1.armv5.urel.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test1.armv5.udeb.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test1.WINSCW.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test2.armv5.urel.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test2.armv5.udeb.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test2.WINSCW.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test3.armv5.urel.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test3.armv5.udeb.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test3.WINSCW.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test4.armv5.urel.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test4.armv5.udeb.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test4.WINSCW.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test5.armv5.urel.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test5.armv5.udeb.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test5.WINSCW.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test6.armv5.urel.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test6.armv5.udeb.test.exe.lst",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/simple/test6.WINSCW.lst"
+		]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/longfilenames.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,129 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+import os
+import re
+import sys
+
+def run():
+	# Content for files to be generated.
+	cpp = "longerfilenamethanyoumightnormallyexpecttobepresent"
+	path = "/test/smoke_suite/test_resources/longfilenames/"
+	targetinfo = """TARGET			longfilenames.exe
+TARGETTYPE		exe
+UID				0xE8000047
+LIBRARY			euser.lib
+SYSTEMINCLUDE	/epoc32/include
+"""
+	
+	# Some numbers for path and file operations
+	length_limit = 245 # Safety-margin of 10 chars for changing dir structures in Raptor
+	extLen = 8 # eg. _001.o.d
+	numLen = 43 # release directory length (c_0000000000000000/longfilenames_exe/winscw/urel/) (minus a few as a safety-margin)
+	pathmultiplier = 5	# expand cpp to the maximum length
+	mmpStart = 1
+	mmpStop = 270
+	cppStart = 1
+	cppStop = 270
+
+
+	# Find SBS_Home and its length as a string
+	sbsHome = os.environ["SBS_HOME"]
+	sbsLen = len(sbsHome)
+	
+	# Work out path lengths required
+	dirname = sbsHome + path
+	string = cpp * pathmultiplier
+	dirlen = len(dirname)
+	fileLen = length_limit - dirlen - numLen - extLen
+	if fileLen < 0:
+		print "Error: Your test path is too long for the longfilenames test to work"
+		sys.exit()
+	fileName = string[0:fileLen]
+
+	# Generate the mmp file using the mmp string
+	f = open(dirname + 'longfilenames.mmp', 'w')
+	f.writelines(targetinfo)
+	f.writelines("\nSOURCE		" + cpp + ".cpp\n")
+	while mmpStart <= mmpStop:
+		sourceinfo = "SOURCE		" + fileName + '_%03d' %mmpStart + ".cpp " + '\n'
+		f.writelines(sourceinfo)
+		mmpStart += 1
+	f.close()
+
+	# File generating utility
+	while cppStart <= cppStop:
+		t = str(cppStart)
+		filename = dirname + fileName + '_%03d' %cppStart + '.cpp'
+		content = 'int x' + t + ' = 1;'
+		f = open (filename, 'w')
+		f.write (content)
+		f.close()
+		cppStart += 1
+
+
+	t = SmokeTest()
+	t.id = "79"
+	t.name = "longfilenames"
+	t.command = "sbs -b smoke_suite/test_resources/longfilenames/bld.inf -c winscw"
+	t.description = """Ensure that winscw links with large amounts of object files with long names are buildable.
+		Note that the link in the build of this component should always be greater than 16500 chars, regardless
+		of environment - we know such calls are currently problematic on Windows with GNU Make and Cygwin's
+		Bash unless a linker response file is not used to hold the object files."""
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/winscw/urel/longfilenames.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/longfilenames.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/longfilenames/bld.inf', [
+		"longfilenames_exe/winscw/urel/longerfilenamethanyoumightnormallyexpecttobepresent.dep",
+		"longfilenames_exe/winscw/urel/longerfilenamethanyoumightnormallyexpecttobepresent.o",
+		"longfilenames_exe/winscw/urel/longerfilenamethanyoumightnormallyexpecttobepresent.o.d",
+		"longfilenames_exe/winscw/urel/longfilenames.UID.CPP",
+		"longfilenames_exe/winscw/urel/longfilenames_UID_.dep",
+		"longfilenames_exe/winscw/urel/longfilenames_UID_.o",
+		"longfilenames_exe/winscw/urel/longfilenames_UID_.o.d",
+		"longfilenames_exe/winscw/urel/longfilenames_urel_objects.lrf"]
+		)
+	
+	basefilename = "longfilenames_exe/winscw/urel/" + fileName + "_%03d.%s"
+	for i in range(1, 271):		
+		t.addbuildtargets('smoke_suite/test_resources/longfilenames/bld.inf', [
+			basefilename % (i, "dep"),
+			basefilename % (i, "o"),
+			basefilename % (i, "o.d")
+			]
+		)
+
+	t.run()
+		
+	# Remove all created files
+	
+	# Matches longerfilena......_nnn.cpp
+	cpp_regex = re.compile("^.+_\d{3}.cpp$", re.I)
+	for file in os.listdir(dirname):
+		if cpp_regex.match(file) is not None:
+			try:
+				os.remove(dirname + file)
+			except:
+				pass
+	
+	try:
+		os.remove(dirname + 'longfilenames.mmp')
+	except:
+		pass
+	
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/longpath.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,128 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+
+	#------------------------------------------------------------------------------
+	# Content for files to be generated.
+	#------------------------------------------------------------------------------
+	cpp = "longerfilenamethanyoumightnormallyexpecttobepresent"
+	path = "/test/smoke_suite/test_resources/longerpathnamesthanyoumightnormallyexpectinabuildtree/anotherlevelwithareallyreallyreallylongnamethistimeprobablyabitoverthetop/"
+	path_eabi = "/test/smoke_suite/test_resources/longerpathnamesthanyoumightnormallyexpectinabuildtree/eabi/"
+	
+	#------------------------------------------------------------------------------
+	# Some numbers for path and file operations
+	#------------------------------------------------------------------------------
+	cppStart = 1
+	cppStop = 49
+	
+	import os
+	import shutil
+	import sys
+	
+	#------------------------------------------------------------------------------
+	# Find SBS_Home
+	#------------------------------------------------------------------------------
+	sbsHome = os.environ["SBS_HOME"]
+	
+	#------------------------------------------------------------------------------
+	# Create directories for both Linux and Windows
+	#------------------------------------------------------------------------------
+	d = os.path.dirname(sbsHome + path)
+	if not os.path.exists(d):
+		os.makedirs(d)
+		
+	d = os.path.dirname(sbsHome + path_eabi)
+	if not os.path.exists(d):
+		os.makedirs(d)
+
+	#------------------------------------------------------------------------------
+	# File generating utility
+	#------------------------------------------------------------------------------
+	while cppStart <= cppStop:
+			t = str(cppStart)
+			filename = sbsHome + path + 'test' + '%02d' %cppStart + '.cpp'
+			content = 'int x' + t + ' = 0;'
+			cppStart = cppStart + 1
+			f = open (filename, 'w')
+			f.write (content + '\n')
+			f.close()
+	cppStart = cppStart + 1
+
+	#------------------------------------------------------------------------------
+	# File copying utility
+	#------------------------------------------------------------------------------
+	dirname = sbsHome + '/test/smoke_suite/test_resources/long/paths/'
+	cpp = dirname + 'test.cpp'
+	bld = dirname + 'bld.inf'
+	deftest = dirname + 'deftest.mmp'
+	e32def = dirname + 'e32def.h'
+	
+	deftestu = dirname + 'deftestu.def'
+	
+	dst_cpp = sbsHome + path + 'test.cpp'
+	dst_bld = sbsHome + path + 'bld.inf'
+	dst_deftest = sbsHome + path + 'deftest.mmp'
+	dst_e32def = sbsHome + path + 'e32def.h'
+	dst_deftestu = sbsHome + path_eabi + 'deftestu.def'
+	
+		
+	if os.path.exists(dst_cpp):
+		pass
+	else:
+		shutil.copy(cpp, dst_cpp)
+		shutil.copy(bld, dst_bld)
+		shutil.copy(deftest, dst_deftest)
+		shutil.copy(e32def, dst_e32def)
+		shutil.copy(deftestu , dst_deftestu)
+		dirname = sbsHome + path
+		
+	t = SmokeTest()
+	t.id = "41"
+	t.name = "longpath"
+	t.command = "sbs -b " + \
+			"smoke_suite/test_resources/longerpathnamesthanyoumightnormallyexpectinabuildtree/anotherlevelwithareallyreallyreallylongnamethistimeprobablyabitoverthetop/bld.inf" + \
+			" -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/deftest.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/deftest.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/deftest{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/deftest.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/deftest.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/deftest.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/deftest.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/deftest.dll.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/longerpathnamesthanyoumightnormallyexpectinabuildtree/anotherlevelwithareallyreallyreallylongnamethistimeprobablyabitoverthetop/bld.inf', [
+		"deftest_/armv5/udeb/deftest_udeb_objects.via",
+		"deftest_/armv5/udeb/test.o",
+		"deftest_/armv5/udeb/test09.o",
+		"deftest_/armv5/udeb/test19.o",
+		"deftest_/armv5/udeb/test29.o",
+		"deftest_/armv5/udeb/test39.o",
+		"deftest_/armv5/udeb/test49.o",
+		"deftest_/armv5/urel/deftest_urel_objects.via",
+		"deftest_/armv5/urel/test.o",
+		"deftest_/armv5/urel/test09.o",
+		"deftest_/armv5/urel/test19.o",
+		"deftest_/armv5/urel/test29.o",
+		"deftest_/armv5/urel/test39.o",
+		"deftest_/armv5/urel/test49.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/make_engine_errors.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,54 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "113"
+	t.name = "make_engine_errors"
+	t.description = "Errors reported by gmake and emake should be escaped to ensure that the logs are valid XML"
+	
+	t.mustmatch_singleline = ["Circular b &lt;- a dependency",
+							  "non_existent_&amp;_needs_escaping.txt"]
+	
+	t.mustnotmatch_singleline = ["Circular b <- a dependency",
+							     "non_existent_&_needs_escaping.txt"]
+	
+	t.usebash = True
+	t.errors = 1
+	t.returncode = 1
+	base_command = "sbs --no-depend-generate -b smoke_suite/test_resources/make_engine_errors/bld.inf -f-"
+	
+	t.id = "113a"
+	t.name = "gmake_engine_errors"
+	t.command = base_command + " -e make"
+	t.run()
+
+	t.id = "113b"
+	t.name = "emake_engine_errors"
+	t.command = base_command + " -e emake"
+	t.run()
+	
+	t.id = "113c"
+	t.name = "emake_engine_errors_with_merged_streams"
+	t.command = base_command + " -e emake --mo=--emake-mergestreams=1"
+	t.run()
+		
+	t.id = "113"
+	t.name = "make_engine_errors"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/mmp_keywords.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,313 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.description = "This testcase tests all mmp keywords including new implementation of 'paged/unpaged code/data'"
+	t.usebash = True
+	
+	t.id = "75a"
+	t.name = "mmp_1"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp1/group/bld.inf -c armv5 -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/shutdownsrv.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/shutdownsrv.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/shutdownsrv.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/shutdownsrv.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/exportlibrary_shutdownsrv.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/exportlibrary_shutdownsrv{000a0000}.dso",
+	]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp1/group/bld.inf", [
+		"shutdownsrv_dll/armv5/udeb/shutdownsrv.o",
+		"shutdownsrv_dll/armv5/urel/shutdownsrv.o",
+		"shutdownsrv_dll/armv5/udeb/shutdownsrvpatchdata.o",
+		"shutdownsrv_dll/armv5/urel/shutdownsrvpatchdata.o",
+		"shutdownsrv_dll/armv5/udeb/shutdowntimer.o",
+		"shutdownsrv_dll/armv5/urel/shutdowntimer.o"
+		])
+	t.mustmatch = [
+		".*elf2e32.*(--defaultpaged|--codepaging=default.*--datapaging=default).*",
+		".*armlink.*--verbose.*"
+	]
+	t.run()
+
+	t.id = "75b"
+	t.name = "mmp_2"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp2/group/bld.inf -c armv5 -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/imageprocessorperf.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/imageprocessorperf.lib"		
+	]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp2/group/bld.inf", [
+		"imageprocessorperf_lib/armv5/udeb/ColorConverter.o",
+		"imageprocessorperf_lib/armv5/urel/ColorConverter.o",
+		"imageprocessorperf_lib/armv5/udeb/ImageProcessor.o",
+		"imageprocessorperf_lib/armv5/urel/ImageProcessor.o"
+		])
+	t.mustmatch = [
+		".*armcc.*-O0.*-g.*--cpu 6.*-Otime.*",
+		".*armcc.*-O3.*--cpu 6.*-Otime.*",
+		".*OPTION ARMASM has no effect.*",
+		".*OPTION_REPLACE ARMASM has no effect.*"
+	]
+	t.mustnotmatch = [
+		".*armcc.*--export_all_vtbl.*"
+	]
+	t.warnings = 2
+	t.run()
+	
+	t.id = "75c"
+	t.name = "mmp_3"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp3/bld.inf -c armv5 -c winscw -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/tbm.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/tbm.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/tbm.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/tbm.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oom.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oom.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oom.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oom.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dfpaeabi_vfpv2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dfpaeabi_vfpv2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dfpaeabi_vfpv2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dfpaeabi_vfpv2.dll.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_oom.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_oom.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/t_oom.exe"
+		]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp3/bld.inf", [
+		"tbm_exe/armv5/udeb/tbm.o",
+		"tbm_exe/armv5/urel/tbm.o",
+		"t_oom_exe/armv5/udeb/t_oom.o",
+		"t_oom_exe/armv5/urel/t_oom.o",
+		"dfpaeabi_vfpv2_dll/armv5/udeb/dfpaeabi.o",
+		"dfpaeabi_vfpv2_dll/armv5/urel/dfpaeabi.o",
+		"t_oom_exe/winscw/udeb/t_oom.o",
+		"t_oom_exe/winscw/udeb/t_oom_UID_.o",
+		"t_oom_exe/winscw/urel/t_oom.o",
+		"t_oom_exe/winscw/urel/t_oom_UID_.o"
+		])
+	t.mustmatch = [
+		".*armlink.*udeb/eexe.lib.*-o.*armv5/udeb/t_oom.exe.sym.*euser.dso.*efsrv.dso.*estor.dso.*euser.dso.*",
+		".*armlink.*urel/eexe.lib.*-o.*armv5/urel/t_oom.exe.sym.*euser.dso.*efsrv.dso.*euser.dso.*",
+		".*mwldsym2.*udeb/eexe.lib.*euser.lib.*efsrv.lib.*estor.lib.*euser.lib.*-o.*winscw/udeb/t_oom.exe.*",
+		".*mwldsym2.*urel/eexe.lib.*euser.lib.*efsrv.lib.*euser.lib.*-o.*winscw/urel/t_oom.exe.*"
+		]
+	t.mustnotmatch = []
+	t.warnings = 0
+	t.run()
+	
+	t.id = "75d"
+	t.name = "mmp_4"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp4/group/bld.inf -c winscw"
+	t.targets = [			
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/d_newldd.ldd",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/d_newldd.ldd",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/d_lddturnaroundtimertest.ldd",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/d_lddturnaroundtimertest.ldd",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/d_lddturnaroundtimertest.ldd.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/t_sharedio3.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_sharedio3.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_sharedio3.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/t_rbuf.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_rbuf.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_rbuf.exe.map"
+		]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp4/group/bld.inf", [
+		"d_newldd_ldd/winscw/udeb/d_newldd.o",
+		"d_newldd_ldd/winscw/udeb/d_newldd.UID.CPP",
+		"d_newldd_ldd/winscw/udeb/d_newldd_UID_.o",
+		"d_newldd_ldd/winscw/urel/d_newldd.o",
+		"d_newldd_ldd/winscw/urel/d_newldd.UID.CPP",
+		"d_newldd_ldd/winscw/urel/d_newldd_UID_.o",
+		"d_newldd_ldd/winscw/udeb/t_new_classes.o",
+		"d_newldd_ldd/winscw/urel/t_new_classes.o",
+		"d_lddturnaroundtimertest_ldd/winscw/udeb/d_lddturnaroundtimertest.o",
+		"d_lddturnaroundtimertest_ldd/winscw/udeb/d_lddturnaroundtimertest.UID.CPP",
+		"d_lddturnaroundtimertest_ldd/winscw/udeb/d_lddturnaroundtimertest_UID_.o",
+		"d_lddturnaroundtimertest_ldd/winscw/urel/d_lddturnaroundtimertest.o",
+		"d_lddturnaroundtimertest_ldd/winscw/urel/d_lddturnaroundtimertest.UID.CPP",
+		"d_lddturnaroundtimertest_ldd/winscw/urel/d_lddturnaroundtimertest_UID_.o",
+		"t_sharedio3_exe/winscw/udeb/t_sharedio.o",
+		"t_sharedio3_exe/winscw/udeb/t_sharedio3.UID.CPP",
+		"t_sharedio3_exe/winscw/udeb/t_sharedio3_UID_.o",
+		"t_sharedio3_exe/winscw/urel/t_sharedio.o",
+		"t_sharedio3_exe/winscw/urel/t_sharedio3.UID.CPP",
+		"t_sharedio3_exe/winscw/urel/t_sharedio3_UID_.o",
+		"t_rbuf_exe/winscw/udeb/t_rbuf.o",
+		"t_rbuf_exe/winscw/udeb/t_rbuf.UID.CPP",
+		"t_rbuf_exe/winscw/udeb/t_rbuf_UID_.o",
+		"t_rbuf_exe/winscw/urel/t_rbuf.o",
+		"t_rbuf_exe/winscw/urel/t_rbuf.UID.CPP",
+		"t_rbuf_exe/winscw/urel/t_rbuf_UID_.o"
+		])
+	t.mustmatch = []
+	t.run()
+	
+	# Test keywords: version, firstlib, nocompresstarget
+	t.id = "75e"
+	t.name = "mmp_5"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp5/bld.inf -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/fuzzv5.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/fuzzv5.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/fuzzlib.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/fuzzlib.lib"
+		]
+	t.addbuildtargets("smoke_suite/test_resources/mmp/mmp5/bld.inf", [
+		"fuzzv5_exe/armv5/udeb/fuzzv5.o",
+		"fuzzv5_exe/armv5/urel/fuzzv5.o",
+		"fuzzlib_lib/armv5/udeb/uc_exe_.cpp",
+		"fuzzlib_lib/armv5/urel/uc_exe_.cpp",
+		"fuzzlib_lib/armv5/udeb/uc_exe_.o",
+		"fuzzlib_lib/armv5/urel/uc_exe_.o",
+		])
+	t.run()
+
+	t.id = "75f"
+	t.name = "mmp_6"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp6_7/bld.inf -c armv5 -k -p diagsuppress.mmp -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/diagsuppress_test.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/diagsuppress_test.dll",
+		]
+	t.mustmatch = [
+					"--diag_suppress 6780",
+					"--diag_suppress 6331"
+					]
+	t.run()
+	
+	t.id = "75g"
+	t.name = "mmp_7"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp6_7/bld.inf -c armv5 -k -p diagsuppress_noarmlibs.mmp -f-"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/diagsuppress_noarmlibs_test.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/diagsuppress_noarmlibs_test.dll"
+		]
+	t.mustmatch = ["--diag_suppress 6331"]
+	t.mustnotmatch = ["--diag_suppress 6780"]
+	t.run()
+
+	# Test keyword: version
+	t.id = "75h"
+	t.name = "mmp_8"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/mmp8/bld.inf"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_mmp_version.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_mmp_version.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test_mmp_version.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test_mmp_version.exe"
+		]
+	t.mustmatch = []
+	t.mustnotmatch = []
+	t.warnings = 2
+	t.run()
+
+	# Test keyword: armfpu softvfp|vfpv2
+	# Both armv5 RVCT (9a+b) and GCCE (10) builds, as they differ in behaviour.
+	t.id = "75i"
+	t.name = "mmp_9a"
+	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -p armfpu_soft.mmp -c armv5_urel -f-"			
+	t.targets = []
+	t.mustmatch = ["--fpu softvfp", "--fpu=softvfp"]
+	t.mustnotmatch = ["--fpu vfpv2", "--fpu=vfpv2"]
+	t.warnings = 0
+	t.run()
+		
+	t.id = "75j"
+	t.name = "mmp_9b"
+	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -c armv5_urel REALLYCLEAN &&" \
+			+ " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -p armfpu_vfpv2.mmp -c armv5_urel -f-"
+
+	t.mustmatch = ["--fpu vfpv2", "--fpu=vfpv2"]
+	t.mustnotmatch = ["--fpu softvfp", "--fpu=softvfp"]	
+	t.run()
+	
+	t.id = "75k"
+	t.name = "mmp_10"
+	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf  -c armv5_urel_gcce4_3_2 REALLYCLEAN &&" \
+			+ " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -c armv5_urel_gcce4_3_2 -f-"
+	t.countmatch = [
+		["-mfloat-abi=soft", 2],
+		["--fpu=softvfp", 2]
+	]
+	t.mustmatch = []
+	t.mustnotmatch = ["--fpu=vfpv2"]
+	t.run()
+	
+	# Test keywords: compresstarget, nocompresstarget, bytepaircompresstarget, inflatecompresstarget
+	t.id = "75l"
+	t.name = "mmp_11"
+	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp11/bld.inf -c armv5_urel -f-"
+	t.mustmatch_singleline = [
+		"elf2e32.*--output.*\/compress\.exe.*--compressionmethod=inflate",
+		"elf2e32.*--output.*\/nocompress\.exe.*--uncompressed",
+		"elf2e32.*--output.*\/bytepaircompress\.exe.*--compressionmethod=bytepair",
+		"elf2e32.*--output.*\/inflatecompress\.exe.*--compressionmethod=inflate",
+		"elf2e32.*--output.*\/combinedcompress\.exe.*--compressionmethod=bytepair",		
+		"COMPRESSTARGET keyword in .*combinedcompresstarget.mmp overrides earlier use of NOCOMPRESSTARGET",
+		"INFLATECOMPRESSTARGET keyword in .*combinedcompresstarget.mmp overrides earlier use of COMPRESSTARGET",
+		"BYTEPAIRCOMPRESSTARGET keyword in .*combinedcompresstarget.mmp overrides earlier use of INFLATECOMPRESSTARGET"
+	]
+	t.countmatch = []
+	t.mustnotmatch = []
+	t.warnings = 3
+	t.run()
+
+	# Test keyword: APPLY
+	t.id = "75m"
+	t.name = "apply"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/apply/bld.inf -f- -k --configpath=test/config"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_mmp_apply.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_mmp_apply.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test_mmp_apply.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test_mmp_apply.exe"
+		]
+	t.mustmatch_singleline = ["-DAPPLYTESTEXPORTEDVAR",
+	                          "-DAPPLYTESTAPPENDCDEFS"]
+	t.countmatch = [["<error.*APPLY unknown variant 'no_such_var'", 2]]
+	t.errors = 2 # no_such_var for armv5 and winscw
+	t.warnings = 0
+	t.returncode = 1
+	t.run()
+
+	# Test keyword: EPOCNESTEDEXCEPTIONS
+	t.id = "75n"
+	t.name = "epocnestedexceptions"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf -c armv5 -f-"
+
+	# When EPOCNESTEDEXCEPTIONS is specified in the MMP file, a different static
+	# run-time library should be used.
+	t.mustmatch_singleline = ["usrt_nx_\d_\d\.lib"]
+	t.mustnotmatch = ["usrt._.."]
+
+	t.countmatch = []
+
+	# The new static run-time libraries don't yet exist.
+	t.errors = 1
+	t.warnings = 2
+	t.targets = []
+
+	t.run()
+
+	t.id = "75"
+	t.name = "mmp_keywords"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/mmp_select.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "44"
+	t.name = "mmp_select"
+	t.description = "Test -p option"
+	t.command = "sbs -b smoke_suite/test_resources/basics/helloworld/Bld.inf " \
+			+ "-p hElLoWoRlD.mMp"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/HelloWorld.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/HelloWorld.exe"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/basics/helloworld/Bld.inf', [
+		"helloworld_exe/armv5/udeb/HelloWorld.o",
+		"helloworld_exe/armv5/urel/HelloWorld.o",
+		"helloworld_exe/winscw/udeb/HelloWorld.o",
+		"helloworld_exe/winscw/urel/HelloWorld.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/named_extension.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():	
+	t = AntiTargetSmokeTest()
+	t.id = "43"
+	t.name = "named_extension"
+	t.description = "Test -p option with named extensions - should clean then" \
+			+ " create success.txt"
+	t.command = "sbs -b smoke_suite/test_resources/basics/helloworld/Bld.inf " \
+			+ "REALLYCLEAN && sbs -b " \
+			+ "smoke_suite/test_resources/basics/helloworld/Bld.inf -p run_this"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/success.txt"
+		]
+	t.antitargets = [
+		"$(EPOCROOT)/epoc32/failure.txt",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/HelloWorld.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/HelloWorld.exe"
+	]
+	t.addbuildantitargets("smoke_suite/test_resources/basics/helloworld/Bld.inf", [
+		"$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/armv5/udeb/HelloWorld.o",
+		"$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/armv5/urel/HelloWorld.o",
+		"$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/winscw/udeb/HelloWorld.o",
+		"$(EPOCROOT)/epoc32/build/basics/helloworld/helloworld_exe/winscw/urel/HelloWorld.o"
+		])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/nobuild.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,72 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.id = "76"
+	t.name = "nobuild"
+
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf CLEAN " + \
+			"&& sbs -b smoke_suite/test_resources/simple/bld.inf -n -m ${SBSMAKEFILE} -f ${SBSLOGFILE} " + \
+			"&& grep -i 'No build performed' ${SBSLOGFILE}"
+	
+	t.targets = []
+	t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [])
+	t.antitargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe"
+	]
+	t.addbuildantitargets('smoke_suite/test_resources/simple/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o",
+		"test_/armv5/udeb/test3.o",
+		"test_/armv5/udeb/test4.o",
+		"test_/armv5/udeb/test5.o",
+		"test_/armv5/udeb/test1.o",
+		"test_/armv5/udeb/test6.o",
+		"test_/armv5/udeb/test2.o",
+		"test_/armv5/urel/test3.o",
+		"test_/armv5/urel/test4.o",
+		"test_/armv5/urel/test5.o",
+		"test_/armv5/urel/test1.o",
+		"test_/armv5/urel/test6.o",
+		"test_/armv5/urel/test2.o",
+		"test_/winscw/udeb/test.o",
+		"test_/winscw/urel/test.o",
+		"test_/winscw/udeb/test3.o",
+		"test_/winscw/udeb/test4.o",
+		"test_/winscw/udeb/test5.o",
+		"test_/winscw/udeb/test1.o",
+		"test_/winscw/udeb/test6.o",
+		"test_/winscw/udeb/test2.o",
+		"test_/winscw/urel/test3.o",
+		"test_/winscw/urel/test4.o",
+		"test_/winscw/urel/test5.o",
+		"test_/winscw/urel/test1.o",
+		"test_/winscw/urel/test6.o",
+		"test_/winscw/urel/test2.o"
+		])
+	t.mustmatch = [
+		".*No build performed.*"
+	]
+
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/non_ascii.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,56 @@
+# -*- coding: iso-8859-1 -*- This line *must* be on the first line of the file!
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+
+from raptor_tests import SmokeTest
+
+def run():
+
+	t = SmokeTest()
+
+	# Should have returncode of 1 and output 1 error, but not cause a traceback
+	t.returncode = 1
+	t.errors = 1
+	t.mustmatch = ["sbs: error: Non-ASCII character in argument or command file"]
+
+	result = SmokeTest.PASS
+
+	t.id = "0091a"
+	t.name = "non_ascii_argument"
+
+	# The dash in "-c" is an en dash, not a normal ASCII dash.
+	t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf –c armv5"
+
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	t.id = "0091b"
+	t.name = "non_ascii_commandfile"
+
+	t.command = "sbs --command=smoke_suite/test_resources/non_ascii/cmd.txt"
+
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	t.id = "91"
+	t.name = "non_ascii"
+	t.result = result
+	t.print_result()
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/openenvironment.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,242 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest, getsymbianversion
+
+def run():
+	t = SmokeTest()
+	t.id = "39"
+	t.name = "openenvironment"
+	t.description = """Test STDEXE, STDLIB and STDDLL creation; Test open environment project linking against a symbian environment
+		library; Test symbian environment project linking against an open environment library"""
+	t.usebash = True
+	t.command = "sbs -k -b smoke_suite/test_resources/oe/group/bld.inf -c armv5 -c winscw " + \
+		"-m ${SBSMAKEFILE} -f ${SBSLOGFILE}; grep -E \"(armlink|checklib|mwldsym2)\" ${SBSLOGFILE}"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oedll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/symbian_test.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oeexe.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oelib.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oeexe.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oeexe.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oedll.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oedll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/symbian_test.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oeexe.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oelib.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oeexe.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oeexe.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/t_oedll.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/t_oedll.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/t_oedll{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/symbian_test.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_oedll.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_oeexe.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_oelib.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_oeexe.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/t_oedll.dll.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/symbian_test.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/t_oedll.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/t_oedll.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/t_oelib.lib"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/oe/group/bld.inf', [
+		"t_oedll_dll/armv5/urel/t_oedll{000a0000}.dso",
+		"t_oedll_dll/armv5/urel/t_oedll_urel_objects.via",
+		"t_oedll_dll/armv5/urel/t_oedll.o",
+		"t_oedll_dll/armv5/urel/t_oedll.o.d",
+                # either prep file can exist - luck determines which
+                 ['t_oedll_dll/armv5/urel/t_oedll.prep',
+                  't_oedll_dll/armv5/udeb/t_oedll.prep'],
+		"t_oedll_dll/armv5/urel/t_oedll{000a0000}.def",
+		"t_oedll_dll/armv5/udeb/t_oedll{000a0000}.dso",
+		"t_oedll_dll/armv5/udeb/t_oedll_udeb_objects.via",
+		"t_oedll_dll/armv5/udeb/t_oedll.o",
+		"t_oedll_dll/armv5/udeb/t_oedll.o.d",
+		"t_oedll_dll/armv5/udeb/t_oedll{000a0000}.def",
+		"symbian_test_lib/armv5/urel/symbian_test_urel_objects.via",
+		"symbian_test_lib/armv5/urel/symbian_lib.o.d",
+		"symbian_test_lib/armv5/urel/symbian_lib.o",
+		"symbian_test_lib/armv5/udeb/symbian_test_udeb_objects.via",
+		"symbian_test_lib/armv5/udeb/symbian_lib.o.d",
+		"symbian_test_lib/armv5/udeb/symbian_lib.o",
+		"wrong_newlib_test_oeexe_exe/armv5/urel/wrong_newlib_test_oeexe_urel_objects.via",
+		"wrong_newlib_test_oeexe_exe/armv5/urel/t_oeexe.o",
+		"wrong_newlib_test_oeexe_exe/armv5/urel/t_oeexe.o.d",
+		"wrong_newlib_test_oeexe_exe/armv5/udeb/t_oeexe.o",
+		"wrong_newlib_test_oeexe_exe/armv5/udeb/wrong_newlib_test_oeexe_udeb_objects.via",
+		"wrong_newlib_test_oeexe_exe/armv5/udeb/t_oeexe.o.d",
+		"wrong_newlib_seexe_exe/armv5/urel/wrong_newlib_seexe_urel_objects.via",
+		"wrong_newlib_seexe_exe/armv5/urel/wrong_newlib_symbian.o",
+		"wrong_newlib_seexe_exe/armv5/urel/wrong_newlib_symbian.o.d",
+		"wrong_newlib_seexe_exe/armv5/udeb/wrong_newlib_seexe_udeb_objects.via",
+		"wrong_newlib_seexe_exe/armv5/udeb/wrong_newlib_symbian.o",
+		"wrong_newlib_seexe_exe/armv5/udeb/wrong_newlib_symbian.o.d",
+		"t_oeexe_exe/armv5/urel/t_oeexe_urel_objects.via",
+		"t_oeexe_exe/armv5/urel/t_oeexe.o",
+		"t_oeexe_exe/armv5/urel/t_oeexe.o.d",
+		"t_oeexe_exe/armv5/udeb/t_oeexe.o",
+		"t_oeexe_exe/armv5/udeb/t_oeexe.o.d",
+		"t_oeexe_exe/armv5/udeb/t_oeexe_udeb_objects.via",
+		"t_oelib_lib/armv5/urel/t_oelib_urel_objects.via",
+		"t_oelib_lib/armv5/urel/t_oelib.o",
+		"t_oelib_lib/armv5/urel/t_oelib.o.d",
+		"t_oelib_lib/armv5/udeb/t_oelib.o",
+		"t_oelib_lib/armv5/udeb/t_oelib_udeb_objects.via",
+		"t_oelib_lib/armv5/udeb/t_oelib.o.d",
+		"t_oedll_dll/winscw/urel/t_oedll.dep",
+		"t_oedll_dll/winscw/urel/t_oedll.lib",
+		"t_oedll_dll/winscw/urel/t_oedll_SYM_.cpp",
+		"t_oedll_dll/winscw/urel/t_oedll.dll",
+		"t_oedll_dll/winscw/urel/t_oedll_UID_.o",
+		"t_oedll_dll/winscw/urel/t_oedll_SYM_.o",
+		"t_oedll_dll/winscw/urel/t_oedll.o",
+		"t_oedll_dll/winscw/urel/t_oedll_UID_.o.d",
+		"t_oedll_dll/winscw/urel/t_oedll.o.d",
+		"t_oedll_dll/winscw/urel/t_oedll_UID_.dep",
+		"t_oedll_dll/winscw/urel/t_oedll.sym",
+		"t_oedll_dll/winscw/urel/t_oedll.UID.CPP",
+		"t_oedll_dll/winscw/urel/t_oedll_SYM_.o.d",
+		"t_oedll_dll/winscw/urel/t_oedll_SYM_.dep",
+                # The prep.def file can be in urel or udeb
+                ['t_oedll_dll/winscw/urel/t_oedll.prep.def',
+                 't_oedll_dll/winscw/udeb/t_oedll.prep.def'],
+		"t_oedll_dll/winscw/urel/t_oedll.def",
+		"t_oedll_dll/winscw/urel/t_oedll.inf",
+		"t_oedll_dll/winscw/udeb/t_oedll.dep",
+		"t_oedll_dll/winscw/udeb/t_oedll.lib",
+		"t_oedll_dll/winscw/udeb/t_oedll_SYM_.cpp",
+		"t_oedll_dll/winscw/udeb/t_oedll.dll",
+		"t_oedll_dll/winscw/udeb/t_oedll_UID_.o",
+		"t_oedll_dll/winscw/udeb/t_oedll_SYM_.o",
+		"t_oedll_dll/winscw/udeb/t_oedll.o",
+		"t_oedll_dll/winscw/udeb/t_oedll_UID_.o.d",
+		"t_oedll_dll/winscw/udeb/t_oedll.o.d",
+		"t_oedll_dll/winscw/udeb/t_oedll_UID_.dep",
+		"t_oedll_dll/winscw/udeb/t_oedll.sym",
+		"t_oedll_dll/winscw/udeb/t_oedll.UID.CPP",
+		"t_oedll_dll/winscw/udeb/t_oedll_SYM_.o.d",
+		"t_oedll_dll/winscw/udeb/t_oedll_SYM_.dep",
+		"t_oedll_dll/winscw/udeb/t_oedll.def",
+		"t_oedll_dll/winscw/udeb/t_oedll.inf",
+		"symbian_test_lib/winscw/urel/symbian_lib.dep",
+		"symbian_test_lib/winscw/urel/symbian_lib.o.d",
+		"symbian_test_lib/winscw/urel/symbian_lib.o",
+		"symbian_test_lib/winscw/udeb/symbian_lib.dep",
+		"symbian_test_lib/winscw/udeb/symbian_lib.o.d",
+		"symbian_test_lib/winscw/udeb/symbian_lib.o",
+		"wrong_newlib_test_oeexe_exe/winscw/urel/wrong_newlib_test_oeexe_UID_.dep",
+		"wrong_newlib_test_oeexe_exe/winscw/urel/wrong_newlib_test_oeexe_UID_.o.d",
+		"wrong_newlib_test_oeexe_exe/winscw/urel/t_oeexe_wins.dep",
+		"wrong_newlib_test_oeexe_exe/winscw/urel/t_oeexe_wins.o",
+		"wrong_newlib_test_oeexe_exe/winscw/urel/wrong_newlib_test_oeexe.UID.CPP",
+		"wrong_newlib_test_oeexe_exe/winscw/urel/wrong_newlib_test_oeexe_UID_.o",
+		"wrong_newlib_test_oeexe_exe/winscw/urel/t_oeexe_wins.o.d",
+		"wrong_newlib_test_oeexe_exe/winscw/udeb/wrong_newlib_test_oeexe_UID_.dep",
+		"wrong_newlib_test_oeexe_exe/winscw/udeb/wrong_newlib_test_oeexe_UID_.o.d",
+		"wrong_newlib_test_oeexe_exe/winscw/udeb/t_oeexe_wins.dep",
+		"wrong_newlib_test_oeexe_exe/winscw/udeb/t_oeexe_wins.o",
+		"wrong_newlib_test_oeexe_exe/winscw/udeb/wrong_newlib_test_oeexe.UID.CPP",
+		"wrong_newlib_test_oeexe_exe/winscw/udeb/wrong_newlib_test_oeexe_UID_.o",
+		"wrong_newlib_test_oeexe_exe/winscw/udeb/t_oeexe_wins.o.d",
+		"wrong_newlib_seexe_exe/winscw/urel/wrong_newlib_seexe_UID_.dep",
+		"wrong_newlib_seexe_exe/winscw/urel/wrong_newlib_seexe_UID_.o",
+		"wrong_newlib_seexe_exe/winscw/urel/wrong_newlib_symbian.dep",
+		"wrong_newlib_seexe_exe/winscw/urel/wrong_newlib_symbian.o",
+		"wrong_newlib_seexe_exe/winscw/urel/wrong_newlib_symbian.o.d",
+		"wrong_newlib_seexe_exe/winscw/urel/wrong_newlib_seexe.UID.CPP",
+		"wrong_newlib_seexe_exe/winscw/urel/wrong_newlib_seexe_UID_.o.d",
+		"wrong_newlib_seexe_exe/winscw/udeb/wrong_newlib_seexe_UID_.dep",
+		"wrong_newlib_seexe_exe/winscw/udeb/wrong_newlib_seexe_UID_.o",
+		"wrong_newlib_seexe_exe/winscw/udeb/wrong_newlib_symbian.dep",
+		"wrong_newlib_seexe_exe/winscw/udeb/wrong_newlib_symbian.o",
+		"wrong_newlib_seexe_exe/winscw/udeb/wrong_newlib_symbian.o.d",
+		"wrong_newlib_seexe_exe/winscw/udeb/wrong_newlib_seexe.UID.CPP",
+		"wrong_newlib_seexe_exe/winscw/udeb/wrong_newlib_seexe_UID_.o.d",
+		"t_oeexe_exe/winscw/urel/t_oeexe_UID_.o",
+		"t_oeexe_exe/winscw/urel/t_oeexe_UID_.dep",
+		"t_oeexe_exe/winscw/urel/t_oeexe_wins.dep",
+		"t_oeexe_exe/winscw/urel/t_oeexe_wins.o",
+		"t_oeexe_exe/winscw/urel/t_oeexe_UID_.o.d",
+		"t_oeexe_exe/winscw/urel/t_oeexe.UID.CPP",
+		"t_oeexe_exe/winscw/urel/t_oeexe_wins.o.d",
+		"t_oeexe_exe/winscw/udeb/t_oeexe_UID_.o",
+		"t_oeexe_exe/winscw/udeb/t_oeexe_UID_.dep",
+		"t_oeexe_exe/winscw/udeb/t_oeexe_wins.dep",
+		"t_oeexe_exe/winscw/udeb/t_oeexe_wins.o",
+		"t_oeexe_exe/winscw/udeb/t_oeexe_UID_.o.d",
+		"t_oeexe_exe/winscw/udeb/t_oeexe.UID.CPP",
+		"t_oeexe_exe/winscw/udeb/t_oeexe_wins.o.d",
+		"t_oelib_lib/winscw/urel/t_oelib.o",
+		"t_oelib_lib/winscw/urel/t_oelib.o.d",
+		"t_oelib_lib/winscw/urel/t_oelib.dep",
+		"t_oelib_lib/winscw/udeb/t_oelib.o",
+		"t_oelib_lib/winscw/udeb/t_oelib.o.d",
+		"t_oelib_lib/winscw/udeb/t_oelib.dep"
+	])
+	
+	# On 9.4 the open environment checks for
+	# mixed symbianc++ and stdc++ new/delete won't fail
+	if getsymbianversion() != "9.4":
+		t.mustmatch = [
+			'.*checklib: error: library .*epoc32.release.armv5.urel.symbian_test.lib is incompatible with standard.*',
+			'.*checklib: error: library .*epoc32.release.armv5.urel.t_oelib.lib is incompatible with Symbian.*',
+			'.*checklib: error: library .*epoc32.release.armv5.udeb.symbian_test.lib is incompatible with standard.*',
+			'.*checklib: error: library .*epoc32.release.armv5.udeb.t_oelib.lib is incompatible with Symbian.*',
+			'.*checklib: error: library .*epoc32.release.winscw.urel.symbian_test.lib is incompatible with standard.*',
+			'.*checklib: error: library .*epoc32.release.winscw.urel.t_oelib.lib is incompatible with Symbian.*',
+			'.*checklib: error: library .*epoc32.release.winscw.udeb.t_oelib.lib is incompatible with Symbian.*',
+			'.*checklib: error: library .*epoc32.release.winscw.udeb.symbian_test.lib is incompatible with standard.*',
+			'.*armlink.*oe_exe_without_stdcpp.*scppnwdl.dso.*',
+			'.*armlink.*symbian_exe_with_stdcpp.*stdnew.dso.*',
+			'.*armlink.*oedll.*stdnew.dso.*',
+			'.*armlink.*oeexe.*stdnew.dso.*',
+			'.*armlink.*symbian_newlib.exe.*scppnwdl.dso.*'
+		]
+		t.mustnotmatch = [
+			'.*armlink.*oe_exe_without_stdcpp.*stdnew.dso.*',
+			'.*armlink.*symbian_exe_with_stdcpp.*scppnwdl.dso.*',
+			'.*armlink.*oedll.*scppnwdl.dso.*',
+			'.*armlink.*oeexe.*scppnwdl.dso.*',
+			'.*armlink.*symbian_newlib.exe.*stdnew.dso.*',
+			'.*mwldsym2.*scppnwdl.lib.*symbian_exe_with_stdcpp.exe.*'
+		]
+	else: 
+		# these files will build for 9.4
+		t.targets.extend([
+			"$(EPOCROOT)/epoc32/release/winscw/urel/wrong_newlib_test_oeexe.exe",
+			"$(EPOCROOT)/epoc32/release/winscw/urel/wrong_newlib_test_oeexe.exe.map",
+			"$(EPOCROOT)/epoc32/release/winscw/udeb/wrong_newlib_test_oeexe.exe",
+			"$(EPOCROOT)/epoc32/release/winscw/udeb/wrong_newlib_test_oeexe.exe.map",
+			"$(EPOCROOT)/epoc32/release/winscw/urel/wrong_newlib_test_seexe.exe",
+			"$(EPOCROOT)/epoc32/release/winscw/urel/wrong_newlib_test_seexe.exe.map",
+			"$(EPOCROOT)/epoc32/release/winscw/udeb/wrong_newlib_test_seexe.exe",
+			"$(EPOCROOT)/epoc32/release/winscw/udeb/wrong_newlib_test_seexe.exe.map",
+			"$(EPOCROOT)/epoc32/release/armv5/urel/wrong_newlib_test_oeexe.exe",
+			"$(EPOCROOT)/epoc32/release/armv5/udeb/wrong_newlib_test_oeexe.exe",
+			"$(EPOCROOT)/epoc32/release/armv5/urel/wrong_newlib_test_seexe.exe",
+			"$(EPOCROOT)/epoc32/release/armv5/udeb/wrong_newlib_test_seexe.exe",
+			"$(EPOCROOT)/epoc32/release/armv5/urel/wrong_newlib_test_oeexe.exe.map",
+			"$(EPOCROOT)/epoc32/release/armv5/udeb/wrong_newlib_test_oeexe.exe.map",
+			"$(EPOCROOT)/epoc32/release/armv5/urel/wrong_newlib_test_seexe.exe.map",
+			"$(EPOCROOT)/epoc32/release/armv5/udeb/wrong_newlib_test_seexe.exe.map",
+			"$(EPOCROOT)/epoc32/release/armv5/urel/wrong_newlib_test_oeexe.exe.sym",
+			"$(EPOCROOT)/epoc32/release/armv5/udeb/wrong_newlib_test_oeexe.exe.sym",
+			"$(EPOCROOT)/epoc32/release/armv5/urel/wrong_newlib_test_seexe.exe.sym",
+			"$(EPOCROOT)/epoc32/release/armv5/udeb/wrong_newlib_test_seexe.exe.sym"
+		])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/output_control.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,52 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+from os import environ
+
+from raptor_tests import SmokeTest
+
+def run():
+
+	commonbuildfiles = [ 
+		"createstaticdll_dll/armv5/urel/CreateStaticDLL.o",
+		"createstaticdll_dll/armv5/urel/CreateStaticDLL.o.d",
+		"createstaticdll_dll/winscw/urel/CreateStaticDLL.o",
+		"createstaticdll_dll/winscw/urel/CreateStaticDLL.o.d",
+		"createstaticdll_dll/winscw/urel/createstaticdll.UID.CPP",
+		"createstaticdll_dll/winscw/urel/createstaticdll_UID_.o.d"
+	]
+	
+	t = SmokeTest()
+	t.id = "82"
+	t.name = "output_control"
+	t.description = "Test building intermediate files into a location other than $EPOCROOT/epoc32/build. Use SBS_BUILD_DIR. environment variable."
+	t.sbs_build_dir = environ['EPOCROOT'].replace("\\","/").rstrip("/") + '/anotherbuilddir'
+	t.environ['SBS_BUILD_DIR'] = t.sbs_build_dir
+	t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5_urel -c winscw_urel"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll",
+                "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll",
+                "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticdll.dll.map"
+								
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', commonbuildfiles) 
+	t.run()
+	
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/paging.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,131 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+
+	t = SmokeTest()
+	t.usebash = True
+
+	cmd_prefix = "sbs -b smoke_suite/test_resources/simple_paging/bld.inf -c armv5_urel "
+	cmd_suffix = " -m ${SBSMAKEFILE} -f ${SBSLOGFILE} && cat ${SBSLOGFILE} "
+
+	t.id = "0093a"
+	t.name = "paging_default"
+	t.command = cmd_prefix + "-p default.mmp" + cmd_suffix
+	t.mustmatch_singleline = [
+			"--codepaging=default", 
+			"--datapaging=default"
+			]
+	t.run()
+
+	t.id = "0093b"
+	t.name = "paging_unpaged"
+	t.command = cmd_prefix + "-p unpaged.mmp" + cmd_suffix
+	t.mustmatch_singleline = [
+			"--codepaging=unpaged", 
+			"--datapaging=unpaged"
+			]
+	t.run()
+
+	t.id = "0093c"
+	t.name = "paging_paged"
+	t.command = cmd_prefix + "-p paged.mmp" + cmd_suffix
+	# Either pagedcode or pageddata can imply bytepaircompresstarget 
+	t.mustmatch_singleline = [
+			"--codepaging=paged", 
+			"--datapaging=default",
+			"--compressionmethod=bytepair"
+			]
+	t.run()
+
+	t.id = "0093d"
+	t.name = "paging_unpagedcode_pageddata"
+	t.command = cmd_prefix + "-p unpagedcode_pageddata.mmp" + cmd_suffix
+	t.mustmatch_singleline = [
+			"--codepaging=unpaged", 
+			"--datapaging=paged",
+			"--compressionmethod=bytepair"
+			]
+	t.run()
+
+	t.id = "0093e"
+	t.name = "paging_pagedcode_unpageddata"
+	t.command = cmd_prefix + "-p pagedcode_unpageddata.mmp" + cmd_suffix
+	t.mustmatch_singleline = [
+			"--codepaging=paged", 
+			"--datapaging=unpaged",
+			"--compressionmethod=bytepair"
+			]
+	t.run()
+
+	t.id = "0093f"
+	t.name = "paging_pagedcode_defaultdata"
+	t.command = cmd_prefix + "-p pagedcode_defaultdata.mmp" + cmd_suffix
+	t.mustmatch_singleline = [
+			"--codepaging=paged", 
+			"--datapaging=default",
+			"--compressionmethod=bytepair"
+			]
+	t.run()
+
+	t.id = "0093g"
+	t.name = "paging_paged_unpaged_no_bytepair"
+	t.command = cmd_prefix + "-p paged_unpaged.mmp" + cmd_suffix
+	t.mustmatch_singleline = [
+			"--codepaging=unpaged", 
+			"--datapaging=unpaged"
+			]
+	t.mustnotmatch = [
+			"--compressionmethod=bytepair"	
+			]
+	t.warnings = 2 # 1 in the log and 1 on screen
+	t.run()
+
+	# test the pre-WDP paging options --paged and --unpaged
+	# there is an os_properties.xml file in test/config that
+	# turns POSTLINKER_SUPPORTS_WDP off
+	
+	t.id = "0093g"
+	t.name = "paging_paged_no_wdp"
+	t.command = cmd_prefix + "-p paged.mmp --configpath=test/config" + cmd_suffix
+	t.mustmatch_singleline = [
+			"--paged", 
+			"--compressionmethod=bytepair"
+			]
+	t.mustnotmatch = []
+	t.warnings = 0
+	t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/urel/paged.dll" ]
+	t.run()
+	
+	t.id = "0093h"
+	t.name = "paging_unpaged_no_wdp"
+	t.command = cmd_prefix + "-p unpaged.mmp --configpath=test/config" + cmd_suffix
+	t.mustmatch_singleline = [
+			"--unpaged", 
+			]
+	t.mustnotmatch = [
+			"--compressionmethod=bytepair"	
+			]
+	t.targets = [ "$(EPOCROOT)/epoc32/release/armv5/urel/unpaged.dll" ]
+	t.run()
+
+	t.id = "0093"
+	t.name = "paging"
+	t.print_result()
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/parallel_parsing.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,65 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.usebash = True
+	result = SmokeTest.PASS
+
+	description = """This test covers parallel parsing."""
+	command = "cd $(SBS_HOME)/test/smoke_suite/test_resources/pp/ && sbs --command=$(SBS_HOME)/test/smoke_suite/test_resources/pp/ppbldinf_commandfile -c armv5 -c winscw --pp=on --noexport -m ${SBSMAKEFILE} -f - | grep recipe "
+
+	mmpcount = 10 # how many mmps in this parallel parsing test
+
+	
+	target_templ = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_pp#.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_pp#.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_pp#.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_pp#.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_pp#.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_pp#.exe.sym"
+	]
+
+	targets = []
+
+	# Build up target list for 10 similar executables
+	for num in range(1,mmpcount):
+		for atarget in target_templ:
+			targets.append(atarget.replace('pp#','pp'+ str(num)))
+
+	mustmatch = [
+		".*<recipe .*name='makefile_generation.*",
+	]
+	mustnotmatch = [
+		".*<recipe .*name='makefile_generation_export.*",
+		".*<error[^><]*>.*"
+	]
+
+	warnings = 0
+		
+	t.id = "104"
+	t.name = "parallel_parsing"
+	t.description = description
+	t.command = command 
+	t.targets = targets
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.warnings = warnings
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/pdll_arm.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,109 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.usebash = True
+	
+	command = "sbs -b smoke_suite/test_resources/simple_dll/pbld.inf -c %s -f -"
+	maintargets = [
+		"$(EPOCROOT)/epoc32/release/%s/udeb/createstaticpdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/%s/urel/createstaticpdll.dll.sym",
+		"$(EPOCROOT)/epoc32/release/%s/udeb/createstaticpdll.dll",
+		"$(EPOCROOT)/epoc32/release/%s/urel/createstaticpdll.dll"
+		]
+	armv5targets = [
+		"$(EPOCROOT)/epoc32/release/%s/lib/createstaticpdll.dso",
+		"$(EPOCROOT)/epoc32/release/%s/lib/createstaticpdll{000a0000}.dso"
+		]
+	buildtargets =  [
+		"createstaticpdll_dll/%s/udeb/CreateStaticDLL.o",
+		"createstaticpdll_dll/%s/urel/CreateStaticDLL.o"
+		]
+	mustmatch = [
+		r".*\busrt\d_\d\.lib\b.*",
+		r".*\bscppnwdl\.dso\b.*"
+		]
+	mustnotmatch = [
+		".*ksrt.*"
+		]
+	
+	t.id = "0109a"
+	t.name = "pdll_armv5_rvct"
+	t.command = command % "armv5"
+	t.targets = map(lambda p: p % "armv5", maintargets + armv5targets)[:]	# Shallow, as we optionally extend later and then re-use
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv5", buildtargets))
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.run()
+		
+	t.id = "0109b"
+	t.name = "pdll_armv5_clean"
+	t.command = command % "armv5" + " clean"
+	t.targets = []
+	t.mustmatch = []
+	t.mustnotmatch = []
+	t.run()
+	
+	t.id = "0109c"
+	t.name = "pdll_armv5_gcce"
+	t.command = command % "gcce_armv5"
+	t.targets = map(lambda p: p % "armv5", maintargets + armv5targets)
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv5", buildtargets))
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.run()
+
+	t.id = "0109d"
+	t.name = "pdll_armv5_gcce_clean"
+	t.command = command % "gcce_armv5" + " clean"
+	t.targets = []
+	t.mustmatch = []
+	t.mustnotmatch = []
+	t.run()
+
+	t.id = "0109e"
+	t.name = "pdll_armv7_rvct"
+	t.command = command % "armv7"
+	t.targets = map(lambda p: p % "armv7", maintargets)[:]	# Shallow, as we optionally extend later and then re-use
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv7", buildtargets))
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.run()
+	
+	t.id = "0109f"
+	t.name = "pdll_armv7_clean"
+	t.command = command % "armv7" + " clean"
+	t.targets = []
+	t.mustmatch = []
+	t.mustnotmatch = []
+	t.run()
+	
+	t.id = "0109g"
+	t.name = "pdll_armv7_gcce"
+	t.command = command % "arm.v7.udeb.gcce4_3_2 -c arm.v7.urel.gcce4_3_2"
+	t.targets = map(lambda p: p % "armv7", maintargets)
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv7", buildtargets))
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.run()
+
+	t.id = "109"
+	t.name = "pdll_arm"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/pdll_winscw.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "105"
+	t.name = "pdll_winscw"
+	t.command = "sbs -b smoke_suite/test_resources/simple_dll/pbld.inf -c winscw"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticpdll.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticpdll.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/createstaticpdll.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/createstaticpdll.dll.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', [
+		"createstaticpdll_dll/winscw/udeb/CreateStaticDLL.o",
+		"createstaticpdll_dll/winscw/udeb/createstaticpdll.UID.CPP",
+		"createstaticpdll_dll/winscw/udeb/createstaticpdll_UID_.o",
+		"createstaticpdll_dll/winscw/urel/CreateStaticDLL.o",
+		"createstaticpdll_dll/winscw/urel/createstaticpdll.UID.CPP",
+		"createstaticpdll_dll/winscw/urel/createstaticpdll_UID_.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/plugin_armv5_winscw_freeze.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,67 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "90"
+	t.name = "plugin_armv5_winscw_freeze"
+	t.description = """Builds several ECOM plugins, with and without explicit DEFFILE statements, confirming
+		the correct FREEZE behaviour in each case.  The correct behaviour for a PLUGIN/PLUGIN3 is
+		indicative of all TARGETTYPEs where the build system defines known exports: FREEZE should do nothing
+		unless an explicit DEFFILE statement is present in the .mmp file.
+		Also confirms default UID2 settings for PLUGIN3 TARGETTYPEs and default resource generation locations
+		for both PLUGIN and PLUGIN3."""
+	t.usebash = True
+	
+	t.command = """
+		sbs -b smoke_suite/test_resources/simple_plugin/bld.inf -c armv5_urel -c winscw_urel CLEAN > /dev/null &&
+		sbs -f- -b smoke_suite/test_resources/simple_plugin/bld.inf -c armv5_urel -c winscw_urel &&
+		sbs -b smoke_suite/test_resources/simple_plugin/bld.inf -c armv5_urel -c winscw_urel FREEZE -m ${SBSMAKEFILE} -f ${SBSLOGFILE}"""
+
+	t.targets = [
+		"smoke_suite/test_resources/simple_plugin/bwins/plugin2u.def",
+		"smoke_suite/test_resources/simple_plugin/eabi/plugin2u.def",
+		"$(EPOCROOT)/epoc32/data/z/resource/plugins/plugin.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/plugins/plugin.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/plugins/plugin.rsc",
+		"$(EPOCROOT)/epoc32/data/z/resource/plugins/plugin3.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/plugins/plugin3.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/plugins/plugin3.rsc"	
+		]
+	
+	t.antitargets = [
+		"smoke_suite/test_resources/simple_plugin/bwins/pluginu.def",
+		"smoke_suite/test_resources/simple_plugin/eabi/pluginu.def"		
+		]
+	
+	t.mustmatch = [
+		".*EFREEZE: Appending 3 New Export\(s\) to .*/test/smoke_suite/test_resources/simple_plugin/eabi/plugin2u.def.*",
+		".*EFREEZE: Appending 1 New Export\(s\) to .*/test/smoke_suite/test_resources/simple_plugin/bwins/plugin2u.def.*",
+		".*__EMULATOR_IMAGE_HEADER2\(0x10000079,0x10009D93,0x00000000.*",
+		".*elf2e32.*--targettype=PLUGIN3.*--output=.*plugin3.dll.*--uid2=0x10009D93.*"
+		
+		]
+
+	t.mustnotmatch = [
+		".*EFREEZE: .*/test/smoke_suite/test_resources/simple_plugin/eabi/pluginu.def.*",
+		".*EFREEZE: .*/test/smoke_suite/test_resources/simple_plugin/bwins/pluginu.def.*"
+		]
+	
+	t.warnings = 4	
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/pre_export.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "32"
+	t.name = "pre_export"
+	t.command = "sbs -b smoke_suite/test_resources/pre-export/bld.inf -c " + \
+			"armv5 -k"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/include/my.mmh",
+		"$(EPOCROOT)/epoc32/include/second.mmh",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/petest.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/petest.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/petest.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/petest.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/pre-export/bld.inf', [
+		"petest_/armv5/udeb/test.o",
+		"petest_/armv5/urel/test.o"
+	])
+	# we expect these errors because there are 2 MMP files deliberately missing
+	t.errors = 4
+	t.returncode = 1
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/qt_helloworld.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# This test case requires install of Qt. 
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+
+	t.description = "Ensure Raptor builds Qt applications successfully"	
+
+	t.id = "0110"
+	t.name = "qt_helloworld"
+	t.command = "cd smoke_suite/test_resources/qt && qmake -spec symbian-sbsv2 && sbs"
+	t.targets = [
+			"$(SBS_HOME)/test/smoke_suite/test_resources/qt/bld.inf",
+			"$(SBS_HOME)/test/smoke_suite/test_resources/qt/helloworldqt.loc",
+			"$(SBS_HOME)/test/smoke_suite/test_resources/qt/helloworldqt.rss",
+			"$(SBS_HOME)/test/smoke_suite/test_resources/qt/helloworldqt_reg.rss",
+			"$(SBS_HOME)/test/smoke_suite/test_resources/qt/helloworldqt_template.pkg",
+			"$(SBS_HOME)/test/smoke_suite/test_resources/qt/Makefile",
+			"$(EPOCROOT)/epoc32/release/armv5/udeb/helloworldqt.exe",
+			"$(EPOCROOT)/epoc32/release/armv5/udeb/helloworldqt.exe.map",
+			"$(EPOCROOT)/epoc32/release/armv5/urel/helloworldqt.exe",
+			"$(EPOCROOT)/epoc32/release/armv5/urel/helloworldqt.exe.map",
+			"$(EPOCROOT)/epoc32/release/winscw/udeb/helloworldqt.exe",
+			"$(EPOCROOT)/epoc32/release/winscw/urel/helloworldqt.exe",
+			"$(EPOCROOT)/epoc32/release/winscw/urel/helloworldqt.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/qt/bld.inf', [
+		"helloworldqt_exe/armv5/udeb/helloworld.o",
+		"helloworldqt_exe/armv5/udeb/helloworld.o.d",
+		"helloworldqt_exe/armv5/urel/helloworld.o",
+		"helloworldqt_exe/armv5/urel/helloworld.o.d",
+		"helloworldqt_exe/winscw/udeb/helloworld.o",
+		"helloworldqt_exe/winscw/udeb/helloworld.o.d",	
+		"helloworldqt_exe/winscw/urel/helloworld.o",
+		"helloworldqt_exe/winscw/urel/helloworld.o.d"
+	])
+	t.run("windows")
+
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/query_cli.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,110 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+import raptor_tests
+
+def run():
+	
+	t = raptor_tests.SmokeTest()
+	t.description = "Test the --query command-line option"
+
+	t.name = "query_cli_alias"
+	t.command = "sbs --query=aliases"
+	t.mustmatch_singleline = [
+		"<sbs version='2\.\d+\.\d+'>",
+		"<alias.*name='armv5_urel'.*/>",
+		"<alias.*name='armv5_udeb'.*/>",
+		"<alias.*name='winscw_urel'.*/>",
+		"<alias.*name='winscw_udeb'.*/>",
+		"<alias.*name='tools2_rel'.*/>",
+		"<alias.*name='tools2_deb'.*/>",
+		"</sbs>"
+		]
+	t.mustnotmatch_singleline = [
+		"<alias.*name='make'.*/>",
+		"<alias.*name='emake'.*/>"
+		]
+	t.run()
+	
+	t.name = "query_cli_product"
+	t.command = "sbs --query=products --configpath=test/smoke_suite/test_resources/bv"
+	t.mustmatch_singleline = [
+		"<sbs version='2\.\d+\.\d+'>",
+		"<product.*name='test_bv_1'.*/>",
+		"<product.*name='test_bv_2'.*/>",
+		"<product.*name='test_bv_3'.*/>",
+		"</sbs>"
+		]
+	t.mustnotmatch_singleline = [
+		"<product.*name='arm'.*/>",
+		"<product.*name='root'.*/>"
+		]
+	t.run()
+	
+	t.name = "query_cli_config"
+	t.command = "sbs --query=config[armv5_urel]"
+	t.mustmatch_singleline = [
+		"<sbs version='2\.\d+\.\d+'>",
+		"fullname='arm\.v5\.urel\.rvct.*'",
+		"outputpath='.*/epoc32/release/armv5/urel'",
+		"</sbs>"
+		]
+	t.mustnotmatch_singleline = []
+	t.run()
+	
+	t.name = "query_cli_config_bv"
+	t.command = "sbs --query=config[armv5_urel.test_bv_1] --configpath=test/smoke_suite/test_resources/bv"
+	t.mustmatch_singleline = [
+		"<sbs version='2\.\d+\.\d+'>",
+		"fullname='arm\.v5\.urel\.rvct._.\.test_bv_1'",
+		"outputpath='.*/epoc32/release/armv5\.one/urel'",
+		"</sbs>"
+		]
+	t.mustnotmatch_singleline = []
+	t.run()
+	
+	t.name = "query_cli_config_others"
+	t.command = "sbs --query=config[winscw_urel] --query=config[tools2_rel]"
+	
+	if t.onWindows:
+		t2 = "tools2"
+	else:
+		t2 = raptor_tests.ReplaceEnvs("tools2/$(HOSTPLATFORM_DIR)")
+		
+	t.mustmatch_singleline = [
+		"<sbs version='2\.\d+\.\d+'>",
+		"outputpath='.*/epoc32/release/winscw/urel'",
+		"outputpath='.*/epoc32/release/%s/rel'" % t2,
+		"</sbs>"
+		]
+	t.mustnotmatch_singleline = []
+	t.run()
+	
+	t.name = "query_cli_bad"
+	t.command = "sbs --query=nonsense"
+	t.mustmatch_singleline = [
+		"<sbs version='2\.\d+\.\d+'>",
+		"exception 'unknown query' with query 'nonsense'",
+		"</sbs>"
+		]
+	t.mustnotmatch_singleline = []
+	t.errors = 1
+	t.returncode = 1
+	t.run()
+	
+	t.name = "query_cli"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/raptor_crash.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.description = "tests that previous crash conditions now generate tidy errors."
+	
+	# no crash when there are bld.inf lines starting with a slash	
+	t.id = "45a"
+	t.name = "raptor_crash"
+	t.command = "sbs -b smoke_suite/test_resources/simple_crash/bld.inf"
+	t.errors = 2
+	t.returncode = 1
+	t.run()
+	
+	# should get an error code when running inside cmd
+	t.id = "45b"
+	t.name = "error_cmd"
+	t.usebash = True
+	t.command = "cmd /c sbs -s no_such_thing"
+	t.mustmatch = ["System Definition file no_such_thing does not exist"]
+	t.errors = 1
+	t.returncode = 1
+	t.run("windows")
+	
+	# should get an error code when running in bash
+	t.id = "45c"
+	t.name = "error_bash"
+	t.usebash = True
+	t.command = "sbs -s no_such_thing"
+	t.mustmatch = ["System Definition file no_such_thing does not exist"]
+	t.errors = 1
+	t.returncode = 1
+	t.run()
+	
+	# print the over all result
+	t.id = "45"
+	t.name = "raptor_crash"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/resource.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,92 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+from raptor_tests import ReplaceEnvs
+from raptor_meta import BldInfFile
+
+def run():
+	t = SmokeTest()
+	t.id = "30"
+	t.name =  "resource"
+	t.command = "sbs  -b smoke_suite/test_resources/simple_gui/Bld.inf RESOURCE"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/include/helloworld.rsg",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/data/z/private/10003a3f/apps/helloworld_reg.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/private/10003a3f/apps/helloworld_reg.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10003a3f/apps/helloworld_reg.rsc"	
+		]
+	
+
+	t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [
+		"helloworld_exe/helloworld.mbm_bmconvcommands",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+		"helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp",
+		"helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d"])
+
+	t.mustnotmatch = ["HelloWorld.rss.* warning: trigraph"]
+	
+	t.run()
+
+	t.id="30a"
+	t.name =  "no_depend_gen_resource"
+	t.usebash = True
+	t.description =  """Check that dependent resources still build correctly even when we turn dependency generation off.  This
+			    test cannot really do this reliably, if you think about it, since it can't force make to try building resources
+			    in the 'wrong' order.  What it does attempt is to check that 
+			    the ultimately generated dependency file is ok.
+			    N.B.  It also attempts to ensure that the dependency file is 'minimal'  i.e. that it only references .mbg and .rsg files
+			    that might come from other parts of the same build.  This is important for performance in situations where --no-depend-generate
+			    is used because the weight of 'complete' dependency information would overwhelm make.
+			 """
+	buildLocation = ReplaceEnvs("$(EPOCROOT)/epoc32/build/") + BldInfFile.outputPathFragment('smoke_suite/test_resources/resource/group/bld.inf')
+	res_depfile= buildLocation+"/dependentresource_/dependentresource_dependentresource_sc.rpp.d"
+
+	t.targets = [
+		"$(EPOCROOT)/epoc32/include/testresource.rsg",
+		"$(EPOCROOT)/epoc32/include/testresource.hrh",
+		"$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r01",
+		"$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testresource.exe",
+		res_depfile
+		]
+
+	t.addbuildtargets('smoke_suite/test_resources/resource/group/bld.inf', [	
+		"testresource_/testresource_testresource_02.rpp",
+		"testresource_/testresource_testresource_01.rpp",
+		"testresource_/testresource_testresource_01.rpp.d",
+		"testresource_/testresource_testresource_sc.rpp"])
+
+	t.command = "sbs -b smoke_suite/test_resources/resource/group/bld.inf  -c armv5_urel reallyclean ; sbs --no-depend-generate -j 16 -b smoke_suite/test_resources/resource/group/bld.inf -c armv5_urel -f ${SBSLOGFILE} -m ${SBSMAKEFILE} && grep 'epoc32.include.testresource.rsg' %s && wc -l %s " % (res_depfile, res_depfile)
+
+	t.mustnotmatch = []
+
+	t.mustmatch = [
+			"[23] .*.dependentresource_.dependentresource_dependentresource_sc.rpp.d"
+		      ]
+
+	t.run()
+
+	t.name = 'resource'
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/retry.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,52 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.id = "59"
+	t.name = "retry"
+	#
+	# -t 3 means try each recipe up to 3 times, if it fails.
+	#
+	# There are 3 FLM calls: 
+	#    retry_1 fails once then succeeds.
+	#    retry_2 fails twice then succeeds.
+	#    retry_3 fails all 3 times.
+	#
+	# use -k in case the retry_3 case happens to be run first.
+	#
+	t.command = "sbs -b smoke_suite/test_resources/retry/bld.inf -c armv5_urel -t 3 -k"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/build/retry_1.1",
+		"$(EPOCROOT)/epoc32/build/retry_1.ok",
+		"$(EPOCROOT)/epoc32/build/retry_2.1",
+		"$(EPOCROOT)/epoc32/build/retry_2.2",
+		"$(EPOCROOT)/epoc32/build/retry_2.ok",
+		"$(EPOCROOT)/epoc32/build/retry_3.1",
+		"$(EPOCROOT)/epoc32/build/retry_3.2",
+		"$(EPOCROOT)/epoc32/build/retry_3.3"
+	]
+	t.antitargets = [
+		"$(EPOCROOT)/epoc32/build/retry_1.2",
+		"$(EPOCROOT)/epoc32/build/retry_1.3",
+		"$(EPOCROOT)/epoc32/build/retry_2.3",
+		"$(EPOCROOT)/epoc32/build/retry_3.ok"
+	]
+	t.returncode = 1
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/romfile.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,92 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+
+from raptor_tests import SmokeTest
+import os
+
+def run():
+	t = SmokeTest()
+	t.id = "55"
+	t.name = "romfile"
+	t.description = """
+		Tests the creation and content of an .iby romfile for the armv5.test
+		configuration. Also tests for creation of relevant test batch files.
+		"""
+	t.usebash = True
+	t.command = "sbs -b $(EPOCROOT)/src/ongoing/group/romfile/other_name.inf " \
+			+ "-c armv5.test ROMFILE -f - " \
+			+ "&& cat $(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby"
+	
+	# Don't allow -m or -f to be appended
+	t.logfileOption = lambda :""
+	t.makefileOption = lambda :""
+	t.targets = [
+		"$(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby",
+		"$(EPOCROOT)/epoc32/data/z/test/src/armv5.auto.bat",
+		"$(EPOCROOT)/epoc32/data/z/test/src/armv5.manual.bat"
+		]
+
+	# Check the content of the generated .iby file.
+
+	t.mustmatch = [
+		# Check whatlog output includes batch files and .iby file
+		r".*/epoc32/rom/src/ongoing/group/romfile/armv5test.iby</build>.*",
+		r".*/epoc32/data/z/test/src/armv5.auto.bat</build>.*",
+		r".*/epoc32/data/z/test/src/armv5.manual.bat</build>.*",
+		
+		# The comment that is put at the start of the file.
+		r".*// epoc32/rom/src/ongoing/group/romfile/armv5test\.iby\n.*",
+
+		# The batch files that are added by the build system.
+		r".*\ndata=/epoc32/data/z/test/src/armv5\.auto\.bat test/src\.auto\.bat\n.*",
+		r".*\ndata=/epoc32/data/z/test/src/armv5\.manual\.bat test/src\.manual\.bat\n.*",
+
+		# Some normal files.
+		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_rand\.exe\s+sys/bin/t_rand\.exe\n.*",
+		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_swapfsys\.exe\s+sys/bin/t_swapfsys\.exe\n.*",
+		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_localtime\.exe\s+sys/bin/t_localtime\.exe\n.*",
+
+		# Some files where the MMP file has the PAGED or UNPAGED keywords.
+		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_pagestress\.exe\s+sys/bin/t_pagestress\.exe paged\n.*",
+		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_fsys\.exe\s+sys/bin/t_fsys\.exe unpaged\n.*",
+
+		# Some files where the MMP file has the ROMTARGET or RAMTARGET keywords.
+		r".*\ndata=/epoc32/release/##MAIN##/##BUILD##/t_prel\.dll\s+/sys/bin/t_prel\.dll attrib=r\n.*",
+		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_sysbin\.exe\s+sys/bin/t_sysbin\.exe\n.*",
+		r".*\ndata=/epoc32/release/##MAIN##/##BUILD##/t_sysbin\.exe\s+/sys/bin/t_sysbin_ram\.exe attrib=r\n.*",
+		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_sysbin\.exe\s+/sys/bin/t_sysbina\.exe\n.*",
+		r".*\nfile=/epoc32/release/##MAIN##/##BUILD##/t_sysbin\.exe\s+/system/programs/t_sysbinb\.exe\n.*"
+		]
+	t.mustnotmatch = [
+		# Try to detect file paths that contain two or more slashes in a row,
+		# without flagging C++ style comments.
+		r"\w//+\w"
+		]
+
+	t.run("windows")
+
+	if t.result == SmokeTest.SKIP:
+		t.command = "sbs -b $(EPOCROOT)/src/ongoing/group/romfile/other_name.inf" \
+				+ " -c armv5.test ROMFILE -f -" \
+				+ " && cat $(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby"
+
+		# These two warnings are because gnumakefiles are not supported on
+		# Linux:
+		t.warnings = 2
+		t.run("linux")
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/sbs_with_nonexisting_bldinf.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "80"
+	t.name = "sbs_with_nonexisting_bldinf"
+	t.description = "Test if sbs generates warning if invoked without bld.inf specified i.e. using default bld.inf which doesn't exist"
+	t.command = "mkdir ${EPOCROOT}/emptydir; rm ${EPOCROOT}/emptydir/*;  cd ${EPOCROOT}/emptydir; sbs -f ${SBSLOGFILE} -m {SBSMAKEFILE}"
+	t.usebash = True
+	t.warnings = 1 
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/smp.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = AntiTargetSmokeTest()
+	t.id = "61"
+	t.name = "smp"
+	#
+	# the command asks for ARMV5 and ARMV5SMP but the component only builds
+	# code for ARMV5SMP according to its bld.inf file. so, check that the
+	# ARMV5SMP binaries exist and the ARMV5 ones do not.
+	#
+	t.command = "sbs -b smoke_suite/test_resources/smp/bld.inf -c armv5 -c " + \
+			"armv5.smp"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5smp/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5smp/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5smp/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5smp/urel/test.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/smp/bld.inf', [
+		"test_/armv5smp/udeb/test.o",
+		"test_/armv5smp/urel/test.o"
+	])
+	t.antitargets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map"
+	]
+	t.addbuildantitargets('smoke_suite/test_resources/smp/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o"
+		])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/splitlog_filter.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,122 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+import sys
+
+def run():
+	result = SmokeTest.PASS
+	
+	t = SmokeTest()
+	# Override logfileoption and makefileoption to stop them adding '-f' and '-m'
+	t.logfileOption = lambda : ""
+	t.makefileOption = lambda : ""
+	t.id = "0083a"
+	t.name = "splitlog_filter"
+	t.description = "Tests scanlog_filter output"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5 " + \
+			"--filters=FilterSplitlog " + \
+			"-f $(EPOCROOT)/epoc32/build/splitlog.xml " + \
+			"&& cat $(EPOCROOT)/epoc32/build/splitlog.xml"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o"
+		])
+	t.mustmatch = [
+		".*<info.*"		
+		]
+	t.mustnotmatch = [
+		".*<clean.*",
+		".*</clean>.*",
+		".*<whatlog.*",
+		".*</whatlog>.*",
+		".*<recipe.*",
+		".*</recipe>.*"
+		]
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+	
+	t.id = "0083b"
+	t.name = "splitlog_cleancheck"
+	t.command = "cat $(EPOCROOT)/epoc32/build/splitlog.clean.xml"
+	t.targets = []
+	t.mustmatch = [
+		".*<clean.*",
+		".*</clean>.*"
+		]
+	t.mustnotmatch = [
+		".*<info.*"
+		".*<whatlog.*",
+		".*</whatlog>.*",
+		".*<recipe.*",
+		".*</recipe>.*"
+		]
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+		
+	
+	t.id = "0083c"
+	t.name = "splitlog_whatlogcheck"
+	t.command = "cat $(EPOCROOT)/epoc32/build/splitlog.whatlog.xml"
+	t.mustmatch = [
+		".*<whatlog.*",
+		".*</whatlog>.*"
+		]
+	t.mustnotmatch = [
+		".*<info.*",
+		".*<clean.*",
+		".*</clean>.*",
+		".*<recipe.*",
+		".*</recipe>.*"
+		]
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+	t.id = "0083d"
+	t.name = "splitlog_recipecheck"
+	t.command = "cat $(EPOCROOT)/epoc32/build/splitlog.recipe.xml"
+	t.mustmatch = [
+		".*<recipe.*",
+		".*</recipe>.*"
+		]
+	t.mustnotmatch = [
+		".*<info.*",
+		".*<clean.*",
+		".*</clean>.*",
+		".*<whatlog.*",
+		".*</whatlog>.*"
+		]
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+	
+	t.id = "83"
+	t.name = "splitlog_filter"
+	t.result = result
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/stringtable_zip_whatlog.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,74 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+# The stringtable example doesn't currently build in full, hence it's built for
+# EXPORT in isolation; We also test archives here - although an export, they
+# will be exported in response to the first configuration processed (this
+# example ensures it's armv5_udeb, so we can match against that config).
+from raptor_tests import CheckWhatSmokeTest, ReplaceEnvs
+import re
+import os
+
+def run():
+	markerfile = re.sub("(\\\\|\/|:|;| )", "_",
+			ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip.unzipped"))
+	
+	t = CheckWhatSmokeTest()
+	t.id = "0069a"
+	t.name = "stringtable_zip_whatlog"
+	t.command = "sbs -b smoke_suite/test_resources/simple_stringtable/bld.inf -b smoke_suite/test_resources/simple_zip_export/bld.inf -f - -m ${SBSMAKEFILE} -c armv5_udeb.whatlog EXPORT"
+	componentpath1 = re.sub(r'\\','/',os.path.abspath("smoke_suite/test_resources/simple_stringtable"))
+	componentpath2 = re.sub(r'\\','/',os.path.abspath("smoke_suite/test_resources/simple_zip_export"))
+	t.regexlinefilter = re.compile("^<(whatlog|archive|stringtable>|member>|zipmarker>)")
+	t.hostossensitive = False
+	t.usebash = True
+	t.targets = [
+		"$(EPOCROOT)/epoc32/include/strconsts.h",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile1.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile2.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin",
+		"$(EPOCROOT)/epoc32/build/" + markerfile
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_stringtable/bld.inf', [
+		"stringtabletest_/strconsts.cpp",
+		"stringtabletest_/strconsts.h",
+		"stringtabletest_/strconsts.st"
+	])
+	t.stdout = [
+		"<whatlog bldinf='"+componentpath1+"/bld.inf' mmp='"+componentpath1+"/simple_stringtable.mmp' config='armv5_udeb.whatlog'>",
+		"<stringtable>$(EPOCROOT)/epoc32/include/strconsts.h</stringtable>",
+		"<whatlog bldinf='"+componentpath2+"/bld.inf' mmp='' config=''>",
+		"<archive zipfile='"+componentpath2+"/archive.zip'>",
+		"<member>$(EPOCROOT)/epoc32/testunzip/archive/archivefile1.txt</member>",
+		"<member>$(EPOCROOT)/epoc32/testunzip/archive/archivefile2.txt</member>",
+		"<member>$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt</member>",
+		"<member>$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt</member>",
+		"<member>$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin</member>",
+		"<zipmarker>$(EPOCROOT)/epoc32/build/" + markerfile + "</zipmarker>"
+	]
+	t.run()
+	
+	"Tests to check that up-to-date zip exports are reported"
+	t.id = "0069b"
+	t.name = "stringtable_zip_whatlog_rebuild"
+	t.targets = []
+	t.run()
+	
+	t.id = "69"
+	t.name = "stringtable_zip_whatlog"	
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/sysdef_dud.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "50"
+	t.name = "sysdef_dud"
+	t.description = "Test an invalid system_definition.xml file"
+	t.command = "sbs -s " + \
+			"smoke_suite/test_resources/sysdef/system_definition_dud.xml"
+	t.targets = []
+	t.errors = 1
+	t.returncode = 1
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/sysdef_exports.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,57 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "47"
+	t.name = "sysdef_exports"
+	t.description = "Test general system_definition.xml processing of exports"
+	t.command = "sbs -a $(SBS_HOME)/test/smoke_suite/test_resources/sysdef -s smoke_suite/test_resources/sysdef/system_definition_mmp_export_dependencies_test.xml"
+	t.targets = [
+		"$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/dependent_on_exports/metadata_export_pre1.mmh",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/dependent_on_exports/metadata_export_pre2.mmh",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dependent_on_exports.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dependent_on_exports.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/dependent_on_exports.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dependent_on_exports.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dependent_on_exports.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/dependent_on_exports.exe.sym",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/dependent_on_exports.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/dependent_on_exports.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/dependent_on_exports.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/sysdef/dependent_on_exports/bld.inf', [
+		"dependent_on_exports_exe/armv5/udeb/dependent_on_exports_udeb_objects.via",
+		"dependent_on_exports_exe/armv5/udeb/test.o",
+		"dependent_on_exports_exe/armv5/udeb/test.o.d",
+		"dependent_on_exports_exe/armv5/urel/dependent_on_exports_urel_objects.via",
+		"dependent_on_exports_exe/armv5/urel/test.o",
+		"dependent_on_exports_exe/armv5/urel/test.o.d",
+		"dependent_on_exports_exe/winscw/udeb/dependent_on_exports.UID.CPP",
+		"dependent_on_exports_exe/winscw/udeb/dependent_on_exports_UID_.dep",
+		"dependent_on_exports_exe/winscw/udeb/dependent_on_exports_UID_.o",
+		"dependent_on_exports_exe/winscw/udeb/test.dep",
+		"dependent_on_exports_exe/winscw/udeb/test.o",
+		"dependent_on_exports_exe/winscw/urel/dependent_on_exports.UID.CPP",
+		"dependent_on_exports_exe/winscw/urel/dependent_on_exports_UID_.dep",
+		"dependent_on_exports_exe/winscw/urel/dependent_on_exports_UID_.o",
+		"dependent_on_exports_exe/winscw/urel/test.dep",
+		"dependent_on_exports_exe/winscw/urel/test.o"
+	])
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/sysdef_layers.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,85 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "48"
+	t.name = "sysdef_layers"
+	t.usebash = True
+	t.description = "Test system_definition.xml layer processing and log reporting"
+	t.command = 'sbs -f- -s smoke_suite/test_resources/sysdef/system_definition_order_layer_test.xml ' + \
+			'-l "Metadata Export" -l "Build Generated Source" -l "Component with Layer Dependencies" -o'
+	t.targets = [
+		"$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.inf",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.mmh",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/data/z/private/10003a3f/apps/helloworld_reg.rsc",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/include/helloworld.rsg",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/private/10003a3f/apps/helloworld_reg.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10003a3f/apps/helloworld_reg.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.rsc",
+		]
+	t.addbuildtargets('smoke_suite/test_resources/sysdef/build_gen_source/bld.inf', [
+		"helloworld_/helloworld_HelloWorld_sc.rpp"
+		])
+	t.addbuildtargets('smoke_suite/test_resources/sysdef/dependent/bld.inf', [
+		"helloworld_exe/armv5/udeb/HelloWorld_Application.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppView.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Document.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Main.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Application.o",
+		"helloworld_exe/armv5/urel/HelloWorld_AppUi.o",
+		"helloworld_exe/armv5/urel/HelloWorld_AppView.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Document.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Main.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.o",
+		"helloworld_exe/winscw/udeb/helloworld.UID.CPP",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.o",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.o",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.o",
+		"helloworld_exe/winscw/urel/helloworld.UID.CPP",
+		"helloworld_exe/winscw/urel/helloworld_UID_.o",
+		"helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp"
+		])
+	t.countmatch = [
+		["<recipe .*layer='Component with Layer Dependencies' component='dependent'.*>", 34],
+		["<recipe .*layer='Build Generated Source' component='build generated source'.*>", 4]		
+		]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/talon_test.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,100 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+from raptor_tests import ReplaceEnvs
+import os
+import sys
+
+def run():
+	t = SmokeTest()
+	t.description =  """talon_test: two part test
+	1) Test talon's -c option
+	2) Test talon with a script file that has some blank lines and a single non-blank command line
+	"""
+
+	# Don't need these as we are not invoking Raptor
+	t.logfileOption = lambda : ""
+	t.makefileOption = lambda : ""
+
+	# Set up variables for talon
+	bindir = ReplaceEnvs("$(SBS_HOME)/$(HOSTPLATFORM_DIR)/bin")
+	bash = bindir + "/bash"
+	talon = bindir + "/talon"
+
+	# Adjust if on Windows - three "tries" for Bash on Windows.
+	# 1 Default try
+	if "win" in sys.platform.lower():
+		bash = ReplaceEnvs("$(SBS_HOME)/win32/cygwin/bin/bash.exe")
+		talon = ReplaceEnvs("$(SBS_HOME)/$(HOSTPLATFORM_DIR)/bin/talon.exe")
+	
+	# 2 Bash from a Cygwin
+	if os.environ.has_key("SBS_CYGWIN"):
+		bash = ReplaceEnvs("$(SBS_CYGWIN)/bin/bash.exe")
+	
+	# 3 Bash from an env. var.
+	if os.environ.has_key("SBS_SHELL"):
+		bash = os.environ["SBS_SHELL"]
+	
+	# Talon's command line
+	commandline="\"|name=commandlinetest;COMPONENT_META=commandline/group/bld.inf;PROJECT_META=commandline.mmp;|echo Command line invocation output\""
+	
+	# Talon's "shell script"
+	scriptfile=ReplaceEnvs("$(SBS_HOME)/test/smoke_suite/test_resources/talon_test/script")
+	
+	# Environment variables needed by talon - TALON_SHELL must be bash; the other two can be arbitrary.
+	os.environ["TALON_SHELL"]=bash
+	os.environ["TALON_BUILDID"]=str(t.id)
+	os.environ["TALON_RECIPEATTRIBUTES"]="component=talontest"
+
+	# First part of test - command line
+	t.name = "talon_test command line"
+	t.id = "100a"
+	t.command = "%s -c %s" % (talon, commandline)
+	t.targets = []
+	t.mustmatch_multiline = ["<recipe component=talontest>.*<!\[CDATA\[.*\+ echo Command line invocation output" + 
+			".*\]\]><time start='\d+\.\d+' elapsed='\d+\.\d+' />" + 
+			".*<status exit='ok' attempt='1' />.*</recipe>"]
+
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	# Second part of test - script file
+	t.name = "talon_test script file"
+	t.id = "100b"
+	t.command = "%s %s" % (talon, scriptfile)
+	t.targets = []
+	t.mustmatch_multiline = ["<recipe component=talontest>.*<!\[CDATA\[.*\+ echo Script file output" + 
+			".*\]\]><time start='\d+\.\d+' elapsed='\d+\.\d+' />" + 
+			".*<status exit='ok' attempt='1' />.*</recipe>"]
+
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+
+	# Print final result
+	t.name = "talon_test"
+	t.id = "100"
+	t.print_result()
+
+	# Delete the added environment variables
+	del os.environ["TALON_SHELL"]
+	del os.environ["TALON_BUILDID"]
+	del os.environ["TALON_RECIPEATTRIBUTES"]
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tem_conflicts.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "0094"
+	t.name = "tem_conflicts"
+	t.usebash = 1
+	t.command = "sbs -b smoke_suite/test_resources/tem_conflict/bld.inf " + \
+		"-c armv5 -j 2 -f $SBSLOGFILE; cat $SBSLOGFILE"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/test/tem_conflicts.mk",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/test/tem_conflicts.meta",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/test/tem_conflicts.sh"
+		]
+	t.mustnotmatch = [
+		"cp: cannot open .* for reading: Permission denied",
+		"cp: cannot stat .*: No such file or directory",
+		"rm: cannot remove .*: No such file or directory",
+		"rm: cannot remove .*: Permission denied"
+		]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tem_stages.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,92 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	result = SmokeTest.PASS
+
+	# export the TEM
+
+	t = SmokeTest()
+	t.id = "73a"
+	t.name = "tem_stages"
+	t.command = "sbs -b smoke_suite/test_resources/tem_stages/bld.inf EXPORT"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/test/tem_stages.mk",
+		"$(EPOCROOT)/epoc32/tools/makefile_templates/test/tem_stages.meta"
+		]
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+	# run the main test
+
+	t.id = "73b"
+	t.name = "tem_stages"
+	t.command = "sbs -b smoke_suite/test_resources/tem_stages/bld.inf"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/build/generated/tem_stages_generated.cpp",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated.h",
+
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_armv5_urel.rsg",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_armv5_udeb.rsg",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_winscw_urel.rsg",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_winscw_udeb.rsg",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_armv5_urel.lib",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_armv5_udeb.lib",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_winscw_urel.lib",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_winscw_udeb.lib",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_armv5_urel.bin",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_armv5_udeb.bin",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_winscw_urel.bin",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_winscw_udeb.bin",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_armv5_urel.final",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_armv5_udeb.final",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_winscw_urel.final",
+		"$(EPOCROOT)/epoc32/include/tem_stages_generated_winscw_udeb.final",
+
+		"$(EPOCROOT)/epoc32/release/armv5/urel/tem_stages.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/tem_stages.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/tem_stages.lib",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/tem_stages.exe",
+
+		"$(EPOCROOT)/epoc32/release/armv5/urel/tem_stages.lib2",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/tem_stages.exe2",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/tem_stages.lib2",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/tem_stages.exe2",
+
+		"$(EPOCROOT)/epoc32/release/winscw/urel/tem_stages.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/tem_stages.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/tem_stages.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/tem_stages.exe",
+
+		"$(EPOCROOT)/epoc32/release/winscw/urel/tem_stages.lib2",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/tem_stages.exe2",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/tem_stages.lib2",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/tem_stages.exe2",
+		]
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	# return the combined result
+
+	t.id = "73"
+	t.name = "tem_stages"
+	t.result = result
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/temtest.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,136 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest, CheckWhatSmokeTest
+
+def run():
+	result = SmokeTest.PASS
+	t = SmokeTest()
+	t.id = "0018a"
+	t.name = "temclean"
+	t.command = "sbs -b smoke_suite/test_resources/tem/bldclean.inf -c armv5 CLEAN"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/raptor_smoketest_tem_succeeded",
+		"$(EPOCROOT)/epoc32/raptor_smoketest_tem_failed"
+		]
+	t.missing = 2
+	t.warnings = 1
+	t.returncode = 0
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+	
+	
+	t.id = "0018b"
+	t.name = "temtest"
+	t.command = "sbs -b smoke_suite/test_resources/tem/bld.inf -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/raptor_smoketest_tem_succeeded"
+		]
+	t.warnings = 2
+	t.missing = 0
+	t.returncode = 1
+	t.mustmatch = [ "repeated call to TEM with same values.* Stop\." ]
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+
+	t.id = "0018c"
+	t.name = "temclean2"
+	t.command = "sbs -b smoke_suite/test_resources/tem/bldclean.inf -c armv5 CLEAN"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/raptor_smoketest_tem_succeeded",
+		"$(EPOCROOT)/epoc32/raptor_smoketest_tem_failed"
+		]
+	t.missing = 2
+	t.warnings = 1
+	t.returncode = 0
+	t.mustmatch = []
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+
+	t.id = "0018d"
+	t.name = "badtem"
+	t.command = "sbs -b smoke_suite/test_resources/tem/bad_bld.inf -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/raptor_smoketest_tem_failed"
+		]
+	t.warnings = 3
+	t.missing = 0
+	t.returncode = 1
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+
+	t.id = "0018e"
+	t.name = "temclean3"
+	t.command = "sbs -b smoke_suite/test_resources/tem/bldclean.inf -c armv5 CLEAN"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/raptor_smoketest_tem_succeeded",
+		"$(EPOCROOT)/epoc32/raptor_smoketest_tem_failed"
+		]
+	t.missing = 2
+	t.warnings = 1
+	t.returncode = 0
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+
+	t = CheckWhatSmokeTest()
+	t.id = "0018f"
+	t.name = "temwhat"
+	t.command = "sbs -b smoke_suite/test_resources/simple_extension/bld.inf --what"
+	t.output_expected_only_once = True	
+	t.stdout = [
+		# exports
+		'$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.mk',
+		'$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/clean.meta',
+		'$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.mk',
+		'$(EPOCROOT)/epoc32/tools/makefile_templates/sbsv2test/build.meta',
+		# release tree built
+		'$(EPOCROOT)/epoc32/release/armv5/udeb/simple_extension.txt',
+		'$(EPOCROOT)/epoc32/release/armv5/urel/simple_extension.txt',
+		'$(EPOCROOT)/epoc32/release/winscw/udeb/simple_extension.txt',
+		'$(EPOCROOT)/epoc32/release/winscw/urel/simple_extension.txt'
+	]
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+
+	t = SmokeTest()
+	t.id = "0018g"
+	t.name = "badtem2"
+	t.command = "sbs -b smoke_suite/test_resources/tem/bad2_bld.inf -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/raptor_smoketest_tem_failed"
+		]
+	t.warnings = 3
+	t.returncode = 1
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	t.id = "18"
+	t.name = "temtest"
+	t.result = result
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/terminal_filter_tests.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,54 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+
+	t = SmokeTest()
+	t.description = "Tests against log files to ensure it 'does the right thing'"
+	
+	t.id = "87a"
+	t.name = "terminal_filter_tests_log"
+	t.command = "$(SBS_HOME)/test/smoke_suite/test_resources/refilter/testfilterterminal"
+	t.countmatch = [
+		# One of each type of error occurs early in the 'sbs' call where there
+		# is a recipe inside another recipe. Then the errors occur in the
+		# opposite order where are 2 closing tags next to each other before 2
+		# opening tags appear next to each other
+			["sbs: error: Opening recipe tag found before closing recipe tag for previous recipe:", 2],
+			["Discarding previous recipe \(Possible logfile corruption\)", 2],
+			["sbs: error: Closing recipe tag found before opening recipe tag:", 2],
+			["Unable to print recipe data \(Possible logfile corruption\)", 2]
+	]
+	t.errors = 4
+	t.run()
+	
+	t.id = "87b"
+	t.name = "terminal_filter_tests_configs"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf"
+	t.countmatch = []
+	t.errors = 0
+	t.mustmatch_singleline = ["built 'armv5_urel'",
+							  "built 'armv5_udeb'",
+							  "built 'winscw_urel'",
+							  "built 'winscw_udeb'" ]
+	t.run()
+	
+	t.id = "87"
+	t.name = "terminal_filter_tests"
+	t.print_result()
+	return t
Binary file sbsv2/raptor/test/smoke_suite/test_resources/annofile2log/scrubbed_ncp_dfs_resource.anno.bz2 has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/annofile2log/scrubbed_ncp_dfs_resource.stdout.bz2 has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/annofile2log/testanno2log.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Component description file
+#
+
+
+import sys
+import os
+sys.path.append(os.path.join(os.environ['SBS_HOME'],"python"))
+
+from raptor_make import XMLEscapeLog
+from raptor_make import AnnoFileParseOutput
+
+
+retcode=0
+
+
+if len(sys.argv) > 1:
+	annofile = sys.argv[1]
+else:
+	annofile = sys.stdin
+
+sys.stdout.write("<build>\n")
+try:
+	for l in XMLEscapeLog(AnnoFileParseOutput(annofile)):
+		sys.stdout.write(l)
+
+except Exception,e:
+	sys.stderr.write("error: " + str(e) + "\n")
+	retcode = 1
+sys.stdout.write("</build>\n")
+
+sys.exit(retcode)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/apply_usecases/apply_test_usecases_variants.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- This variant is used so that we can tell if the APPLY keyword
+       can find variants exported into the epoc32 tree -->
+
+  <var name="apply_tools2_linker_options">
+	<append name="LINKER_OPTIONS" value="-lwsock32" />
+  </var>
+
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/apply_usecases/linker_options/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,10 @@
+
+PRJ_EXPORTS
+../apply_test_usecases_variants.xml /epoc32/tools/makefile_templates/
+
+PRJ_PLATFORMS
+TOOLS2
+
+PRJ_MMPFILES
+test_apply_linkeroptions.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/apply_usecases/linker_options/test_apply_linkeroptions.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,4 @@
+int main()
+{
+    return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/apply_usecases/linker_options/test_apply_linkeroptions.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+TARGET          test_apply_linkeroptions
+TARGETTYPE      EXE
+
+SOURCE          test_apply_linkeroptions.cpp
+
+// Link to mingw libs: libwsock32.a 
+APPLY		apply_tools2_linker_options
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/asmtest/asmtest.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			asmtest
+TARGETTYPE		EXE
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE		/epoc32/include
+SOURCE			testasm.s testcia.cia testassembler.cpp
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/asmtest/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7
+
+PRJ_MMPFILES
+asmtest.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/asmtest/testasm.s	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,45 @@
+; test arm assembler
+;
+; (C) Copyright Symbian Software Limited 2008. All rights reserved.
+;
+        AREA |.text|, CODE, READONLY, ALIGN=6
+
+        CODE32
+
+        ; UPT
+
+;
+;
+
+
+
+;EXPORT fake_assembler_function1
+        EXPORT  _Z24fake_assembler_function1v
+
+;fake_assembler_function1
+_Z24fake_assembler_function1v
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        mov             r0,r0           ; nop
+        bx lr
+
+        END
+
+; End of file - testasm.s
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/asmtest/testassembler.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Assembler test";
+
+void fake_assembler_function1(void);
+void fake_assembler_function2(void);
+
+TInt E32Main()
+{
+	fake_assembler_function1();
+	fake_assembler_function2();
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/asmtest/testcia.cia	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32cia.h>
+// #include <arm.h>
+// #include <cache.h>
+
+// #include <nk_priv.h>
+
+#ifndef __CIA__
+#error __CIA__ must be defined for .cia files
+#endif
+
+__NAKED__ void fake_assembler_function2(void)
+    {
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+    asm("mov r0, r0 ");         // nop
+
+    asm("bx lr");
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/basics/commonframework/CommonFramework.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#ifndef __CommonFramework_H
+#define __CommonFramework_H
+
+#include <e32base.h>
+#include <e32cons.h>
+
+_LIT(KTxtEPOC32EX,"EXAMPLES");
+_LIT(KTxtExampleCode,"Symbian OS Example Code");
+_LIT(KFormatFailed,"failed: leave code=%d");
+_LIT(KTxtOK,"ok");
+_LIT(KTxtPressAnyKey," [press any key]");
+
+// public
+LOCAL_D CConsoleBase* console; // write all your messages to this
+LOCAL_C void doExampleL(); // code this function for the real example
+
+// private
+LOCAL_C void callExampleL(); // initialize with cleanup stack, then do example
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error,callExampleL()); // more initialization, then do example
+	__ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0; // and return
+    }
+
+LOCAL_C void callExampleL() // initialize and call example code under cleanup stack
+    {
+	console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));
+	CleanupStack::PushL(console);
+	TRAPD(error,doExampleL()); // perform example function
+	if (error)
+		console->Printf(KFormatFailed, error);
+	else
+		console->Printf(KTxtOK);
+	console->Printf(KTxtPressAnyKey);
+	console->Getch(); // get and ignore character
+	CleanupStack::PopAndDestroy(); // close console
+    }
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/basics/commonframework/DISTRIBUTION.POLICY	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,2 @@
+Category G
+OSD:	Reference/Test	Tools
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/Bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_MMPFILES
+
+HelloWorld.mmp
+
+PRJ_EXPORTS
+result_creation.flm /epoc32/tools/makefile_templates/tools/result_creation.flm
+result_creation.xml /epoc32/tools/makefile_templates/tools/result_creation.xml
+
+PRJ_EXTENSIONS
+START EXTENSION helloworld.extensiontest run_this
+	OPTION TEST_RESULT "success"
+END
+
+START EXTENSION helloworld.extensiontest skip_this
+	OPTION TEST_RESULT "failure"
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/DISTRIBUTION.POLICY	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,2 @@
+Category G
+OSD:	Reference/Test	Tools
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/HelloWorld.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "CommonFramework.h"
+
+// do the example
+LOCAL_C void doExampleL()
+    {
+	_LIT(KHelloWorldText,"Hello world!\n");
+	console->Printf(KHelloWorldText);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/HelloWorld.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        HelloWorld.exe
+TARGETTYPE    exe
+UID           0xE8000047
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        HelloWorld.cpp
+
+USERINCLUDE   .
+USERINCLUDE   ..\commonframework
+SYSTEMINCLUDE \epoc32\include
+
+LIBRARY       euser.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/result_creation.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# # Will output whether the test has passed or failed
+# 
+#
+
+## Parameters that are expected:
+# TEST_RESULT
+# EPOCROOT
+
+ALL::
+	echo $(TEST_RESULT) > $(EPOCROOT)/epoc32/$(TEST_RESULT).txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/basics/helloworld/result_creation.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<build xmlns="http://symbian.com/xml/build"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+	<!-- Extension interfaces : replacements for Template Extension Makefiles -->
+
+	<interface name="helloworld.extensiontest" flm="result_creation.flm">
+		<param name="TEST_RESULT" />
+		<param name="EPOCROOT" />
+	</interface>
+
+</build>
Binary file sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF24.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF2M.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF32.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF3M.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF48.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/bitmap/aifsrccl/DEF4M.BMP has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bitmap/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+
+PRJ_EXPORTS
+mifconv.xml /epoc32/tools/makefile_templates/test/mifconv.xml
+mifconv.flm /epoc32/tools/makefile_templates/test/mifconv.flm
+
+PRJ_MMPFILES
+bmt.mmp
+
+PRJ_EXTENSIONS
+START EXTENSION test.mifconv
+  OPTION MIFCONV_TEST 1
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bitmap/bmt.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+target			testbitmap.dll
+targettype      DLL
+source			fake.cpp
+
+START BITMAP	testbitmap.mBm
+HEADER
+
+// Test backslash conversion to / here:
+TARGETPATH		\resource\apps
+SOURCEPATH		aifsrccl
+SOURCE			c8,1 DEF24.BMP DEF2M.BMP DEF32.BMP DEF3M.BMP DEF48.BMP DEF4M.BMP
+END
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bitmap/mifconv.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,2 @@
+# SBSv2 test flm
+# This helps test mifconv for s60
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bitmap/mifconv.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?> 
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+ <interface name="test.mifconv" extends="Symbian.UserFLM" flm="mifconv.flm">
+  <param name="MIFCONV_TEST" /> 
+ </interface>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/CREATESTATICDLLARM.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,6 @@
+EXPORTS
+	_ZN10CMessenger11ShowMessageEv @ 1 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+	_ZTI10CMessenger @ 3 NONAME ; #<TI>#
+	_ZTV10CMessenger @ 4 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/CREATESTATICDLLWINS.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+EXPORTS
+; NEW:
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 1 NONAME ; public: static class CMessenger * __cdecl CMessenger::NewLC(class CConsoleBase &,class TDesC16 const &)
+	?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; public: void __thiscall CMessenger::ShowMessage(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_MMPFILES
+
+variant1/CreateStaticDLL_variant1.mmp
+invariant/CreateStaticDLL_invariant.mmp
+variant2/CreateStaticDLL_variant2.mmp
+variant3/CreateEXE_variant3.mmp
+invariant/CreateStaticLib.mmp
+
+PRJ_EXTENSIONS
+
+START EXTENSION utility.prebuilt
+OPTION PRE_PLATFORM armv5
+OPTION PRE_TYPE urel
+OPTION BINARIES release/dummy.lib release/fake.lib->relfake.lib
+END
+
+START EXTENSION utility.prebuilt
+OPTION PRE_PLATFORM armv5
+OPTION PRE_TYPE udeb
+OPTION BINARIES debug/dummy.lib debug/fake.lib->debfake.lib
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/config/properties/os_properties.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+        
+  <!-- Modify the root variant to turn on safe generation of Feature Variant binaries -->
+  <var name="root.changes">
+    <set name='FEATUREVARIANTSAFE' value='1'/>
+  </var>
+  
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/config/variants/bv_test.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+	<build xmlns="http://symbian.com/xml/build"
+			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+			xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+		<!-- test feature variants -->
+		<var name="test_bv_1" type="product">
+			<set name='FEATUREVARIANTNAME' value='.one' />
+			<set name='FEATURELISTFILES'
+					value='$(SBS_HOME)/test/smoke_suite/test_resources/bv/listA.txt
+					$(SBS_HOME)/test/smoke_suite/test_resources/bv/listB.txt' />
+			<set name='VARIANT_HRH'
+					value='$(SBS_HOME)/test/smoke_suite/test_resources/bv/hrh/var1.hrh' />
+			<set name='SYSTEMINCLUDE'
+					value='$(SBS_HOME)/test/smoke_suite/test_resources/bv/var1
+					$(SBS_HOME)/test/smoke_suite/test_resources/bv/hrh' />   
+  		</var>
+		<var name="test_bv_2" type="product">
+			<set name='FEATUREVARIANTNAME' value='.two' />
+			<set name='FEATURELISTFILES'
+					value='$(SBS_HOME)/test/smoke_suite/test_resources/bv/listA.txt
+					$(SBS_HOME)/test/smoke_suite/test_resources/bv/listB.txt' />
+			<set name='VARIANT_HRH'
+					value='$(SBS_HOME)/test/smoke_suite/test_resources/bv/hrh/var2.hrh' />
+			<set name='SYSTEMINCLUDE'
+					value='$(SBS_HOME)/test/smoke_suite/test_resources/bv/var2
+					$(SBS_HOME)/test/smoke_suite/test_resources/bv/hrh' />
+		</var>
+		<var name="test_bv_3" type="product">
+			<set name='FEATUREVARIANTNAME' value='.three' />
+			<set name='FEATURELISTFILES'
+					value='$(SBS_HOME)/test/smoke_suite/test_resources/bv/listA.txt
+					$(SBS_HOME)/test/smoke_suite/test_resources/bv/listB.txt' />
+			<set name='VARIANT_HRH'
+					value='$(SBS_HOME)/test/smoke_suite/test_resources/bv/hrh/var3.hrh' />
+			<set name='SYSTEMINCLUDE'
+					value='$(SBS_HOME)/test/smoke_suite/test_resources/bv/var3
+					$(SBS_HOME)/test/smoke_suite/test_resources/bv/hrh' />
+		</var>
+	</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/debug/dummy.lib	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1 @@
+0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/debug/fake.lib	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1 @@
+0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/hrh/bv_hrh_relative/relative.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// relative.h
+
+#define RELATIVE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/hrh/var1.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include <variant/Symbian_OS.hrh>
+
+// benign include relative to this file
+#include <bv_hrh_relative/relative.h>
+
+// include from test/bv/var1 defines A_3 and B_100 used in source
+#include <var1.h>
+
+// extra defines that are never used
+#define V_ONE_ABC
+#define V_TWO_DEF
+#define V_THREE_GHI
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/hrh/var2.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include <variant/Symbian_OS.hrh>
+
+// benign include relative to this file
+#include <bv_hrh_relative/relative.h>
+
+// include from test/bv/var2 defines A_3 used in source
+#include <var2.h>
+
+// extra defines that are never used
+#define V_TWO_ABC
+#define V_ONE_DEF
+#define V_THREE_GHI
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/hrh/var3.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include <variant/Symbian_OS.hrh>
+
+// benign include relative to this file
+#include <bv_hrh_relative/relative.h>
+
+// include from test/bv/var3 defines A_3 used in source
+#include <var3.h>
+
+// extra defines that are never used
+#define V_TWO_ABC
+#define V_ONE_DEF
+#define V_THREE_GHI
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.cpp
+* This program creates a dll.
+*
+*/
+
+
+#include "CreateStaticDLL_invariant.h"
+#include <e32uid.h>
+
+// construct/destruct
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+	{
+	delete iString;
+	}
+
+EXPORT_C void CMessenger::ShowMessage()
+	{
+	_LIT(KFormat1,"%S\n");
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.h
+*
+*/
+
+ 
+
+#include <e32cons.h>
+
+
+class CMessenger : public CBase
+  	{
+public:
+		// Construction
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+		// Destructor - virtual and class not intended
+		// for derivation, so not exported
+	~CMessenger();
+		// general functions - exported
+	IMPORT_C void ShowMessage();
+private:
+		// C++ constructor - not exported;
+		// implicitly called from NewLC()
+	CMessenger(CConsoleBase& aConsole);
+		// 2nd phase construction, called by NewLC()
+	void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+	CConsoleBase& iConsole; // Use the console (but not owned)
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+	};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.mmp
+*
+*/
+
+
+TARGET        createstaticdll_invariant.dll
+TARGETTYPE    dll
+
+UID             0xE800004C
+CAPABILITY   All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        CreateStaticDLL_invariant.cpp
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/techview
+
+LIBRARY       euser.lib
+
+// Dummy resource entry to exercise the resource build in a BV context
+START RESOURCE	dummy.rss
+TARGET			dummy_inv.rsc
+HEADER
+TARGETPATH		/resource/apps
+END
+
+#if defined(WINS)
+    deffile ../CREATESTATICDLLWINS.def
+#else
+    deffile ../CREATESTATICDLLARM.def
+#endif
+nostrictdef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticLib.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticLib.cpp
+*
+*/
+
+
+void bv_static_lib_function(void)
+{
+	int x = 1;
+	int y = 8;
+	int z = 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticLib.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticLib.mmp
+*
+*/
+
+
+TARGET        bv_static_lib.lib
+TARGETTYPE    lib
+
+SOURCEPATH    .
+SOURCE        CreateStaticLib.cpp
+SYSTEMINCLUDE /epoc32/include
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/dummy.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// dummy.rss
+
+NAME DUMM
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_dummy_text { buf="Dummy!"; }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/listA.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+A_1
+A_2
+A_3
+_A_1_
+_A_2_
+_A_3_
+A_LONGER_NAME_THAN_YOU_MIGHT_EXPECT_HERE_MAYBE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/listB.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,11 @@
+B
+B_1
+B_10
+B_100
+B_1000
+B_10000
+B_100000
+B_1000000
+B_10000000
+B_100000000
+B_1000000000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/release/dummy.lib	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1 @@
+0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/release/fake.lib	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1 @@
+0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/var1/var1.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// included from test/bv/var1.hrh defines A_3 and B_100 used in source
+
+#define A_1
+#define A_3
+#define A_5
+#define B_1
+#define B_100
+#define B_10000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/var2/var2.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// included from test/bv/var2.hrh defines A_3 used in source
+
+#define A_1
+#define A_2
+#define A_3
+#define A_4
+#define A_5
+#define A_once
+#define A_i
+#define A_caught
+#define A_a
+#define A_fish
+#define A_alive
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/var3/var3.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// included from test/bv/var3.hrh defines A_3 used in source
+
+#define A_1
+#define A_2
+#define A_3
+#define A_4
+#define A_5
+#define A_once
+#define A_i
+#define A_caught
+#define A_a
+#define A_fish
+#define A_alive
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.cpp
+* This program creates a dll.
+*
+*/
+
+
+#include "CreateStaticDLL_variant1.h"
+#include <e32uid.h>
+
+// construct/destruct
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+	{
+	delete iString;
+	}
+
+EXPORT_C void CMessenger::ShowMessage()
+	{
+#ifdef A_3
+// use a builtin macro to test a cpp defect
+#ifdef __FILE__
+	_LIT(KFormat1,"A_3 %S\n");
+#endif
+#else
+// use a builtin macro to test a cpp defect
+#ifdef __LINE__
+	_LIT(KFormat1,"not A_3 %S\n");
+#endif
+#endif
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.h
+*
+*/
+
+ 
+
+#include <e32cons.h>
+
+
+class CMessenger : public CBase
+  	{
+public:
+		// Construction
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+		// Destructor - virtual and class not intended
+		// for derivation, so not exported
+	~CMessenger();
+		// general functions - exported
+	IMPORT_C void ShowMessage();
+private:
+		// C++ constructor - not exported;
+		// implicitly called from NewLC()
+	CMessenger(CConsoleBase& aConsole);
+		// 2nd phase construction, called by NewLC()
+	void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+	CConsoleBase& iConsole; // Use the console (but not owned)
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+	};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.mmp
+*
+*/
+
+
+TARGET        createstaticdll_variant1.dll
+TARGETTYPE    dll
+
+UID             0xE800004C
+CAPABILITY   All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        CreateStaticDLL_variant1.cpp
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/techview
+
+LIBRARY       euser.lib
+// static libs are always feature invariant
+STATICLIBRARY bv_static_lib
+
+// Dummy resource entry to exercise the resource build in a BV context
+START RESOURCE	dummy.rss
+TARGET			dummy_var1.rsc
+HEADER
+TARGETPATH		/resource/apps
+END
+
+FEATUREVARIANT
+
+#if defined(WINS)
+    deffile ../CREATESTATICDLLWINS.def
+#else
+    deffile ../CREATESTATICDLLARM.def
+#endif
+nostrictdef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/dummy.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// dummy.rss
+
+NAME DUMM
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_dummy_text { buf="Dummy!"; }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.cpp
+* This program creates a dll.
+*
+*/
+
+
+#include "CreateStaticDLL_variant2.h"
+#include <e32uid.h>
+
+// construct/destruct
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+	{
+	delete iString;
+	}
+
+EXPORT_C void CMessenger::ShowMessage()
+	{
+#ifdef B_100
+	_LIT(KFormat1,"B_100 %S\n");
+#else
+	_LIT(KFormat1,"%S\n");
+#endif
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.h
+*
+*/
+
+ 
+
+#include <e32cons.h>
+
+
+class CMessenger : public CBase
+  	{
+public:
+		// Construction
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+		// Destructor - virtual and class not intended
+		// for derivation, so not exported
+	~CMessenger();
+		// general functions - exported
+	IMPORT_C void ShowMessage();
+private:
+		// C++ constructor - not exported;
+		// implicitly called from NewLC()
+	CMessenger(CConsoleBase& aConsole);
+		// 2nd phase construction, called by NewLC()
+	void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+	CConsoleBase& iConsole; // Use the console (but not owned)
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+	};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.mmp
+*
+*/
+
+
+TARGET        createstaticdll_variant2.dll
+TARGETTYPE    dll
+
+UID             0xE800004C
+CAPABILITY   All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        CreateStaticDLL_variant2.cpp
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/techview
+
+LIBRARY       euser.lib
+
+// Dummy resource entry to exercise the resource build in a BV context
+START RESOURCE	dummy.rss
+TARGET			dummy_var2.rsc
+HEADER
+TARGETPATH		/resource/apps
+END
+
+FEATUREVARIANT
+
+#if defined(WINS)
+    deffile ../CREATESTATICDLLWINS.def
+#else
+    deffile ../CREATESTATICDLLARM.def
+#endif
+nostrictdef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/dummy.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// dummy.rss
+
+NAME DUMM
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_dummy_text { buf="Dummy!"; }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This program creates an exe.
+*
+*/
+
+
+#include "CreateEXE_variant3.h"
+#include <e32uid.h>
+
+// construct/destruct
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+	{
+	delete iString;
+	}
+
+TInt E32Main()
+{
+	return 0;
+}
+
+EXPORT_C void CMessenger::ShowMessage()
+	{
+#ifdef B_100
+	_LIT(KFormat1,"B_100 %S\n");
+#else
+	_LIT(KFormat1,"%S\n");
+#endif
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+// constructor support
+// don't export these, because used only by functions in this EXE, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#include <e32cons.h>
+
+
+class CMessenger : public CBase
+  	{
+public:
+		// Construction
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+		// Destructor - virtual and class not intended
+		// for derivation, so not exported
+	~CMessenger();
+		// general functions - exported
+	IMPORT_C void ShowMessage();
+private:
+		// C++ constructor - not exported;
+		// implicitly called from NewLC()
+	CMessenger(CConsoleBase& aConsole);
+		// 2nd phase construction, called by NewLC()
+	void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+	CConsoleBase& iConsole; // Use the console (but not owned)
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+	};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        createexe_variant3.exe
+TARGETTYPE    exe
+
+UID             0xE800004C
+CAPABILITY   All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        CreateEXE_variant3.cpp
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/techview
+
+LIBRARY       euser.lib
+
+// Dummy resource entry to exercise the resource build in a BV context
+START RESOURCE	dummy.rss
+TARGET			dummy_var3.rsc
+HEADER
+TARGETPATH		/resource/apps
+END
+
+FEATUREVARIANT
+
+#if defined(WINS)
+    deffile ../CREATESTATICDLLWINS.def
+#else
+    deffile ../CREATESTATICDLLARM.def
+#endif
+nostrictdef
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/dummy.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// dummy.rss
+
+NAME DUMM
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_dummy_text { buf="Dummy!"; }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/with_errors.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// this file has cpp errors
+//
+#error this code is broken
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/with_macros.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// this file uses feature variant macros
+//
+#ifdef A_1
+#ifdef B_1000
+int x = 1;
+#endif
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/without_macros.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// this file uses no feature variant macros
+//
+int y = 1;
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/checksource/commonframework/CommonFramework.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#ifndef __CommonFramework_H
+#define __CommonFramework_H
+
+#include <e32Base.h>
+#include <e32cons.h>
+
+_LIT(KTxtEPOC32EX,"EXAMPLES");
+_LIT(KTxtExampleCode,"Symbian OS Example Code");
+_LIT(KFormatFailed,"failed: leave code=%d");
+_LIT(KTxtOK,"ok");
+_LIT(KTxtPressAnyKey," [press any key]");
+
+// public
+LOCAL_D CConsoleBase* console; // write all your messages to this
+LOCAL_C void doExampleL(); // code this function for the real example
+
+// private
+LOCAL_C void callExampleL(); // initialize with cleanup stack, then do example
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error,callExampleL()); // more initialization, then do example
+	__ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0; // and return
+    }
+
+LOCAL_C void callExampleL() // initialize and call example code under cleanup stack
+    {
+	console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));
+	CleanupStack::PushL(console);
+	TRAPD(error,doExampleL()); // perform example function
+	if (error)
+		console->Printf(KFormatFailed, error);
+	else
+		console->Printf(KTxtOK);
+	console->Printf(KTxtPressAnyKey);
+	console->Getch(); // get and ignore character
+	CleanupStack::PopAndDestroy(); // close console
+    }
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/checksource/helloworld/Bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_MMPFILES
+
+HelloWorld.mmp
+HelloWorld2.mmp
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/checksource/helloworld/HelloWorld.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        HelloWorld.exe
+TARGETTYPE    exe
+UID           0xE8000047
+VENDORID 0x70000001
+
+SOURCEPATH    ..\Source
+SOURCE        helloWorld.cpp
+
+USERINCLUDE   .
+USERINCLUDE   ..\commonframework
+SYSTEMINCLUDE \epoc32\include
+
+LINKEROPTION CW --verbose
+
+LIBRARY       euser.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/checksource/helloworld/HelloWorld2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        HelloWorld2.exe
+TARGETTYPE    exe
+UID           0xE8000047
+VENDORID 0x70000001
+
+SOURCEPATH    ..\source
+SOURCE        Helloworld.cpp
+
+USERINCLUDE   .
+USERINCLUDE   ..\commonframework
+SYSTEMINCLUDE \epoc32\include
+
+LIBRARY       euser.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/checksource/source/HelloWorld.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "CommonFramework.H"
+
+// do the example
+LOCAL_C void doExampleL()
+    {
+	_LIT(KHelloWorldText,"Hello world!\n");
+	console->Printf(KHelloWorldText);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/configpathtest/v2/variant2.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- This variant is used for testing purposes -->
+  <var name="configpathtest2">
+	<set name='D' value='1'/>
+  </var>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/configpathtest/v3/variant3.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+       
+  <!-- This variant is used for testing purposes -->
+  <var name="configpathtest3">
+	<set name='S' value='3'/>
+	<append name="CDEFS" value="TESTPASSED" />
+  </var>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/defs/eabi/deftestu.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1 @@
+EXPORTS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/defs/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7
+
+PRJ_MMPFILES
+deftest.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/defs/group/deftest.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+target		deftest
+targettype		dll
+
+source	test.cpp 
+unpaged
+macro __TESTNAME__="deftest"
+
+deffile  deftest.def
+uid 0x1000008d 0x100039e5
+VENDORID 0x70000001
+capability		all
+unpaged
+epocallowdlldata
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/defs/group/e32def.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,2870 @@
+/*
+* Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32\include\e32def.h
+* NOTE: THIS FILE SHOULD BE ACCEPTABLE TO A C COMPILER
+*
+*/
+
+
+
+
+#ifndef __E32DEF_H__
+#define __E32DEF_H__
+
+/*
+ * __LEAVE_EQUALS_THROW__ requires the compiler to support C++ exceptions
+ */
+#ifndef __SUPPORT_CPP_EXCEPTIONS__
+#undef __LEAVE_EQUALS_THROW__
+#endif
+
+
+
+
+
+#ifdef __PROFILING__
+
+/**
+@publishedPartner
+@removed
+*/
+#define __PROFILE_START(aBin) RDebug::ProfileStart(aBin)
+
+/**
+@publishedPartner
+@removed
+*/
+#define __PROFILE_END(aBin)   RDebug::ProfileEnd(aBin)
+
+/**
+@publishedPartner
+@removed
+*/
+#define __PROFILE_RESET(aNumberOfBins) RDebug::ProfileReset(0,aNumberOfBins)
+
+/**
+@publishedPartner
+@removed
+*/
+#define __PROFILE_DISPLAY(aNumberOfBins) \
+			{	TFixedArray<TProfile, aNumberOfBins> result; \
+				RDebug::ProfileResult(result.Begin(), 0, aNumberOfBins); \
+				for (TInt i=0; i<aNumberOfBins; i++)   \
+				RDebug::Print(_L("Profile bin %d:  Calls: %d, Clock ticks: %d\n" ),i,res[i].iCount,result[i].iTime);  \
+			}
+#else /* __PROFILING__ */
+#define __PROFILE_START(aBin) 
+#define __PROFILE_END(aBin)   
+#define __PROFILE_RESET(aNumberOfBins) 
+#define __PROFILE_DISPLAY(aNumberOfBins)
+#endif
+
+
+
+#if defined(__VC32__)
+/**
+@publishedAll
+@released
+*/
+#define __NO_CLASS_CONSTS__
+#if (_MSC_VER >= 1200)
+/**
+@publishedAll
+@released
+*/
+#define __NORETURN__ __declspec(noreturn)
+#else
+#define __NORETURN__
+#endif
+/**
+@publishedAll
+@released
+*/
+#define __NORETURN_TERMINATOR()
+/**
+@publishedAll
+@released
+*/
+#define IMPORT_C __declspec(dllexport)
+/**
+@publishedAll
+@released
+*/
+#define EXPORT_C __declspec(dllexport)
+/**
+@publishedAll
+@released
+*/
+#define NONSHARABLE_CLASS(x) class x
+/**
+@publishedAll
+@released
+*/
+#define NONSHARABLE_STRUCT(x) struct x
+/**
+@publishedAll
+@released
+*/
+#define __NO_THROW throw()
+/**
+@publishedAll
+@released
+*/
+#define __THROW(t) throw(t)
+#pragma warning( disable : 4355 )	/* 'this' used in base member initializer list */
+#pragma warning( disable : 4511 )	/* copy constructor could not be generated */
+#pragma warning( disable : 4512 )	/* assignment operator could not be generated */
+#pragma warning( disable : 4514 )	/* unreferenced inline function has been removed */
+#pragma warning( disable : 4699 )	/* Note: Using precompiled header %s */
+#pragma warning( disable : 4710 )	/* function not inlined */
+#pragma warning( disable : 4121 )	/* alignment sensitive to packing */
+#pragma warning( disable : 4273 )
+#pragma warning( disable : 4097 )	/* typedef-name 'identifier1' used as synonym for class-name 'identifier2' */
+#pragma warning( disable : 4291 )	/* 'TAny *CBase::operator new(TUint,TLeave)' : no matching operator delete found; memory will not be freed if initialization throws an exception */
+
+#if _MSC_VER  >= 1100
+/**
+@publishedAll
+@released
+*/
+#define TEMPLATE_SPECIALIZATION template<>
+#else
+#define TEMPLATE_SPECIALIZATION
+#endif
+#endif
+
+
+
+#if defined(__CW32__)
+#undef __embedded_cplusplus
+/** @internalTechnology */
+#define __embedded_cplusplus	1
+#define __NO_CLASS_CONSTS__
+#define __NORETURN__
+#define __NORETURN_TERMINATOR()
+#define IMPORT_C __declspec(dllexport)
+#define EXPORT_C __declspec(dllexport)
+#define NONSHARABLE_CLASS(x) class x
+#define NONSHARABLE_STRUCT(x) struct x
+#define __NO_THROW throw()
+#define __THROW(t) throw(t)
+
+#define TEMPLATE_SPECIALIZATION template<>
+/**
+@publishedAll
+@released
+*/
+#define _asm	asm
+#ifndef __int64
+#pragma longlong on
+/** @internalTechnology */
+#define __int64  long long
+#endif
+#ifndef __SUPPORT_CPP_EXCEPTIONS__
+#pragma exceptions off    /* no support for C++ exception handling */
+#pragma RTTI off          /* no support for C++ runtime type information */
+#endif
+#if __MWERKS__ >= 0x3200
+#pragma warning off (10480)	/* deleteing void pointer is undefined */
+#pragma warning off (10350) /* N pad byte(s) inserted after data member */
+#endif
+#endif
+
+
+
+#if defined(__GCC32__)
+#define __NO_CLASS_CONSTS__
+#define __NORETURN__  __attribute__ ((noreturn))
+#ifdef __GCCV3__
+#define __NORETURN_TERMINATOR()
+#else
+#define __NORETURN_TERMINATOR()		abort()
+#endif
+#define IMPORT_C
+#if !defined __WINS__ && defined _WIN32 /* VC++ Browser Hack */
+#define EXPORT_C
+/** @internalTechnology */
+#define asm(x)
+#else
+#define EXPORT_C __declspec(dllexport)
+#endif
+#define NONSHARABLE_CLASS(x) class x
+#define NONSHARABLE_STRUCT(x) struct x
+#define __NO_THROW
+#define __THROW(t)
+#ifdef __EABI__
+#define TEMPLATE_SPECIALIZATION template<>
+#else
+#define TEMPLATE_SPECIALIZATION
+#endif
+#endif
+
+
+
+#ifdef __GCC32__
+/**
+@publishedAll
+@released
+*/
+#define __DOUBLE_WORDS_SWAPPED__
+#endif
+
+
+
+/** @internalTechnology */
+#define __NO_MUTABLE_KEYWORD
+#if defined(__NO_MUTABLE_KEYWORD)
+/**
+@publishedAll
+@deprecated
+*/
+#define __MUTABLE
+#else
+#define __MUTABLE mutable
+#endif
+
+
+
+/**
+@publishedAll
+@deprecated
+*/
+#define CONST_CAST(type,exp) (const_cast<type>(exp))
+
+/**
+@publishedAll
+@deprecated
+*/
+#define STATIC_CAST(type,exp) (static_cast<type>(exp))
+
+/**
+@publishedAll
+@deprecated
+*/
+#define REINTERPRET_CAST(type,exp) (reinterpret_cast<type>(exp))
+
+#if defined(__NO_MUTABLE_KEYWORD)
+/**
+@publishedAll
+@deprecated
+*/
+#define MUTABLE_CAST(type,exp) (const_cast<type>(exp))
+#else
+#define MUTABLE_CAST(type,exp) (exp)
+#endif
+
+/**
+@publishedAll
+@deprecated
+*/
+#define GLREF_D extern
+/**
+@publishedAll
+@deprecated
+*/
+#define GLDEF_D
+/**
+@publishedAll
+@deprecated
+*/
+#define LOCAL_D static
+/**
+@publishedAll
+@deprecated
+*/
+#define GLREF_C extern
+/**
+@publishedAll
+@deprecated
+*/
+#define GLDEF_C
+/**
+@publishedAll
+@deprecated
+*/
+#define LOCAL_C static
+/**
+@publishedAll
+@deprecated
+*/
+#define FOREVER for(;;)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Symbolic definition for a true value.
+*/
+#define TRUE 1
+
+
+
+
+/**
+@publishedAll
+@released
+
+Symbolic definition for a false value.
+*/
+#define FALSE 0
+#ifndef NULL
+
+
+
+
+/**
+@publishedAll
+@released
+
+Symbolic definition for a NULL value.
+*/
+#define NULL 0
+#endif
+
+
+
+
+#ifndef VA_START
+/**
+@publishedAll
+@released
+
+A macro used by Symbian OS code for handling a variable argument list
+in a function call.
+
+Sets a pointer to point to the first of the variable arguments.
+
+Typical usage:
+
+@code
+Foo(CAbcdef aAbcdef,...)
+   {
+   VA_LIST list;
+   VA_START(list, aAbcdef);
+   // other code
+   } 
+@endcode
+
+@param ap   A pointer used to hold the address of an argument in
+            the variable argument list. After execution of the code generated 
+            by this macro, the pointer points to the first argument in
+            the variable argument list.
+            This symbol is usually declared as a VA_LIST type. 
+
+@param pn   The argument that immediately precedes the variable argument list.
+
+@see VA_LIST
+@see VA_ARG
+*/
+#define VA_START(ap,pn) ((ap)[0]=(TInt8 *)&pn+((sizeof(pn)+sizeof(TInt)-1)&~(sizeof(TInt)-1)),(void)0)
+#endif
+
+
+
+
+#ifndef VA_ARG
+/**
+@publishedAll
+@released
+
+A macro used by Symbian OS code for handling a variable argument list
+in a function call.
+
+Increments a pointer to a variable argument list to point to the next argument
+in the list. The current argument is assumed to be of a type defined by
+the second parameter to this macro.
+
+Typical usage:
+
+@code
+Foo(CAbcdef aAbcdef,...)
+   {
+   VA_LIST list;
+   VA_START(list, aAbcdef);
+   ...
+   TInt x = VA_ARG(list,TInt);
+   ...
+   const TDesC *pS=VA_ARG(aList,const TDesC*);
+   ... 
+   etc
+   } 
+@endcode
+
+@param ap   A pointer used to hold the address of an argument in
+            the variable argument list. It is assumed to point to the current
+            argument in the variable argument list. After execution of the code
+            generated by this macro, the pointer points to the next argument in
+            the list. This symbol is usually declared as a VA_LIST type. 
+
+@param type The type of the current argument.
+            This can be any valid type, for example, TInt, const TDesC*, etc.
+            
+@see VA_LIST
+@see VA_START            
+*/
+#define VA_ARG(ap,type) ((ap)[0]+=((sizeof(type)+sizeof(TInt)-1)&~(sizeof(TInt)-1)),(*(type *)((ap)[0]-((sizeof(type)+sizeof(TInt)-1)&~(sizeof(TInt)-1)))))
+#endif
+
+
+
+
+#ifndef VA_END
+/**
+@publishedAll
+@released
+
+A macro used by Symbian OS code for handling a variable argument list
+in a function call.
+
+Sets a pointer to zero.
+
+@param ap   A pointer used to hold the address of an argument in
+            the variable argument list. After execution of the code generated 
+            by this macro, the pointer is reset to 0.
+            This symbol is usually declared as a VA_LIST type. 
+            
+@see VA_LIST
+@see VA_START
+@see VA_ARG            
+*/
+#define VA_END(ap) ((ap)[0]=0,(void)0)
+#endif
+	
+
+
+/**
+@publishedAll
+@released
+
+Calculates the offset of member f within class c.
+
+This is used in the TSglQue and TDblQue constructors to set the offset of
+the link object from the start of a list element.
+
+@param c The name of the class.
+@param f The name of the member within the specified class.
+
+@see TSglQue
+@see TDblQue
+*/
+#ifndef _FOFF
+#define _FOFF(c,f)			(((TInt)&(((c *)0x1000)->f))-0x1000)
+#endif
+
+
+
+/**
+@internalTechnology
+@released
+*/
+#define _ALIGN_DOWN(x,a)	((x)&~((a)-1))
+/**
+@internalTechnology
+@released
+*/
+#define _ALIGN_UP(x,a)		_ALIGN_DOWN((x)+(a)-1, a)
+
+
+
+
+/** 
+@publishedAll
+@released
+
+Pointer to any type.
+
+TAny* is equivalent to void* in standard C or C++. TAny* is used in preference 
+to void* because it is more suggestive of the actual meaning,
+e.g. TAny* foo();.
+
+TAny is not used where it really means "nothing", as in the declaration of 
+functions which do not return a value; void is used instead, e.g. void Foo();.
+*/
+typedef void TAny;
+
+
+
+
+/**
+@publishedAll
+@released
+
+8-bit signed integer type, used in Symbian OS to mean an 8-bit
+signed integer, independent of the implementation.
+*/
+typedef signed char TInt8;
+
+
+
+
+/**
+@publishedAll
+@released
+
+8-bit unsigned integer type; used in Symbian OS to mean an 8-bit
+unsigned integer, independent of the implementation.
+*/
+typedef unsigned char TUint8;
+
+
+
+
+/**
+@publishedAll
+@released
+
+16-bit signed integer type, used in Symbian OS to mean a 16-bit
+signed integer, independent of the implementation.
+*/
+typedef short int TInt16;
+
+
+
+
+/**
+@publishedAll
+@released
+
+16-bit unsigned integer type. used in Symbian OS to mean a 16-bit
+unsigned integer, independent of the implementation.
+*/
+typedef unsigned short int TUint16;
+
+
+
+
+/**
+@publishedAll
+@released
+
+32-bit signed integer type, used in Symbian OS to mean a 32-bit
+signed integer, independent of the implementation.
+*/
+typedef long int TInt32;
+
+
+
+
+/**
+@publishedAll
+@released
+
+32-bit unsigned integer type; used in Symbian OS to mean a 32-bit
+unsigned integer, independent of the implementation.
+*/
+typedef unsigned long int TUint32;
+
+
+
+
+/**
+@publishedAll
+@released
+
+Signed integer type of the natural machine word length.
+
+This is as defined by the C++ implementation's int type. In all
+implementations, this is guaranteed to be at least 32 bits.
+
+A TInt should be used in preference to a sized integer (TInt32, TInt16) for 
+all general use. Sized integers should only be used when packing is essential. 
+C++'s type conversion rules imply that all sized integers smaller than the 
+natural machine word are in any case broadened to the natural machine word 
+size when passed as function parameters.
+
+A TInt should be used in preference to an unsigned integer (TUint) for all 
+general use. Unsigned integers should only be used for flags (which use Boolean 
+operations but not arithmetic) and, in very rare cases, for numbers whose 
+range exceeds that available from signed integers. Although it is natural 
+to attempt to use unsigned integers for quantities which cannot by nature 
+be negative, the C++ language does not provide the support necessary to enforce 
+the "expected" behaviour in these circumstances, and experience has shown 
+that it is better to use signed integers unless there is good reason not to.
+
+@see TUint
+@see TInt32
+@see TInt16
+*/
+typedef signed int TInt;
+
+
+
+
+/**
+@publishedAll
+@released
+
+Unsigned integer type of the natural machine word length. 
+
+This is guaranteed to be at least 32 bits in all implementations.
+
+In almost all circumstances, a TInt should be used in preference to a TUint. 
+The main exception is in flags bytes.
+
+@see TInt
+*/
+typedef unsigned int TUint;
+
+
+
+
+/**
+@publishedAll
+@released
+
+32-bit floating point number, providing IEEE754 single precision on all Symbian 
+OS implementations.
+
+TReal should normally be used in preference to TReal32.
+
+Use of floating-point numbers should generally be avoided unless a natural 
+part of the problem specification. Most Symbian OS implementations do not 
+have a hardware floating point unit: as a result, their floating-point performance 
+is hundreds of times slower than integer performance.
+*/
+typedef float TReal32;
+
+
+
+
+/**
+@publishedAll
+@released
+
+64-bit floating point number, providing IEEE754 double precision on all Symbian 
+OS implementations.
+
+Use of floating-point numbers should generally be avoided unless a natural 
+part of the problem specification. Most Symbian OS implementations do not 
+have a hardware floating point unit: as a result, their floating-point performance 
+is hundreds of times slower than integer performance.
+
+This type is identical to TReal.
+
+@see TReal
+*/
+typedef double TReal64;
+
+
+
+
+/**
+@publishedAll
+@released
+
+64-bit floating point number; identical to TReal64.
+
+Use of floating-point numbers should generally be avoided unless a natural 
+part of the problem specification. Most Symbian OS implementations do not 
+have a hardware floating point unit: as a result, their floating-point performance 
+is hundreds of times slower than integer performance.
+
+Most serious floating-point calculations require double-precision. All standard 
+math functions (see Math class) take double-precision arguments. Single-precision 
+should only be used where space and performance are at a premium, and when 
+their limited precision is acceptable.
+
+@see TReal64
+@see Math
+*/
+typedef double TReal;
+
+
+
+
+/**
+@publishedAll
+@released
+
+8-bit unsigned character.
+
+Use instead of C++ built-in char type because it is guaranteed to be unsigned. 
+Use instead of TInt8 where the application is really for text rather than 
+8-bit arithmetic or binary quantities.
+
+For most purposes, you should use TText rather than TText8. TText is mapped 
+onto either TText8 or TText16 depending on whether a non-Unicode or Unicode 
+variant is being built. Use TText8 only when you are dealing explicitly with 
+8-bit text, regardless of build.
+
+@see TText */
+typedef unsigned char TText8;
+
+
+
+
+/**
+@publishedAll
+@released
+
+16-bit unsigned character.
+
+Use instead of C++ wchar_t type because it is guaranteed to be unsigned. Use 
+instead of TInt16 where the application is really for text rather than 8-bit 
+arithmetic or binary quantities.
+
+For most purposes, you should use TText rather than TText16. TText is mapped 
+onto either TText8 or TText16 depending on whether a non-Unicode or Unicode 
+variant is being built. Use TText16 only when you are dealing explicitly with 
+16-bit text, regardless of build.
+
+@see TText
+*/
+typedef unsigned short int TText16;
+
+
+
+
+/**
+@publishedAll
+@released
+
+Boolean type which takes the value either ETrue or EFalse.
+
+Although only a single bit would theoretically be necessary to represent a 
+Boolean, a machine word is used instead, so that these quantities can be easily 
+passed. Also, TBool must map onto int because of C++'s interpretation of 
+operands in conditional expressions.
+
+On implementations of Symbian OS in which the compiler supports the ANSI-recommended 
+bool type, TBool will be typedef'ed to bool instead of int.
+*/
+typedef int TBool;
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Defines a linear (virtual) address type.
+*/
+typedef TUint32 TLinAddr;
+
+/**
+@internalTechnology
+
+A sorted list of all the code segments in ROM that contain an Exception Descriptor.
+
+*/
+typedef struct TRomExceptionSearchTable
+	{
+	/**
+	The number of entries in the following table.
+	*/
+	TInt32 iNumEntries;
+	
+	/**
+	Address of the code segment of each TRomImageHeader that has an Exception Descriptor.
+	*/
+	TLinAddr iEntries[1];
+	} TRomExceptionSearchTable;
+
+/**
+@internalComponent
+*/
+typedef struct TExceptionDescriptor 
+	{
+	TLinAddr iExIdxBase;
+	TLinAddr iExIdxLimit;
+	TLinAddr iROSegmentBase;
+	TLinAddr iROSegmentLimit;
+	} TExceptionDescriptor;
+
+
+#if defined(__GCC32__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines a 64-bit signed integer type.
+*/
+typedef long long Int64;
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines a 64-bit unsigned integer type.
+*/
+typedef unsigned long long Uint64;
+
+
+
+
+/**
+@publishedAll
+@released
+*/
+#define	I64LIT(x)	x##LL
+/**
+@publishedAll
+@released
+*/
+#define	UI64LIT(x)	x##ULL
+
+#elif defined(__VC32__)
+typedef __int64 Int64;
+typedef unsigned __int64 Uint64;
+#define	I64LIT(x)	(__int64)##x
+#define	UI64LIT(x)	(unsigned __int64)##x
+
+#elif defined(__CW32__)
+#pragma longlong on
+typedef long long Int64;
+typedef unsigned long long Uint64;
+#define	I64LIT(x)	x##LL
+#define	UI64LIT(x)	x##ULL
+#endif
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines a 64-bit signed integer type.
+
+NOTE: For those migrating from versions of Symbian OS before 8.1b (i.e. 8.1a, 7.0s etc)
+TInt64 is now defined as a built-in type instead of as a class type. This means
+that the member functions of the old TInt64 class are no longer exported
+from EUSER.LIB, and represents a compatibility break.
+
+To ease migration of source code, a number of macros are provided. Similar
+macros have also been defined in Symbian OS versions 7.0s and 8.1a, but
+implemented in terms of the old TInt64 class. This is important for code that
+is common to : one or both of these Symbian OS versions, and to 8.1b and
+subsequent versions.
+
+The following list shows the new macros and the functions that they replace.
+It also shows some alternative techniques.
+In this list: x, v and r are declared as TInt64, c is declared as TInt, High
+and Low are declared as TUint.
+
+@code
+OLD USAGE						REPLACEMENT
+
+TInt64(High,Low);				MAKE_TINT64(High,Low);
+x.Set(High,Low);				MAKE_TINT64(High,Low);
+x.Low();						I64LOW(x);
+x.High();						I64HIGH(x); 
+x.GetTInt();					I64INT(x); 
+x.GetTReal();					I64REAL(x); 
+x.Lsr(c);						I64LSR(x,c); 
+x.Mul10();						x*=10; 
+x.MulTop(a);					I64MULTOP(x,a); 
+x.DivMod(v,r);					r=x%v; x/=v;
+@endcode 
+*/
+typedef	Int64	TInt64;
+
+
+
+
+/**
+@publishedAll
+@released
+ 
+Defines a 64-bit unsigned integer type.
+*/
+typedef	Uint64	TUint64;
+
+
+
+
+/** @internalComponent */
+#define _MAKE_TINT64_ZX(x)	((TInt64)((TUint32)(x)))
+
+/** @internalComponent */
+#define _MAKE_TUINT64_ZX(x)	((TUint64)((TUint32)(x)))
+
+
+
+
+/**
+@publishedAll
+@released
+*/
+#define MAKE_TINT64(h,l)	( (_MAKE_TINT64_ZX(h)<<32) | _MAKE_TINT64_ZX(l) )
+
+
+
+
+/**
+@publishedAll
+@released
+*/
+#define MAKE_TUINT64(h,l)	( (_MAKE_TUINT64_ZX(h)<<32) | _MAKE_TUINT64_ZX(l) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to access the high order 32 bits of a 64 bit number.
+*/
+#define	I64HIGH(x)			( (TUint32)((x)>>32) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to access the low order 32 bits of a 64 bit number.
+*/
+#define	I64LOW(x)			( (TUint32)(x) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to cast a 64 bit value as an signed integer.
+*/
+#define	I64INT(x)			( (TInt)(x) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to cast a 64 bit value as a TReal type.
+*/
+#define	I64REAL(x)			( (TReal)(x) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to logically shift a 64 bit integer right.
+*/
+#define	I64LSR(x, shift)	( *reinterpret_cast<TUint64*>(&(x)) >>= (shift) )
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to multiply a 64 bit integer by 10.
+*/
+#define	I64MUL10(x)			( (x) *= 10 )
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to divide a 64 bit integer by another and find the remainder.
+*/
+#define	I64DIVMOD(x, divisor, remainder)	( ((remainder) = (x) % (divisor), (x) /= (divisor)) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to cast a double to a 64 bit integer.
+*/
+#define	I64DOUBLECAST(x)	( static_cast<TInt64>(x) )
+
+
+
+
+/**
+@publishedAll
+@deprecated Use _LIT8 instead.
+
+8-bit literal.
+
+The macro defines an explicit 8-bit constant literal which is suitable
+for non-Unicode literal text, regardless of the build.
+
+@see _L
+@see _LIT8
+@see _LIT
+*/
+#define _L8(a) (TPtrC8((const TText8 *)(a)))
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines an explicit 8-bit string which is suitable when non-Unicode text
+is required, regardless of the build.
+
+This is used by the deprecated literal descriptor _L8.
+*/
+#define _S8(a) ((const TText8 *)a)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Constructs a constant literal descriptor of type TLitC8<TInt> with
+the specified name and text.
+
+The 8-bit build variant is generated for both non-Unicode and Unicode builds.
+
+@param name The name of the C++ variable to be generated.
+@param s    The literal text enclosed within a pair of double quotes. 
+
+@see _LIT
+*/
+#define _LIT8(name,s) const static TLitC8<sizeof(s)> name={sizeof(s)-1,s}
+
+
+
+
+/**
+@publishedAll
+@deprecated Use _LIT16 instead.
+
+16-bit literal.
+
+The macro defines an explicit 16-bit constant literal which is suitable
+for Unicode literal text, regardless of the build.
+
+@see _L
+@see _LIT16
+@see _LIT
+*/
+#define _L16(a) (TPtrC16((const TText16 *)L ## a))
+
+
+
+/**
+@publishedAll
+@released
+
+Defines an explicit 16-bit string which is suitable when Unicode text
+is required, regardless of the build.
+
+This is used by the deprecated literal descriptor _L16.
+*/
+#define _S16(a) ((const TText16 *)L ## a)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Constructs a constant literal descriptor of type TLitC16<TInt> with
+the specified name and text.
+
+The 16-bit build variant is generated for both non-Unicode and Unicode builds.
+
+@param name The name of the C++ variable to be generated.
+@param s    The literal text enclosed within a pair of double quotes. 
+
+@see _LIT
+*/
+#define _LIT16(name,s) const static TLitC16<sizeof(L##s)/2> name={sizeof(L##s)/2-1,L##s}
+
+
+
+
+#if defined(_UNICODE) && !defined(__KERNEL_MODE__)
+/**
+@publishedAll
+@released
+
+Build independent general text character.
+
+In non-Unicode builds, this is mapped to TText8. In Unicode builds, this is 
+mapped to TText16. Use the classes with explicit width only when you wish 
+the width to be independent of the build variant.
+
+Use this class rather than TChar for general use.
+*/
+typedef TText16 TText;
+
+
+
+/**
+@publishedAll
+@deprecated Use _LIT instead.
+
+Build independent literal. 
+
+The macro defines either an 8-bit constant literal (for non-Unicode text),
+or a 16-bit constant literal (for Unicode text) depending on the build.
+
+@see _LIT
+@see _L16
+@see _L8
+*/
+#define _L(a) (TPtrC((const TText *)L ## a))
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines either an 8-bit string (for non-Unicode text),
+or a 16-bit string (for Unicode text) depending on the build.
+
+This is used by the deprecated build independent literal _L.
+*/
+#define _S(a) ((const TText *)L ## a)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Constructs a build independent constant literal descriptor of type TLitC<TInt>
+with the specified name and text.
+
+An 8-bit build variant is generated for a non-Unicode build;
+A 16-bit build variant is generated for a Unicode build.
+
+@param name The name of the C++ variable to be generated.
+@param s    The literal text enclosed within a pair of double quotes. 
+
+@see _LIT16
+@see _LIT8
+*/
+#define _LIT(name,s) const static TLitC<sizeof(L##s)/2> name={sizeof(L##s)/2-1,L##s}
+
+
+
+
+#else
+/**
+@publishedAll
+@released
+
+Build independent general text character.
+
+In non-Unicode builds, this is mapped to TText8. In Unicode builds, this is 
+mapped to TText16. Use the classes with explicit width only when you wish 
+the width to be independent of the build variant.
+
+Use this class rather than TChar for general use.
+*/
+typedef TText8 TText;
+
+
+
+/**
+@publishedAll
+@released
+
+@deprecated Use _LIT instead.
+
+Build independent literal. 
+
+The macro defines either an 8-bit constant literal (for non-Unicode text),
+or a 16-bit constant literal (for Unicode text) depending on the build.
+
+@see _LIT
+@see _L16
+@see _L8
+*/
+#define _L(a) (TPtrC((const TText *)(a)))
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines either an 8-bit string (for non-Unicode text),
+or a 16-bit string (for Unicode text) depending on the build.
+
+This is used by the deprecated build independent literal _L.
+*/
+#define _S(a) ((const TText *)a)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Constructs a build independent constant literal descriptor of type TLitC<TInt>
+with the specified name and text.
+
+An 8-bit build variant is generated for a non-Unicode build;
+A 16-bit build variant is generated for a Unicode build.
+
+@param name The name of the C++ variable to be generated.
+@param s    The literal text enclosed within a pair of double quotes. 
+
+@see _LIT16
+@see _LIT8
+*/
+#define _LIT(name,s) const static TLitC<sizeof(s)> name={sizeof(s)-1,s}
+#endif
+
+
+
+
+#ifndef __VA_LIST_defined
+/** 
+@publishedAll
+@released
+
+Defines a 'C' style array of pointers to TInt8 types.
+
+The type is most commonly used by code that needs to deal with a variable
+number of arguments passed to a function.
+
+@see TInt8
+*/
+typedef TInt8 *VA_LIST[1];
+#endif
+
+/** 
+@publishedAll
+@released
+
+Asserts that a condition is true.
+
+Code is generated for all builds.
+
+This macro is used as a C++ statement to assert the truth of some condition,
+and to take appropriate action if the condition is false. Unlike __ASSERT_DEBUG
+it is defined in both release and debug builds.
+
+The most common use for this macro is to check that the external environment of
+a function or class is behaving as expected; for example, that parameters
+passed to a function are credible, or that called functions are behaving as
+expected; the macro is commonly placed at the beginning of a function.
+
+The effect of the macro is to generate code which tests
+the conditional expression c; if the expression is false, then
+function p is called. In the majority of cases, the function p is one that
+raises a panic.
+
+Note that the macro definition is, in effect, equivalent to: 
+
+@code
+if !(c)p;
+@endcode
+
+@param c a conditional expression which results in true or false.
+@param p a function which is called if the conditional expression c is false.
+
+@see __ASSERT_DEBUG
+*/
+#define __ASSERT_ALWAYS(c,p) (void)((c)||(p,0))
+
+
+
+#ifdef __WINS__
+#ifdef __CW32__
+/** 
+@internalAll
+@released
+*/
+#define __BREAKPOINT()			\
+	{							\
+	__asm { byte 0xcc };		\
+	}
+#else // !__CW32__
+/** 
+@internalAll
+@released
+*/
+#define __BREAKPOINT()			\
+	{							\
+	__asm { int 3 };			\
+	}
+#endif //__CW32__
+#else
+/** 
+@internalAll
+@released
+*/
+#define __BREAKPOINT()
+#endif
+
+#if defined(_DEBUG)
+
+/** 
+@internalComponent
+@deprecated
+*/
+#define __ASSERT_DEBUG_MB(aCond,aPanicNo) (void)((aCond)||(PanicMB(aPanicNo,_L(#aPanicNo),_L(#aCond)),0))
+
+
+
+
+/** 
+@publishedAll
+@released
+
+Asserts that a condition is true.
+
+Code is generated for debug builds only.
+
+This macro is used as a C++ statement to assert the truth of some condition,
+and to take appropriate action if the condition is false. It is used in
+the same way as __ASSERT_ALWAYS, except that it is only defined for debug builds.
+
+The macro may be used to insert extra checks at various points in source code
+as desired; the code will only be generated in debug builds and not in release
+builds.
+
+@param c A conditional expression which results in true or false.
+@param p A function which is called if the conditional expression c is false.
+
+@see __ASSERT_ALWAYS
+*/
+#define __ASSERT_DEBUG(c,p) (void)((c)||(p,0))
+
+
+
+/** 
+@internalAll
+@removed
+*/
+#define __DECLARE_NAME(t)
+
+
+
+
+/** 
+@publishedAll
+@released
+
+Calls the function for testing object invariance.
+
+Classes can define a standard member function __DbgTestInvariant(),
+which checks that the object is in a valid state, and panics if it is not.
+In debug builds, this macro simply expands to call that function. For details on how
+to define __DbgTestInvariant(), and an example of its use, see __DECLARE_TEST.
+
+The macro is typically invoked at the beginning of all the member functions of
+the class. For non-const functions (those which can change the object’s state),
+you can ensure that the object has been left in a stable state by invoking
+the macro at the end of the function.
+
+In release builds, no code is generated for the macro. 
+*/
+#define __TEST_INVARIANT __DbgTestInvariant()
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the start of checking the current thread's heap. 
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __UHEAP_MARKEND or __UHEAP_MARKENDC.
+
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __UHEAP_MARKEND or __UHEAP_MARKENDC.
+
+@see User::__DbgMarkStart()
+@see __UHEAP_MARKEND
+@see __UHEAP_MARKENDC
+*/
+#define __UHEAP_MARK User::__DbgMarkStart(FALSE)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the number of allocated cells at the current nested level on the 
+current thread's heap is the same as the specified value.
+
+This macro is defined only for debug builds.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+The macro assumes that:
+
+1. the heap being checked is a user heap
+
+2. checking is being done for the number of allocated cells at the current nested 
+   level; i.e. that aCountAll is set to false
+
+3. the line number is the line number of this source code statement.
+
+4. the file name is the full path name of the file containing this source statement
+
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see User::__DbgMarkCheck()
+@see __KHEAP_CHECK
+*/
+#define __UHEAP_CHECK(aCount) User::__DbgMarkCheck(FALSE,FALSE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the total number of allocated cells on the current thread's heap 
+is the same as the specified value.
+
+This macro is defined only for debug builds.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+@param aCount The total number of heap cells expected to be allocated.
+
+@see User::__DbgMarkCheck()
+@see __KHEAP_CHECKALL
+*/
+#define __UHEAP_CHECKALL(aCount) User::__DbgMarkCheck(FALSE,TRUE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of checking the current thread's heap. 
+
+The macro expects zero heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __UHEAP_MARK.
+
+@see User::__DbgMarkEnd()
+@see __UHEAP_MARK
+*/
+#define __UHEAP_MARKEND User::__DbgMarkEnd(FALSE,0)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of checking the current thread's heap. 
+
+The macro expects aCount heap cells to remain allocated at the current nest 
+level.
+
+This macro must match an earlier call to __UHEAP_MARK.
+
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level.
+
+@see User::__DbgMarkEnd()
+@see __UHEAP_MARK
+*/
+#define __UHEAP_MARKENDC(aCount) User::__DbgMarkEnd(FALSE,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates heap allocation failure for the current thread's heap.
+
+The failure occurs on the next call to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aCount Determines when the allocation will fail.
+              Heap allocation fails on attempt number aCount - later
+              allocations will succeed.
+              For example, if aCount is 3, then heap allocation fails
+              on the 3rd attempt, but all subsequent allocations succeed. 
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_FAILNEXT(aCount) User::__DbgSetAllocFail(FALSE,RAllocator::EFailNext,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates heap allocation failure for the current thread's heap. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aType  The type of failure to be simulated.
+@param aValue The failure rate.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_SETFAIL(aType,aValue) User::__DbgSetAllocFail(FALSE,aType,aValue)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated heap allocation failure for the current thread's heap. 
+
+This macro is defined only for debug builds.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_RESET User::__DbgSetAllocFail(FALSE,RAllocator::ENone,1)
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated heap allocation failure for the current thread's heap. 
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+This macro is defined only for debug builds.
+*/
+#define __UHEAP_TOTAL_RESET User::__DbgSetAllocFail(FALSE,RAllocator::EReset,1)
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the start of Kernel heap checking. 
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __KHEAP_MARKEND or __KHEAP_MARKENDC. 
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __KHEAP_MARKEND or __KHEAP_MARKENDC.
+
+@see User::__DbgMarkStart()
+@see __KHEAP_MARKEND
+@see __KHEAP_MARKENDC
+*/
+#define __KHEAP_MARK User::__DbgMarkStart(TRUE)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Checks that the number of allocated cells at the current nested level of the 
+Kernel heap is the same as the specified value. This macro is defined only 
+for debug builds. Checking the Kernel heap is only useful when developing 
+Kernel side code such as device drivers and media drivers.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see User::__DbgMarkCheck()
+@see __UHEAP_CHECK
+*/
+#define __KHEAP_CHECK(aCount) User::__DbgMarkCheck(TRUE,FALSE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Checks that the total number of allocated cells on the Kernel heap is the same 
+as the specified value.
+
+It is only useful when developing Kernel side code such as device drivers 
+and media drivers. 
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+This macro is defined only for debug builds.
+
+@param aCount The total number of heap cells expected to be allocated
+
+@see User::__DbgMarkCheck()
+@see __UHEAP_CHECKALL
+*/
+#define __KHEAP_CHECKALL(aCount) User::__DbgMarkCheck(TRUE,TRUE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the end of Kernel heap checking. The macro expects zero heap cells to 
+remain allocated at the current nest level.
+
+This macro is defined only for debug builds. Checking the Kernel heap is only 
+useful when developing Kernel side code such as device drivers and media drivers.
+
+This macro must match an earlier call to __KHEAP_MARK.
+
+@see User::__DbgMarkEnd()
+@see __KHEAP_MARK
+*/
+#define __KHEAP_MARKEND User::__DbgMarkEnd(TRUE,0)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the end of Kernel heap checking. The macro expects aCount heap cells 
+to remain allocated at the current nest level.
+
+This macro is defined only for debug builds.
+
+This macro must match an earlier call to __KHEAP_MARK.
+
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level.
+
+@see User::__DbgMarkEnd()
+@see __KHEAP_MARK
+*/
+#define __KHEAP_MARKENDC(aCount) User::__DbgMarkEnd(TRUE,aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Simulates Kernel heap allocation failure. The failure occurs on the next call 
+to new or any of the functions which allocate memory from the heap. This macro 
+is defined only for debug builds.
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+@param aCount The rate of failure - heap allocation fails every aCount attempt.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_FAILNEXT(aCount) User::__DbgSetAllocFail(TRUE,RAllocator::EFailNext,aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Simulates Kernel heap allocation failure. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from this heap.
+
+This macro is defined only for debug builds.
+
+@param aType  The type of failure to be simulated.
+@param aValue The failure rate.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_SETFAIL(aType,aValue) User::__DbgSetAllocFail(TRUE,aType,aValue)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Cancels simulated Kernel heap allocation failure. 
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_RESET User::__DbgSetAllocFail(TRUE,RAllocator::ENone,1)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Cancels simulated kernel heap allocation failure. 
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+Checking the kernel heap is only useful when developing kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+*/
+#define __KHEAP_TOTAL_RESET User::__DbgSetAllocFail(TRUE,RAllocator::EReset,1)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the start of heap checking for the specific heap. 
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __RHEAP_MARKEND or __RHEAP_MARKENDC.
+
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __RHEAP_MARKEND or __RHEAP_MARKENDC.
+
+@param aHeap A pointer to the specific RHeap
+
+@see RHeap
+@see RAllocator::__DbgMarkStart()
+@see __RHEAP_MARKEND
+@see __RHEAP_MARKENDC
+*/
+#define __RHEAP_MARK(aHeap) (aHeap)->__DbgMarkStart()
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the number of allocated cells at the current nested level on the 
+specified heap is the same as the specified value. 
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail. 
+
+This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see RAllocator::__DbgMarkCheck()
+*/
+#define __RHEAP_CHECK(aHeap,aCount) (aHeap)->__DbgMarkCheck(FALSE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the total number of allocated cells on the specified heap is the 
+same as the specified value.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The total number of heap cells expected to be allocated.
+
+@see RAllocator::__DbgMarkCheck()
+*/
+#define __RHEAP_CHECKALL(aHeap,aCount) (aHeap)->__DbgMarkCheck(TRUE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of heap checking for the specific heap.
+
+The macro expects zero heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __RHEAP_MARK.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgMarkEnd()
+@see __RHEAP_MARK
+*/
+#define __RHEAP_MARKEND(aHeap) (aHeap)->__DbgMarkEnd(0)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of heap checking for the specific heap.
+
+The macro expects aCount heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __RHEAP_MARK.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level
+
+@see RAllocator::__DbgMarkEnd()
+@see __RHEAP_MARK
+*/
+#define __RHEAP_MARKENDC(aHeap,aCount) (aHeap)->__DbgMarkEnd(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates an allocation failure for the specific heap.
+
+The failure occurs on the next call to new or any of the functions which allocate 
+memory from the heap. This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The rate of failure - heap allocation fails every aCount attempt.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_FAILNEXT(aHeap,aCount) (aHeap)->__DbgSetAllocFail(RAllocator::EFailNext,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates an allocation failure for the specific heap. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aType  The type of failure to be simulated. 
+@param aValue The failure rate.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_SETFAIL(aHeap,aType,aValue) (aHeap)->__DbgSetAllocFail(aType,aValue)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated allocation failure for the specific heap.
+
+This macro is defined only for debug builds.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_RESET(aHeap) (aHeap)->__DbgSetAllocFail(RAllocator::ENone,1)
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated allocation failure for the specific heap.
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+This macro is defined only for debug builds.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_TOTAL_RESET(aHeap) (aHeap)->__DbgSetAllocFail(RAllocator::EReset,1)
+
+
+
+
+#if defined (__WINS__) 
+
+/**
+@publishedAll
+@released
+*/
+#define __DEBUGGER() {if (User::JustInTime()) __BREAKPOINT()}
+
+#else
+#define __DEBUGGER()
+#endif
+
+
+#if defined(__DLL__)
+/**
+@publishedAll
+@released
+
+Declares a function for testing object invariance.
+
+For complex classes, it is often useful to provide a function that can
+be called to check that the object is in a valid state.
+The __DECLARE_TEST macro supplies a standard prototype for such a function
+named __DbgTestInvariant(). A companion macro __TEST_INVARIANT is provided
+to call the function.
+
+For DLLs, as opposed to EXEs, __DbgTestInvariant() is exported,
+i.e. the macro expands to:
+
+@code
+public: IMPORT_C void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+@endcode
+
+This macro should placed as the last item in a class declaration (as it 
+switches back to public access). Note that a terminating semi-colon must be used.
+
+You should define the __DbgTestInvariant() function to check that the object
+is in a healthy state. If it finds an error, it should call User::Invariant(),
+which will cause a panic. 
+
+If a class is derived from a base class, then the base class __DbgTestInvariant()
+should be called first, and then any further checking done. 
+
+The second function declared, __DbgTest(), is intended to allow test code a way
+of directly accessing non-public members of a class. The function is
+implemented by any test code that requires it, rather than in the class’s own
+source code. The function is therefore not exported.
+
+__DECLARE_TEST is defined for both debug and release builds. This point is
+particularly important for DLLs, as otherwise the exported interfaces would
+differ between the build versions, giving potential binary compatibility
+problems. To avoid using memory unnecessarily in release builds, you can,
+however, use preprocessor directives to define the code within
+__DbgTestInvariant() only for debug builds. __DbgTestInvariant() is never
+called in release builds.
+
+@see __TEST_INVARIANT
+*/
+#define __DECLARE_TEST public: IMPORT_C void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+#else
+#define __DECLARE_TEST public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+#endif
+
+#else
+#define __ASSERT_DEBUG(c,p)
+#define __DECLARE_NAME(t)
+#define __TEST_INVARIANT
+#if defined(__DLL__)
+#define __DECLARE_TEST public: IMPORT_C void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+#else
+#define __DECLARE_TEST public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+#endif
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the start of checking the current thread's heap. 
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __UHEAP_MARKEND or __UHEAP_MARKENDC.
+
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __UHEAP_MARKEND or __UHEAP_MARKENDC.
+
+@see User::__DbgMarkStart()
+@see __UHEAP_MARKEND
+@see __UHEAP_MARKENDC
+*/
+#define __UHEAP_MARK
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the number of allocated cells at the current nested level on the 
+current thread's heap is the same as the specified value.
+
+This macro is defined only for debug builds.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+The macro assumes that:
+
+1. the heap being checked is a user heap
+
+2. checking is being done for the number of allocated cells at the current nested 
+   level; i.e. that aCountAll is set to false
+
+3. the line number is the line number of this source code statement.
+
+4. the file name is the full path name of the file containing this source statement
+
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see User::__DbgMarkCheck()
+@see __KHEAP_CHECK
+*/
+#define __UHEAP_CHECK(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the total number of allocated cells on the current thread's heap 
+is the same as the specified value.
+
+This macro is defined only for debug builds.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+@param aCount The total number of heap cells expected to be allocated.
+
+@see User::__DbgMarkCheck()
+@see __KHEAP_CHECKALL
+*/
+#define __UHEAP_CHECKALL(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of checking the current thread's heap. 
+
+The macro expects zero heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __UHEAP_MARK.
+
+@see User::__DbgMarkEnd()
+@see __UHEAP_MARK
+*/
+#define __UHEAP_MARKEND
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of checking the current thread's heap. 
+
+The macro expects aCount heap cells to remain allocated at the current nest 
+level.
+
+This macro must match an earlier call to __UHEAP_MARK.
+
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level.
+
+@see User::__DbgMarkEnd()
+@see __UHEAP_MARK
+*/
+#define __UHEAP_MARKENDC(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates heap allocation failure for the current thread's heap.
+
+The failure occurs on the next call to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aCount Determines when the allocation will fail.
+              Heap allocation fails on attempt number aCount - later
+              allocations will succeed.
+              For example, if aCount is 3, then heap allocation fails
+              on the 3rd attempt, but all subsequent allocations succeed. 
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_FAILNEXT(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates heap allocation failure for the current thread's heap. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aType  The type of failure to be simulated.
+@param aValue The failure rate.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_SETFAIL(aType,aValue)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated heap allocation failure for the current thread's heap. 
+
+This macro is defined only for debug builds.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_RESET
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated heap allocation failure for the current thread's heap. 
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+This macro is defined only for debug builds.
+*/
+#define __UHEAP_TOTAL_RESET
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the start of Kernel heap checking. 
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __KHEAP_MARKEND or __KHEAP_MARKENDC. 
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __KHEAP_MARKEND or __KHEAP_MARKENDC.
+
+@see User::__DbgMarkStart()
+@see __KHEAP_MARKEND
+@see __KHEAP_MARKENDC
+*/
+#define __KHEAP_MARK
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Checks that the number of allocated cells at the current nested level of the 
+Kernel heap is the same as the specified value. This macro is defined only 
+for debug builds. Checking the Kernel heap is only useful when developing 
+Kernel side code such as device drivers and media drivers.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see User::__DbgMarkCheck()
+@see __UHEAP_CHECK
+*/
+#define __KHEAP_CHECK(aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Checks that the total number of allocated cells on the Kernel heap is the same 
+as the specified value.
+
+It is only useful when developing Kernel side code such as device drivers 
+and media drivers. 
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+This macro is defined only for debug builds.
+
+@param aCount The total number of heap cells expected to be allocated
+
+@see User::__DbgMarkCheck()
+@see __UHEAP_CHECKALL
+*/
+#define __KHEAP_CHECKALL(aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the end of Kernel heap checking. The macro expects zero heap cells to 
+remain allocated at the current nest level.
+
+This macro is defined only for debug builds. Checking the Kernel heap is only 
+useful when developing Kernel side code such as device drivers and media drivers.
+
+This macro must match an earlier call to __KHEAP_MARK.
+
+@see User::__DbgMarkEnd()
+@see __KHEAP_MARK
+*/
+#define __KHEAP_MARKEND
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the end of Kernel heap checking. The macro expects aCount heap cells 
+to remain allocated at the current nest level.
+
+This macro is defined only for debug builds.
+
+This macro must match an earlier call to __KHEAP_MARK.
+
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level.
+
+@see User::__DbgMarkEnd()
+@see __KHEAP_MARK
+*/
+#define __KHEAP_MARKENDC(aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Simulates Kernel heap allocation failure. The failure occurs on the next call 
+to new or any of the functions which allocate memory from the heap. This macro 
+is defined only for debug builds.
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+@param aCount The rate of failure - heap allocation fails every aCount attempt.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_FAILNEXT(aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Simulates Kernel heap allocation failure. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from this heap.
+
+This macro is defined only for debug builds.
+
+@param aType  The type of failure to be simulated.
+@param aValue The failure rate.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_SETFAIL(aType,aValue)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Cancels simulated Kernel heap allocation failure. 
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_RESET
+
+
+
+/**
+@publishedPartner
+@released
+
+Cancels simulated kernel heap allocation failure. 
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+Checking the kernel heap is only useful when developing kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+*/
+#define __KHEAP_TOTAL_RESET
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the start of heap checking for the specific heap. 
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __RHEAP_MARKEND or __RHEAP_MARKENDC.
+
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __RHEAP_MARKEND or __RHEAP_MARKENDC.
+
+@param aHeap A pointer to the specific RHeap
+
+@see RHeap
+@see RAllocator::__DbgMarkStart()
+@see __RHEAP_MARKEND
+@see __RHEAP_MARKENDC
+*/
+#define __RHEAP_MARK(aHeap)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the number of allocated cells at the current nested level on the 
+specified heap is the same as the specified value. 
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail. 
+
+This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see RAllocator::__DbgMarkCheck()
+*/
+#define __RHEAP_CHECK(aHeap,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the total number of allocated cells on the specified heap is the 
+same as the specified value.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The total number of heap cells expected to be allocated.
+
+@see RAllocator::__DbgMarkCheck()
+*/
+#define __RHEAP_CHECKALL(aHeap,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of heap checking for the specific heap.
+
+The macro expects zero heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __RHEAP_MARK.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgMarkEnd()
+@see __RHEAP_MARK
+*/
+#define __RHEAP_MARKEND(aHeap)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of heap checking for the specific heap.
+
+The macro expects aCount heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __RHEAP_MARK.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level
+
+@see RAllocator::__DbgMarkEnd()
+@see __RHEAP_MARK
+*/
+#define __RHEAP_MARKENDC(aHeap,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates an allocation failure for the specific heap.
+
+The failure occurs on the next call to new or any of the functions which allocate 
+memory from the heap. This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The rate of failure - heap allocation fails every aCount attempt.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_FAILNEXT(aHeap,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates an allocation failure for the specific heap. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aType  The type of failure to be simulated. 
+@param aValue The failure rate.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_SETFAIL(aHeap,aType,aValue)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated allocation failure for the specific heap.
+
+This macro is defined only for debug builds.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_RESET(aHeap)
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated allocation failure for the specific heap.
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+This macro is defined only for debug builds.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_TOTAL_RESET(aHeap)
+
+
+
+#define __DEBUGGER()
+#endif
+
+#if defined (__WINS__)
+/** @internalTechnology */
+#define __EMULATOR_IMAGE_HEADER2(aUid0,aUid1,aUid2,aPriority,aCap0,aCap1,aSid,aVid,aVer,aFlags)	TEmulatorImageHeader uid={{aUid0,aUid1,aUid2},aPriority,{aSid,aVid,{aCap0,aCap1}},0,0,aVer,aFlags};
+/** @internalTechnology */
+#define __EMULATOR_IMAGE_HEADER(aUid0,aUid1,aUid2,aPriority,aCap,aFlags)					TEmulatorImageHeader uid={{aUid0,aUid1,aUid2},aPriority,{aUid2,0,{aCap,0}},0,0,0x00010000u,aFlags};
+#else
+#define __EMULATOR_IMAGE_HEADER2(aUid0,aUid1,aUid2,aPriority,aCap0,aCap1,aSid,aVer,aFlags)
+#define __EMULATOR_IMAGE_HEADER(aUid0,aUid1,aUid2,aPriority,aCap,aFlags)
+#endif
+
+#if defined(__OPT__)
+/**
+@internalComponent
+@deprecated
+*/
+#define __ASSERT_OPT(c,p) (void)((c)||(p,0))
+#else
+#define __ASSERT_OPT(c,p)
+#endif
+
+#if defined(_UNICODE)
+#if !defined(UNICODE)
+/**
+@publishedAll
+@deprecated
+*/
+#define UNICODE
+#endif
+#endif
+
+#if defined(_DEBUG)
+/**
+@internalComponent
+@deprecated
+*/
+#define __DECLARE_TEST_DEBUG __DECLARE_TEST
+#else
+#define __DECLARE_TEST_DEBUG
+#endif
+
+
+
+
+#if !defined(ASSERT)
+/**
+@publishedAll
+@released
+
+Generates _ASSERT_DEBUG code that calls User::Invariant() if the specified
+condition is not true.
+
+@param x A conditional expression which results in true or false.
+*/
+#define ASSERT(x) __ASSERT_DEBUG(x,User::Invariant())
+#endif
+
+
+
+
+#ifndef __VALUE_IN_REGS__ 
+/**
+@publishedPartner
+@released
+*/
+#define __VALUE_IN_REGS__ 
+#endif
+
+
+
+
+#if defined(_DEBUG)
+/**
+@publishedAll
+@released
+*/
+#define __DEBUG_ONLY(x) x
+#else
+#define __DEBUG_ONLY(x)
+#endif
+
+
+
+
+#ifdef __KERNEL_MODE__
+
+/** @internalComponent */
+#define	KIMPORT_C	IMPORT_C
+
+/** @internalComponent */
+#define	KEXPORT_C	EXPORT_C
+
+/** @internalComponent */
+#define	UIMPORT_C
+
+/** @internalComponent */
+#define	UEXPORT_C
+#else
+#define	KIMPORT_C
+#define	KEXPORT_C
+#define	UIMPORT_C	IMPORT_C
+#define	UEXPORT_C	EXPORT_C
+#endif
+
+
+
+
+/**
+@publishedAll
+@released
+
+Asserts that a condition is true at compilation time.
+
+@param x Condition to assert
+*/
+#define __ASSERT_COMPILE(x)		void __compile_time_assert(int __check[(x)?1:-1])
+
+#ifdef __REMOVE_PLATSEC_DIAGNOSTICS__
+/**
+@publishedPartner
+@released
+*/
+#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
+#define __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
+#endif /*__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__*/
+#endif /*__REMOVE_PLATSEC_DIAGNOSTICS__*/
+
+/**
+@internalComponent
+*/
+static const char* const KSuppressPlatSecDiagnosticMagicValue = (const char*)1;
+
+#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
+/**
+@internalComponent
+*/
+#define __PLATSEC_DIAGNOSTIC_FILE_AND_LINE_HELPER(l) #l
+/**
+@internalComponent
+*/
+#define __PLATSEC_DIAGNOSTIC_FILE_AND_LINE_HELPER2(f,l) f "(" __PLATSEC_DIAGNOSTIC_FILE_AND_LINE_HELPER(l) ")"
+/**
+@publishedPartner
+@released
+*/
+#define __PLATSEC_DIAGNOSTIC_FILE_AND_LINE __PLATSEC_DIAGNOSTIC_FILE_AND_LINE_HELPER2(__FILE__,__LINE__)
+
+/**
+@publishedPartner
+@released
+
+A macro that should be used to enclose a platform security diagnostic
+'C' style string that can be passed to a capability checking function such
+as RThread::HasCapability() and Kern::CurrentThreadHasCapability().
+
+The content of the string is emitted if the capability test finds that
+the capability is not present.
+
+The macro provides a convenient mechanism that allows the strings to
+be removed from future versions of Symbian OS.
+
+For example:
+
+@code
+if(!Kern::CurrentThreadHasCapability(ECapabilityPowerMgmt,__PLATSEC_DIAGNOSTIC_STRING("Checked by Hal function EDisplayHalSetState")))
+    {
+    return KErrPermissionDenied;
+    }			
+@endcode
+
+In this example, the string:
+
+@code
+Checked by Hal function EDisplayHalSetState
+@endcode
+
+is emitted if the calling process does not have the ECapabilityPowerMgmt capability.
+
+@param s A C-style string.
+
+@see RProcess::HasCapability()
+@see RThread::HasCapability()
+@see RMessagePtr2::HasCapability()
+@see User::CreatorHasCapability()
+*/
+#define __PLATSEC_DIAGNOSTIC_STRING(s) s
+
+/**
+When this value is used in Platform Security APIs as the value for the aDiagnosticText
+argument, these APIs will not emit any form of diagnostic message.
+@publishedPartner
+@released
+*/
+// Note this value is the same as KSuppressPlatSecDiagnosticMagicValue
+// and used to be a set by it but that caused an error with GCCE compiler
+static const char* const KSuppressPlatSecDiagnostic = (const char*)1;
+
+#else /* __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__ */
+
+#define __PLATSEC_DIAGNOSTIC_STRING(s) NULL
+
+#ifndef __KERNEL_MODE__
+#ifndef __REMOVE_PLATSEC_DIAGNOSTICS__
+/**
+When this value is used in Platform Security APIs as the value for the aDiagnostic
+argument, these APIs will not emit any form of diagnostic message.
+@publishedPartner
+@released
+*/
+#define KSuppressPlatSecDiagnostic		NULL, NULL
+
+#else /* __REMOVE_PLATSEC_DIAGNOSTICS__ */
+
+/**
+When this value is used in Platform Security APIs as the value for the aDiagnostic
+argument, these APIs will not emit any form of diagnostic message.
+@publishedPartner
+@release
+*/
+#define KSuppressPlatSecDiagnostic		NULL
+
+#endif /* !__REMOVE_PLATSEC_DIAGNOSTICS__ */
+#endif /* !__KERNEL_MODE__ */
+#endif /* !__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__ */
+
+/*
+ * MSVC operator new and operator new[] header guards
+ */
+#ifdef __PLACEMENT_NEW
+#define __PLACEMENT_NEW_INLINE
+#endif /* __PLACEMENT_NEW */
+
+#if defined(__VC32__) && (_MSC_VER < 1300)
+#define __PLACEMENT_VEC_NEW_INLINE
+#endif /* version of MSVC that doesn't support overloaded operator new[] */
+
+/**
+Calling convention qualifier for functions involving floating point 
+variables passed or returned by value.
+@publishedAll
+@released
+*/
+#ifndef __SOFTFP
+#define __SOFTFP
+#endif /* __SOFTFP */
+
+#endif /* __E32DEF_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/defs/group/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]=__TESTNAME__;
+
+class fred {
+	public:
+	int something;
+	int aMethod(void);
+};
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/depcrunch/dep2.rpp.d	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,11 @@
+EPOCROOT/epoc32/build/resource/c_98665870f0168225/dependentresource_/dependentresource_dependentresource_sc.rpp: testresource1.mbg \
+ /home/tnmurphy/x/build/sbsv2/raptor/test/smoke_suite/test_resources/resource/dependentresource.rss \
+ /home/tnmurphy/x/test-epocroot/epoc32/include/variant/Symbian_OS.hrh \
+ /home/tnmurphy/x/test-epocroot/epoc32/include/testresource_badef.rh \
+ /home/tnmurphy/x/test-epocroot/epoc32/include/e32capability.h testresource2.rsg \
+ /home/tnmurphy/x/build/sbsv2/raptor/test/smoke_suite/test_resources/resource/inc/../inc/testresource.rh \
+ testresource3.rsg /home/tnmurphy/x/build/sbsv2/raptor/test/smoke_suite/test_resources/resource/inc/../inc/testresource.hrh \
+ /home/tnmurphy/x/build/sbsv2/raptor/test/smoke_suite/test_resources/resource/testresource.rls \
+ testresource4.mbg testresource5.rsg \
+  testresource6.mbg testresource7.rsg
+  testresource8.mbg testresource9.rsg
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_EXPORTS
+inc/dependency.h
+inc/dependency.rh
+
+PRJ_PLATFORMS
+ARMV5 WINSCW TOOLS2
+
+PRJ_MMPFILES
+dependencies.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+* Test component that can build as a basic EXE for both OS and tools platforms
+*
+*/
+
+TARGET			dependency
+TARGETTYPE		exe
+UID				0x100039ce 0x00000001
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			main.cpp
+SOURCE			dependency.cpp
+
+#ifndef TOOLS2
+SYSTEMINCLUDE	/epoc32/include/techview
+
+START RESOURCE	main.rss
+HEADER
+TARGETPATH		/resource/apps
+END
+
+START RESOURCE	dependency.rss
+HEADER
+TARGETPATH		/resource/apps
+END
+
+LIBRARY			euser.lib
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#define DEPENDENCY_VALUE 1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.rh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#define DEPENDENCY_TEXT SomeText
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef __TOOLS2__
+#include <e32def.h>
+TInt E32Main()
+#else
+int main(void)
+#endif
+	{
+	return 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+NAME MAIN
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_somestaticresource { buf="text"; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,20 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include <dependency.h>
+
+int SomeVariable = DEPENDENCY_VALUE;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+NAME DEPE
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+#include <dependency.rh>
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_someresource { buf="DEPENDENCY_TEXT"; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+int SomeVariable = 0;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+NAME DEPE
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_someresource { buf="SomeText"; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+emulated_drives_export.mmp
+
+PRJ_EXPORTS
+emulated_drives_export1.mbm z:/private/10001234/policy/emulated_drives_export1.mbm
+emulated_drives_export2.mbm c:/private/10001234/policy/emulated_drives_export2.mbm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/emulated_drives_export.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/emulated_drives_export.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			test
+TARGETTYPE		EXE
+UID			0x100039ce 0x00000001
+LIBRARY			euser.dso
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			emulated_drives_export.cpp
Binary file sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/emulated_drives_export1.mbm has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/emulated_drives_export/emulated_drives_export2.mbm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/filter_test/testfilter.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Filter class to test customised filtering
+# Will output a simple message when certain input text is found
+#
+
+import sys
+import filter_interface
+
+
+class TestFilter(filter_interface.Filter):
+	
+	def open(self, raptor_instance):
+		return True
+		
+		
+	def write(self, text):
+		"""Write a message to stdout to say the test passed"""
+		
+		if "<info>The make-engine exited successfully.</info>" in text:
+			sys.stdout.write("\nTest Passed!\n")
+		return True
+	
+	
+	def close(self):
+		return True
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/filter_test/testfilter_exceptions.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Filter class for testing the filter framework by creatnig an exception
+#
+
+import os
+import sys
+import raptor
+import filter_interface
+
+class FilterTestCrash(filter_interface.Filter):
+
+	def open(self, raptor_instance):
+		"""Open a log file for the various I/O methods to write to."""
+		self.counter = 0
+		return True
+
+	def write(self, text):
+		"""Write text into the log file"""
+
+		self.counter += 1
+		if self.counter == 10:
+			raise Exception("A test exception in a filter was generated on line %d of the log\n" % self.counter)
+		
+
+		return True
+
+	def summary(self):
+		return False
+
+	def close(self):
+		return False
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+gnumakefile ../gnumakefile/master.mak
+gnumakefile slave.mak
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/master.mak	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+# Envoke CED to install correct CommDB
+#
+ 
+do_nothing :
+	rem do_nothing
+ 
+ #
+ # The targets invoked by abld 
+
+
+MAKMAKE : 
+	echo MASTER.MAK MAKMAKE > master_makmake_$(PLATFORM)_$(CFG).txt
+
+RESOURCE : 
+	echo MASTER.MAK RESOURCE > master_resource_$(PLATFORM)_$(CFG).txt
+
+SAVESPACE : BLD
+
+BLD : 
+	echo MASTER.MAK BLD > master_bld_$(PLATFORM)_$(CFG).txt
+ 
+FREEZE : 
+	echo MASTER.MAK FREEZE > master_freeze_$(PLATFORM)_$(CFG).txt
+
+LIB : 
+	echo MASTER.MAK LIB > master_lib_$(PLATFORM)_$(CFG).txt
+
+CLEANLIB : do_nothing
+	 
+FINAL : 
+	echo MASTER.MAK FINAL > master_final_$(PLATFORM)_$(CFG).txt
+
+CLEAN : 
+	rm -f *.txt
+ 
+RELEASABLES : 
+	@echo $(DIRECTORY)/master_makmake_$(PLATFORM)_$(CFG).txt
+	@echo $(DIRECTORY)/master_resource_$(PLATFORM)_$(CFG).txt
+	@echo $(DIRECTORY)/master_bld_$(PLATFORM)_$(CFG).txt
+	@echo $(DIRECTORY)/master_lib_$(PLATFORM)_$(CFG).txt
+	@echo $(DIRECTORY)/master_final_$(PLATFORM)_$(CFG).txt
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/simple.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			test
+TARGETTYPE		EXE
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/slave.mak	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+# Envoke CED to install correct CommDB
+#
+ 
+do_nothing :
+	rem do_nothing
+ 
+ #
+ # The targets invoked by abld 
+
+
+MAKMAKE : 
+	echo SLAVE.MAK MAKMAKE > slave_makmake_$(PLATFORM)_$(CFG).txt
+
+RESOURCE : 
+	echo SLAVE.MAK RESOURCE > slave_resource_$(PLATFORM)_$(CFG).txt
+
+SAVESPACE : BLD
+
+BLD : 
+	echo SLAVE.MAK BLD > slave_bld_$(PLATFORM)_$(CFG).txt
+ 
+FREEZE : 
+	echo SLAVE.MAK FREEZE > slave_freeze_$(PLATFORM)_$(CFG).txt
+
+LIB : 
+	echo SLAVE.MAK LIB > slave_lib_$(PLATFORM)_$(CFG).txt
+
+CLEANLIB : do_nothing
+ 
+FINAL : 
+	echo SLAVE.MAK FINAL >> slave_final_$(PLATFORM)_$(CFG).txt
+
+CLEAN : 
+	rm -f *.txt
+ 
+RELEASABLES : 
+	@echo $(DIRECTORY)/slave_makmake_$(PLATFORM)_$(CFG).txt
+	@echo $(DIRECTORY)/slave_resource_$(PLATFORM)_$(CFG).txt
+	@echo $(DIRECTORY)/slave_bld_$(PLATFORM)_$(CFG).txt
+	@echo $(DIRECTORY)/slave_lib_$(PLATFORM)_$(CFG).txt
+	@echo $(DIRECTORY)/slave_final_$(PLATFORM)_$(CFG).txt
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/gnumakefile/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/inc/macrotests.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/* Different platforms (e.g. tools2 and the rest) can use 
+   this to test that their FLMs
+   support the MACRO keyword and that they support
+   complex macros with quotes and parentheses.
+
+   Make your mmp include macrotest.mmh to declare the appropriate macros
+*/
+
+
+#if !defined(MACRO_ADDED_FOR_TESTING)
+#error Expected MACRO "MACRO_ADDED_FOR_TESTING" from the MMP but it is not defined
+#endif
+
+#define MULTIPLYBY100(x) x##00
+
+#if COMPLEXMACRO != 100 
+#error Expected  MACRO "##COMPLEXMACRO=MULTUPLYBY100(1)" from the MMP but it is not defined
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/inc/macrotests.mmh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/* For testing the MACRO keyword and for testing complex macros with parentheses etc.
+  use with macrotests.h */
+
+MACRO			MACRO_ADDED_FOR_TESTING COMPLEXMACRO=MULTIPLYBY100(1)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/keepgoing/groups.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- This group deliberately contains some non-existent products 
+  -->
+  <group name="lots_of_products">
+	<groupRef ref='armv5'/>
+	<groupRef ref='armv5' mod="qwertyuio"/>
+	<groupRef ref='armv5' mod="asdfghjkl"/>
+	<groupRef ref='armv5' mod="zxcvbnm_p"/>
+  </group>
+  
+  <!-- This group just contains the one above to check multiple levels
+  -->
+  <group name="lots_of_products_2">
+    <groupRef ref="lots_of_products"/>
+  </group>
+  
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/logexamples/filter_component.log	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+<buildlog>
+
+<error bldinf="y:/src/email/bld.inf">email error #1</error>
+<error bldinf="y:/src/email/bld.inf">email error #2</error>
+
+<warning bldinf="y:/src/txt/bld.inf">txt warning #1</warning>
+<warning bldinf="y:/src/txt/bld.inf">txt warning #2</warning>
+
+<warning bldinf="y:/src/email/bld.inf">email warning #1</warning>
+<warning bldinf="y:/src/email/bld.inf">email warning #2</warning>
+
+<whatlog bldinf='y:/src/email/bld.inf' mmp='y:/src/email/a.mmp' config='armv5_urel'>
+<build>/epoc32/data/email_1</build>
+<build>/epoc32/data/email_2</build>
+</whatlog>
+
+<clean bldinf='y:/src/txt/bld.inf' mmp='y:/src/txt/b.mmp' config='armv5_udeb'>
+<file>/epoc32/data/txt_1</file>
+<file>/epoc32/data/txt_2</file>
+</clean>
+
+<recipe name='dummy' bldinf='y:/src/txt/bld.inf'>
++ make_txt
+txt was made fine
+<status exit='ok'/>
+</recipe>
+
+<recipe name='dummy' bldinf='y:/src/email/bld.inf'>
++ make_email
+email was made fine
+<status exit='ok'/>
+</recipe>
+
+<fake bldinf='y:src/email/bld.inf'>
+  <foo>
+    <bar>
+      <fb>fb email</fb>
+    </bar>
+  </foo>
+</fake>
+
+</buildlog>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/logexamples/what_component_repeated.log	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+<whatlog bldinf='y:/ext/app/emailwizard/bld.inf' mmp='' config='armv5_urel.generic'>
+<build>/epoc32/data/something</build>
+</whatlog>
+
+
+
+<whatlog bldinf='y:/sf/mw/gsprofilesrv/ftuwizardmodel/bld.inf' mmp='y:/sf/mw/gsprofilesrv/ftuwizardmodel/ftuwizardmodel_0x20027009.mmp' config='armv5_urel.generic'>
+<build>/epoc32/release/armv5/something</build>
+</whatlog>
+
+
+
+<whatlog bldinf='y:/ext/app/emailwizard/bld.inf' mmp='' config='armv5_urel.generic'>
+<build>/epoc32/data/something_else</build>
+</whatlog>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/long/paths/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 
+
+PRJ_MMPFILES
+deftest.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/long/paths/deftest.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+target		deftest
+targettype		dll
+
+source	test.cpp 
+source	test01.cpp 
+source	test02.cpp 
+source	test03.cpp 
+source	test04.cpp 
+source	test05.cpp 
+source	test06.cpp 
+source	test07.cpp 
+source	test08.cpp 
+source	test09.cpp 
+source	test10.cpp 
+source	test11.cpp 
+source	test12.cpp 
+source	test13.cpp 
+source	test14.cpp 
+source	test15.cpp 
+source	test16.cpp 
+source	test17.cpp 
+source	test18.cpp 
+source	test19.cpp 
+source	test20.cpp 
+source	test21.cpp 
+source	test22.cpp 
+source	test23.cpp 
+source	test24.cpp 
+source	test25.cpp 
+source	test26.cpp 
+source	test27.cpp 
+source	test28.cpp 
+source	test29.cpp 
+source	test30.cpp 
+source	test31.cpp 
+source	test32.cpp 
+source	test33.cpp 
+source	test34.cpp 
+source	test35.cpp 
+source	test36.cpp 
+source	test37.cpp 
+source	test38.cpp 
+source	test39.cpp 
+source	test40.cpp 
+source	test41.cpp 
+source	test42.cpp 
+source	test43.cpp 
+source	test44.cpp 
+source	test45.cpp 
+source	test46.cpp 
+source	test47.cpp 
+source	test48.cpp 
+source	test49.cpp 
+unpaged
+macro __TESTNAME__="deftest"
+
+deffile  deftest.def
+uid 0x1000008d 0x100039e5
+VENDORID 0x70000001
+capability		all
+unpaged
+epocallowdlldata
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/long/paths/deftestu.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1 @@
+EXPORTS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/long/paths/e32def.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,2870 @@
+/*
+* Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32\include\e32def.h
+* NOTE: THIS FILE SHOULD BE ACCEPTABLE TO A C COMPILER
+*
+*/
+
+
+
+
+#ifndef __E32DEF_H__
+#define __E32DEF_H__
+
+/*
+ * __LEAVE_EQUALS_THROW__ requires the compiler to support C++ exceptions
+ */
+#ifndef __SUPPORT_CPP_EXCEPTIONS__
+#undef __LEAVE_EQUALS_THROW__
+#endif
+
+
+
+
+
+#ifdef __PROFILING__
+
+/**
+@publishedPartner
+@removed
+*/
+#define __PROFILE_START(aBin) RDebug::ProfileStart(aBin)
+
+/**
+@publishedPartner
+@removed
+*/
+#define __PROFILE_END(aBin)   RDebug::ProfileEnd(aBin)
+
+/**
+@publishedPartner
+@removed
+*/
+#define __PROFILE_RESET(aNumberOfBins) RDebug::ProfileReset(0,aNumberOfBins)
+
+/**
+@publishedPartner
+@removed
+*/
+#define __PROFILE_DISPLAY(aNumberOfBins) \
+			{	TFixedArray<TProfile, aNumberOfBins> result; \
+				RDebug::ProfileResult(result.Begin(), 0, aNumberOfBins); \
+				for (TInt i=0; i<aNumberOfBins; i++)   \
+				RDebug::Print(_L("Profile bin %d:  Calls: %d, Clock ticks: %d\n" ),i,res[i].iCount,result[i].iTime);  \
+			}
+#else /* __PROFILING__ */
+#define __PROFILE_START(aBin) 
+#define __PROFILE_END(aBin)   
+#define __PROFILE_RESET(aNumberOfBins) 
+#define __PROFILE_DISPLAY(aNumberOfBins)
+#endif
+
+
+
+#if defined(__VC32__)
+/**
+@publishedAll
+@released
+*/
+#define __NO_CLASS_CONSTS__
+#if (_MSC_VER >= 1200)
+/**
+@publishedAll
+@released
+*/
+#define __NORETURN__ __declspec(noreturn)
+#else
+#define __NORETURN__
+#endif
+/**
+@publishedAll
+@released
+*/
+#define __NORETURN_TERMINATOR()
+/**
+@publishedAll
+@released
+*/
+#define IMPORT_C __declspec(dllexport)
+/**
+@publishedAll
+@released
+*/
+#define EXPORT_C __declspec(dllexport)
+/**
+@publishedAll
+@released
+*/
+#define NONSHARABLE_CLASS(x) class x
+/**
+@publishedAll
+@released
+*/
+#define NONSHARABLE_STRUCT(x) struct x
+/**
+@publishedAll
+@released
+*/
+#define __NO_THROW throw()
+/**
+@publishedAll
+@released
+*/
+#define __THROW(t) throw(t)
+#pragma warning( disable : 4355 )	/* 'this' used in base member initializer list */
+#pragma warning( disable : 4511 )	/* copy constructor could not be generated */
+#pragma warning( disable : 4512 )	/* assignment operator could not be generated */
+#pragma warning( disable : 4514 )	/* unreferenced inline function has been removed */
+#pragma warning( disable : 4699 )	/* Note: Using precompiled header %s */
+#pragma warning( disable : 4710 )	/* function not inlined */
+#pragma warning( disable : 4121 )	/* alignment sensitive to packing */
+#pragma warning( disable : 4273 )
+#pragma warning( disable : 4097 )	/* typedef-name 'identifier1' used as synonym for class-name 'identifier2' */
+#pragma warning( disable : 4291 )	/* 'TAny *CBase::operator new(TUint,TLeave)' : no matching operator delete found; memory will not be freed if initialization throws an exception */
+
+#if _MSC_VER  >= 1100
+/**
+@publishedAll
+@released
+*/
+#define TEMPLATE_SPECIALIZATION template<>
+#else
+#define TEMPLATE_SPECIALIZATION
+#endif
+#endif
+
+
+
+#if defined(__CW32__)
+#undef __embedded_cplusplus
+/** @internalTechnology */
+#define __embedded_cplusplus	1
+#define __NO_CLASS_CONSTS__
+#define __NORETURN__
+#define __NORETURN_TERMINATOR()
+#define IMPORT_C __declspec(dllexport)
+#define EXPORT_C __declspec(dllexport)
+#define NONSHARABLE_CLASS(x) class x
+#define NONSHARABLE_STRUCT(x) struct x
+#define __NO_THROW throw()
+#define __THROW(t) throw(t)
+
+#define TEMPLATE_SPECIALIZATION template<>
+/**
+@publishedAll
+@released
+*/
+#define _asm	asm
+#ifndef __int64
+#pragma longlong on
+/** @internalTechnology */
+#define __int64  long long
+#endif
+#ifndef __SUPPORT_CPP_EXCEPTIONS__
+#pragma exceptions off    /* no support for C++ exception handling */
+#pragma RTTI off          /* no support for C++ runtime type information */
+#endif
+#if __MWERKS__ >= 0x3200
+#pragma warning off (10480)	/* deleteing void pointer is undefined */
+#pragma warning off (10350) /* N pad byte(s) inserted after data member */
+#endif
+#endif
+
+
+
+#if defined(__GCC32__)
+#define __NO_CLASS_CONSTS__
+#define __NORETURN__  __attribute__ ((noreturn))
+#ifdef __GCCV3__
+#define __NORETURN_TERMINATOR()
+#else
+#define __NORETURN_TERMINATOR()		abort()
+#endif
+#define IMPORT_C
+#if !defined __WINS__ && defined _WIN32 /* VC++ Browser Hack */
+#define EXPORT_C
+/** @internalTechnology */
+#define asm(x)
+#else
+#define EXPORT_C __declspec(dllexport)
+#endif
+#define NONSHARABLE_CLASS(x) class x
+#define NONSHARABLE_STRUCT(x) struct x
+#define __NO_THROW
+#define __THROW(t)
+#ifdef __EABI__
+#define TEMPLATE_SPECIALIZATION template<>
+#else
+#define TEMPLATE_SPECIALIZATION
+#endif
+#endif
+
+
+
+#ifdef __GCC32__
+/**
+@publishedAll
+@released
+*/
+#define __DOUBLE_WORDS_SWAPPED__
+#endif
+
+
+
+/** @internalTechnology */
+#define __NO_MUTABLE_KEYWORD
+#if defined(__NO_MUTABLE_KEYWORD)
+/**
+@publishedAll
+@deprecated
+*/
+#define __MUTABLE
+#else
+#define __MUTABLE mutable
+#endif
+
+
+
+/**
+@publishedAll
+@deprecated
+*/
+#define CONST_CAST(type,exp) (const_cast<type>(exp))
+
+/**
+@publishedAll
+@deprecated
+*/
+#define STATIC_CAST(type,exp) (static_cast<type>(exp))
+
+/**
+@publishedAll
+@deprecated
+*/
+#define REINTERPRET_CAST(type,exp) (reinterpret_cast<type>(exp))
+
+#if defined(__NO_MUTABLE_KEYWORD)
+/**
+@publishedAll
+@deprecated
+*/
+#define MUTABLE_CAST(type,exp) (const_cast<type>(exp))
+#else
+#define MUTABLE_CAST(type,exp) (exp)
+#endif
+
+/**
+@publishedAll
+@deprecated
+*/
+#define GLREF_D extern
+/**
+@publishedAll
+@deprecated
+*/
+#define GLDEF_D
+/**
+@publishedAll
+@deprecated
+*/
+#define LOCAL_D static
+/**
+@publishedAll
+@deprecated
+*/
+#define GLREF_C extern
+/**
+@publishedAll
+@deprecated
+*/
+#define GLDEF_C
+/**
+@publishedAll
+@deprecated
+*/
+#define LOCAL_C static
+/**
+@publishedAll
+@deprecated
+*/
+#define FOREVER for(;;)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Symbolic definition for a true value.
+*/
+#define TRUE 1
+
+
+
+
+/**
+@publishedAll
+@released
+
+Symbolic definition for a false value.
+*/
+#define FALSE 0
+#ifndef NULL
+
+
+
+
+/**
+@publishedAll
+@released
+
+Symbolic definition for a NULL value.
+*/
+#define NULL 0
+#endif
+
+
+
+
+#ifndef VA_START
+/**
+@publishedAll
+@released
+
+A macro used by Symbian OS code for handling a variable argument list
+in a function call.
+
+Sets a pointer to point to the first of the variable arguments.
+
+Typical usage:
+
+@code
+Foo(CAbcdef aAbcdef,...)
+   {
+   VA_LIST list;
+   VA_START(list, aAbcdef);
+   // other code
+   } 
+@endcode
+
+@param ap   A pointer used to hold the address of an argument in
+            the variable argument list. After execution of the code generated 
+            by this macro, the pointer points to the first argument in
+            the variable argument list.
+            This symbol is usually declared as a VA_LIST type. 
+
+@param pn   The argument that immediately precedes the variable argument list.
+
+@see VA_LIST
+@see VA_ARG
+*/
+#define VA_START(ap,pn) ((ap)[0]=(TInt8 *)&pn+((sizeof(pn)+sizeof(TInt)-1)&~(sizeof(TInt)-1)),(void)0)
+#endif
+
+
+
+
+#ifndef VA_ARG
+/**
+@publishedAll
+@released
+
+A macro used by Symbian OS code for handling a variable argument list
+in a function call.
+
+Increments a pointer to a variable argument list to point to the next argument
+in the list. The current argument is assumed to be of a type defined by
+the second parameter to this macro.
+
+Typical usage:
+
+@code
+Foo(CAbcdef aAbcdef,...)
+   {
+   VA_LIST list;
+   VA_START(list, aAbcdef);
+   ...
+   TInt x = VA_ARG(list,TInt);
+   ...
+   const TDesC *pS=VA_ARG(aList,const TDesC*);
+   ... 
+   etc
+   } 
+@endcode
+
+@param ap   A pointer used to hold the address of an argument in
+            the variable argument list. It is assumed to point to the current
+            argument in the variable argument list. After execution of the code
+            generated by this macro, the pointer points to the next argument in
+            the list. This symbol is usually declared as a VA_LIST type. 
+
+@param type The type of the current argument.
+            This can be any valid type, for example, TInt, const TDesC*, etc.
+            
+@see VA_LIST
+@see VA_START            
+*/
+#define VA_ARG(ap,type) ((ap)[0]+=((sizeof(type)+sizeof(TInt)-1)&~(sizeof(TInt)-1)),(*(type *)((ap)[0]-((sizeof(type)+sizeof(TInt)-1)&~(sizeof(TInt)-1)))))
+#endif
+
+
+
+
+#ifndef VA_END
+/**
+@publishedAll
+@released
+
+A macro used by Symbian OS code for handling a variable argument list
+in a function call.
+
+Sets a pointer to zero.
+
+@param ap   A pointer used to hold the address of an argument in
+            the variable argument list. After execution of the code generated 
+            by this macro, the pointer is reset to 0.
+            This symbol is usually declared as a VA_LIST type. 
+            
+@see VA_LIST
+@see VA_START
+@see VA_ARG            
+*/
+#define VA_END(ap) ((ap)[0]=0,(void)0)
+#endif
+	
+
+
+/**
+@publishedAll
+@released
+
+Calculates the offset of member f within class c.
+
+This is used in the TSglQue and TDblQue constructors to set the offset of
+the link object from the start of a list element.
+
+@param c The name of the class.
+@param f The name of the member within the specified class.
+
+@see TSglQue
+@see TDblQue
+*/
+#ifndef _FOFF
+#define _FOFF(c,f)			(((TInt)&(((c *)0x1000)->f))-0x1000)
+#endif
+
+
+
+/**
+@internalTechnology
+@released
+*/
+#define _ALIGN_DOWN(x,a)	((x)&~((a)-1))
+/**
+@internalTechnology
+@released
+*/
+#define _ALIGN_UP(x,a)		_ALIGN_DOWN((x)+(a)-1, a)
+
+
+
+
+/** 
+@publishedAll
+@released
+
+Pointer to any type.
+
+TAny* is equivalent to void* in standard C or C++. TAny* is used in preference 
+to void* because it is more suggestive of the actual meaning,
+e.g. TAny* foo();.
+
+TAny is not used where it really means "nothing", as in the declaration of 
+functions which do not return a value; void is used instead, e.g. void Foo();.
+*/
+typedef void TAny;
+
+
+
+
+/**
+@publishedAll
+@released
+
+8-bit signed integer type, used in Symbian OS to mean an 8-bit
+signed integer, independent of the implementation.
+*/
+typedef signed char TInt8;
+
+
+
+
+/**
+@publishedAll
+@released
+
+8-bit unsigned integer type; used in Symbian OS to mean an 8-bit
+unsigned integer, independent of the implementation.
+*/
+typedef unsigned char TUint8;
+
+
+
+
+/**
+@publishedAll
+@released
+
+16-bit signed integer type, used in Symbian OS to mean a 16-bit
+signed integer, independent of the implementation.
+*/
+typedef short int TInt16;
+
+
+
+
+/**
+@publishedAll
+@released
+
+16-bit unsigned integer type. used in Symbian OS to mean a 16-bit
+unsigned integer, independent of the implementation.
+*/
+typedef unsigned short int TUint16;
+
+
+
+
+/**
+@publishedAll
+@released
+
+32-bit signed integer type, used in Symbian OS to mean a 32-bit
+signed integer, independent of the implementation.
+*/
+typedef long int TInt32;
+
+
+
+
+/**
+@publishedAll
+@released
+
+32-bit unsigned integer type; used in Symbian OS to mean a 32-bit
+unsigned integer, independent of the implementation.
+*/
+typedef unsigned long int TUint32;
+
+
+
+
+/**
+@publishedAll
+@released
+
+Signed integer type of the natural machine word length.
+
+This is as defined by the C++ implementation's int type. In all
+implementations, this is guaranteed to be at least 32 bits.
+
+A TInt should be used in preference to a sized integer (TInt32, TInt16) for 
+all general use. Sized integers should only be used when packing is essential. 
+C++'s type conversion rules imply that all sized integers smaller than the 
+natural machine word are in any case broadened to the natural machine word 
+size when passed as function parameters.
+
+A TInt should be used in preference to an unsigned integer (TUint) for all 
+general use. Unsigned integers should only be used for flags (which use Boolean 
+operations but not arithmetic) and, in very rare cases, for numbers whose 
+range exceeds that available from signed integers. Although it is natural 
+to attempt to use unsigned integers for quantities which cannot by nature 
+be negative, the C++ language does not provide the support necessary to enforce 
+the "expected" behaviour in these circumstances, and experience has shown 
+that it is better to use signed integers unless there is good reason not to.
+
+@see TUint
+@see TInt32
+@see TInt16
+*/
+typedef signed int TInt;
+
+
+
+
+/**
+@publishedAll
+@released
+
+Unsigned integer type of the natural machine word length. 
+
+This is guaranteed to be at least 32 bits in all implementations.
+
+In almost all circumstances, a TInt should be used in preference to a TUint. 
+The main exception is in flags bytes.
+
+@see TInt
+*/
+typedef unsigned int TUint;
+
+
+
+
+/**
+@publishedAll
+@released
+
+32-bit floating point number, providing IEEE754 single precision on all Symbian 
+OS implementations.
+
+TReal should normally be used in preference to TReal32.
+
+Use of floating-point numbers should generally be avoided unless a natural 
+part of the problem specification. Most Symbian OS implementations do not 
+have a hardware floating point unit: as a result, their floating-point performance 
+is hundreds of times slower than integer performance.
+*/
+typedef float TReal32;
+
+
+
+
+/**
+@publishedAll
+@released
+
+64-bit floating point number, providing IEEE754 double precision on all Symbian 
+OS implementations.
+
+Use of floating-point numbers should generally be avoided unless a natural 
+part of the problem specification. Most Symbian OS implementations do not 
+have a hardware floating point unit: as a result, their floating-point performance 
+is hundreds of times slower than integer performance.
+
+This type is identical to TReal.
+
+@see TReal
+*/
+typedef double TReal64;
+
+
+
+
+/**
+@publishedAll
+@released
+
+64-bit floating point number; identical to TReal64.
+
+Use of floating-point numbers should generally be avoided unless a natural 
+part of the problem specification. Most Symbian OS implementations do not 
+have a hardware floating point unit: as a result, their floating-point performance 
+is hundreds of times slower than integer performance.
+
+Most serious floating-point calculations require double-precision. All standard 
+math functions (see Math class) take double-precision arguments. Single-precision 
+should only be used where space and performance are at a premium, and when 
+their limited precision is acceptable.
+
+@see TReal64
+@see Math
+*/
+typedef double TReal;
+
+
+
+
+/**
+@publishedAll
+@released
+
+8-bit unsigned character.
+
+Use instead of C++ built-in char type because it is guaranteed to be unsigned. 
+Use instead of TInt8 where the application is really for text rather than 
+8-bit arithmetic or binary quantities.
+
+For most purposes, you should use TText rather than TText8. TText is mapped 
+onto either TText8 or TText16 depending on whether a non-Unicode or Unicode 
+variant is being built. Use TText8 only when you are dealing explicitly with 
+8-bit text, regardless of build.
+
+@see TText */
+typedef unsigned char TText8;
+
+
+
+
+/**
+@publishedAll
+@released
+
+16-bit unsigned character.
+
+Use instead of C++ wchar_t type because it is guaranteed to be unsigned. Use 
+instead of TInt16 where the application is really for text rather than 8-bit 
+arithmetic or binary quantities.
+
+For most purposes, you should use TText rather than TText16. TText is mapped 
+onto either TText8 or TText16 depending on whether a non-Unicode or Unicode 
+variant is being built. Use TText16 only when you are dealing explicitly with 
+16-bit text, regardless of build.
+
+@see TText
+*/
+typedef unsigned short int TText16;
+
+
+
+
+/**
+@publishedAll
+@released
+
+Boolean type which takes the value either ETrue or EFalse.
+
+Although only a single bit would theoretically be necessary to represent a 
+Boolean, a machine word is used instead, so that these quantities can be easily 
+passed. Also, TBool must map onto int because of C++'s interpretation of 
+operands in conditional expressions.
+
+On implementations of Symbian OS in which the compiler supports the ANSI-recommended 
+bool type, TBool will be typedef'ed to bool instead of int.
+*/
+typedef int TBool;
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Defines a linear (virtual) address type.
+*/
+typedef TUint32 TLinAddr;
+
+/**
+@internalTechnology
+
+A sorted list of all the code segments in ROM that contain an Exception Descriptor.
+
+*/
+typedef struct TRomExceptionSearchTable
+	{
+	/**
+	The number of entries in the following table.
+	*/
+	TInt32 iNumEntries;
+	
+	/**
+	Address of the code segment of each TRomImageHeader that has an Exception Descriptor.
+	*/
+	TLinAddr iEntries[1];
+	} TRomExceptionSearchTable;
+
+/**
+@internalComponent
+*/
+typedef struct TExceptionDescriptor 
+	{
+	TLinAddr iExIdxBase;
+	TLinAddr iExIdxLimit;
+	TLinAddr iROSegmentBase;
+	TLinAddr iROSegmentLimit;
+	} TExceptionDescriptor;
+
+
+#if defined(__GCC32__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines a 64-bit signed integer type.
+*/
+typedef long long Int64;
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines a 64-bit unsigned integer type.
+*/
+typedef unsigned long long Uint64;
+
+
+
+
+/**
+@publishedAll
+@released
+*/
+#define	I64LIT(x)	x##LL
+/**
+@publishedAll
+@released
+*/
+#define	UI64LIT(x)	x##ULL
+
+#elif defined(__VC32__)
+typedef __int64 Int64;
+typedef unsigned __int64 Uint64;
+#define	I64LIT(x)	(__int64)##x
+#define	UI64LIT(x)	(unsigned __int64)##x
+
+#elif defined(__CW32__)
+#pragma longlong on
+typedef long long Int64;
+typedef unsigned long long Uint64;
+#define	I64LIT(x)	x##LL
+#define	UI64LIT(x)	x##ULL
+#endif
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines a 64-bit signed integer type.
+
+NOTE: For those migrating from versions of Symbian OS before 8.1b (i.e. 8.1a, 7.0s etc)
+TInt64 is now defined as a built-in type instead of as a class type. This means
+that the member functions of the old TInt64 class are no longer exported
+from EUSER.LIB, and represents a compatibility break.
+
+To ease migration of source code, a number of macros are provided. Similar
+macros have also been defined in Symbian OS versions 7.0s and 8.1a, but
+implemented in terms of the old TInt64 class. This is important for code that
+is common to : one or both of these Symbian OS versions, and to 8.1b and
+subsequent versions.
+
+The following list shows the new macros and the functions that they replace.
+It also shows some alternative techniques.
+In this list: x, v and r are declared as TInt64, c is declared as TInt, High
+and Low are declared as TUint.
+
+@code
+OLD USAGE						REPLACEMENT
+
+TInt64(High,Low);				MAKE_TINT64(High,Low);
+x.Set(High,Low);				MAKE_TINT64(High,Low);
+x.Low();						I64LOW(x);
+x.High();						I64HIGH(x); 
+x.GetTInt();					I64INT(x); 
+x.GetTReal();					I64REAL(x); 
+x.Lsr(c);						I64LSR(x,c); 
+x.Mul10();						x*=10; 
+x.MulTop(a);					I64MULTOP(x,a); 
+x.DivMod(v,r);					r=x%v; x/=v;
+@endcode 
+*/
+typedef	Int64	TInt64;
+
+
+
+
+/**
+@publishedAll
+@released
+ 
+Defines a 64-bit unsigned integer type.
+*/
+typedef	Uint64	TUint64;
+
+
+
+
+/** @internalComponent */
+#define _MAKE_TINT64_ZX(x)	((TInt64)((TUint32)(x)))
+
+/** @internalComponent */
+#define _MAKE_TUINT64_ZX(x)	((TUint64)((TUint32)(x)))
+
+
+
+
+/**
+@publishedAll
+@released
+*/
+#define MAKE_TINT64(h,l)	( (_MAKE_TINT64_ZX(h)<<32) | _MAKE_TINT64_ZX(l) )
+
+
+
+
+/**
+@publishedAll
+@released
+*/
+#define MAKE_TUINT64(h,l)	( (_MAKE_TUINT64_ZX(h)<<32) | _MAKE_TUINT64_ZX(l) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to access the high order 32 bits of a 64 bit number.
+*/
+#define	I64HIGH(x)			( (TUint32)((x)>>32) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to access the low order 32 bits of a 64 bit number.
+*/
+#define	I64LOW(x)			( (TUint32)(x) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to cast a 64 bit value as an signed integer.
+*/
+#define	I64INT(x)			( (TInt)(x) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to cast a 64 bit value as a TReal type.
+*/
+#define	I64REAL(x)			( (TReal)(x) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to logically shift a 64 bit integer right.
+*/
+#define	I64LSR(x, shift)	( *reinterpret_cast<TUint64*>(&(x)) >>= (shift) )
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to multiply a 64 bit integer by 10.
+*/
+#define	I64MUL10(x)			( (x) *= 10 )
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to divide a 64 bit integer by another and find the remainder.
+*/
+#define	I64DIVMOD(x, divisor, remainder)	( ((remainder) = (x) % (divisor), (x) /= (divisor)) )
+
+
+
+
+/**
+@publishedAll
+@released
+
+Generates code to cast a double to a 64 bit integer.
+*/
+#define	I64DOUBLECAST(x)	( static_cast<TInt64>(x) )
+
+
+
+
+/**
+@publishedAll
+@deprecated Use _LIT8 instead.
+
+8-bit literal.
+
+The macro defines an explicit 8-bit constant literal which is suitable
+for non-Unicode literal text, regardless of the build.
+
+@see _L
+@see _LIT8
+@see _LIT
+*/
+#define _L8(a) (TPtrC8((const TText8 *)(a)))
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines an explicit 8-bit string which is suitable when non-Unicode text
+is required, regardless of the build.
+
+This is used by the deprecated literal descriptor _L8.
+*/
+#define _S8(a) ((const TText8 *)a)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Constructs a constant literal descriptor of type TLitC8<TInt> with
+the specified name and text.
+
+The 8-bit build variant is generated for both non-Unicode and Unicode builds.
+
+@param name The name of the C++ variable to be generated.
+@param s    The literal text enclosed within a pair of double quotes. 
+
+@see _LIT
+*/
+#define _LIT8(name,s) const static TLitC8<sizeof(s)> name={sizeof(s)-1,s}
+
+
+
+
+/**
+@publishedAll
+@deprecated Use _LIT16 instead.
+
+16-bit literal.
+
+The macro defines an explicit 16-bit constant literal which is suitable
+for Unicode literal text, regardless of the build.
+
+@see _L
+@see _LIT16
+@see _LIT
+*/
+#define _L16(a) (TPtrC16((const TText16 *)L ## a))
+
+
+
+/**
+@publishedAll
+@released
+
+Defines an explicit 16-bit string which is suitable when Unicode text
+is required, regardless of the build.
+
+This is used by the deprecated literal descriptor _L16.
+*/
+#define _S16(a) ((const TText16 *)L ## a)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Constructs a constant literal descriptor of type TLitC16<TInt> with
+the specified name and text.
+
+The 16-bit build variant is generated for both non-Unicode and Unicode builds.
+
+@param name The name of the C++ variable to be generated.
+@param s    The literal text enclosed within a pair of double quotes. 
+
+@see _LIT
+*/
+#define _LIT16(name,s) const static TLitC16<sizeof(L##s)/2> name={sizeof(L##s)/2-1,L##s}
+
+
+
+
+#if defined(_UNICODE) && !defined(__KERNEL_MODE__)
+/**
+@publishedAll
+@released
+
+Build independent general text character.
+
+In non-Unicode builds, this is mapped to TText8. In Unicode builds, this is 
+mapped to TText16. Use the classes with explicit width only when you wish 
+the width to be independent of the build variant.
+
+Use this class rather than TChar for general use.
+*/
+typedef TText16 TText;
+
+
+
+/**
+@publishedAll
+@deprecated Use _LIT instead.
+
+Build independent literal. 
+
+The macro defines either an 8-bit constant literal (for non-Unicode text),
+or a 16-bit constant literal (for Unicode text) depending on the build.
+
+@see _LIT
+@see _L16
+@see _L8
+*/
+#define _L(a) (TPtrC((const TText *)L ## a))
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines either an 8-bit string (for non-Unicode text),
+or a 16-bit string (for Unicode text) depending on the build.
+
+This is used by the deprecated build independent literal _L.
+*/
+#define _S(a) ((const TText *)L ## a)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Constructs a build independent constant literal descriptor of type TLitC<TInt>
+with the specified name and text.
+
+An 8-bit build variant is generated for a non-Unicode build;
+A 16-bit build variant is generated for a Unicode build.
+
+@param name The name of the C++ variable to be generated.
+@param s    The literal text enclosed within a pair of double quotes. 
+
+@see _LIT16
+@see _LIT8
+*/
+#define _LIT(name,s) const static TLitC<sizeof(L##s)/2> name={sizeof(L##s)/2-1,L##s}
+
+
+
+
+#else
+/**
+@publishedAll
+@released
+
+Build independent general text character.
+
+In non-Unicode builds, this is mapped to TText8. In Unicode builds, this is 
+mapped to TText16. Use the classes with explicit width only when you wish 
+the width to be independent of the build variant.
+
+Use this class rather than TChar for general use.
+*/
+typedef TText8 TText;
+
+
+
+/**
+@publishedAll
+@released
+
+@deprecated Use _LIT instead.
+
+Build independent literal. 
+
+The macro defines either an 8-bit constant literal (for non-Unicode text),
+or a 16-bit constant literal (for Unicode text) depending on the build.
+
+@see _LIT
+@see _L16
+@see _L8
+*/
+#define _L(a) (TPtrC((const TText *)(a)))
+
+
+
+
+/**
+@publishedAll
+@released
+
+Defines either an 8-bit string (for non-Unicode text),
+or a 16-bit string (for Unicode text) depending on the build.
+
+This is used by the deprecated build independent literal _L.
+*/
+#define _S(a) ((const TText *)a)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Constructs a build independent constant literal descriptor of type TLitC<TInt>
+with the specified name and text.
+
+An 8-bit build variant is generated for a non-Unicode build;
+A 16-bit build variant is generated for a Unicode build.
+
+@param name The name of the C++ variable to be generated.
+@param s    The literal text enclosed within a pair of double quotes. 
+
+@see _LIT16
+@see _LIT8
+*/
+#define _LIT(name,s) const static TLitC<sizeof(s)> name={sizeof(s)-1,s}
+#endif
+
+
+
+
+#ifndef __VA_LIST_defined
+/** 
+@publishedAll
+@released
+
+Defines a 'C' style array of pointers to TInt8 types.
+
+The type is most commonly used by code that needs to deal with a variable
+number of arguments passed to a function.
+
+@see TInt8
+*/
+typedef TInt8 *VA_LIST[1];
+#endif
+
+/** 
+@publishedAll
+@released
+
+Asserts that a condition is true.
+
+Code is generated for all builds.
+
+This macro is used as a C++ statement to assert the truth of some condition,
+and to take appropriate action if the condition is false. Unlike __ASSERT_DEBUG
+it is defined in both release and debug builds.
+
+The most common use for this macro is to check that the external environment of
+a function or class is behaving as expected; for example, that parameters
+passed to a function are credible, or that called functions are behaving as
+expected; the macro is commonly placed at the beginning of a function.
+
+The effect of the macro is to generate code which tests
+the conditional expression c; if the expression is false, then
+function p is called. In the majority of cases, the function p is one that
+raises a panic.
+
+Note that the macro definition is, in effect, equivalent to: 
+
+@code
+if !(c)p;
+@endcode
+
+@param c a conditional expression which results in true or false.
+@param p a function which is called if the conditional expression c is false.
+
+@see __ASSERT_DEBUG
+*/
+#define __ASSERT_ALWAYS(c,p) (void)((c)||(p,0))
+
+
+
+#ifdef __WINS__
+#ifdef __CW32__
+/** 
+@internalAll
+@released
+*/
+#define __BREAKPOINT()			\
+	{							\
+	__asm { byte 0xcc };		\
+	}
+#else // !__CW32__
+/** 
+@internalAll
+@released
+*/
+#define __BREAKPOINT()			\
+	{							\
+	__asm { int 3 };			\
+	}
+#endif //__CW32__
+#else
+/** 
+@internalAll
+@released
+*/
+#define __BREAKPOINT()
+#endif
+
+#if defined(_DEBUG)
+
+/** 
+@internalComponent
+@deprecated
+*/
+#define __ASSERT_DEBUG_MB(aCond,aPanicNo) (void)((aCond)||(PanicMB(aPanicNo,_L(#aPanicNo),_L(#aCond)),0))
+
+
+
+
+/** 
+@publishedAll
+@released
+
+Asserts that a condition is true.
+
+Code is generated for debug builds only.
+
+This macro is used as a C++ statement to assert the truth of some condition,
+and to take appropriate action if the condition is false. It is used in
+the same way as __ASSERT_ALWAYS, except that it is only defined for debug builds.
+
+The macro may be used to insert extra checks at various points in source code
+as desired; the code will only be generated in debug builds and not in release
+builds.
+
+@param c A conditional expression which results in true or false.
+@param p A function which is called if the conditional expression c is false.
+
+@see __ASSERT_ALWAYS
+*/
+#define __ASSERT_DEBUG(c,p) (void)((c)||(p,0))
+
+
+
+/** 
+@internalAll
+@removed
+*/
+#define __DECLARE_NAME(t)
+
+
+
+
+/** 
+@publishedAll
+@released
+
+Calls the function for testing object invariance.
+
+Classes can define a standard member function __DbgTestInvariant(),
+which checks that the object is in a valid state, and panics if it is not.
+In debug builds, this macro simply expands to call that function. For details on how
+to define __DbgTestInvariant(), and an example of its use, see __DECLARE_TEST.
+
+The macro is typically invoked at the beginning of all the member functions of
+the class. For non-const functions (those which can change the object’s state),
+you can ensure that the object has been left in a stable state by invoking
+the macro at the end of the function.
+
+In release builds, no code is generated for the macro. 
+*/
+#define __TEST_INVARIANT __DbgTestInvariant()
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the start of checking the current thread's heap. 
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __UHEAP_MARKEND or __UHEAP_MARKENDC.
+
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __UHEAP_MARKEND or __UHEAP_MARKENDC.
+
+@see User::__DbgMarkStart()
+@see __UHEAP_MARKEND
+@see __UHEAP_MARKENDC
+*/
+#define __UHEAP_MARK User::__DbgMarkStart(FALSE)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the number of allocated cells at the current nested level on the 
+current thread's heap is the same as the specified value.
+
+This macro is defined only for debug builds.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+The macro assumes that:
+
+1. the heap being checked is a user heap
+
+2. checking is being done for the number of allocated cells at the current nested 
+   level; i.e. that aCountAll is set to false
+
+3. the line number is the line number of this source code statement.
+
+4. the file name is the full path name of the file containing this source statement
+
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see User::__DbgMarkCheck()
+@see __KHEAP_CHECK
+*/
+#define __UHEAP_CHECK(aCount) User::__DbgMarkCheck(FALSE,FALSE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the total number of allocated cells on the current thread's heap 
+is the same as the specified value.
+
+This macro is defined only for debug builds.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+@param aCount The total number of heap cells expected to be allocated.
+
+@see User::__DbgMarkCheck()
+@see __KHEAP_CHECKALL
+*/
+#define __UHEAP_CHECKALL(aCount) User::__DbgMarkCheck(FALSE,TRUE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of checking the current thread's heap. 
+
+The macro expects zero heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __UHEAP_MARK.
+
+@see User::__DbgMarkEnd()
+@see __UHEAP_MARK
+*/
+#define __UHEAP_MARKEND User::__DbgMarkEnd(FALSE,0)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of checking the current thread's heap. 
+
+The macro expects aCount heap cells to remain allocated at the current nest 
+level.
+
+This macro must match an earlier call to __UHEAP_MARK.
+
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level.
+
+@see User::__DbgMarkEnd()
+@see __UHEAP_MARK
+*/
+#define __UHEAP_MARKENDC(aCount) User::__DbgMarkEnd(FALSE,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates heap allocation failure for the current thread's heap.
+
+The failure occurs on the next call to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aCount Determines when the allocation will fail.
+              Heap allocation fails on attempt number aCount - later
+              allocations will succeed.
+              For example, if aCount is 3, then heap allocation fails
+              on the 3rd attempt, but all subsequent allocations succeed. 
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_FAILNEXT(aCount) User::__DbgSetAllocFail(FALSE,RAllocator::EFailNext,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates heap allocation failure for the current thread's heap. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aType  The type of failure to be simulated.
+@param aValue The failure rate.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_SETFAIL(aType,aValue) User::__DbgSetAllocFail(FALSE,aType,aValue)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated heap allocation failure for the current thread's heap. 
+
+This macro is defined only for debug builds.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_RESET User::__DbgSetAllocFail(FALSE,RAllocator::ENone,1)
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated heap allocation failure for the current thread's heap. 
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+This macro is defined only for debug builds.
+*/
+#define __UHEAP_TOTAL_RESET User::__DbgSetAllocFail(FALSE,RAllocator::EReset,1)
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the start of Kernel heap checking. 
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __KHEAP_MARKEND or __KHEAP_MARKENDC. 
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __KHEAP_MARKEND or __KHEAP_MARKENDC.
+
+@see User::__DbgMarkStart()
+@see __KHEAP_MARKEND
+@see __KHEAP_MARKENDC
+*/
+#define __KHEAP_MARK User::__DbgMarkStart(TRUE)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Checks that the number of allocated cells at the current nested level of the 
+Kernel heap is the same as the specified value. This macro is defined only 
+for debug builds. Checking the Kernel heap is only useful when developing 
+Kernel side code such as device drivers and media drivers.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see User::__DbgMarkCheck()
+@see __UHEAP_CHECK
+*/
+#define __KHEAP_CHECK(aCount) User::__DbgMarkCheck(TRUE,FALSE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Checks that the total number of allocated cells on the Kernel heap is the same 
+as the specified value.
+
+It is only useful when developing Kernel side code such as device drivers 
+and media drivers. 
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+This macro is defined only for debug builds.
+
+@param aCount The total number of heap cells expected to be allocated
+
+@see User::__DbgMarkCheck()
+@see __UHEAP_CHECKALL
+*/
+#define __KHEAP_CHECKALL(aCount) User::__DbgMarkCheck(TRUE,TRUE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the end of Kernel heap checking. The macro expects zero heap cells to 
+remain allocated at the current nest level.
+
+This macro is defined only for debug builds. Checking the Kernel heap is only 
+useful when developing Kernel side code such as device drivers and media drivers.
+
+This macro must match an earlier call to __KHEAP_MARK.
+
+@see User::__DbgMarkEnd()
+@see __KHEAP_MARK
+*/
+#define __KHEAP_MARKEND User::__DbgMarkEnd(TRUE,0)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the end of Kernel heap checking. The macro expects aCount heap cells 
+to remain allocated at the current nest level.
+
+This macro is defined only for debug builds.
+
+This macro must match an earlier call to __KHEAP_MARK.
+
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level.
+
+@see User::__DbgMarkEnd()
+@see __KHEAP_MARK
+*/
+#define __KHEAP_MARKENDC(aCount) User::__DbgMarkEnd(TRUE,aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Simulates Kernel heap allocation failure. The failure occurs on the next call 
+to new or any of the functions which allocate memory from the heap. This macro 
+is defined only for debug builds.
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+@param aCount The rate of failure - heap allocation fails every aCount attempt.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_FAILNEXT(aCount) User::__DbgSetAllocFail(TRUE,RAllocator::EFailNext,aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Simulates Kernel heap allocation failure. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from this heap.
+
+This macro is defined only for debug builds.
+
+@param aType  The type of failure to be simulated.
+@param aValue The failure rate.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_SETFAIL(aType,aValue) User::__DbgSetAllocFail(TRUE,aType,aValue)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Cancels simulated Kernel heap allocation failure. 
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_RESET User::__DbgSetAllocFail(TRUE,RAllocator::ENone,1)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Cancels simulated kernel heap allocation failure. 
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+Checking the kernel heap is only useful when developing kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+*/
+#define __KHEAP_TOTAL_RESET User::__DbgSetAllocFail(TRUE,RAllocator::EReset,1)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the start of heap checking for the specific heap. 
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __RHEAP_MARKEND or __RHEAP_MARKENDC.
+
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __RHEAP_MARKEND or __RHEAP_MARKENDC.
+
+@param aHeap A pointer to the specific RHeap
+
+@see RHeap
+@see RAllocator::__DbgMarkStart()
+@see __RHEAP_MARKEND
+@see __RHEAP_MARKENDC
+*/
+#define __RHEAP_MARK(aHeap) (aHeap)->__DbgMarkStart()
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the number of allocated cells at the current nested level on the 
+specified heap is the same as the specified value. 
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail. 
+
+This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see RAllocator::__DbgMarkCheck()
+*/
+#define __RHEAP_CHECK(aHeap,aCount) (aHeap)->__DbgMarkCheck(FALSE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the total number of allocated cells on the specified heap is the 
+same as the specified value.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The total number of heap cells expected to be allocated.
+
+@see RAllocator::__DbgMarkCheck()
+*/
+#define __RHEAP_CHECKALL(aHeap,aCount) (aHeap)->__DbgMarkCheck(TRUE,aCount,(TText8*)__FILE__,__LINE__)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of heap checking for the specific heap.
+
+The macro expects zero heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __RHEAP_MARK.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgMarkEnd()
+@see __RHEAP_MARK
+*/
+#define __RHEAP_MARKEND(aHeap) (aHeap)->__DbgMarkEnd(0)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of heap checking for the specific heap.
+
+The macro expects aCount heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __RHEAP_MARK.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level
+
+@see RAllocator::__DbgMarkEnd()
+@see __RHEAP_MARK
+*/
+#define __RHEAP_MARKENDC(aHeap,aCount) (aHeap)->__DbgMarkEnd(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates an allocation failure for the specific heap.
+
+The failure occurs on the next call to new or any of the functions which allocate 
+memory from the heap. This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The rate of failure - heap allocation fails every aCount attempt.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_FAILNEXT(aHeap,aCount) (aHeap)->__DbgSetAllocFail(RAllocator::EFailNext,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates an allocation failure for the specific heap. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aType  The type of failure to be simulated. 
+@param aValue The failure rate.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_SETFAIL(aHeap,aType,aValue) (aHeap)->__DbgSetAllocFail(aType,aValue)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated allocation failure for the specific heap.
+
+This macro is defined only for debug builds.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_RESET(aHeap) (aHeap)->__DbgSetAllocFail(RAllocator::ENone,1)
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated allocation failure for the specific heap.
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+This macro is defined only for debug builds.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_TOTAL_RESET(aHeap) (aHeap)->__DbgSetAllocFail(RAllocator::EReset,1)
+
+
+
+
+#if defined (__WINS__) 
+
+/**
+@publishedAll
+@released
+*/
+#define __DEBUGGER() {if (User::JustInTime()) __BREAKPOINT()}
+
+#else
+#define __DEBUGGER()
+#endif
+
+
+#if defined(__DLL__)
+/**
+@publishedAll
+@released
+
+Declares a function for testing object invariance.
+
+For complex classes, it is often useful to provide a function that can
+be called to check that the object is in a valid state.
+The __DECLARE_TEST macro supplies a standard prototype for such a function
+named __DbgTestInvariant(). A companion macro __TEST_INVARIANT is provided
+to call the function.
+
+For DLLs, as opposed to EXEs, __DbgTestInvariant() is exported,
+i.e. the macro expands to:
+
+@code
+public: IMPORT_C void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+@endcode
+
+This macro should placed as the last item in a class declaration (as it 
+switches back to public access). Note that a terminating semi-colon must be used.
+
+You should define the __DbgTestInvariant() function to check that the object
+is in a healthy state. If it finds an error, it should call User::Invariant(),
+which will cause a panic. 
+
+If a class is derived from a base class, then the base class __DbgTestInvariant()
+should be called first, and then any further checking done. 
+
+The second function declared, __DbgTest(), is intended to allow test code a way
+of directly accessing non-public members of a class. The function is
+implemented by any test code that requires it, rather than in the class’s own
+source code. The function is therefore not exported.
+
+__DECLARE_TEST is defined for both debug and release builds. This point is
+particularly important for DLLs, as otherwise the exported interfaces would
+differ between the build versions, giving potential binary compatibility
+problems. To avoid using memory unnecessarily in release builds, you can,
+however, use preprocessor directives to define the code within
+__DbgTestInvariant() only for debug builds. __DbgTestInvariant() is never
+called in release builds.
+
+@see __TEST_INVARIANT
+*/
+#define __DECLARE_TEST public: IMPORT_C void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+#else
+#define __DECLARE_TEST public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+#endif
+
+#else
+#define __ASSERT_DEBUG(c,p)
+#define __DECLARE_NAME(t)
+#define __TEST_INVARIANT
+#if defined(__DLL__)
+#define __DECLARE_TEST public: IMPORT_C void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+#else
+#define __DECLARE_TEST public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const
+#endif
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the start of checking the current thread's heap. 
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __UHEAP_MARKEND or __UHEAP_MARKENDC.
+
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __UHEAP_MARKEND or __UHEAP_MARKENDC.
+
+@see User::__DbgMarkStart()
+@see __UHEAP_MARKEND
+@see __UHEAP_MARKENDC
+*/
+#define __UHEAP_MARK
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the number of allocated cells at the current nested level on the 
+current thread's heap is the same as the specified value.
+
+This macro is defined only for debug builds.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+The macro assumes that:
+
+1. the heap being checked is a user heap
+
+2. checking is being done for the number of allocated cells at the current nested 
+   level; i.e. that aCountAll is set to false
+
+3. the line number is the line number of this source code statement.
+
+4. the file name is the full path name of the file containing this source statement
+
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see User::__DbgMarkCheck()
+@see __KHEAP_CHECK
+*/
+#define __UHEAP_CHECK(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the total number of allocated cells on the current thread's heap 
+is the same as the specified value.
+
+This macro is defined only for debug builds.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+@param aCount The total number of heap cells expected to be allocated.
+
+@see User::__DbgMarkCheck()
+@see __KHEAP_CHECKALL
+*/
+#define __UHEAP_CHECKALL(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of checking the current thread's heap. 
+
+The macro expects zero heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __UHEAP_MARK.
+
+@see User::__DbgMarkEnd()
+@see __UHEAP_MARK
+*/
+#define __UHEAP_MARKEND
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of checking the current thread's heap. 
+
+The macro expects aCount heap cells to remain allocated at the current nest 
+level.
+
+This macro must match an earlier call to __UHEAP_MARK.
+
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level.
+
+@see User::__DbgMarkEnd()
+@see __UHEAP_MARK
+*/
+#define __UHEAP_MARKENDC(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates heap allocation failure for the current thread's heap.
+
+The failure occurs on the next call to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aCount Determines when the allocation will fail.
+              Heap allocation fails on attempt number aCount - later
+              allocations will succeed.
+              For example, if aCount is 3, then heap allocation fails
+              on the 3rd attempt, but all subsequent allocations succeed. 
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_FAILNEXT(aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates heap allocation failure for the current thread's heap. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aType  The type of failure to be simulated.
+@param aValue The failure rate.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_SETFAIL(aType,aValue)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated heap allocation failure for the current thread's heap. 
+
+This macro is defined only for debug builds.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __UHEAP_RESET
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated heap allocation failure for the current thread's heap. 
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+This macro is defined only for debug builds.
+*/
+#define __UHEAP_TOTAL_RESET
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the start of Kernel heap checking. 
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __KHEAP_MARKEND or __KHEAP_MARKENDC. 
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __KHEAP_MARKEND or __KHEAP_MARKENDC.
+
+@see User::__DbgMarkStart()
+@see __KHEAP_MARKEND
+@see __KHEAP_MARKENDC
+*/
+#define __KHEAP_MARK
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Checks that the number of allocated cells at the current nested level of the 
+Kernel heap is the same as the specified value. This macro is defined only 
+for debug builds. Checking the Kernel heap is only useful when developing 
+Kernel side code such as device drivers and media drivers.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see User::__DbgMarkCheck()
+@see __UHEAP_CHECK
+*/
+#define __KHEAP_CHECK(aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Checks that the total number of allocated cells on the Kernel heap is the same 
+as the specified value.
+
+It is only useful when developing Kernel side code such as device drivers 
+and media drivers. 
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+This macro is defined only for debug builds.
+
+@param aCount The total number of heap cells expected to be allocated
+
+@see User::__DbgMarkCheck()
+@see __UHEAP_CHECKALL
+*/
+#define __KHEAP_CHECKALL(aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the end of Kernel heap checking. The macro expects zero heap cells to 
+remain allocated at the current nest level.
+
+This macro is defined only for debug builds. Checking the Kernel heap is only 
+useful when developing Kernel side code such as device drivers and media drivers.
+
+This macro must match an earlier call to __KHEAP_MARK.
+
+@see User::__DbgMarkEnd()
+@see __KHEAP_MARK
+*/
+#define __KHEAP_MARKEND
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Marks the end of Kernel heap checking. The macro expects aCount heap cells 
+to remain allocated at the current nest level.
+
+This macro is defined only for debug builds.
+
+This macro must match an earlier call to __KHEAP_MARK.
+
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level.
+
+@see User::__DbgMarkEnd()
+@see __KHEAP_MARK
+*/
+#define __KHEAP_MARKENDC(aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Simulates Kernel heap allocation failure. The failure occurs on the next call 
+to new or any of the functions which allocate memory from the heap. This macro 
+is defined only for debug builds.
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+@param aCount The rate of failure - heap allocation fails every aCount attempt.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_FAILNEXT(aCount)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Simulates Kernel heap allocation failure. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from this heap.
+
+This macro is defined only for debug builds.
+
+@param aType  The type of failure to be simulated.
+@param aValue The failure rate.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_SETFAIL(aType,aValue)
+
+
+
+
+/**
+@publishedPartner
+@released
+
+Cancels simulated Kernel heap allocation failure. 
+
+Checking the Kernel heap is only useful when developing Kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+
+@see User::__DbgSetAllocFail()
+*/
+#define __KHEAP_RESET
+
+
+
+/**
+@publishedPartner
+@released
+
+Cancels simulated kernel heap allocation failure. 
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+Checking the kernel heap is only useful when developing kernel side code such 
+as device drivers and media drivers.
+
+This macro is defined only for debug builds.
+*/
+#define __KHEAP_TOTAL_RESET
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the start of heap checking for the specific heap. 
+
+This macro is defined only for debug builds.
+
+This macro must be matched by a corresponding call to __RHEAP_MARKEND or __RHEAP_MARKENDC.
+
+Calls to this macro can be nested but each call must be matched by corresponding 
+call to __RHEAP_MARKEND or __RHEAP_MARKENDC.
+
+@param aHeap A pointer to the specific RHeap
+
+@see RHeap
+@see RAllocator::__DbgMarkStart()
+@see __RHEAP_MARKEND
+@see __RHEAP_MARKENDC
+*/
+#define __RHEAP_MARK(aHeap)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the number of allocated cells at the current nested level on the 
+specified heap is the same as the specified value. 
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail. 
+
+This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The number of heap cells expected to be allocated at
+              the current nest level.
+
+@see RAllocator::__DbgMarkCheck()
+*/
+#define __RHEAP_CHECK(aHeap,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Checks that the total number of allocated cells on the specified heap is the 
+same as the specified value.
+
+The macro also takes the name of the file containing this source code statement 
+and the line number of this source code statement; they are displayed as part 
+of the panic category, if the checks fail.
+
+This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The total number of heap cells expected to be allocated.
+
+@see RAllocator::__DbgMarkCheck()
+*/
+#define __RHEAP_CHECKALL(aHeap,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of heap checking for the specific heap.
+
+The macro expects zero heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __RHEAP_MARK.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgMarkEnd()
+@see __RHEAP_MARK
+*/
+#define __RHEAP_MARKEND(aHeap)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Marks the end of heap checking for the specific heap.
+
+The macro expects aCount heap cells to remain allocated at the current nest 
+level. This macro is defined only for debug builds.
+
+This macro must match an earlier call to __RHEAP_MARK.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The number of heap cells expected to remain allocated at
+              the current nest level
+
+@see RAllocator::__DbgMarkEnd()
+@see __RHEAP_MARK
+*/
+#define __RHEAP_MARKENDC(aHeap,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates an allocation failure for the specific heap.
+
+The failure occurs on the next call to new or any of the functions which allocate 
+memory from the heap. This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aCount The rate of failure - heap allocation fails every aCount attempt.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_FAILNEXT(aHeap,aCount)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Simulates an allocation failure for the specific heap. 
+
+The failure occurs on subsequent calls to new or any of the functions which 
+allocate memory from the heap. This macro is defined only for debug builds.
+
+@param aHeap  A pointer to the specific RHeap.
+@param aType  The type of failure to be simulated. 
+@param aValue The failure rate.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_SETFAIL(aHeap,aType,aValue)
+
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated allocation failure for the specific heap.
+
+This macro is defined only for debug builds.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_RESET(aHeap)
+
+
+
+/**
+@publishedAll
+@released
+
+Cancels simulated allocation failure for the specific heap.
+It walks the the heap and sets the nesting level for all allocated
+cells to zero.
+
+This macro is defined only for debug builds.
+
+@param aHeap A pointer to the specific RHeap.
+
+@see RAllocator::__DbgSetAllocFail()
+*/
+#define __RHEAP_TOTAL_RESET(aHeap)
+
+
+
+#define __DEBUGGER()
+#endif
+
+#if defined (__WINS__)
+/** @internalTechnology */
+#define __EMULATOR_IMAGE_HEADER2(aUid0,aUid1,aUid2,aPriority,aCap0,aCap1,aSid,aVid,aVer,aFlags)	TEmulatorImageHeader uid={{aUid0,aUid1,aUid2},aPriority,{aSid,aVid,{aCap0,aCap1}},0,0,aVer,aFlags};
+/** @internalTechnology */
+#define __EMULATOR_IMAGE_HEADER(aUid0,aUid1,aUid2,aPriority,aCap,aFlags)					TEmulatorImageHeader uid={{aUid0,aUid1,aUid2},aPriority,{aUid2,0,{aCap,0}},0,0,0x00010000u,aFlags};
+#else
+#define __EMULATOR_IMAGE_HEADER2(aUid0,aUid1,aUid2,aPriority,aCap0,aCap1,aSid,aVer,aFlags)
+#define __EMULATOR_IMAGE_HEADER(aUid0,aUid1,aUid2,aPriority,aCap,aFlags)
+#endif
+
+#if defined(__OPT__)
+/**
+@internalComponent
+@deprecated
+*/
+#define __ASSERT_OPT(c,p) (void)((c)||(p,0))
+#else
+#define __ASSERT_OPT(c,p)
+#endif
+
+#if defined(_UNICODE)
+#if !defined(UNICODE)
+/**
+@publishedAll
+@deprecated
+*/
+#define UNICODE
+#endif
+#endif
+
+#if defined(_DEBUG)
+/**
+@internalComponent
+@deprecated
+*/
+#define __DECLARE_TEST_DEBUG __DECLARE_TEST
+#else
+#define __DECLARE_TEST_DEBUG
+#endif
+
+
+
+
+#if !defined(ASSERT)
+/**
+@publishedAll
+@released
+
+Generates _ASSERT_DEBUG code that calls User::Invariant() if the specified
+condition is not true.
+
+@param x A conditional expression which results in true or false.
+*/
+#define ASSERT(x) __ASSERT_DEBUG(x,User::Invariant())
+#endif
+
+
+
+
+#ifndef __VALUE_IN_REGS__ 
+/**
+@publishedPartner
+@released
+*/
+#define __VALUE_IN_REGS__ 
+#endif
+
+
+
+
+#if defined(_DEBUG)
+/**
+@publishedAll
+@released
+*/
+#define __DEBUG_ONLY(x) x
+#else
+#define __DEBUG_ONLY(x)
+#endif
+
+
+
+
+#ifdef __KERNEL_MODE__
+
+/** @internalComponent */
+#define	KIMPORT_C	IMPORT_C
+
+/** @internalComponent */
+#define	KEXPORT_C	EXPORT_C
+
+/** @internalComponent */
+#define	UIMPORT_C
+
+/** @internalComponent */
+#define	UEXPORT_C
+#else
+#define	KIMPORT_C
+#define	KEXPORT_C
+#define	UIMPORT_C	IMPORT_C
+#define	UEXPORT_C	EXPORT_C
+#endif
+
+
+
+
+/**
+@publishedAll
+@released
+
+Asserts that a condition is true at compilation time.
+
+@param x Condition to assert
+*/
+#define __ASSERT_COMPILE(x)		void __compile_time_assert(int __check[(x)?1:-1])
+
+#ifdef __REMOVE_PLATSEC_DIAGNOSTICS__
+/**
+@publishedPartner
+@released
+*/
+#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
+#define __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
+#endif /*__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__*/
+#endif /*__REMOVE_PLATSEC_DIAGNOSTICS__*/
+
+/**
+@internalComponent
+*/
+static const char* const KSuppressPlatSecDiagnosticMagicValue = (const char*)1;
+
+#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
+/**
+@internalComponent
+*/
+#define __PLATSEC_DIAGNOSTIC_FILE_AND_LINE_HELPER(l) #l
+/**
+@internalComponent
+*/
+#define __PLATSEC_DIAGNOSTIC_FILE_AND_LINE_HELPER2(f,l) f "(" __PLATSEC_DIAGNOSTIC_FILE_AND_LINE_HELPER(l) ")"
+/**
+@publishedPartner
+@released
+*/
+#define __PLATSEC_DIAGNOSTIC_FILE_AND_LINE __PLATSEC_DIAGNOSTIC_FILE_AND_LINE_HELPER2(__FILE__,__LINE__)
+
+/**
+@publishedPartner
+@released
+
+A macro that should be used to enclose a platform security diagnostic
+'C' style string that can be passed to a capability checking function such
+as RThread::HasCapability() and Kern::CurrentThreadHasCapability().
+
+The content of the string is emitted if the capability test finds that
+the capability is not present.
+
+The macro provides a convenient mechanism that allows the strings to
+be removed from future versions of Symbian OS.
+
+For example:
+
+@code
+if(!Kern::CurrentThreadHasCapability(ECapabilityPowerMgmt,__PLATSEC_DIAGNOSTIC_STRING("Checked by Hal function EDisplayHalSetState")))
+    {
+    return KErrPermissionDenied;
+    }			
+@endcode
+
+In this example, the string:
+
+@code
+Checked by Hal function EDisplayHalSetState
+@endcode
+
+is emitted if the calling process does not have the ECapabilityPowerMgmt capability.
+
+@param s A C-style string.
+
+@see RProcess::HasCapability()
+@see RThread::HasCapability()
+@see RMessagePtr2::HasCapability()
+@see User::CreatorHasCapability()
+*/
+#define __PLATSEC_DIAGNOSTIC_STRING(s) s
+
+/**
+When this value is used in Platform Security APIs as the value for the aDiagnosticText
+argument, these APIs will not emit any form of diagnostic message.
+@publishedPartner
+@released
+*/
+// Note this value is the same as KSuppressPlatSecDiagnosticMagicValue
+// and used to be a set by it but that caused an error with GCCE compiler
+static const char* const KSuppressPlatSecDiagnostic = (const char*)1;
+
+#else /* __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__ */
+
+#define __PLATSEC_DIAGNOSTIC_STRING(s) NULL
+
+#ifndef __KERNEL_MODE__
+#ifndef __REMOVE_PLATSEC_DIAGNOSTICS__
+/**
+When this value is used in Platform Security APIs as the value for the aDiagnostic
+argument, these APIs will not emit any form of diagnostic message.
+@publishedPartner
+@released
+*/
+#define KSuppressPlatSecDiagnostic		NULL, NULL
+
+#else /* __REMOVE_PLATSEC_DIAGNOSTICS__ */
+
+/**
+When this value is used in Platform Security APIs as the value for the aDiagnostic
+argument, these APIs will not emit any form of diagnostic message.
+@publishedPartner
+@release
+*/
+#define KSuppressPlatSecDiagnostic		NULL
+
+#endif /* !__REMOVE_PLATSEC_DIAGNOSTICS__ */
+#endif /* !__KERNEL_MODE__ */
+#endif /* !__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__ */
+
+/*
+ * MSVC operator new and operator new[] header guards
+ */
+#ifdef __PLACEMENT_NEW
+#define __PLACEMENT_NEW_INLINE
+#endif /* __PLACEMENT_NEW */
+
+#if defined(__VC32__) && (_MSC_VER < 1300)
+#define __PLACEMENT_VEC_NEW_INLINE
+#endif /* version of MSVC that doesn't support overloaded operator new[] */
+
+/**
+Calling convention qualifier for functions involving floating point 
+variables passed or returned by value.
+@publishedAll
+@released
+*/
+#ifndef __SOFTFP
+#define __SOFTFP
+#endif /* __SOFTFP */
+
+#endif /* __E32DEF_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/long/paths/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]=__TESTNAME__;
+
+class fred {
+	public:
+	int something;
+	int aMethod(void);
+};
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/longfilenames/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+WINSCW
+
+PRJ_MMPFILES
+longfilenames.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/longfilenames/longerfilenamethanyoumightnormallyexpecttobepresent.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include <e32base.h>
+#include <e32cons.h>
+
+_LIT(KTxtEPOC32EX,"EXAMPLES");
+_LIT(KTxtExampleCode,"Symbian OS Example Code");
+_LIT(KFormatFailed,"failed: leave code=%d");
+_LIT(KTxtOK,"ok");
+_LIT(KTxtPressAnyKey," [press any key]");
+
+// public
+LOCAL_D CConsoleBase* console; // write all your messages to this
+LOCAL_C void doExampleL(); // code this function for the real example
+
+// private
+LOCAL_C void callExampleL(); // initialize with cleanup stack, then do example
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error,callExampleL()); // more initialization, then do example
+	__ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0; // and return
+    }
+
+LOCAL_C void callExampleL() // initialize and call example code under cleanup stack
+    {
+	console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));
+	CleanupStack::PushL(console);
+	TRAPD(error,doExampleL()); // perform example function
+	if (error)
+		console->Printf(KFormatFailed, error);
+	else
+		console->Printf(KTxtOK);
+	console->Printf(KTxtPressAnyKey);
+	console->Getch(); // get and ignore character
+	CleanupStack::PopAndDestroy(); // close console
+    }
+
+LOCAL_C void doExampleL()
+    {
+	_LIT(KHelloWorldText,"Hello world!\n");
+	console->Printf(KHelloWorldText);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/make_crash/exception_crash.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+armv5
+
+PRJ_EXPORTS
+make_crash.flm /epoc32/tools/makefile_templates/tools/make_crash.flm
+make_crash.xml /epoc32/tools/makefile_templates/tools/make_crash.xml
+
+PRJ_EXTENSIONS
+
+start extension tools.make_crash
+option CRASH_TYPE exception_caught 
+end
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/make_crash/make_crash.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,95 @@
+# Invokes different types of make crashes
+
+
+## Converting a list of source files to a list of object files without altering
+## their relative order. Also deals with multiple file types mapping to the same
+## object type e.g. .CPP and .cpp and .c++ all map to .o
+	
+# $1 - the list of suffixes to replace
+# $2 - the suffix to replace them with
+# $3 - the list of strings to perform the replacement on
+define allsuffixsubst_internal
+    $(if $1,$$(patsubst %$(firstword $1),%$2,$(call allsuffixsubst_internal,$(wordlist 2,$(words $1),$1),$2,$3)),$3)
+endef
+define allsuffixsubst
+    $(eval allsuffixsubst_RESULT:=$(call allsuffixsubst_internal,$1,$2,$3))$(allsuffixsubst_RESULT)
+endef
+
+
+x:=a b c d e f g h i j
+
+x100:=$(foreach i,$(x),$(x))
+x10000:=$(foreach i,$(x100),$(x100))
+x1000000:=$(foreach i,$(x10000),$(x100))
+
+
+ifeq ($(CRASH_TYPE), memory_exhausted)
+    mystring:= \
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
+    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+    $(foreach c,$(x100),$(eval mystring:=$$(mystring)$$(mystring)))
+endif
+
+
+ifeq ($(CRASH_TYPE), exception_caught)
+    manyfiles:=$(foreach f,$(x1000000),fred.cia fred.cpp fred.c++)
+    objects:=$(call allsuffixsubst,.Cia .CiA .cIA. .CpP .cPp .CC .C++ .cia .cpp .c++ .cc .CPP .CIA .Cpp,.o,$(manyfiles))
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/make_crash/make_crash.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?> 
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+<!--  Extension interfaces : replacements for Template Extension Makefiles 
+  --> 
+
+ <interface name="tools.make_crash" extends="Symbian.UserFLM" flm="make_crash.flm">
+  <param name="CRASH_TYPE" /> 
+ </interface>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/make_crash/memory_crash.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+armv5
+
+PRJ_EXPORTS
+make_crash.flm /epoc32/tools/makefile_templates/tools/make_crash.flm
+make_crash.xml /epoc32/tools/makefile_templates/tools/make_crash.xml
+
+PRJ_EXTENSIONS
+
+start extension tools.make_crash
+option CRASH_TYPE memory_exhausted 
+end
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/make_engine_errors/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,9 @@
+
+PRJ_EXPORTS
+with_make_errors.flm /epoc32/tools/makefile_templates/tools/with_make_errors.flm
+with_make_errors.xml /epoc32/tools/makefile_templates/tools/with_make_errors.xml
+
+PRJ_EXTENSIONS
+start extension tools/with_make_errors
+end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/make_engine_errors/with_make_errors.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,10 @@
+
+ALL:: a b c
+
+a: b
+b: a
+
+c: non_existent_&_needs_escaping.txt
+
+$(call raptor_phony_recipe,name,ALL,,echo "this FLM is rubbish")
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/make_engine_errors/with_make_errors.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?> 
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd"> 
+
+<interface name="tools.with_make_errors" flm="with_make_errors.flm">
+</interface>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/metadep.sh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+# Test SBSv2 Metadata dependency generation to see if
+# changing a metadata file would trigger a rebuild.
+
+export BASH_EPOCROOT=${EPOCROOT//\\//}
+export BASH_SBSHOME=${SBS_HOME//\\//}
+export BASH_SBSMINGW=${SBS_MINGW//\\//}
+export METAMAKEFILE=${BASH_EPOCROOT}/epoc32/build/metadata_all.mk 
+export SBSMAKEFILE=${SBSMAKEFILE:-${BASH_EPOCROOT}/epoc32/build/smoketests/metadep.mk}
+export SBSLOGFILE=${SBSLOGFILE:-${BASH_EPOCROOT}/epoc32/build/smoketests/metadep.log}
+export SBSCOMMAND="sbs -b smoke_suite/test_resources/simple/bld.inf -n -m $SBSMAKEFILE -f $SBSLOGFILE"
+
+# Ensure that the host type is set for Raptor:
+eval $($BASH_SBSHOME/bin/gethost.sh -e)
+
+if [ -z "$HOSTPLATFORM" ]; then
+	echo "Error: HOSTPLATFORM could not be determined." 1>&2
+	exit 1
+fi
+
+# N.B. The use of sleep 1 is required. If I build X, dependent on Y then
+# update Y too quickly, a subsequent attempt to make X won't notice the
+# change in Y.  It's not clear if this is make's fault or just the way that
+# file timestamps are recorded.
+
+if [ "$OSTYPE" = "cygwin" ]
+then
+export MAKECOMMAND="${BASH_SBSMINGW:-${BASH_SBSHOME}/${HOSTPLATFORM_DIR}/mingw}/bin/make"
+else
+export MAKECOMMAND="$BASH_SBSHOME/$HOSTPLATFORM_DIR/bin/make"
+fi
+
+echo "Step 1 - No changes, so there should be no need to rerun:"
+( set -x
+$SBSCOMMAND &&
+sleep 1 &&
+$MAKECOMMAND -rf  ${METAMAKEFILE}
+)
+echo ""
+
+
+
+echo "Step 2 - Run sbs, change a bld inf, see the rerunning message"
+#( set -x
+$SBSCOMMAND &&
+sleep 1 &&
+touch smoke_suite/test_resources/simple/bld.inf &&
+$MAKECOMMAND -rf  ${METAMAKEFILE}
+#)
+echo ""
+
+echo "Step 3 - Run sbs, change an mmp, see the rerunning message twice"
+( set -x
+$SBSCOMMAND &&
+sleep 1 &&
+touch smoke_suite/test_resources/simple/simple.mmp &&
+$MAKECOMMAND -rf  ${METAMAKEFILE}
+$MAKECOMMAND -rf  ${METAMAKEFILE}
+)
+echo ""
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/apply/apply_test_exported_variants.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- This variant is used so that we can tell if the APPLY keyword
+       can find variants exported into the epoc32 tree -->
+
+  <var name="apply_test_exported_var">
+	<append name="CDEFS" value="APPLYTESTEXPORTEDVAR" />
+  </var>
+  
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/apply/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+
+PRJ_EXPORTS
+apply_test_exported_variants.xml /epoc32/tools/makefile_templates/
+
+PRJ_MMPFILES
+test_mmp_apply.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/apply/test_mmp_apply.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,9 @@
+
+#include "e32def.h"
+
+char test[] = "test mmp keyword APPLY";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/apply/test_mmp_apply.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+
+TARGET			test_mmp_apply
+TARGETTYPE		EXE
+
+APPLY no_such_var
+
+LIBRARY			euser.lib
+
+SYSTEMINCLUDE		/epoc32/include
+
+APPLY apply_test_append_cdefs
+
+SOURCE			test_mmp_apply.cpp
+
+APPLY apply_test_exported_var
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+PRJ_MMPFILES
+test.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include <e32def.h>
+
+TInt E32Main()
+{
+	return 0;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,11 @@
+TARGET			test_mmp_epocnestedexceptions.exe
+TARGETTYPE		EXE
+
+LIBRARY			euser.lib
+
+SYSTEMINCLUDE   /epoc32/include
+
+SOURCE			test.cpp
+
+EPOCNESTEDEXCEPTIONS
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/eabi/shutdownsrvu.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+EXPORTS
+	_ZN19CServShutdownServer10ConstructLEv @ 1 NONAME
+	_ZN19CServShutdownServer10NotifySaveEN13MSaveObserver9TSaveTypeE @ 2 NONAME
+	_ZN19CServShutdownServer13ClientArrayLCEv @ 3 NONAME
+	_ZN19CServShutdownServer14CancelPowerOffEv @ 4 NONAME
+	_ZN19CServShutdownServer20HandleShutdownEventLEN13MSaveObserver9TSaveTypeEi11TPowerState @ 5 NONAME
+	_ZN19CServShutdownServer23HandlePowerNotifRequestERK7RThread @ 6 NONAME
+	_ZN19CServShutdownServer4NewLEv @ 7 NONAME
+	_ZN19CServShutdownServerC1Ei @ 8 NONAME
+	_ZN19CServShutdownServerC2Ei @ 9 NONAME
+	_ZN19CServShutdownServerD0Ev @ 10 NONAME
+	_ZN19CServShutdownServerD1Ev @ 11 NONAME
+	_ZN19CServShutdownServerD2Ev @ 12 NONAME
+	_ZN20CServShutdownSession8ServiceLERK9RMessage2 @ 13 NONAME
+	_ZN20CServShutdownSessionC1Ev @ 14 NONAME
+	_ZN20CServShutdownSessionC2Ev @ 15 NONAME
+	_ZN20CServShutdownSessionD0Ev @ 16 NONAME
+	_ZN20CServShutdownSessionD1Ev @ 17 NONAME
+	_ZN20CServShutdownSessionD2Ev @ 18 NONAME
+	_ZNK19CServShutdownServer10IsPowerOffEv @ 19 NONAME
+	_ZNK19CServShutdownServer12IsClientHungE9TThreadId @ 20 NONAME
+	_ZNK19CServShutdownServer16GetShutdownStateERiS0_ @ 21 NONAME
+	_ZTI19CServShutdownServer @ 22 NONAME ; #<TI>#
+	_ZTI20CServShutdownSession @ 23 NONAME ; #<TI>#
+	_ZTV19CServShutdownServer @ 24 NONAME ; #<VT>#
+	_ZTV20CServShutdownSession @ 25 NONAME ; #<VT>#
+	_ZThn104_N19CServShutdownServer13ClientArrayLCEv @ 26 NONAME ; #<thunk>#
+	_ZThn104_N19CServShutdownServer20HandleShutdownEventLEN13MSaveObserver9TSaveTypeEi11TPowerState @ 27 NONAME ; #<thunk>#
+	_ZThn104_NK19CServShutdownServer12IsClientHungE9TThreadId @ 28 NONAME ; #<thunk>#
+	_ZThn104_NK19CServShutdownServer16GetShutdownStateERiS0_ @ 29 NONAME ; #<thunk>#
+	KShtdwnTimeoutBase @ 30 NONAME DATA 4
+	KShtdwnTimeoutClient @ 31 NONAME DATA 4
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../inc/shutdownsrv.h
+
+PRJ_MMPFILES
+../group/shutdownsrv.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/group/shutdownsrv.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			shutdownsrv.dll
+CAPABILITY 		PowerMgmt TrustedUI ProtServ DiskAdmin
+TARGETTYPE		DLL
+TARGETPATH		/system/libs
+
+EXPORTLIBRARY		exportlibrary_shutdownsrv.lib
+
+UID			0x1000008D	0x10004903
+VENDORID 0x70000001
+
+SOURCEPATH		../src
+
+userinclude		.
+userinclude		../inc
+
+systeminclude		/epoc32/include
+
+#if defined(SYMBIAN_SSM_GRACEFUL_SHUTDOWN)
+systeminclude		/epoc32/include/ssm
+#endif
+
+source			shutdownsrv.cpp shutdowntimer.cpp shutdownsrvpatchdata.cpp
+
+library			euser.lib bafl.lib efsrv.lib hal.lib
+
+#if defined(SYMBIAN_SSM_GRACEFUL_SHUTDOWN)
+library			ssmcmn.lib	estor.lib
+#endif
+
+deffile 		shutdownsrv.def
+
+START WINS
+			copy_for_static_linkage
+END
+
+START MARM
+END
+
+LINKEROPTION armcc --verbose
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/inc/shutdownsrv.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#if !defined(SHUTDOWNSRV_H)
+#define SHUTDOWNSRV_H
+
+#include <e32base.h>
+#include <savenotf.h>
+#include <e32power.h>
+#include <s32mem.h>
+
+class CShutdownTimer;
+
+/**
+This class describes an interface, which is used by LaF Shutdown Manager to notify the Shutdown Server of 
+device shutdown, so that the server can take appropriate power management steps. The concrete implementation 
+of this interface is provided by CServShutdownServer class.
+@publishedPartner
+@released
+*/
+class MShutdownEventObserver
+	{
+public:
+	/**
+	This method has to be called, when the observed object requires the Shutdown Server to notify registered 
+	clients about the shutdown event, such as MSaveObserver::ESaveData, MSaveObserver::ESaveAll, 
+	MSaveObserver::EReleaseRAM,...
+	@param aAction The type of the requested action
+	@param aPowerOff If it is non-zero, this is the beginning of a powerdown sequence.
+	@param aEvent The type of the powerdown event 
+	@leave KErrNotSupported Leaves if aEvent is invalid  
+	*/
+	virtual void HandleShutdownEventL(MSaveObserver::TSaveType aAction,TBool aPowerOff, TPowerState aEvent = EPwStandby)=0;
+	/**
+	This method creates an array of CArrayFix<TThreadId> type and appends to it the	thread id-s of 
+	all the registered clients. The created CArrayFix<TThreadId> instance will be pushed on the 
+	cleanup stack. The caller becomes responsible for the memory allocated for this array.
+	@return A pointer to a CArrayFix<TThreadId> array with the client thread id-s.
+	@leave Some system-wide error codes including KErrNoMemory.
+	*/
+	virtual CArrayFix<TThreadId>* ClientArrayLC()=0;
+	/**
+	Checks if a particular client is hung in that the client has not re-registered with the 
+	Shutdown Server indicating it is ready for the next stage of the shutdown.
+	@param aId Client's thread id.
+	@return Non-zero if the client with this thread id has no pending request.
+	*/
+	virtual TBool IsClientHung(TThreadId aId) const=0;
+	/**
+	This method returns information about the shutdown status.
+	@param aPowerOff An output parameter, where power-off status will be stored. 
+	                 It will be non-zero, if a powerdown sequence has been initiated.
+	@param aAllSessionsHavePendingRequest An output parameter. It will be non-zero, if all clients 
+	                 have pending requests to receive further events from the Shutdown Manager.
+	*/
+	virtual void GetShutdownState(TBool& aPowerOff, TBool& aAllSessionsHavePendingRequest) const=0;
+	};
+
+/**
+This class describes an object, which handles requests, such as of MSaveObserver::TSaveType type.
+When CServShutdownServer::HandleShutdownEventL() gets called, the CServShutdownServer implementation
+will notify all registered clients, completing their asynchronous messages 
+(CServShutdownSession::iPtr), then it will wait until all clients re-register itself and
+if this is a beginning of a powerdown sequence, the method will store the locales and the HAL
+properties subsequently switching off the power.
+@internalTechnology
+*/
+class CServShutdownServer : public CServer2, public MShutdownEventObserver
+	{
+public:
+	IMPORT_C static CServShutdownServer* NewL();
+	IMPORT_C ~CServShutdownServer();
+	IMPORT_C void HandlePowerNotifRequest(const RThread& aClient);
+	IMPORT_C void NotifySave(MSaveObserver::TSaveType aSaveType);
+	IMPORT_C TBool IsPowerOff() const;
+	IMPORT_C void CancelPowerOff();
+	void SwitchOff();
+#ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+	TInt ClientArrayCount();
+	void ClientArrayL(const RMessage2& aMessage);
+#endif //SYMBIAN_SSM_GRACEFUL_SHUTDOWN	
+public:
+	IMPORT_C virtual void ConstructL();
+public: // from MShutdownEventObserver
+	IMPORT_C void HandleShutdownEventL(MSaveObserver::TSaveType aAction,TBool aPowerOff, TPowerState aEvent = EPwStandby);
+	IMPORT_C CArrayFix<TThreadId>* ClientArrayLC();
+	IMPORT_C TBool IsClientHung(TThreadId aId) const;
+	IMPORT_C void GetShutdownState(TBool& aPowerOff, TBool& aAllSessionsHavePendingRequest) const;
+
+protected:
+	IMPORT_C CServShutdownServer(TInt aPriority);
+private:
+	TBool AllSessionsHavePendingRequest() const;
+	void DoSwitchOff();
+private: // from CServer
+	CSession2* NewSessionL(const TVersion& aVersion,const RMessage2& aMessage) const;
+private:
+	TBool iPowerOff;
+	TPowerState iPowerEvent;	
+	CShutdownTimer* iShutdownTimer;	
+	};
+
+/**
+This class describes a server side session object, which handles reqistration requests
+of clients, which are interested in power down events.
+@internalTechnology
+*/
+class CServShutdownSession : public CSession2
+	{
+public:
+	IMPORT_C ~CServShutdownSession();
+protected:
+	IMPORT_C CServShutdownSession();
+public:
+	static CServShutdownSession* NewL();
+	TBool HasPendingRequest() const;
+	void NotifySave(MSaveObserver::TSaveType aSaveType);
+protected: // from CSession
+	IMPORT_C void ServiceL(const RMessage2& aMessage);
+private:
+	void RequestNotifyPowerDown(const RMessage2& aMessage);
+	void RequestNotifyPowerDownCancel();
+	void DoServiceL(const RMessage2& aMessage, TBool& aCompleteRequest);
+	void PowerOffL(const RMessage2& aMessage);
+	void PowerStateL(const RMessage2& aMessage) const;
+
+#ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+	void HandleShutdownEventL(const RMessage2& aMessage);
+	void ClientArrayL(const RMessage2& aMessage);
+	void IsClientHung(const RMessage2& aMessage) const;
+	void GetShutdownState(const RMessage2& aMessage) const;
+	void ClientArrayCount(const RMessage2& aMessage) const;
+#endif //SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+
+public:
+	TThreadId ClientThreadId() const;
+
+private:
+	RMessagePtr2 iPtr;
+	TInt iCurrentEvent;
+	TInt iOutstandingEvent;
+	};
+
+#endif// SHUTDOWNSRV_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdownsrv.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,759 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "shutdownsrv.h"
+#include "savenotf.h"
+#include "savepriv.h"
+#include "shutdowntimer.h"
+#include <hal.h>
+#include <f32file.h>
+#include <bautils.h>
+
+#ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+#include <s32mem.h>
+#include <ssmgracefulshutdown_patch.h>
+#endif
+
+//The function used to start the profiler, while profiling the shutdown.
+#ifdef __PROFILE_SHUTDOWN
+_LIT(KProfilerCmd,"start -noui");
+void StartProfiler()
+	{
+	RProcess p;
+	TInt r=p.Create(KProfilerName,KProfilerCmd);
+	if (r==KErrNone)
+		{
+		p.Resume();
+		p.Close();
+		}
+	}
+#endif
+
+//The function used to unload the profiler, while profiling the shutdown.
+#ifdef __PROFILE_SHUTDOWN
+void UnloadProfiler()
+	{
+	TFullName name;
+	TFindServer findSvr(KProfilerName);
+	Profiler::Unload();
+	while(findSvr.Next(name) == KErrNone)
+		{
+		User::After(1000000);
+		findSvr.Find(KProfilerName);
+		}
+	}
+#endif
+
+//
+// class CServShutdownServer
+//
+
+/**
+Standard phase-one factory method for creating CServShutdownServer instances.
+@return A newly-constructed shutdown server object.
+@leave Some system-wide error codes including KErrNoMemory.
+*/
+EXPORT_C CServShutdownServer* CServShutdownServer::NewL()
+	{ // static
+	CServShutdownServer* self=new(ELeave) CServShutdownServer(CActive::EPriorityStandard);
+	return self;
+	}
+
+/**
+Destructor.
+Releases CShutdownTimer object if it has been allocated.
+*/
+EXPORT_C CServShutdownServer::~CServShutdownServer()
+	{
+	delete iShutdownTimer;
+	}
+
+/**
+This method iterates through all session instances and checks that all they have pending
+requests (which means that all clients have completed their powerdown related processing
+and re-registered itself back to the shutdown server).. If that's true (all sessions have
+pending requests) and iPowerOff flag is nonzero, the method will call SwitchOff() - the
+power will be switched off. 
+@see CServShutdownServer::SwitchOff()
+@see CServShutdownSession::HasPendingRequest()
+*/
+EXPORT_C void CServShutdownServer::HandlePowerNotifRequest(const RThread& /*aClient*/)
+	{
+	// if all sessions have a pending request then they've all saved their data and we can switch off
+	TBool completed=ETrue;
+	TDblQueIter<CSession2> iter(iSessionIter);
+	iter.SetToFirst();
+
+	for (CSession2* session=iter++; session!=NULL; session=iter++)
+		{
+		if (!static_cast<CServShutdownSession*>(session)->HasPendingRequest())
+			{
+			completed=EFalse;
+			break;
+			}
+		}
+	if (completed && iPowerOff)
+		{
+		SwitchOff();
+		}
+	}
+
+/**
+This method will call SwitchOff(), if there are no sessions, so - no clients.
+If there are registered clients (sessions), the method will call CServShutdownSession::NotifySave()
+for each of them.
+If the timer object has been initialised, it calculates the shutdown timeout value 
+and adds the timer to the active scheduler.
+@param aSaveType The action, which will be given to the clients, when calling their 
+                 MSaveObserver::SaveL() implementations.
+@see CServShutdownServer::SwitchOff()
+@see CServShutdownSession::NotifySave()
+*/
+EXPORT_C void CServShutdownServer::NotifySave(MSaveObserver::TSaveType aSaveType)
+	{
+	TDblQueIter<CSession2> iter(iSessionIter);
+	iter.SetToFirst();
+	CSession2* p=iter++;
+	if (p==NULL)
+		{
+		if (iPowerOff)
+			{
+			SwitchOff();
+			}
+		}
+	else
+		{
+		TInt numClients = 0;
+
+		iter.SetToFirst();
+	    for (CSession2* session=iter++; session!=NULL; session=iter++)
+			{
+			static_cast<CServShutdownSession*>(session)->NotifySave(aSaveType);
+			numClients++;  
+			}
+			
+		if(iShutdownTimer && !iShutdownTimer->IsActive())
+			{
+			iShutdownTimer->Start(numClients);
+			}
+		}
+	}
+
+/**
+@return Non-zero If the powerdown sequence has been initiated.
+*/
+EXPORT_C TBool CServShutdownServer::IsPowerOff() const
+	{
+	return iPowerOff;
+	}
+
+/**
+Cancels any power off request.
+*/
+EXPORT_C void CServShutdownServer::CancelPowerOff()
+	{
+	iPowerOff=EFalse;
+	
+	// Cancel the timer.
+	if (iShutdownTimer)
+		{
+		iShutdownTimer->Cancel();
+		}
+	}
+
+/**
+@param aPriority The active object priority.
+*/
+EXPORT_C CServShutdownServer::CServShutdownServer(TInt aPriority):
+	CServer2(aPriority), iShutdownTimer(0)
+	{
+    }
+
+/**
+Completes the server construction by adding the server to the active scheduler and initializing the
+CShutdownTimer object if applicable.
+@leave See CServer2::StartL() leave error codes.
+@see CServer2::StartL()
+@panic KErrNotSupported Incorrect patchable variables configuration.
+*/
+EXPORT_C void CServShutdownServer::ConstructL()
+	{
+	iShutdownTimer = CShutdownTimer::NewL(*this);
+	#ifdef TEST_SHUTDOWN_SERVER 
+	StartL(__TEST_SHUTDOWN_SERVER_NAME);
+	#else
+	StartL(__SHUTDOWN_SERVER_NAME);
+	#endif
+	}
+
+/**
+This method switches off the power using the Power API.
+If there is a defined SYSLIBS_TEST macro, the method does nothing.
+*/
+void CServShutdownServer::DoSwitchOff()
+	{
+	//Finalize the drives before shutting down
+	RFs fs;
+	TInt r=fs.Connect(); 
+	if (r==KErrNone) 
+		{
+		//Ignore the error code, as it is not a critical call
+		r=fs.FinaliseDrives();
+		fs.Close();
+		}
+#ifdef 	SYSLIBS_TEST 
+		// Test mode, only prints debug message.
+		RDebug::Printf("CServShutdownServer::SwitchOff() gets run in SYSLIBS_TEST mode.\n");
+#else 	//SYSLIBS_TEST
+	// restart or standby/shutdown using Power API 
+	if (Power::EnableWakeupEvents(iPowerEvent) == KErrNone)
+		{
+		// Prepare to wake up if power event is standby
+		TRequestStatus s;
+		Power::RequestWakeupEventNotification(s);
+		Power::PowerDown(); // if event is Restart, this function should never return
+		User::WaitForRequest(s);
+		}
+#endif //SYSLIBS_TEST
+	} 
+void CServShutdownServer::SwitchOff()
+	{
+	// If the timer has applied, cancel any outstanding requests, 
+	// no matter SwitchOff() has been triggered by the timer or the shutdown server.
+	if (iShutdownTimer)
+		{
+		iShutdownTimer->Cancel();
+		}
+
+	if (iPowerOff)
+		{
+#ifdef __PROFILE_SHUTDOWN
+		UnloadProfiler();
+#endif //__PROFILE_SHUTDOWN
+		}
+	//SSM shutdown is used only when patchable constant KSsmGracefulShutdown is true 
+#ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+	if (iPowerOff && !IsSsmGracefulShutdown())
+#else
+	if (iPowerOff)
+#endif
+		{
+		//Shutdown using old shutdownsrv, not SSM
+		DoSwitchOff();
+		}
+	iPowerOff = EFalse;
+	}
+
+/**
+This method creates a new server side session object.
+@param aVersion Shutdown server version number.
+@return A pointer to the created session object.
+@leave KErrNotSupported Unknown shutdown server version
+@leave Some system-wide error codes including KErrNoMemory.
+*/
+CSession2* CServShutdownServer::NewSessionL(const TVersion& aVersion,const RMessage2& /*aMessage*/) const
+	{
+	TVersion v(KShutdownMajorVN,KShutdownMinorVN,KShutdownBuildVN);
+	if (!User::QueryVersionSupported(v,aVersion))
+		User::Leave(KErrNotSupported);
+
+	CSession2* pSession = CServShutdownSession::NewL();
+	return pSession;
+	}
+
+/**
+This method has to be called, when the registered clients have to be notified that a 
+particular action has to be done, such as MSaveObserver::ESaveData, MSaveObserver::ESaveAll, 
+MSaveObserver::EReleaseRAM,...
+If this is a beginning of a powerdown sequence, the method will store the locales and the HAL
+properties.
+If the requested action is not MSaveObserver::ESaveNone, the method will call 
+CServShutdownServer::NotifySave().
+@param aAction The type of the requested action
+@param aPowerOff If it is non-zero, this is the beginning of a powerdown sequence.
+@param aEvent The type of the powerdown event (power off or restart)
+@leave KErrNotSupported Leaves if aEvent is invalid  
+@see CServShutdownServer::NotifySave()
+@see TPowerState
+*/
+EXPORT_C void CServShutdownServer::HandleShutdownEventL(MSaveObserver::TSaveType aAction,TBool aPowerOff, TPowerState aEvent)
+	{
+	if( aPowerOff )
+		{
+		__ASSERT_ALWAYS((aEvent>EPwActive)&&(aEvent<EPwLimit), User::Leave(KErrNotSupported));
+#ifdef __PROFILE_SHUTDOWN
+		StartProfiler();
+#endif
+
+#ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+		if (!IsSsmGracefulShutdown())
+			{
+			// Save the state of the HAL
+			// The state of the locale should be saved before the HAL
+			BaflUtils::PersistLocale();
+			BaflUtils::PersistHAL();
+			}
+#else
+		// Save the state of the HAL
+		// The state of the locale should be saved before the HAL
+		BaflUtils::PersistLocale();
+		BaflUtils::PersistHAL();
+#endif
+		}
+
+	iPowerOff=aPowerOff;
+	iPowerEvent = aEvent;
+	// add LAF setting for powering down screen (& keyboard??)
+	if (aAction != MSaveObserver::ESaveNone)
+		{
+		NotifySave(aAction);
+		}
+	}
+
+/**
+This method returns an information about the shutdown status.
+@param aPowerOff An output parameter, where iPowerOff value will be stored. 
+                 It will be non-zero, if a powerdown sequence has been initiated.
+@param aAllSessionsHavePendingRequest An output parameter. It will be non-zero, if
+                 all clients has pending requests.
+*/
+EXPORT_C void CServShutdownServer::GetShutdownState(TBool& aPowerOff, TBool& aAllSessionsHavePendingRequest) const
+	{
+	aAllSessionsHavePendingRequest = AllSessionsHavePendingRequest();
+	aPowerOff = iPowerOff;
+	}
+
+/**
+This method creates an array of CArrayFix<TThreadId> type and appends to it the
+thread id-s of the all registered clients.
+The created CArrayFix<TThreadId> instance will be pushed on the cleanup stack.
+@return A pointer to a CArrayFix<TThreadId> array with the client thread id-s.
+@leave Some system-wide error codes including KErrNoMemory.
+*/
+EXPORT_C CArrayFix<TThreadId>* CServShutdownServer::ClientArrayLC()
+	{
+	CArrayFix<TThreadId>* clientArray=new(ELeave) CArrayFixFlat<TThreadId>(2);
+	CleanupStack::PushL(clientArray);
+	TDblQueIter<CSession2> iter(iSessionIter);
+	iter.SetToFirst();
+	TKeyArrayFix key(0,ECmpTInt);
+    for (CSession2* session=iter++; session!=NULL; session=iter++)
+		{
+		TThreadId id=static_cast<CServShutdownSession*>(session)->ClientThreadId();
+		TInt pos;
+		if (clientArray->Find(id,key,pos)!=0)
+			{
+			clientArray->AppendL(id);
+			}
+		}
+	return clientArray;
+	
+	
+	}
+
+#ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+/**
+This method will write thread id-s of all clients that are registered for shutdown notification in to a streem.
+@param aMessage consists of buffer, clientside array count and server side array count 
+*/
+void CServShutdownServer::ClientArrayL(const RMessage2& aMessage)
+	{
+	const TInt arrayItemCount = ClientArrayCount();
+	//write all registered client array in a buffer only when client side 
+	//array count is equal to server side array count
+	if(arrayItemCount == aMessage.Int1())
+		{
+		const TInt sizeRequired = arrayItemCount * sizeof(TThreadId);
+		CBufFlat* const buf=CBufFlat::NewL(sizeRequired);
+		CleanupStack::PushL(buf);
+		RBufWriteStream writeStream(*buf);
+		CleanupClosePushL(writeStream); 
+		TDblQueIter<CSession2> iter(iSessionIter);
+		iter.SetToFirst();
+    	for (CSession2* session=iter++; session!=NULL; session=iter++)
+			{
+			TThreadId id=static_cast<CServShutdownSession*>(session)->ClientThreadId();
+			//Thread id (which is TUint64) is broken in to two TUint32 and written as RWriteStream doesnt 
+			//support TUint64. Client API will recreate TUint64 value from these TUint32 values.
+			if(id.Id())
+				{
+				//RWriteStream there is no API to writes a TUint64 value as a 64 bit value to stream
+				writeStream.WriteUint32L(I64HIGH(id.Id()));
+				writeStream.WriteUint32L(I64LOW(id.Id()));
+				}
+			}
+		writeStream.CommitL();
+		aMessage.WriteL(0, buf->Ptr(0));
+		CleanupStack::PopAndDestroy(2,buf);	//writeStream, buf 
+		}
+	else
+		{
+		aMessage.Write(2, TPckg<TInt>(arrayItemCount));
+		}	
+	
+	}
+		
+/**
+This method will return the number of client that are registered for Shutdown notification with ShutDown server.
+@return Number of registered clients.
+*/
+TInt CServShutdownServer::ClientArrayCount()
+	{
+	TDblQueIter<CSession2> iter(iSessionIter);
+	iter.SetToFirst();
+	TInt count =0;
+    for (CSession2* session=iter++; session!=NULL; session=iter++)
+		{
+		TThreadId id=static_cast<CServShutdownSession*>(session)->ClientThreadId();
+		//Clients which are not registered for notification will not have RMessage in the session and hence 
+		//thread id will be NULL(e.g.CLafShutdownEventObserverAdaptor). Avoid such clients. 		
+		if(id.Id())
+			{
+			++count;
+			}
+		}
+	return count;
+	}
+#endif	//SYMBIAN_SSM_GRACEFUL_SHUTDOWN	
+/**
+@return Non-zero, if all registered clients have pending requests.
+*/
+TBool CServShutdownServer::AllSessionsHavePendingRequest() const
+	{
+	TBool ret=ETrue;
+	TDblQueIter<CSession2> iter(iSessionIter);
+	iter.SetToFirst();
+	for (CSession2* session=iter++; session!=NULL; session=iter++)
+		{
+		const CServShutdownSession* mySession=static_cast<CServShutdownSession*>(session);
+		if (!mySession->HasPendingRequest())
+			{
+			ret=EFalse;
+			break;
+			}
+		}
+	return ret;
+	}
+
+
+/**
+@param aId Client's thread id.
+@return Non-zero if the client with this thread id has no pending request.
+*/
+EXPORT_C TBool CServShutdownServer::IsClientHung(TThreadId aId) const
+	{
+	TBool ret=EFalse;
+	TDblQueIter<CSession2> iter(iSessionIter);
+	iter.SetToFirst();
+	for (CSession2* session=iter++; session!=NULL; session=iter++)
+		{
+		const CServShutdownSession* mySession=static_cast<CServShutdownSession*>(session);
+
+		if (mySession->ClientThreadId()==aId)
+			{
+			if (!mySession->HasPendingRequest())
+				{
+				ret=ETrue;
+				break;
+				}
+			}
+		}
+	return ret;
+	}
+
+//
+// class CServShutdownSession
+//
+
+/**
+*/
+EXPORT_C CServShutdownSession::CServShutdownSession()
+	: CSession2(),
+	iCurrentEvent(-1), iOutstandingEvent(-1)
+	{}
+
+/**
+*/
+EXPORT_C CServShutdownSession::~CServShutdownSession()
+	{
+	}
+
+/**
+Standard phase-one factor method for creating CServShutdownSession instances.
+@return A pointer to the created CServShutdownSession instance.
+@leave KErrNoMemory Not enough memory to complete the operation.
+*/
+CServShutdownSession* CServShutdownSession::NewL()
+	{
+	return new (ELeave) CServShutdownSession;
+	}
+
+/**
+@return Non-zero, if the client has a pending request.
+*/
+TBool CServShutdownSession::HasPendingRequest() const
+	{
+	return !iPtr.IsNull();
+	}
+
+/**
+This method will complete the pending asychronous client request, effectivelly notifying it
+about the action, which the client has to do.
+@param aSaveType The type of the requested save action.
+*/
+void CServShutdownSession::NotifySave(MSaveObserver::TSaveType aSaveType)
+	{
+	const TInt saveType=(TInt)aSaveType;
+	if (HasPendingRequest())
+		{
+		iPtr.Complete(saveType);
+		iCurrentEvent=saveType;
+		}
+	else
+		{
+		if (iCurrentEvent==(TInt)MSaveObserver::ESaveAll || 
+			(iCurrentEvent==(TInt)MSaveObserver::ESaveQuick && 
+			 aSaveType==MSaveObserver::ESaveData))
+            {
+			iOutstandingEvent=saveType;
+			}
+		}
+	}
+
+/**
+This method dispatches all client requests to the appropriate method calls.
+@param aMessage The client's message
+@param aCompleteRequest An output parameter. If zero, the client request
+                will be completed later.
+*/
+void CServShutdownSession::DoServiceL(const RMessage2& aMessage, TBool& aCompleteRequest)
+	{
+	switch (aMessage.Function())
+		{
+	case TSaveOpCodeNotify:
+		RequestNotifyPowerDown(aMessage);
+		// don't complete async message yet
+		aCompleteRequest=EFalse;
+		break;
+	case TSaveOpCodeNotifyCancel:
+		RequestNotifyPowerDownCancel();
+		break;
+	case TSaveOpCodeHandleError:
+		User::Leave(KErrNotSupported);
+		break;
+	case TSaveOpCodePowerOff:
+		PowerOffL(aMessage);
+		break;
+	case TSaveOpCodeQueryPowerState:
+		PowerStateL(aMessage);
+		break;
+#ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+	case EEventObsAdaptHandleShutdown:
+	case EEventObsAdaptClientArrayCount:
+	case EEventObsAdaptClientArray:
+	case EEventObsAdaptIsClientHung:
+	case EEventObsAdaptGetShutdownState:
+		{
+		if (IsSsmGracefulShutdown())	// SSM should be used for device shutdown
+			{
+			switch(aMessage.Function())
+				{
+				case EEventObsAdaptHandleShutdown:
+					HandleShutdownEventL(aMessage);
+					break;
+				case EEventObsAdaptClientArrayCount:
+					ClientArrayCount(aMessage);
+					break;
+				case EEventObsAdaptClientArray:
+					ClientArrayL(aMessage);
+					break;
+				case EEventObsAdaptIsClientHung:
+					IsClientHung(aMessage);
+					break;
+				case EEventObsAdaptGetShutdownState:
+					GetShutdownState(aMessage);
+					break;			
+				}
+			}
+		break;	
+		}
+#endif // SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+	default:
+		User::Leave(KErrNotSupported);
+		break;
+		}
+	}
+
+#ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+
+void CServShutdownSession::HandleShutdownEventL(const RMessage2& aMessage)
+	{
+	MSaveObserver::TSaveType action = static_cast <MSaveObserver::TSaveType> (aMessage.Int0());
+	TBool powerOff = static_cast <TBool> (aMessage.Int1());
+	TPowerState powerEvent = static_cast <TPowerState> (aMessage.Int2());
+
+	CServShutdownServer* server = static_cast<CServShutdownServer*>(const_cast<CServer2*>(Server()));
+	server->HandleShutdownEventL(action, powerOff, powerEvent);
+	}
+
+void CServShutdownSession::ClientArrayCount(const RMessage2& aMessage) const
+	{
+	CServShutdownServer* server = static_cast<CServShutdownServer*>(const_cast<CServer2*>(Server()));
+	const TInt count = server->ClientArrayCount();
+	aMessage.Write(0, TPckg<TInt>(count));
+	}
+/*
+This function will write all registered client array in a buffer only when client side array count is equal to server side array count
+else aMessage will contain an empty buffer and server side array count .
+@param aMessage consists of buffer, clientside array count and server side array count 
+*/
+void CServShutdownSession::ClientArrayL(const RMessage2& aMessage)
+	{
+	CServShutdownServer* server = static_cast<CServShutdownServer*>(const_cast<CServer2*>(Server()));
+	server->ClientArrayL(aMessage);
+	}
+
+void CServShutdownSession::IsClientHung(const RMessage2& aMessage) const
+	{
+	CServShutdownServer* server = static_cast<CServShutdownServer*>(const_cast<CServer2*>(Server()));
+	TThreadId threadId = static_cast <TThreadId>(aMessage.Int0());
+	TBool clientHung = server->IsClientHung(threadId);
+
+	aMessage.Write(1, TPckg<TBool>(clientHung));
+	}
+
+void CServShutdownSession::GetShutdownState(const RMessage2& aMessage) const
+	{
+	TBool powerOff;
+	TBool allSessionsHavePendingRequest;
+
+	CServShutdownServer* server = static_cast<CServShutdownServer*>(const_cast<CServer2*>(Server()));
+	server->GetShutdownState(powerOff, allSessionsHavePendingRequest);
+	aMessage.Write(0, TPckg<TBool>(powerOff));
+	aMessage.Write(1, TPckg<TBool>(allSessionsHavePendingRequest));
+	}
+
+#endif 	//SYMBIAN_SSM_GRACEFUL_SHUTDOWN
+
+/**
+Handles the servicing of client requests passed to the shutdown server.
+@param	aMessage The message containing the client request.
+*/
+EXPORT_C void CServShutdownSession::ServiceL(const RMessage2& aMessage)
+	{
+	TBool aCompleteRequest=ETrue;
+	TRAPD(error, DoServiceL(aMessage, aCompleteRequest));
+	if (aCompleteRequest)
+		{
+		aMessage.Complete(error);
+		}
+	}
+
+/**
+This method processes a client-side registration request. It is an asynchronous request,
+which will be completed later, when powerdown/low memory event occurs.
+@param	aMessage The message containing the client request.
+*/
+void CServShutdownSession::RequestNotifyPowerDown(const RMessage2& aMessage)
+	{
+	iCurrentEvent=-1;
+	iPtr = aMessage;
+
+	if (iOutstandingEvent!=-1)
+		{
+		NotifySave((MSaveObserver::TSaveType)iOutstandingEvent);
+		iOutstandingEvent=-1;
+		}
+	//The thread variable is just a dummy variable(input for CServShutdownServer::HandlePowerNotifRequest)
+	//and is not used inside the function at all, it is there to preserve BC.
+	RThread thread;
+	static_cast<CServShutdownServer*>(const_cast<CServer2*>(Server()))->HandlePowerNotifRequest(thread);
+	}
+
+/**
+This method cancels the client registration, completing the requests with 
+KErrCancel error code.
+*/
+void CServShutdownSession::RequestNotifyPowerDownCancel()
+	{
+	if (HasPendingRequest())
+		iPtr.Complete(KErrCancel);
+	}
+
+/**
+@return The client's thread id.
+*/
+TThreadId CServShutdownSession::ClientThreadId() const
+    {
+    TThreadId id = NULL;
+    RThread clientThread;
+    //Clients which are not registered for notification will not have RMessage in the session and hence 
+	//thread id will be NULL(e.g.CLafShutdownEventObserverAdaptor). Avoid such clients. 
+    if(!iPtr.IsNull() && KErrNone == iPtr.Client(clientThread))
+    	{	
+		id = clientThread.Id();	
+    	}
+    clientThread.Close();	
+    return id;
+    }
+
+
+/**
+This method should be used only with  SYSLIBS_TEST macro defined and can be used to 
+initiate a powerdown sequence.
+Without SYSLIBS_TEST macro defined the method will panic the client with 
+KErrNotSupported error code.
+@param	aMessage The message containing the client request.
+*/
+#ifdef SYSLIBS_TEST
+void CServShutdownSession::PowerOffL(const RMessage2& aMessage)
+    {
+	MSaveObserver::TSaveType action = static_cast <MSaveObserver::TSaveType> (aMessage.Int0());
+    TBool powerOff = static_cast <TBool> (aMessage.Int1());
+	CServShutdownServer* server = static_cast<CServShutdownServer*>(const_cast<CServer2*>(Server()));
+    server->HandleShutdownEventL(action, powerOff);
+    }
+#else
+void CServShutdownSession::PowerOffL(const RMessage2& aMessage)
+    {
+    aMessage.Panic(__SHUTDOWN_SERVER_NAME, KErrNotSupported);
+    }
+#endif//SYSLIBS_TEST
+
+/**
+This method should be used only with SYSLIBS_TEST macro defined and can be used to 
+get the power state of the server.
+Without SYSLIBS_TEST macro defined the method will panic the client with 
+KErrNotSupported error code.
+@param	aMessage The message containing the client request.
+*/
+#ifdef SYSLIBS_TEST
+void CServShutdownSession::PowerStateL(const RMessage2& aMessage) const
+    {
+    CServShutdownServer* server = static_cast<CServShutdownServer*>(const_cast<CServer2*>(Server()));
+    TBool powerOff = server->IsPowerOff();
+    TPckg<TBool> powerOffPckg(powerOff);
+    aMessage.WriteL(0,powerOffPckg);
+    }
+#else
+void CServShutdownSession::PowerStateL(const RMessage2& aMessage) const
+    {
+    aMessage.Panic(__SHUTDOWN_SERVER_NAME, KErrNotSupported);
+    }
+#endif//SYSLIBS_TEST
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdownsrvpatchdata.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32base.h>
+
+//all the constant value needs to be in a separate file
+//Care should be taken not to define the exported data in the same source file in which
+//they are referred, lest the compiler inline's it. If inlined, the data cannot be patched.
+//Hence, the definition of data must be put in a separate source file and they must be 
+//referred in other source files by using 'extern' qualifier
+
+
+/**
+Patchable constant used in the shutdown server. 
+Used to calculate the shutdown timer with KShtdwnTimeoutClient.
+It represents the base timeout value in microseconds.
+
+The timeout is calculated as:
+KShtdwnTimeoutBase + KShtdwnTimeoutClient * numClients,
+where numClients is the number of connecting clients.
+
+If the timeout value is;
+-1, the timer is not used, the server will wait for all client's registration 
+    before executing the shutdown;
+0,  the timer expires immediately, the server will execute the shutdown immediately, 
+    not waiting for any client's re-registration.
+other value greater than 0, the server will wait a certain period of time for the clients' registration 
+    and execute the shutdown if the timer expires or all clients re-register.
+    
+Licensees who wish to alter these patchable constants will need to define 
+these ROM build-time macros in their product HRH or IBY files.
+
+The new values must follow the rule:
+KShtdwnTimeoutBase >= -1 and
+KShtdwnTimeoutClient >= 0.
+
+Otherwise, the server panics with KErrNotSupported. 
+
+@internalComponent
+@see KShtdwnTimeoutClient
+*/
+EXPORT_C extern const TInt32 KShtdwnTimeoutBase = 1000000;
+
+/**
+Patchable data used in the shutdown server. 
+Used to calculate the shutdown timer with KShtdwnTimeoutBase.
+It represents the timeout value for each client in microseconds.
+@internalComponent
+@see KShtdwnTimeoutBase
+*/
+EXPORT_C extern const TInt32 KShtdwnTimeoutClient = 500000;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdownsrvpatchdata.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef SHUTDOWNSRVPATCHDATA_H
+#define SHUTDOWNSRVPATCHDATA_H
+
+#include <e32base.h>
+
+IMPORT_C extern const TInt32 KShtdwnTimeoutBase;
+IMPORT_C extern const TInt32 KShtdwnTimeoutClient;
+
+#endif // SHUTDOWNSRVPATCHDATA_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdowntimer.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "shutdowntimer.h"
+#include "savepriv.h"
+#include "shutdownsrv.h"
+#include "shutdownsrvpatchdata.h"
+
+/*
+Patchable data KShtdwnTimeoutBase can be configured as -1 not to apply the timer 
+as backward compatibility.
+*/
+const TInt32 KShtdwnTimeoutNoApply = -1;
+
+/**
+Standard phase-one factory method for creating CShutdownTimer instances.
+It might return a NULL pointer if the patchable constant KShtdwnTimeoutBase has been configured 
+as -1 which indicates no timer should be started.
+@param aShtdwnSrv The reference to CServShutdownServer.
+@return 0 if no timer should be started, otherwise a pointer to CShutdownTimer object.
+@leave Some system-wide error codes including KErrNoMemory.
+@panic KErrNotSupported Incorrect patchable variables configuration.
+*/
+CShutdownTimer* CShutdownTimer::NewL(CServShutdownServer& aShtdwnSrv)
+	{ 
+	__ASSERT_ALWAYS( (KShtdwnTimeoutBase >= KShtdwnTimeoutNoApply) && (KShtdwnTimeoutClient >= 0), \
+		User::Panic(__SHUTDOWN_SERVER_NAME, KErrNotSupported));
+
+	CShutdownTimer* self = 0;
+	if(KShtdwnTimeoutBase > KShtdwnTimeoutNoApply)
+		{
+		self = new(ELeave) CShutdownTimer(aShtdwnSrv);
+		CleanupStack::PushL(self);
+		self->ConstructL();
+		CleanupStack::Pop(self);
+		}
+	
+	return self;
+	}
+
+/**
+Constructor
+@param aShtdwnSrv The reference to CServShutdownServer
+*/
+CShutdownTimer::CShutdownTimer(CServShutdownServer& aShtdwnSrv):
+	CTimer(CActive::EPriorityStandard), iShtdwnSrv(aShtdwnSrv)
+	{
+	CActiveScheduler::Add(this);
+    }
+   
+/**
+Removes the timer object from the active scheduler's list if it has been added.
+*/
+void CShutdownTimer::DoCancel()
+	{
+	// Do nothing
+	}
+	
+/**
+Calculates the timeout value by the number of the clients and starts the timer.
+@param aNumClients The number of the clients.
+*/
+void CShutdownTimer::Start(TInt aNumClients)
+	{
+	TInt32 timeout = KShtdwnTimeoutBase + KShtdwnTimeoutClient * aNumClients;
+	After(timeout);
+	}
+
+	
+/**
+Gets called when the timeout expires.
+Calls CServShutdownServer::SwitchOff() to execute the switch off.
+*/
+void CShutdownTimer::RunL()
+	{
+	iShtdwnSrv.SwitchOff();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/shutdowntimer.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#if !defined(SHUTDOWNTIMER_H)
+#define SHUTDOWNTIMER_H
+
+#include <e32base.h>
+
+class CServShutdownServer;
+/**
+This class describes a timer object. 
+Its RunL() implemantation calls CServShutdownServer::SwitchOff() to execute the switch off 
+when timeout expires.
+@internalTechnology
+*/
+NONSHARABLE_CLASS(CShutdownTimer): public CTimer
+	{
+public:
+	static CShutdownTimer* NewL(CServShutdownServer& aShtdwnSrv);
+	void DoCancel();
+	void Start(TInt aNumClients);
+protected:
+	virtual void RunL();
+private:
+	CShutdownTimer(CServShutdownServer& aShtdwnSrv);
+private:
+	CServShutdownServer& iShtdwnSrv;
+	};
+#endif//SHUTDOWNTIMER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5
+
+PRJ_MMPFILES
+compresstarget.mmp
+nocompresstarget.mmp
+bytepaircompresstarget.mmp
+inflatecompresstarget.mmp
+combinedcompresstarget.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/bytepaircompresstarget.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			bytepaircompress.exe
+TARGETTYPE		exe
+SOURCEPATH		.
+SOURCE			compress.cpp
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+
+BYTEPAIRCOMPRESSTARGET
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/combinedcompresstarget.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			combinedcompress.exe
+TARGETTYPE		exe
+SOURCEPATH		.
+SOURCE			compress.cpp
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+
+NOCOMPRESSTARGET
+COMPRESSTARGET
+INFLATECOMPRESSTARGET
+BYTEPAIRCOMPRESSTARGET
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/compress.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "e32def.h"
+TInt E32Main()
+	{
+	return 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/compresstarget.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			compress.exe
+TARGETTYPE		exe
+SOURCEPATH		.
+SOURCE			compress.cpp
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+
+COMPRESSTARGET
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/inflatecompresstarget.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			inflatecompress.exe
+TARGETTYPE		exe
+SOURCEPATH		.
+SOURCE			compress.cpp
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+
+INFLATECOMPRESSTARGET
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp11/nocompresstarget.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			nocompress.exe
+TARGETTYPE		exe
+SOURCEPATH		.
+SOURCE			compress.cpp
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+
+NOCOMPRESSTARGET
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/codecs/ColorConverter.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,229 @@
+/*
+* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <icl/imageprocessor.h>
+
+
+_LIT(KBitmapUtilPanicCategory, "TImageBitmapUtil");
+GLDEF_C void Panic(TImageBitmapUtilPanic aError)
+	{
+	User::Panic(KBitmapUtilPanicCategory, aError);
+	}
+
+/**
+@see TColorConvertor.
+*/
+class TGray2Convertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return RgbToMonochrome(aColor)>>7; }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Gray2(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{	
+					TInt* end = aIndexBuffer+aCount;
+					while(aIndexBuffer<end)
+						*(aIndexBuffer++) = RgbToMonochrome(*(aColorBuffer++))>>7;
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TGray4Convertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return RgbToMonochrome(aColor)>>6; }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Gray4(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{
+					TInt* end = aIndexBuffer+aCount;
+					while(aIndexBuffer<end)
+						*(aIndexBuffer++) = RgbToMonochrome(*(aColorBuffer++))>>6;
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TGray16Convertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return RgbToMonochrome(aColor)>>4; }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Gray16(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{	
+					TInt* end = aIndexBuffer+aCount;
+					while(aIndexBuffer<end)
+						*(aIndexBuffer++) = RgbToMonochrome(*(aColorBuffer++))>>4;
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TGray256Convertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return RgbToMonochrome(aColor); }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Gray256(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{	
+					TInt* end = aIndexBuffer+aCount;
+					while(aIndexBuffer<end)
+						*(aIndexBuffer++) = RgbToMonochrome(*(aColorBuffer++));
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TColor16Convertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return aColor.Color16(); }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Color16(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{	
+					TInt* end = aIndexBuffer+aCount;
+					while(aIndexBuffer<end)
+						{
+						*(aIndexBuffer++) = (aColorBuffer++)->Color16();
+						}
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TColor256Convertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return aColor.Color256(); }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Color256(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{	
+					TInt* end = aIndexBuffer+aCount;
+					while(aIndexBuffer<end)
+						*(aIndexBuffer++) = (aColorBuffer++)->Color256();
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TColor4KConvertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return aColor._Color4K(); }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Color4K(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{	
+					TInt* end = aIndexBuffer+aCount;
+					while(aIndexBuffer<end)
+						{
+						*(aIndexBuffer++) = (aColorBuffer++)->_Color4K();
+						}
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TColor64KConvertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return aColor._Color64K(); }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Color64K(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{
+					TInt* end = aIndexBuffer+aCount;
+					while(aIndexBuffer<end)
+						{
+						*(aIndexBuffer++) = (aColorBuffer++)->_Color64K();
+						}
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TColor16MConvertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return aColor.Internal(); }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Color16M(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{
+					Mem::Copy(aIndexBuffer,aColorBuffer,aCount*sizeof(TRgb));
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TColor16MUConvertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return aColor._Color16MU(); }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Color16MU(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{
+					// do a Mem::Copy as this ensures that top byte (which
+					// in a 16MA context is interpreted as the alpha value)
+					// is 0xFF (opaque) instead of 0x00 (transparent)
+					Mem::Copy(aIndexBuffer,aColorBuffer,aCount*sizeof(TRgb));
+					}
+	};
+
+/**
+@see TColorConvertor.
+*/
+class TColor16MAConvertor : public TColorConvertor
+	{
+public:
+	virtual TInt ColorIndex(TRgb aColor) const { return aColor._Color16MA(); }
+	virtual TRgb Color(TInt aColorIndex) const { return TRgb::Color16MA(aColorIndex); }
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const
+					{
+					Mem::Copy(aIndexBuffer,aColorBuffer,aCount*sizeof(TRgb));
+					}
+	};
+	
+TColorConvertor* CreateColorConvertorL(TDisplayMode aDisplayMode)
+	{
+	switch (aDisplayMode)
+		{
+	case EGray2:		return new(ELeave) TGray2Convertor;
+	case EGray4:		return new(ELeave) TGray4Convertor;
+	case EGray16:		return new(ELeave) TGray16Convertor;
+	case EGray256:		return new(ELeave) TGray256Convertor;
+	case EColor16:		return new(ELeave) TColor16Convertor;
+	case EColor256:		return new(ELeave) TColor256Convertor;
+	case EColor4K:		return new(ELeave) TColor4KConvertor;
+	case EColor64K:		return new(ELeave) TColor64KConvertor;
+	case EColor16M:		return new(ELeave) TColor16MConvertor;
+	case EColor16MU:	return new(ELeave) TColor16MUConvertor;
+	case EColor16MA:	return new(ELeave) TColor16MAConvertor;
+	default:		
+		User::Leave(KErrNotSupported);
+		return NULL; //Keep the compiler happy!!
+		};	
+	}
+	
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/codecs/ImageProcessor.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,2535 @@
+/*
+* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <icl/imageprocessor.h>
+#include "ImageProcessorPriv.h"
+#include "ImageUtils.h"
+#include "ImageClientMain.h"
+
+//Size of dynamically allocated buffers used by CPixelWriter & CMonochromePixelWriter
+const TInt KPixelWriterBufferSize = 1024;
+const TInt KPixelWriterBufferThreeQuarter = 768;
+
+/**
+Constructor for this class.
+*/
+EXPORT_C CImageProcessorExtension::CImageProcessorExtension()
+:iOperation(EDecodeNormal)
+	{
+	}
+
+/**
+Destructor for this class.
+*/
+EXPORT_C CImageProcessorExtension::~CImageProcessorExtension()
+	{
+	}
+
+/**
+Sets the area of interest of the image to be decoded.
+
+@param aRect
+	   A reference to a TRect that specifies the location and size of the region to be decoded.
+
+*/
+EXPORT_C void CImageProcessorExtension::SetClippingRect(const TRect& aRect)
+	{
+	iClippingRect = aRect;
+	}
+
+/**
+Sets the scaling coefficient for the decode.
+
+@param aScalingCoeff
+	   The scaling coefficient.
+
+@see TImageConvScaler::SetScalingL
+*/
+EXPORT_C void CImageProcessorExtension::SetScaling(TInt aScalingCoeff)
+	{
+	iScalingCoeff = aScalingCoeff;
+	}
+
+/**
+Sets the desired size of the destination image for the decode.
+
+@param aDesiredSize
+	   The desired size of the destination image.
+
+@see TImageConvScaler::SetScalingL
+*/
+EXPORT_C void CImageProcessorExtension::SetScaling(const TSize& aDesiredSize)
+	{
+	iDesiredSize = aDesiredSize;
+	}
+
+/**
+Sets the operation to be applied to the image.
+
+@param aOperation
+	   The operation to apply to the image.
+
+@see TImageConvScaler::SetScalingL
+*/
+EXPORT_C void CImageProcessorExtension::SetOperation(TTransformOptions aOperation)
+	{
+	iOperation = aOperation;
+	}
+
+/**
+Sets an initial one-off number of scanlines to be skipped.
+This must be called prior to calling SetYPosIncrement(),
+if it is to be used.
+
+@param  aNumberOfScanlines
+        The number of scanlines to skip.
+        
+@see CImageProcessor::SetYPosIncrement()
+*/
+EXPORT_C void CImageProcessorExtension::SetInitialScanlineSkipPadding(TInt aNumberOfScanlines)
+	{
+	iNumberOfScanlinesToSkip = aNumberOfScanlines;
+	}
+
+//
+// ImageProcessorUtility
+//
+
+//
+//	CColorImageProcessor
+//
+
+/**
+ * @see CImageProcessor.
+ * @internalComponent
+ */
+void CColorImageProcessor::CreateBlockBufferL(TInt aBlockArea)
+	{
+	delete[] iBlockBuffer;
+	iBlockBuffer = NULL;
+
+	if(aBlockArea)
+		iBlockBuffer = new (ELeave) TRgb[aBlockArea];
+
+	iBlockArea = aBlockArea;
+	}
+
+/**
+ * Destructor.
+ * @see CImageProcessor.
+ * @internalComponent
+ */
+CColorImageProcessor::~CColorImageProcessor()
+	{
+	delete[] iBlockBuffer;
+	}
+
+/**
+ * @see CImageProcessor.
+ * @internalComponent
+ */
+TBool CColorImageProcessor::SetPixelRun(TRgb aColor,TInt aCount)
+	{
+	TBool returnValue = EFalse;
+
+	while(aCount--)
+		returnValue |= SetPixel(aColor);
+
+	return returnValue;
+	}
+
+/**
+ * @see CImageProcessor.
+ * @internalComponent
+ */
+TBool CColorImageProcessor::SetPixels(TRgb* aColorBuffer,TInt aBufferLength)
+	{
+	TBool returnValue = EFalse;
+
+	while(aBufferLength--)
+		returnValue |= SetPixel(*aColorBuffer++);
+
+	return returnValue;
+	}
+
+/**
+ * @see CImageProcessor.
+ * @internalComponent
+ */
+TBool CColorImageProcessor::SetMonoPixel(TInt aGray256)
+	{
+	return SetPixel(TRgb(aGray256,aGray256,aGray256));
+	}
+
+/**
+ * @see CImageProcessor.
+ * @internalComponent
+ */
+TBool CColorImageProcessor::SetMonoPixelRun(TInt aGray256,TInt aCount)
+	{
+	return SetPixelRun(TRgb(aGray256,aGray256,aGray256),aCount);
+	}
+
+/**
+ * @see CImageProcessor.
+ * @internalComponent
+ */
+TBool CColorImageProcessor::SetMonoPixels(TUint32* aGray256Buffer,TInt aBufferLength)
+	{
+	TBool returnValue = EFalse;
+
+	while(aBufferLength--)
+		{
+		TUint32 gray256 = *aGray256Buffer++;
+		returnValue = SetPixel(TRgb(gray256,gray256,gray256));
+		}
+	return returnValue;
+	}
+
+/**
+ * @see CImageProcessor.
+ * @internalComponent
+ */
+TBool CColorImageProcessor::SetMonoPixelBlock(TUint32* aGray256Buffer)
+	{
+	ASSERT(iBlockBuffer);
+
+	TRgb* blockBufferPtr = iBlockBuffer;
+	TRgb* blockBufferPtrLimit = blockBufferPtr+iBlockArea;
+
+	while(blockBufferPtr<blockBufferPtrLimit)
+		{
+		TUint32 gray256 = *aGray256Buffer++;
+		*blockBufferPtr++ = TRgb(gray256,gray256,gray256);
+		}
+
+	return SetPixelBlock(iBlockBuffer);
+	}
+
+//
+//	CMonochromeImageProcessor
+//
+
+/**
+ * @see CImageProcessor.
+ */
+void CMonochromeImageProcessor::CreateBlockBufferL(TInt aBlockArea)
+	{
+	delete[] iBlockBuffer;
+	iBlockBuffer = NULL;
+
+	iBlockBuffer = new (ELeave) TUint32[aBlockArea];
+	iBlockArea = aBlockArea;
+	}
+
+/**
+ * Destructor.
+ * @see CImageProcessor.
+ */
+CMonochromeImageProcessor::~CMonochromeImageProcessor()
+	{
+	delete []iBlockBuffer;
+	}
+
+/**
+ * @see CImageProcessor.
+ */
+TBool CMonochromeImageProcessor::SetMonoPixelRun(TInt aGray256,TInt aCount)
+	{
+	TBool returnValue = EFalse;
+
+	while(aCount--)
+		returnValue = SetMonoPixel(aGray256);
+
+	return returnValue;
+	}
+
+/**
+ * @see CImageProcessor.
+ */
+TBool CMonochromeImageProcessor::SetMonoPixels(TUint32* aGray256Buffer,TInt aBufferLength)
+	{
+	TBool returnValue = EFalse;
+
+	while(aBufferLength--)
+		returnValue = SetMonoPixel(*aGray256Buffer++);
+
+	return returnValue;
+	}
+
+/**
+ * @see CImageProcessor.
+ */
+TBool CMonochromeImageProcessor::SetPixel(TRgb aColor)
+	{
+	return SetMonoPixel(TColorConvertor::RgbToMonochrome(aColor));
+	}
+
+/**
+ * @see CImageProcessor.
+ */
+TBool CMonochromeImageProcessor::SetPixelRun(TRgb aColor,TInt aCount)
+	{
+	return SetMonoPixelRun(TColorConvertor::RgbToMonochrome(aColor),aCount);
+	}
+
+/**
+ * @see CImageProcessor.
+ */
+TBool CMonochromeImageProcessor::SetPixels(TRgb* aColorBuffer,TInt aBufferLength)
+	{
+	TBool returnValue = EFalse;
+
+	while(aBufferLength--)
+		returnValue = SetMonoPixel(TColorConvertor::RgbToMonochrome(*aColorBuffer++));
+
+	return returnValue;
+	}
+
+/**
+ * @see CImageProcessor.
+ */
+TBool CMonochromeImageProcessor::SetPixelBlock(TRgb* aColorBuffer)
+	{
+	ASSERT(iBlockBuffer);
+
+	TUint32* blockBufferPtr = iBlockBuffer;
+	TUint32* blockBufferPtrLimit = blockBufferPtr+iBlockArea;
+
+	while(blockBufferPtr<blockBufferPtrLimit)
+		*blockBufferPtr++ = TColorConvertor::RgbToMonochrome(*aColorBuffer++);
+
+	return SetMonoPixelBlock(iBlockBuffer);
+	}
+
+//
+// CPixelWriter
+//
+
+/**
+ *
+ * Static factory function to create CPixelWriter objects.
+ *
+ * @return  Pointer to a fully constructed CPixelWriter object. 
+ */
+CPixelWriter* CPixelWriter::NewL()
+	{
+	return new(ELeave) CPixelWriter;
+	}
+
+/**
+ *
+ * Default constructor for this class.
+ */
+CPixelWriter::CPixelWriter():
+	iYInc(1)
+	{}	
+	
+/**
+ *
+ * Destructor.
+ */
+CPixelWriter::~CPixelWriter()
+	{
+	Reset();
+	ASSERT(iColorConv==NULL);
+	ASSERT(iRgbBuffer==NULL);
+	ASSERT(iIndexBuffer==NULL);
+	}
+
+/**
+ *
+ * @see CImageProcessor
+ */
+void CPixelWriter::PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect)
+	{
+	DoPrepareL(aBitmap,aImageRect,NULL);
+	}
+
+/**
+ *
+ * @see CImageProcessor
+ */
+void CPixelWriter::PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize& aRgbBlockSize)
+	{
+	DoPrepareL(aBitmap,aImageRect,&aRgbBlockSize);
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+void CPixelWriter::SetYPosIncrement(TInt aYInc)
+	{
+	iYInc = aYInc - iNumberOfScanlinesToSkip;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+void CPixelWriter::SetLineRepeat(TInt aLineRepeat)
+	{
+	ASSERT(aLineRepeat>=0);
+	iLineRepeat = aLineRepeat;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+void CPixelWriter::SetPixelPadding(TInt aNumberOfPixels)
+	{
+	iPixelPadding = aNumberOfPixels;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CPixelWriter::SetPixel(TRgb aColor)
+	{
+	*iRgbBufferPtr++ = aColor;
+
+	if (iRgbBufferPtr == iRgbBufferPtrLimit)
+		return FlushPixels();
+
+	return EFalse;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CPixelWriter::SetPixelRun(TRgb aColor,TInt aCount)
+	{
+	while(aCount)
+		{
+		TRgb* ptr = iRgbBufferPtr;
+		TRgb* limit = ptr+aCount;
+		if(limit>iRgbBufferPtrLimit)
+			limit = iRgbBufferPtrLimit;
+
+		TInt n = limit-ptr;
+		aCount -= n;
+
+		if(n&1)
+			*ptr++ = aColor;
+		if(n&2)
+			{
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			}
+		if(n&4)
+			{
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			}
+		while(ptr<limit)
+			{
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			*ptr++ = aColor;
+			}
+
+		iRgbBufferPtr = ptr;
+
+		if(ptr!=iRgbBufferPtrLimit)
+			break;
+
+		if(FlushPixels())
+			return ETrue;
+		}
+
+	return EFalse;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CPixelWriter::SetPixels(TRgb* aColorBuffer, TInt aBufferLength)
+	{
+	if (aBufferLength >= KPixelWriterBufferThreeQuarter)
+		{
+		TRgb* rgbBuffer = iRgbBuffer;
+
+		if (iRgbBufferPtr != rgbBuffer) 
+			{
+			// flush rest of the pixels 
+			if(FlushPixels())
+				{
+				return ETrue;
+				}
+			}
+
+		// use external buffer without copying data
+		TBool rValue = EFalse;
+
+		while (aBufferLength && !rValue)
+			{
+			TInt bufferLength = (aBufferLength>KPixelWriterBufferSize)?KPixelWriterBufferSize:aBufferLength;
+			iRgbBuffer = aColorBuffer;
+			iRgbBufferPtr = aColorBuffer+bufferLength;
+			iRgbBufferPtrLimit = aColorBuffer+bufferLength;
+
+			rValue = FlushPixels();
+			aBufferLength -= bufferLength;
+			aColorBuffer += bufferLength;
+			}
+		
+		// restore pointers to inner buffer
+		iRgbBuffer = rgbBuffer;
+		iRgbBufferPtr = rgbBuffer;
+		iRgbBufferPtrLimit = rgbBuffer+KPixelWriterBufferSize;
+		
+		return rValue;
+		}
+
+	while(aBufferLength)
+		{
+		TRgb* ptr = iRgbBufferPtr;
+		TRgb* limit = ptr+aBufferLength;
+		if(limit>iRgbBufferPtrLimit)
+			limit = iRgbBufferPtrLimit;
+
+		TInt n = limit-ptr;
+		aBufferLength -= n;
+
+		if(n&1)
+			*ptr++ = *aColorBuffer++;
+		if(n&2)
+			{
+			*ptr++ = *aColorBuffer++;
+			*ptr++ = *aColorBuffer++;
+			}
+		while(ptr<limit)
+			{
+			*ptr++ = *aColorBuffer++;
+			*ptr++ = *aColorBuffer++;
+			*ptr++ = *aColorBuffer++;
+			*ptr++ = *aColorBuffer++;
+			}
+
+		iRgbBufferPtr = ptr;
+
+		if(ptr!=iRgbBufferPtrLimit)
+			break;
+
+		if(FlushPixels())
+			return ETrue;
+		}
+
+	return EFalse;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CPixelWriter::SetPixelBlock(TRgb* aColorBuffer)
+	{
+	ASSERT(aColorBuffer);
+
+	TUint32* indexBufferPtr = iIndexBuffer;
+	if (iDisplayMode==EColor16M || iDisplayMode == EColor16MU || iDisplayMode == EColor16MA)
+		{
+		indexBufferPtr = reinterpret_cast<TUint32*>(aColorBuffer);
+		}
+	else
+		{
+		SetPixelBlockIndex(aColorBuffer);
+		}
+
+	TInt ySkip = 0;
+	if(iNumberOfScanlinesToSkip > 0)
+		{
+		ySkip = iNumberOfScanlinesToSkip * iBlockSize.iWidth;
+		indexBufferPtr += ySkip;
+		ySkip = iNumberOfScanlinesToSkip;
+		iNumberOfScanlinesToSkip = 0; // Only call this conditional once.
+		}
+	
+	TInt imageWidth = iImageRegion.iBr.iX;
+	TInt imageHeight = iImageRegion.iBr.iY;
+	TInt endOfImage = iDrawBottomUp ? -1 : imageHeight;
+	
+	// The minimum number of pixels to render horizontally
+	TInt minWidth = Min(iBlockSize.iWidth, imageWidth - iPos.iX);
+	
+	// The next vertical position.  Note that this is usually the height of the block, but 
+	// in the case of the first block when clipping is required, this will be reduced by ySkip.
+	TInt nextYPos = iDrawBottomUp ?	(iPos.iY - iBlockSize.iHeight) + ySkip :
+									(iPos.iY + iBlockSize.iHeight) - ySkip;
+	
+	TInt endPosition = iDrawBottomUp ? Max(nextYPos, endOfImage) : Min(nextYPos, endOfImage);
+	
+	// Once the first block has been processed, iYInc is set to block height
+	iYInc = iDrawBottomUp ? -iBlockSize.iHeight + ySkip : iBlockSize.iHeight - ySkip;
+				
+	// Skip unnecessary pixels (for cropping, or padding when rotated)
+	indexBufferPtr += iPixelPadding;
+	
+	TPoint pos(iPos);
+	iUtil.Begin();
+	for(;iDrawBottomUp ? pos.iY > endPosition : pos.iY < endPosition; iDrawBottomUp ? pos.iY-- : pos.iY++)
+		{
+		iUtil.SetPos(pos);
+		iUtil.SetPixels(indexBufferPtr, minWidth);
+		indexBufferPtr += iBlockSize.iWidth; // next line in block
+		}
+	iUtil.End();
+
+	iPos.iX += iBlockSize.iWidth;
+	
+	if (iPos.iX >= imageWidth)
+		{
+		return NewLine();
+		}
+
+	return EFalse;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CPixelWriter::FlushPixels()
+	{
+	TRgb* rgbBufferPtrLimit = iRgbBufferPtr;
+	iRgbBufferPtr = iRgbBuffer;
+
+	if(iPos.iY < iImageRegion.iTl.iY || iPos.iY >= iImageRegion.iBr.iY)
+		return ETrue;
+
+	iUtil.Begin();
+
+	TBool finished = EFalse;
+	for (TRgb* rgbBufferPtr = iRgbBuffer; rgbBufferPtr < rgbBufferPtrLimit; )
+		{
+		TInt pixelsToSkip = Min(rgbBufferPtrLimit - rgbBufferPtr,iPixelsToSkip);
+		rgbBufferPtr += pixelsToSkip;
+		iPixelsToSkip -= pixelsToSkip;
+
+		if(iPixelsToSkip)
+			break;
+
+		TInt pixelsToFlush = Min(rgbBufferPtrLimit - rgbBufferPtr,iImageRegion.iBr.iX - iPos.iX);
+
+		if(!pixelsToFlush)
+			break;
+
+		SetPixelBufferIndex(rgbBufferPtr,pixelsToFlush);
+		rgbBufferPtr += pixelsToFlush;
+
+		TBool fillDown = iYInc > 0;
+		TPoint pos(iPos);
+		TInt posYLimit;
+		if(fillDown)
+			posYLimit = Min(pos.iY + iLineRepeat + 1 ,iImageRegion.iBr.iY);
+		else
+			posYLimit = Max(pos.iY - iLineRepeat - 1 ,iImageRegion.iTl.iY-1);
+
+		for(;fillDown ? pos.iY < posYLimit : pos.iY > posYLimit; fillDown ? pos.iY++ : pos.iY--)
+			{
+			if(!iUtil.SetPos(pos-iImageRegion.iTl))
+				{
+				iUtil.End();
+				return ETrue;
+				}
+			iUtil.SetPixels(iIndexBuffer,pixelsToFlush);
+			}
+
+		iPos.iX += pixelsToFlush;
+		if (iPos.iX >= iImageRegion.iBr.iX)
+			{
+			finished = NewLine();
+			if(finished)
+				break;
+			}
+		}
+
+	iUtil.End();
+
+	return finished;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CPixelWriter::SetPos(const TPoint& aPosition)
+	{
+	if(iImageRegion.Contains(aPosition))
+		{
+		FlushPixels();
+		iPixelsToSkip = 0;
+		iPos = aPosition;
+		return ETrue;
+		}
+
+	return EFalse;
+	}
+
+void CPixelWriter::Reset()
+	{
+	delete iColorConv;
+	iColorConv = NULL;
+
+	delete[] iRgbBuffer;
+	iRgbBuffer = NULL;
+
+	delete[] iIndexBuffer;
+	iIndexBuffer = NULL;
+
+	iPos.SetXY(0,0);
+	iPixelsToSkip = 0;
+	iImageRegion.SetRect(0,0,0,0);
+	iBlockSize.SetSize(0,0);
+	
+	iDrawBottomUp = EFalse;
+	}
+
+void CPixelWriter::DoPrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize* aBlockSize)
+	{
+	if( (aImageRect.iTl.iX<0) || (aImageRect.iTl.iY<0) || (aImageRect.Size().iWidth>aBitmap.SizeInPixels().iWidth) || (aImageRect.Size().iHeight>aBitmap.SizeInPixels().iHeight) )
+		{
+		User::Leave(KErrArgument);
+		}
+
+	Reset();
+	
+	iDisplayMode = aBitmap.DisplayMode();
+
+	iImageRegion = aImageRect;
+
+	ASSERT(iColorConv==NULL);
+	iColorConv = TColorConvertor::NewL(aBitmap.DisplayMode());
+	iUtil.SetBitmapL(&aBitmap);
+
+	if (aBlockSize)
+		{
+		if (aBlockSize->iWidth <= 0 || aBlockSize->iHeight <= 0)
+			{
+			User::Leave(KErrArgument);
+			}
+
+		iBlockSize = *aBlockSize;
+		iBlockArea = iBlockSize.iWidth * iBlockSize.iHeight;
+		
+		ASSERT(iIndexBuffer == NULL);
+		iIndexBuffer = new(ELeave) TUint32[iBlockArea];
+
+		iIndexBufferPtrLimit = iIndexBuffer + iBlockArea;
+		CreateBlockBufferL(iBlockArea);
+		
+		switch(iOperation)
+			{
+			case EDecodeRotate180:
+			case EDecodeRotate270:
+			case EDecodeHorizontalFlip:
+			case EDecodeVerticalFlipRotate90:
+				iDrawBottomUp = ETrue;
+				break;
+			default:
+				iDrawBottomUp = EFalse;
+			}
+		
+		iYInc = iDrawBottomUp ? -iBlockSize.iHeight : iBlockSize.iHeight;
+		iStartPosition.SetXY(iImageRegion.iTl.iX, iDrawBottomUp ? iImageRegion.iBr.iY - 1 : 0);
+		iEndPosition.SetXY(iImageRegion.iBr.iX, iDrawBottomUp ?
+							iImageRegion.iTl.iY - 1 : iImageRegion.iBr.iY);
+		iPos = iStartPosition;
+		}
+	else
+		{
+		iPos = iImageRegion.iTl;
+		iStartPosition = iPos;
+		iEndPosition = aImageRect.iBr;
+		
+		ASSERT(iRgbBuffer == NULL);
+		iRgbBuffer = new(ELeave) TRgb[KPixelWriterBufferSize];
+
+		iRgbBufferPtr = iRgbBuffer;
+		iRgbBufferPtrLimit = iRgbBuffer + KPixelWriterBufferSize;
+
+		ASSERT(iIndexBuffer == NULL);
+		iIndexBuffer = new(ELeave) TUint32[KPixelWriterBufferSize];
+
+		iIndexBufferPtrLimit = iIndexBuffer + KPixelWriterBufferSize;
+		}
+	}
+
+TBool CPixelWriter::NewLine()
+	{
+	iPos.iX = iStartPosition.iX;
+	iPos.iY += iYInc;
+
+	if(iPos.iY < iStartPosition.iY || iPos.iY >= iEndPosition.iY)
+		{
+		return ETrue;
+		}
+	
+	iPixelsToSkip = iPixelPadding;
+	return EFalse;
+	}
+
+void CPixelWriter::SetPixelBufferIndex(TRgb* aColorBuffer,TInt aCount)
+	{
+	iColorConv->ColorToIndex(REINTERPRET_CAST(TInt*,iIndexBuffer),aColorBuffer,aCount);
+	}
+
+void CPixelWriter::SetPixelBlockIndex(TRgb* aColorBuffer)
+	{
+	iColorConv->ColorToIndex(REINTERPRET_CAST(TInt*,iIndexBuffer),aColorBuffer,iIndexBufferPtrLimit-iIndexBuffer);
+	}
+
+//
+//	CMonochromePixelWriter
+//
+
+/**
+ *
+ * Static factory function to create CMonochromePixelWriter objects.
+ *
+ * @return  Pointer to a fully constructed CMonochromePixelWriter object. 
+ */
+CMonochromePixelWriter* CMonochromePixelWriter::NewL()
+	{
+	return new(ELeave) CMonochromePixelWriter;
+	}
+
+/**
+ *
+ * Default constructor for this class.
+ */
+CMonochromePixelWriter::CMonochromePixelWriter():
+	iYInc(1)
+	{}
+
+/**
+ *
+ * Destructor
+ */
+CMonochromePixelWriter::~CMonochromePixelWriter()
+	{
+	Reset();
+	}
+
+/**
+ *
+ * @see CImageProcessor
+ */
+void CMonochromePixelWriter::PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect)
+	{
+	DoPrepareL(aBitmap,aImageRect,NULL);
+	}
+
+/**
+ *
+ * @see CImageProcessor
+ */
+void CMonochromePixelWriter::PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize& aRgbBlockSize)
+	{
+	DoPrepareL(aBitmap,aImageRect,&aRgbBlockSize);
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+void CMonochromePixelWriter::SetYPosIncrement(TInt aYInc)
+	{
+	iYInc = aYInc - iNumberOfScanlinesToSkip;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+void CMonochromePixelWriter::SetPixelPadding(TInt aNumberOfPixels)
+	{
+	iPixelPadding = aNumberOfPixels;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+void CMonochromePixelWriter::SetLineRepeat(TInt aLineRepeat)
+	{
+	ASSERT(aLineRepeat>=0);
+	iLineRepeat = aLineRepeat;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CMonochromePixelWriter::SetMonoPixel(TInt aGray256)
+	{
+	*iGray256BufferPtr++ = aGray256;
+
+	if (iGray256BufferPtr != iGray256BufferPtrLimit)
+		return EFalse;
+
+	return FlushPixels();
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CMonochromePixelWriter::SetMonoPixelRun(TInt aGray256,TInt aCount)
+	{
+	while(aCount)
+		{
+		TUint32* ptr = iGray256BufferPtr;
+		TUint32* limit = ptr+aCount;
+		if(limit>iGray256BufferPtrLimit)
+			limit = iGray256BufferPtrLimit;
+
+		TInt n = limit-ptr;
+		aCount -= n;
+
+		if(n&1)
+			*ptr++ = aGray256;
+		if(n&2)
+			{
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			}
+		if(n&4)
+			{
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			}
+		while(ptr<limit)
+			{
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			*ptr++ = aGray256;
+			}
+
+		iGray256BufferPtr = ptr;
+
+		if(ptr!=iGray256BufferPtrLimit)
+			break;
+
+		if(FlushPixels())
+			return ETrue;
+		}
+
+	return EFalse;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CMonochromePixelWriter::SetMonoPixels(TUint32* aGray256Buffer,TInt aBufferLength)
+	{
+
+	if (aBufferLength >= KPixelWriterBufferThreeQuarter)
+		{
+		TUint32* gray256Buffer = iGray256Buffer;
+
+		if (iGray256BufferPtr != gray256Buffer) 
+			{
+			// flush rest of the pixels 
+			if(FlushPixels())
+				{
+				return ETrue;
+				}
+			}
+
+		// use external buffer without copying data
+		TBool rValue = EFalse;
+		
+		while (aBufferLength && !rValue)
+			{
+			TInt bufferLength = (aBufferLength>KPixelWriterBufferSize)?KPixelWriterBufferSize:aBufferLength;
+			iGray256Buffer = aGray256Buffer;
+			iGray256BufferPtr = aGray256Buffer+bufferLength;
+			iGray256BufferPtrLimit = aGray256Buffer+bufferLength;
+
+			rValue = FlushPixels();
+			aBufferLength -= bufferLength;
+			aGray256Buffer += bufferLength;
+			}
+		
+		// restore pointers to inner buffer
+		iGray256Buffer = gray256Buffer;
+		iGray256BufferPtr = gray256Buffer;
+		iGray256BufferPtrLimit = gray256Buffer+KPixelWriterBufferSize;
+		
+		return rValue;
+		}
+
+	while(aBufferLength)
+		{
+		TUint32* ptr = iGray256BufferPtr;
+		TUint32* limit = ptr+aBufferLength;
+		if(limit>iGray256BufferPtrLimit)
+			limit = iGray256BufferPtrLimit;
+
+		TInt n = limit-ptr;
+		aBufferLength -= n;
+
+		if(n&1)
+			*ptr++ = *aGray256Buffer++;
+		if(n&2)
+			{
+			*ptr++ = *aGray256Buffer++;
+			*ptr++ = *aGray256Buffer++;
+			}
+		while(ptr<limit)
+			{
+			*ptr++ = *aGray256Buffer++;
+			*ptr++ = *aGray256Buffer++;
+			*ptr++ = *aGray256Buffer++;
+			*ptr++ = *aGray256Buffer++;
+			}
+
+		iGray256BufferPtr = ptr;
+
+		if(ptr!=iGray256BufferPtrLimit)
+			break;
+
+		if(FlushPixels())
+			return ETrue;
+		}
+
+	return EFalse;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CMonochromePixelWriter::SetMonoPixelBlock(TUint32* aGray256Buffer)
+	{
+	SetPixelBlockIndex(aGray256Buffer);
+	
+	TUint32* indexBufferPtr = iIndexBuffer;
+
+	TInt ySkip = 0;
+	if(iNumberOfScanlinesToSkip > 0)
+		{
+		ySkip = iNumberOfScanlinesToSkip * iBlockSize.iWidth;
+		indexBufferPtr += ySkip;
+		ySkip = iNumberOfScanlinesToSkip;
+		iNumberOfScanlinesToSkip = 0; // Only call this conditional once.
+		}
+	
+	TInt imageWidth = iImageRegion.iBr.iX;
+	TInt imageHeight = iImageRegion.iBr.iY;
+	TInt endOfImage = iDrawBottomUp ? -1 : imageHeight;
+	
+	// The minimum number of pixels to render horizontally
+	TInt minWidth = Min(iBlockSize.iWidth, imageWidth - iPos.iX);
+	
+	// The next vertical position.  Note that this is usually the height of the block, but 
+	// in the case of the first block when clipping is required, this will be reduced by ySkip.
+	TInt nextYPos = iDrawBottomUp ?	(iPos.iY - iBlockSize.iHeight) + ySkip :
+										(iPos.iY + iBlockSize.iHeight) - ySkip;
+	
+	TInt endPosition = iDrawBottomUp ? Max(nextYPos, endOfImage) : Min(nextYPos, endOfImage);
+	
+	// Once the first block has been processed, iYInc is set to block height
+	iYInc = iDrawBottomUp ? -iBlockSize.iHeight + ySkip : iBlockSize.iHeight - ySkip;
+				
+	// Skip unnecessary pixels (for cropping, or padding when rotated)
+	indexBufferPtr += iPixelPadding;
+	
+	TPoint pos(iPos);
+	iUtil.Begin();
+	for(;iDrawBottomUp ? pos.iY > endPosition : pos.iY < endPosition; iDrawBottomUp ? pos.iY-- : pos.iY++)
+		{
+		iUtil.SetPos(pos);
+		iUtil.SetPixels(indexBufferPtr, minWidth);
+		indexBufferPtr += iBlockSize.iWidth; // next line in block
+		}
+	iUtil.End();
+
+	iPos.iX += iBlockSize.iWidth;
+	
+	if (iPos.iX >= imageWidth)
+		{
+		return NewLine();
+		}
+
+	return EFalse;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CMonochromePixelWriter::FlushPixels()
+	{
+	TUint32* gray256BufferPtrLimit = iGray256BufferPtr;
+	iGray256BufferPtr = iGray256Buffer;
+
+	if(iPos.iY < iImageRegion.iTl.iY || iPos.iY >= iImageRegion.iBr.iY)
+		return ETrue;
+
+	iUtil.Begin();
+
+	TBool finished = EFalse;
+	for (TUint32* gray256BufferPtr = iGray256Buffer; gray256BufferPtr < gray256BufferPtrLimit; )
+		{
+		TInt pixelsToSkip = Min(gray256BufferPtrLimit - gray256BufferPtr,iPixelsToSkip);
+		gray256BufferPtr += pixelsToSkip;
+		iPixelsToSkip -= pixelsToSkip;
+
+		if(iPixelsToSkip)
+			break;
+
+		TInt pixelsToFlush = Min(gray256BufferPtrLimit - gray256BufferPtr,iImageRegion.iBr.iX - iPos.iX);
+
+		if(!pixelsToFlush)
+			break;
+
+		SetPixelBufferIndex(gray256BufferPtr,pixelsToFlush);
+		gray256BufferPtr += pixelsToFlush;
+
+		TBool fillDown = iYInc > 0;
+		TPoint pos(iPos);
+		TInt posYLimit;
+		if(fillDown)
+			posYLimit = Min(pos.iY + iLineRepeat + 1 ,iImageRegion.iBr.iY);
+		else
+			posYLimit = Max(pos.iY - iLineRepeat - 1 ,iImageRegion.iTl.iY-1);
+
+		for(;fillDown ? pos.iY < posYLimit : pos.iY > posYLimit; fillDown ? pos.iY++ : pos.iY--)
+			{
+			if(!iUtil.SetPos(pos-iImageRegion.iTl))
+				{
+				iUtil.End();
+				return ETrue;
+				}
+			iUtil.SetPixels(iIndexBuffer,pixelsToFlush);
+			}
+
+		iPos.iX += pixelsToFlush;
+		if (iPos.iX >= iImageRegion.iBr.iX)
+			{
+			finished = NewLine();
+			if(finished)
+				break;
+			}
+		}
+
+	iUtil.End();
+
+	return finished;
+	}
+
+/**
+ *
+ * @see CImageProcessor.
+ */
+TBool CMonochromePixelWriter::SetPos(const TPoint& aPosition)
+	{
+	if(iImageRegion.Contains(aPosition))
+		{
+		FlushPixels();
+		iPixelsToSkip = 0;
+		iPos = aPosition;
+		return ETrue;
+		}
+
+	return EFalse;
+	}
+
+void CMonochromePixelWriter::Reset()
+	{
+	delete iColorConv;
+	iColorConv = NULL;
+
+	delete[] iGray256Buffer;
+	iGray256Buffer = NULL;
+
+	delete[] iIndexBuffer;
+	iIndexBuffer = NULL;
+
+	iPos.SetXY(0,0);
+	iPixelsToSkip = 0;
+	iImageRegion.SetRect(0,0,0,0);
+	iBlockSize.SetSize(0,0);
+	
+	iDrawBottomUp = EFalse;
+	}
+
+void CMonochromePixelWriter::DoPrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize* aBlockSize)
+	{
+	if( (aImageRect.iTl.iX<0) || (aImageRect.iTl.iY<0) || (aImageRect.Size().iWidth>aBitmap.SizeInPixels().iWidth) || (aImageRect.Size().iHeight>aBitmap.SizeInPixels().iHeight) )
+		{
+		User::Leave(KErrArgument);
+		}
+
+	Reset();
+
+	iImageRegion = aImageRect;
+
+	iColorConv = TColorConvertor::NewL(aBitmap.DisplayMode());
+	iUtil.SetBitmapL(&aBitmap);
+
+	if (aBlockSize)
+		{
+		if (aBlockSize->iWidth <= 0 || aBlockSize->iHeight <= 0)
+			{
+			User::Leave(KErrArgument);
+			}
+
+		iBlockSize = *aBlockSize;
+		iBlockArea = iBlockSize.iWidth * iBlockSize.iHeight;
+		
+		ASSERT(iIndexBuffer == NULL);
+		iIndexBuffer = new(ELeave) TUint32[iBlockArea];
+
+		iIndexBufferPtrLimit = iIndexBuffer + iBlockArea;
+		CreateBlockBufferL(iBlockArea);
+		
+		switch(iOperation)
+			{
+			case EDecodeRotate180:
+			case EDecodeRotate270:
+			case EDecodeHorizontalFlip:
+			case EDecodeVerticalFlipRotate90:
+				iDrawBottomUp = ETrue;
+				break;
+			default:
+				iDrawBottomUp = EFalse;		
+			}
+		
+		iYInc = iDrawBottomUp ? -iBlockSize.iHeight : iBlockSize.iHeight;
+		iStartPosition.SetXY(iImageRegion.iTl.iX, iDrawBottomUp ? iImageRegion.iBr.iY - 1 : 0);
+		iEndPosition.SetXY(iImageRegion.iBr.iX, iDrawBottomUp ?
+							iImageRegion.iTl.iY - 1 : iImageRegion.iBr.iY);
+		iPos = iStartPosition;
+		}
+	else
+		{
+		iPos = iImageRegion.iTl;
+		iStartPosition = iPos;
+		iEndPosition = aImageRect.iBr;
+
+		ASSERT(iGray256Buffer == NULL);
+		iGray256Buffer = new(ELeave) TUint32[KPixelWriterBufferSize];
+
+		iGray256BufferPtr = iGray256Buffer;
+		iGray256BufferPtrLimit = iGray256Buffer + KPixelWriterBufferSize;
+
+		ASSERT(iIndexBuffer == NULL);
+		iIndexBuffer = new(ELeave) TUint32[KPixelWriterBufferSize];
+
+		iIndexBufferPtrLimit = iIndexBuffer + KPixelWriterBufferSize;
+		}
+	
+	for(TInt i=0; i<256; i++)
+		{
+		iIndexLookup[i] = iColorConv->ColorIndex(TRgb(i,i,i));	
+		}
+	}
+
+TBool CMonochromePixelWriter::NewLine()
+	{
+	iPos.iX = iStartPosition.iX;
+	iPos.iY += iYInc;
+
+	if(iPos.iY < iStartPosition.iY || iPos.iY >= iEndPosition.iY)
+		{
+		return ETrue;
+		}
+	
+	iPixelsToSkip = iPixelPadding;
+	return EFalse;
+	}
+
+void CMonochromePixelWriter::SetPixelBlockIndex(TUint32* aGray256Buffer)
+	{
+	CMonochromePixelWriter::SetPixelBufferIndex(aGray256Buffer,iBlockArea);
+	}
+
+void CMonochromePixelWriter::SetPixelBufferIndex(TUint32* aGray256Buffer,TInt aCount)
+	{
+	TUint32* indexBufferPtr = iIndexBuffer;
+	TUint32* indexBufferPtrLimit = indexBufferPtr+aCount;
+	TUint32* indexLookup = iIndexLookup;
+
+	if(aCount&1)
+		*indexBufferPtr++ = indexLookup[*aGray256Buffer++];
+	if(aCount&2)
+		{
+		*indexBufferPtr++ = indexLookup[*aGray256Buffer++];
+		*indexBufferPtr++ = indexLookup[*aGray256Buffer++];
+		}
+	while (indexBufferPtr < indexBufferPtrLimit)
+		{
+		*indexBufferPtr++ = indexLookup[*aGray256Buffer++];
+		*indexBufferPtr++ = indexLookup[*aGray256Buffer++];
+		*indexBufferPtr++ = indexLookup[*aGray256Buffer++];
+		*indexBufferPtr++ = indexLookup[*aGray256Buffer++];
+		}
+	}
+
+//
+// CErrorDiffuser::TColorError
+//
+
+inline CErrorDiffuser::TColorError::TColorError():
+	iRedError(0),
+	iGreenError(0),
+	iBlueError(0)
+	{}
+
+inline CErrorDiffuser::TColorError::TColorError(TInt aRedError,TInt aGreenError,TInt aBlueError):
+	iRedError(aRedError),
+	iGreenError(aGreenError),
+	iBlueError(aBlueError)
+	{}
+
+inline void CErrorDiffuser::TColorError::AdjustColor(TRgb& aColor) const
+	{
+	TInt red = ColorCcomponent::ClampColorComponent((iRedError >> 4) + aColor.Red());
+	TInt green = ColorCcomponent::ClampColorComponent((iGreenError >> 4) + aColor.Green());
+	TInt blue = ColorCcomponent::ClampColorComponent((iBlueError >> 4) + aColor.Blue());
+	aColor = TRgb(red,green,blue);
+	}
+
+inline void CErrorDiffuser::TColorError::SetError(TRgb aIdealColor,TRgb aActualColor)
+	{
+	iRedError = aIdealColor.Red() - aActualColor.Red();
+	iGreenError = aIdealColor.Green() - aActualColor.Green();
+	iBlueError = aIdealColor.Blue() - aActualColor.Blue();
+	}
+
+inline CErrorDiffuser::TColorError CErrorDiffuser::TColorError::operator+(const TColorError& aColorError) const
+	{
+	TInt redError = iRedError + aColorError.iRedError;
+	TInt greenError = iGreenError + aColorError.iGreenError;
+	TInt blueError = iBlueError + aColorError.iBlueError;
+	return TColorError(redError,greenError,blueError);
+	}
+
+inline CErrorDiffuser::TColorError CErrorDiffuser::TColorError::operator-(const TColorError& aColorError) const
+	{
+	TInt redError = iRedError - aColorError.iRedError;
+	TInt greenError = iGreenError - aColorError.iGreenError;
+	TInt blueError = iBlueError - aColorError.iBlueError;
+	return TColorError(redError,greenError,blueError);
+	}
+
+inline CErrorDiffuser::TColorError CErrorDiffuser::TColorError::operator<<(TInt aShift) const
+	{
+	TInt redError = iRedError << aShift;
+	TInt greenError = iGreenError << aShift;
+	TInt blueError = iBlueError << aShift;
+	return TColorError(redError,greenError,blueError);
+	}
+
+inline CErrorDiffuser::TColorError& CErrorDiffuser::TColorError::operator+=(const TColorError& aColorError)
+	{
+	iRedError += aColorError.iRedError;
+	iGreenError += aColorError.iGreenError;
+	iBlueError += aColorError.iBlueError;
+	return *this;
+	}
+
+CErrorDiffuser::CErrorDiffuser()
+	{
+	}
+
+CErrorDiffuser::~CErrorDiffuser()
+	{
+	Reset();
+	}
+
+void CErrorDiffuser::DoPrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize* aBlockSize)
+	{
+	CPixelWriter::DoPrepareL(aBitmap,aImageRect,aBlockSize);
+
+	TInt scanlineErrorBufferLength = iImageRegion.iBr.iX+2;
+
+	if (iBlockArea > 0)
+		{
+		ASSERT(iEdgeErrorBuffer == NULL);
+		iEdgeErrorBuffer = new(ELeave) TColorError[iBlockSize.iHeight];
+
+		scanlineErrorBufferLength += iBlockSize.iWidth;
+		}
+
+	ASSERT(iScanlineErrorBuffer == NULL);
+	iScanlineErrorBuffer = new(ELeave) TColorError[scanlineErrorBufferLength];
+
+	if (iDisplayMode == EColor64K) 
+		{
+			ASSERT(iRedErrorLookupTable == NULL);
+			iRedErrorLookupTable = new(ELeave) TInt8[256];
+			ASSERT(iGreenErrorLookupTable == NULL);
+			iGreenErrorLookupTable = new(ELeave) TInt8[256];
+			
+			for (TInt i=0;i<256;i++) 
+				{
+					TInt tmp = i & 0xf8;
+					iRedErrorLookupTable[i] = i - (tmp | (tmp >> 5));
+					tmp = i & 0xfc;
+					iGreenErrorLookupTable[i] = i - (tmp | (tmp >> 6));
+				}
+		}
+	}
+
+void CErrorDiffuser::SetPixelBufferIndex(TRgb* aColorBuffer,TInt aCount)
+	{
+	// use optimized function for EColor64K mode
+	if (iDisplayMode == EColor64K) 
+		{
+		SetPixelBufferColor64KIndex(aColorBuffer, aCount);
+		return;
+		}
+
+	TInt clearX = iPos.iX;
+
+	TInt yDiff = iPos.iY - iLastPos.iY;
+	if(yDiff != 0)									// On a new line?
+		{
+		new(&iNextError) TColorError;
+		clearX = iImageRegion.iBr.iX;				// To clear to end of line
+
+		if(yDiff == -1 || yDiff == 1)				// Now on ajacent line?
+			{
+			clearX -= iLastPos.iX;					// Clear end of previous line
+			if(clearX)
+				{
+				Mem::FillZ(iScanlineErrorBuffer + iLastPos.iX + 2, clearX * sizeof(TColorError));
+				}
+			clearX = iPos.iX;						// To clear up to current position
+			}
+		iLastPos.iX = iImageRegion.iTl.iX;			// Start of this line
+		}
+
+	clearX -= iLastPos.iX;
+	if(clearX > 0)									// Treat any skipped pixels as if they produced no error
+		{
+		new(&iNextError) TColorError;
+		Mem::FillZ(iScanlineErrorBuffer + iLastPos.iX + 2, clearX * sizeof(TColorError));
+		}
+
+	iLastPos.iY = iPos.iY;
+	iLastPos.iX = iPos.iX+aCount;
+
+	TUint32* indexBufferPtr = iIndexBuffer;
+	TUint32* indexBufferPtrLimit = indexBufferPtr+aCount;
+	TColorError* scanlineErrorBufferPtr = iScanlineErrorBuffer + iPos.iX;
+	TColorError error;
+	TRgb color;
+
+	while(indexBufferPtr<indexBufferPtrLimit)
+		{
+		color = *aColorBuffer++;
+
+		iNextError.AdjustColor(color);
+		TUint32 index = iColorConv->ColorIndex(color);
+		*indexBufferPtr++ = index;
+
+		error.SetError(color, iColorConv->Color(index));
+
+		iNextError = (error << 3) - error; // Set right error for this pixel
+
+		*scanlineErrorBufferPtr++ += error + (error << 1); // Set left-down error for this pixel
+
+		*scanlineErrorBufferPtr += error + (error << 2); // Set down error for this pixel
+
+		iNextError += *(scanlineErrorBufferPtr+1);
+
+		*(scanlineErrorBufferPtr+1) = error; // Set right-down error for this pixel
+		}
+	}
+
+// faster function (see listing) then Bitmap Util ClampColorComponent
+inline TInt CErrorDiffuser::ClipColorComponent(TInt value)
+    {
+    if (TUint(value) > 0xFF)
+        {
+        value = value < 0 ? 0 : 0xFF;
+        }
+    return value;
+    }
+
+void CErrorDiffuser::SetPixelBufferColor64KIndex(TRgb* aColorBuffer,TInt aCount)
+	{
+	TInt clearX = iPos.iX;
+
+	TInt yDiff = iPos.iY - iLastPos.iY;
+	if(yDiff != 0)									// On a new line?
+		{
+		iNextRedError = 0;
+		iNextGreenError = 0;
+		iNextBlueError = 0;
+		clearX = iImageRegion.iBr.iX;				// To clear to end of line
+
+		if(yDiff == -1 || yDiff == 1)				// Now on ajacent line?
+			{
+			clearX -= iLastPos.iX;					// Clear end of previous line
+			if(clearX > 0) 
+				{
+				Mem::FillZ(iScanlineErrorBuffer + iLastPos.iX + 2, clearX * sizeof(TColorError));
+				}
+			clearX = iPos.iX;						// To clear up to current position
+			}
+		iLastPos.iX = iImageRegion.iTl.iX;			// Start of this line
+		}
+
+	clearX -= iLastPos.iX;
+	if(clearX > 0)									// Treat any skipped pixels as if they produced no error
+		{
+		iNextRedError = 0;
+		iNextGreenError = 0;
+		iNextBlueError = 0;
+		Mem::FillZ(iScanlineErrorBuffer + iLastPos.iX + 2, clearX * sizeof(TColorError));
+		}
+
+	iLastPos.iY = iPos.iY;
+	iLastPos.iX = iPos.iX+aCount;
+
+	TUint32* indexBufferPtr = iIndexBuffer;
+	TUint32* indexBufferPtrLimit = indexBufferPtr+aCount;
+
+	TColorError* scanlineErrorBufferPtr = iScanlineErrorBuffer + iPos.iX;
+
+	TInt redError = iNextRedError;
+	TInt greenError = iNextGreenError;
+	TInt blueError = iNextBlueError;
+	
+	while(indexBufferPtr<indexBufferPtrLimit)
+		{
+		// red			
+		register TInt red = aColorBuffer->Red();
+		red = ClipColorComponent(red + (redError >> 4));
+
+		register TInt error = iRedErrorLookupTable[red];
+		
+		// Set right error for red component
+		scanlineErrorBufferPtr->iRedError += error + (error << 1); // Set left-down error for this pixel
+		(scanlineErrorBufferPtr+1)->iRedError += error + (error << 2); // Set down error for this pixel
+		redError = (scanlineErrorBufferPtr+2)->iRedError + (error << 3) - error; // Set right error for this pixel
+		(scanlineErrorBufferPtr+2)->iRedError = error; // Set right-down error for this pixel
+
+		// green			
+		register TInt green = aColorBuffer->Green();
+			
+		green = ClipColorComponent(green + (greenError >> 4));
+
+		error = iGreenErrorLookupTable[green];
+		
+		// Set right error for green component
+		scanlineErrorBufferPtr->iGreenError += error + (error << 1); // Set left-down error for this pixel
+		(scanlineErrorBufferPtr+1)->iGreenError += error + (error << 2); // Set down error for this pixel
+		greenError = (scanlineErrorBufferPtr+2)->iGreenError + (error << 3) - error; // Set right error for this pixel
+		(scanlineErrorBufferPtr+2)->iGreenError = error; // Set right-down error for this pixel
+
+		// blue			
+		register TInt blue = aColorBuffer->Blue();
+			
+		blue = ClipColorComponent(blue + (blueError >> 4));
+		
+		*indexBufferPtr++ = ((red & 0xf8) << 8) | ((green & 0xfc) << 3) | ((blue & 0xf8) >> 3);
+		
+		error = iRedErrorLookupTable[blue];// use the same lookup table for blue color
+
+		// Set right error for blue component
+		scanlineErrorBufferPtr->iBlueError += error + (error << 1); // Set left-down error for this pixel
+		(scanlineErrorBufferPtr+1)->iBlueError += error + (error << 2); // Set down error for this pixel
+		blueError = (scanlineErrorBufferPtr+2)->iBlueError + (error << 3) - error; // Set right error for this pixel
+		(scanlineErrorBufferPtr+2)->iBlueError = error; // Set right-down error for this pixel
+
+		scanlineErrorBufferPtr++;
+		aColorBuffer++;
+		}
+
+		iNextRedError = redError;
+		iNextGreenError = greenError;
+		iNextBlueError = blueError;
+
+
+	}
+
+void CErrorDiffuser::SetPixelBlockIndex(TRgb* aColorBuffer)
+	{
+	if(iPos.iY!=iLastPos.iY)
+		{
+		Mem::FillZ(iEdgeErrorBuffer,sizeof(TColorError) * iBlockSize.iHeight);
+		}
+
+	TUint32* indexBufferPtr = iIndexBuffer;
+
+	TColorError error;
+	TColorError* edgeErrorBuffer = iEdgeErrorBuffer;
+
+	for (TInt row = 0; row < iBlockSize.iHeight; row++)
+		{
+		TColorError* errorValue = iScanlineErrorBuffer + iPos.iX;
+		TColorError nextError = *edgeErrorBuffer + *errorValue;
+		*edgeErrorBuffer = error;
+
+		for (TInt col = 0; col < iBlockSize.iWidth; col++)
+			{
+			TRgb bufferColor = *aColorBuffer++;
+			nextError.AdjustColor(bufferColor);
+
+			TUint32 index = iColorConv->ColorIndex(bufferColor);
+			*indexBufferPtr++ = index;
+
+			error.SetError(bufferColor,iColorConv->Color(index));
+
+			if (col > 0)
+				*(errorValue - 1) += error + (error << 1); // Set left-down error for this pixel
+			else
+				*errorValue = error + (error << 1);
+
+			*errorValue += error + (error << 2); // Set down error for this pixel
+			errorValue++;
+
+			nextError = (error << 3) - error; // Set right error for this pixel
+
+			if (col < iBlockSize.iWidth)
+				{
+				nextError += *errorValue;
+				*errorValue = error; // Set right-down error for this pixel
+				}
+
+			}
+
+		*edgeErrorBuffer++ += nextError;
+		}
+
+	iLastPos.iY = iPos.iY;
+	iLastPos.iX = iPos.iX+iBlockSize.iWidth;
+	}
+
+void CErrorDiffuser::Reset()
+	{
+	CPixelWriter::Reset();
+
+	delete[] iScanlineErrorBuffer;
+	iScanlineErrorBuffer = NULL;
+
+	delete[] iEdgeErrorBuffer;
+	iEdgeErrorBuffer = NULL;
+	
+	delete iRedErrorLookupTable;
+	iRedErrorLookupTable = NULL;
+	
+	delete iGreenErrorLookupTable;
+	iGreenErrorLookupTable = NULL;
+
+	}
+
+//
+// CMonochromeErrorDiffuser
+//
+
+
+/**
+ *
+ * Static factory function to create CMonochromeErrorDiffuser objects.
+ *
+ * @return  Pointer to a fully constructed CMonochromeErrorDiffuser object. 
+ */
+CMonochromeErrorDiffuser* CMonochromeErrorDiffuser::NewL()
+	{
+	return new(ELeave) CMonochromeErrorDiffuser;
+	}
+
+CMonochromeErrorDiffuser::CMonochromeErrorDiffuser()
+	{}
+
+CMonochromeErrorDiffuser::~CMonochromeErrorDiffuser()
+	{
+	Reset();
+	}
+
+void CMonochromeErrorDiffuser::DoPrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize* aBlockSize)
+	{
+	CMonochromePixelWriter::DoPrepareL(aBitmap,aImageRect,aBlockSize);
+
+	TInt scanlineErrorBufferLength = iImageRegion.iBr.iX+2;
+
+	if (iBlockArea > 0)
+		{
+		ASSERT(iEdgeErrorBuffer == NULL);
+		iEdgeErrorBuffer = new(ELeave) TInt[iBlockSize.iHeight];
+
+		Mem::FillZ(iEdgeErrorBuffer,sizeof(TInt) * iBlockSize.iHeight);
+		scanlineErrorBufferLength += iBlockSize.iWidth;
+		}
+
+	ASSERT(iScanlineErrorBuffer == NULL);
+	iScanlineErrorBuffer = new(ELeave) TInt[scanlineErrorBufferLength];
+
+	Mem::FillZ(iScanlineErrorBuffer,sizeof(TInt) * scanlineErrorBufferLength);
+	}
+
+void CMonochromeErrorDiffuser::SetPixelBufferIndex(TUint32* aGray256Buffer,TInt aCount)
+	{
+	TInt clearX = iPos.iX;
+
+	TInt yDiff = iPos.iY - iLastPos.iY;
+	if(yDiff != 0)									// On a new line?
+		{
+		iNextError = 0;
+		clearX = iImageRegion.iBr.iX;				// To clear to end of line
+
+		if(yDiff == -1 || yDiff == 1)				// Now on ajacent line?
+			{
+			clearX -= iLastPos.iX;					// Clear end of previous line
+			if(clearX)
+				Mem::FillZ(iScanlineErrorBuffer + iLastPos.iX + 2, clearX * sizeof(TInt));
+			clearX = iPos.iX;						// To clear up to current position
+			}
+		iLastPos.iX = iImageRegion.iTl.iX;			// Start of this line
+		}
+
+	clearX -= iLastPos.iX;
+	if(clearX > 0)									// Treat any skipped pixels as if they produced no error
+		{
+		iNextError = 0;
+		Mem::FillZ(iScanlineErrorBuffer + iLastPos.iX + 2, clearX * sizeof(TInt));
+		}
+
+	iLastPos.iY = iPos.iY;
+	iLastPos.iX = iPos.iX+aCount;
+
+	TUint32* indexBufferPtr = iIndexBuffer;
+	TUint32* indexBufferPtrLimit = indexBufferPtr+aCount;
+
+	TInt* scanlineErrorBufferPtr = iScanlineErrorBuffer + iPos.iX;
+	TInt nextError = iNextError;
+
+	while(indexBufferPtr<indexBufferPtrLimit)
+		{
+		TInt gray256 = *aGray256Buffer++;
+
+		TInt error = gray256 + (nextError >> 4);
+		TUint32 index = iIndexLookup[ColorCcomponent::ClampColorComponent(error)];
+		*indexBufferPtr++ = index;
+
+		error -= TColorConvertor::RgbToMonochrome(iColorConv->Color(index));
+
+		nextError = (error << 3) - error; // Set right error for this pixel
+
+		*scanlineErrorBufferPtr++ += error + (error << 1); // Set left-down error for this pixel
+
+		*scanlineErrorBufferPtr += error + (error << 2); // Set down error for this pixel
+
+		nextError += *(scanlineErrorBufferPtr+1);
+
+		*(scanlineErrorBufferPtr+1) = error; // Set right-down error for this pixel
+		}
+
+	iNextError = nextError;
+	}
+
+void CMonochromeErrorDiffuser::SetPixelBlockIndex(TUint32* aGray256Buffer)
+	{
+	if(iPos.iY!=iLastPos.iY)
+		{
+		Mem::FillZ(iEdgeErrorBuffer,sizeof(TInt) * iBlockSize.iHeight);
+		}
+
+	TUint32* indexBufferPtr = iIndexBuffer;
+
+	TInt error = 0;
+	TInt* edgeErrorBuffer = iEdgeErrorBuffer;
+
+	for (TInt row = 0; row < iBlockSize.iHeight; row++)
+		{
+		TInt* errorValue = iScanlineErrorBuffer + iPos.iX;
+		TInt nextError = *edgeErrorBuffer + *errorValue;
+		*edgeErrorBuffer = error;
+
+		for (TInt col = 0; col < iBlockSize.iWidth; col++)
+			{
+			TInt gray256 = *aGray256Buffer++;
+
+			error = gray256 + (nextError >> 4); // Same as /16
+			
+			TUint32 index = iIndexLookup[ColorCcomponent::ClampColorComponent(error)];
+			*indexBufferPtr++ = index;
+
+			error -= TColorConvertor::RgbToMonochrome(iColorConv->Color(index));
+
+			if (col > 0)
+				*(errorValue - 1) += error + (error << 1); // Set left-down error for this pixel
+			else
+				*errorValue = error + (error << 1);
+
+			*errorValue += error + (error << 2); // Set down error for this pixel
+			errorValue++;
+
+			nextError = (error << 3) - error; // Set right error for this pixel
+
+			if (col < iBlockSize.iWidth)
+				{
+				nextError += *errorValue;
+				*errorValue = error; // Set right-down error for this pixel
+				}
+			}
+
+		*edgeErrorBuffer++ += nextError;
+		}
+
+	iLastPos.iY = iPos.iY;
+	iLastPos.iX = iPos.iX+iBlockSize.iWidth;
+	}
+
+void CMonochromeErrorDiffuser::Reset()
+	{
+	CMonochromePixelWriter::Reset();
+
+	delete[] iScanlineErrorBuffer;
+	iScanlineErrorBuffer = NULL;
+
+	delete[] iEdgeErrorBuffer;
+	iEdgeErrorBuffer = NULL;
+	}
+
+//
+// CThumbnailProcessor
+//
+
+/**
+ *
+ * Static factory function to create CThumbnailProcessor objects.
+ *
+ * @param	"aImageProc"
+ *          A pointer to an externally constructed CImageProcessorExtension object.
+ *          This will be deleted when the CThumbnailProcessor object is deleted.
+ * @param	"aReductionFactor"
+ *          The reduction factor to use.
+ * @return  Pointer to a fully constructed CThumbnailProcessor object. 
+ */
+CThumbnailProcessor* CThumbnailProcessor::NewL(CImageProcessorExtension* aImageProc,TInt aReductionFactor)
+	{
+	return new(ELeave) CThumbnailProcessor(aImageProc,aReductionFactor);
+	}
+
+CThumbnailProcessor::CThumbnailProcessor(CImageProcessorExtension* aImageProc,TInt aReductionFactor):
+	iImageProc(aImageProc),
+	iYInc(1),
+	iReductionFactor(aReductionFactor)
+		{}
+
+CThumbnailProcessor::~CThumbnailProcessor()
+	{
+	delete iImageProc;
+	delete[] iReducedPixelBuffer;
+	delete[] iReducedSumBuffer;
+	}
+
+void CThumbnailProcessor::PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect)
+	{
+	PrepareCommonL(aImageRect);
+	iYInc = 1;
+
+	TInt bufferSize = (iImageRegion.iBr.iX + (1<<iReductionFactor) -1 ) >> iReductionFactor;
+
+	ASSERT(iReducedSumBuffer == NULL);
+	iReducedSumBuffer = new(ELeave) TColorSum[bufferSize];
+	Mem::FillZ(iReducedSumBuffer,bufferSize * sizeof(TColorSum));
+
+	iImageProc->PrepareL(aBitmap,iReducedImageRegion);
+
+	ASSERT(iReducedPixelBuffer == NULL);
+	iReducedPixelBuffer = new(ELeave) TRgb[iReducedImageRegion.iBr.iX];
+	}
+
+void CThumbnailProcessor::PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize& aRgbBlockSize)
+	{
+	PrepareCommonL(aImageRect);
+
+	CreateBlockBufferL(aRgbBlockSize.iWidth*aRgbBlockSize.iHeight);
+
+	iOriginalBlockSize = aRgbBlockSize;
+	iYInc = iDrawBottomUp ? -iOriginalBlockSize.iHeight : iOriginalBlockSize.iHeight;
+
+	iReducedBlockSize = aRgbBlockSize;
+	iReducedBlockSize.iWidth >>= iReductionFactor;
+	iReducedBlockSize.iHeight >>= iReductionFactor;
+
+	iImageProc->SetInitialScanlineSkipPadding(iNumberOfScanlinesToSkip >> iReductionFactor);
+	iImageProc->SetPixelPadding(iPixelPadding >> iReductionFactor);
+	iImageProc->PrepareL(aBitmap,iReducedImageRegion,iReducedBlockSize);
+
+	ASSERT(iReducedPixelBuffer == NULL);
+	iReducedPixelBuffer = new(ELeave) TRgb[iReducedBlockSize.iWidth * iReducedBlockSize.iHeight];
+	}
+
+void CThumbnailProcessor::PrepareCommonL(const TRect& aImageRect)
+	{
+	ASSERT(iReductionFactor > 0);
+	iImageRegion = aImageRect;
+
+	TInt roundUp = (1<<iReductionFactor)-1;
+	iReducedImageRegion.iTl.iX = aImageRect.iTl.iX >> iReductionFactor;
+	iReducedImageRegion.iTl.iY = aImageRect.iTl.iY >> iReductionFactor;
+	
+	TSize size = aImageRect.Size();
+	size.iWidth = (size.iWidth + roundUp) >> iReductionFactor;
+	size.iHeight = (size.iHeight + roundUp) >> iReductionFactor;
+	iReducedImageRegion.iBr = iReducedImageRegion.iTl + size;
+
+	switch(iOperation)
+		{
+		case EDecodeRotate180:
+		case EDecodeRotate270:
+		case EDecodeHorizontalFlip:
+		case EDecodeVerticalFlipRotate90:
+			iDrawBottomUp = ETrue;
+			iImageProc->SetOperation(iOperation);
+			break;
+		default:
+			iDrawBottomUp = EFalse;
+		}
+	iStartPosition.SetXY(iImageRegion.iTl.iX, iDrawBottomUp ? aImageRect.iBr.iY - 1 : 0);
+	iEndPosition.SetXY(aImageRect.iBr.iX, iDrawBottomUp ? aImageRect.iTl.iY - 1 : aImageRect.iBr.iY);
+	iPos = iStartPosition;
+
+	iPositionChanged = ETrue;
+
+	iEndOfLineX = iEndPosition.iX + iPixelPadding;
+
+	delete[] iReducedPixelBuffer;
+	iReducedPixelBuffer = NULL;
+
+	delete[] iReducedSumBuffer;
+	iReducedSumBuffer = NULL;
+	}
+
+TBool CThumbnailProcessor::SetPixel(TRgb aColor)
+	{
+	TInt x = iPos.iX;
+
+	if (x < iImageRegion.iBr.iX)
+		{
+		TColorSum* sumPtr = iReducedSumBuffer + (x >> iReductionFactor);
+		sumPtr->iRed += aColor.Red();
+		sumPtr->iGreen += aColor.Green();
+		sumPtr->iBlue += aColor.Blue();
+		sumPtr->iCount++;
+		}
+
+	x++;
+	iPos.iX = x;
+
+	if (x == iEndOfLineX)
+		return NewLine();
+
+	return EFalse;
+	}
+
+TBool CThumbnailProcessor::NewLine()
+	{
+	TInt newY = iPos.iY + iYInc;
+
+	TBool finished = (newY < iStartPosition.iY || newY >= iEndPosition.iY);
+	TBool outsideOfBuffer = ((newY ^ iPos.iY) >> iReductionFactor) != 0;
+
+	if(finished || outsideOfBuffer)
+		{
+		DoFlushPixels();
+		}
+
+	iPos.iX = iStartPosition.iX;
+	iPos.iY = newY;
+
+	if(iPositionChanged && outsideOfBuffer)
+		{
+		iImageProc->SetPos(TPoint(iPos.iX >> iReductionFactor,iPos.iY >> iReductionFactor));
+		iPositionChanged = EFalse;
+		}
+
+	return finished;
+	}
+
+TBool CThumbnailProcessor::SetPixelBlock(TRgb* aColorBuffer)
+	{
+	if ((iPos.iX >> iReductionFactor) < iReducedImageRegion.iBr.iX)
+		{
+		ASSERT(aColorBuffer);
+
+		if(iPositionChanged)
+			{
+			iImageProc->SetPos(TPoint(iPos.iX >> iReductionFactor,iPos.iY >> iReductionFactor));
+			iPositionChanged = EFalse;
+			}
+
+		TInt xOuterStop = iReducedBlockSize.iWidth<<iReductionFactor;
+		TInt yOuterStop = iReducedBlockSize.iHeight<<iReductionFactor;
+
+		TInt outerStep = 1<<iReductionFactor;
+		TInt divisionFactor = 2*iReductionFactor;
+
+		TRgb* reducedPixelBuffer = iReducedPixelBuffer;
+
+		for (TInt yOuter = 0; yOuter < yOuterStop; yOuter += outerStep)
+			{
+			for (TInt xOuter = 0; xOuter < xOuterStop; xOuter += outerStep)
+				{
+				TRgb* colorBuffer = &aColorBuffer[yOuter * iOriginalBlockSize.iWidth + xOuter];
+				TInt red = 0;
+				TInt green = 0;
+				TInt blue = 0;
+
+				for (TInt yInner = 0; yInner < outerStep; yInner++)
+					{
+					for (TInt xInner = 0; xInner < outerStep; xInner++)
+						{
+						red += colorBuffer[xInner].Red();
+						green += colorBuffer[xInner].Green();
+						blue += colorBuffer[xInner].Blue();
+						}
+					colorBuffer += iOriginalBlockSize.iWidth;
+					}
+
+				red >>= divisionFactor;
+				green >>= divisionFactor;
+				blue >>= divisionFactor;
+
+				*reducedPixelBuffer++ = TRgb(red,green,blue);
+				}
+			}
+
+		iImageProc->SetPixelBlock(iReducedPixelBuffer);
+		}
+
+	iPos.iX += iOriginalBlockSize.iWidth;
+	if (iPos.iX >= iEndOfLineX)
+		{
+		iPos.iX = iStartPosition.iX;
+		iPos.iY += iYInc;
+		if(iPos.iY < iStartPosition.iY || iPos.iY >= iEndPosition.iY)
+			{
+			return ETrue;
+			}
+		}
+
+	return EFalse;
+
+	}
+
+TBool CThumbnailProcessor::FlushPixels()
+	{
+	DoFlushPixels();
+	iImageProc->FlushPixels();
+
+	iPositionChanged = ETrue;
+
+	if(iPos.iY < iStartPosition.iY || iPos.iY >= iEndPosition.iY)
+		{
+		return ETrue;
+		}
+
+	return EFalse;
+	}
+
+void CThumbnailProcessor::DoFlushPixels()
+	{
+	if(!iReducedSumBuffer)
+		return;
+
+	TColorSum* reducedSumPtr = iReducedSumBuffer + iReducedImageRegion.iTl.iX;
+	TColorSum* reducedSumPtrLimit = iReducedSumBuffer + iReducedImageRegion.iBr.iX;
+
+	while(reducedSumPtr < reducedSumPtrLimit)
+		{
+
+		while(reducedSumPtr->iCount==0)
+			{
+			reducedSumPtr++;
+			if(reducedSumPtr==reducedSumPtrLimit)
+				return;
+			}
+
+		if(iPositionChanged)
+			iImageProc->SetPos(TPoint(reducedSumPtr - iReducedSumBuffer,iPos.iY >> iReductionFactor));
+
+		TRgb* reducedPixelBufferPtr = iReducedPixelBuffer;
+		TInt fullCountFactor = 2*iReductionFactor;
+
+		while(reducedSumPtr < reducedSumPtrLimit)
+			{
+			TInt count = reducedSumPtr->iCount;
+			TUint32 red;
+			TUint32 green;
+			TUint32 blue;
+
+			if(count == (1<<fullCountFactor))
+				{
+				red = reducedSumPtr->iRed >> fullCountFactor;
+				green = reducedSumPtr->iGreen >> fullCountFactor;
+				blue = reducedSumPtr->iBlue >> fullCountFactor;
+				}
+			else if(count!=0)
+				{
+				red = reducedSumPtr->iRed / count;
+				green = reducedSumPtr->iGreen / count;
+				blue = reducedSumPtr->iBlue / count;
+				}
+			else
+				break;
+
+			*reducedPixelBufferPtr++ = TRgb(red,green,blue);
+
+			reducedSumPtr++;
+			}
+
+		TInt numPixels = reducedPixelBufferPtr-iReducedPixelBuffer;
+		iImageProc->SetPixels(iReducedPixelBuffer,numPixels);
+
+		Mem::FillZ(reducedSumPtr-numPixels,numPixels * sizeof(TColorSum));
+		}
+
+	}
+
+TBool CThumbnailProcessor::SetPos(const TPoint& aPosition)
+	{
+	if(iImageRegion.Contains(aPosition)==EFalse)
+		return EFalse;
+
+	if((aPosition.iY ^ iPos.iY) >> iReductionFactor)
+		DoFlushPixels();
+
+	iPositionChanged = ETrue;
+	iPos = aPosition;
+
+	return ETrue;
+	}
+
+void CThumbnailProcessor::SetYPosIncrement(TInt aYInc)
+	{
+	iYInc = aYInc;
+
+	TInt reducedYInc = aYInc >> iReductionFactor;
+	if(reducedYInc==0)
+		reducedYInc = 1;
+
+	iImageProc->SetYPosIncrement(reducedYInc);
+	}
+
+void CThumbnailProcessor::SetLineRepeat(TInt aLineRepeat)
+	{
+	TInt reducedLineRepeat = aLineRepeat >> iReductionFactor;
+	iImageProc->SetLineRepeat(reducedLineRepeat);
+	}
+
+void CThumbnailProcessor::SetPixelPadding(TInt aNumberOfPixels)
+	{
+	iPixelPadding = aNumberOfPixels;
+	iEndOfLineX = iEndPosition.iX + iPixelPadding;
+	}
+
+//
+// CMonochromeThumbnailProcessor
+//
+
+/**
+ *
+ * Static factory function to create CMonochromeThumbnailProcessor objects.
+ *
+ * @param	"aImageProc"
+ *          A pointer to an externally constructed CImageProcessorExtension object.
+ *          This will be deleted when the CMonochromeThumbnailProcessor object is deleted.
+ * @param	aReductionFactor"
+ *          The reduction factor to use.
+ * @return  Pointer to a fully constructed CMonochromeThumbnailProcessor object. 
+ */
+CMonochromeThumbnailProcessor* CMonochromeThumbnailProcessor::NewL(CImageProcessorExtension* aImageProc,TInt aReductionFactor)
+	{
+	return new(ELeave) CMonochromeThumbnailProcessor(aImageProc,aReductionFactor);
+	}
+
+CMonochromeThumbnailProcessor::CMonochromeThumbnailProcessor(CImageProcessorExtension* aImageProc,TInt aReductionFactor):
+	iImageProc(aImageProc),
+	iYInc(1),
+	iReductionFactor(aReductionFactor)
+		{}
+
+CMonochromeThumbnailProcessor::~CMonochromeThumbnailProcessor()
+	{
+	delete iImageProc;
+	delete[] iReducedPixelBuffer;
+	delete[] iReducedSumBuffer;
+	}
+
+void CMonochromeThumbnailProcessor::PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect)
+	{
+	PrepareCommonL(aImageRect);
+	iYInc = 1;
+	
+	TInt bufferSize = (iImageRegion.iBr.iX + (1<<iReductionFactor) -1 ) >> iReductionFactor;
+
+	ASSERT(iReducedSumBuffer == NULL);
+	iReducedSumBuffer = new(ELeave) TMonochromeSum[bufferSize];
+	Mem::FillZ(iReducedSumBuffer,bufferSize * sizeof(TMonochromeSum));
+
+	iImageProc->PrepareL(aBitmap,iReducedImageRegion);
+
+	ASSERT(iReducedPixelBuffer == NULL);
+	iReducedPixelBuffer = new(ELeave) TUint32[iReducedImageRegion.iBr.iX];
+	}
+
+void CMonochromeThumbnailProcessor::PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize& aRgbBlockSize)
+	{
+	PrepareCommonL(aImageRect);
+
+	CreateBlockBufferL(aRgbBlockSize.iWidth*aRgbBlockSize.iHeight);
+
+	iOriginalBlockSize = aRgbBlockSize;
+	iYInc = iDrawBottomUp ? -iOriginalBlockSize.iHeight : iOriginalBlockSize.iHeight;
+
+
+	iReducedBlockSize = aRgbBlockSize;
+	iReducedBlockSize.iWidth >>= iReductionFactor;
+	iReducedBlockSize.iHeight >>= iReductionFactor;
+
+	iImageProc->SetInitialScanlineSkipPadding(iNumberOfScanlinesToSkip >> iReductionFactor);
+	iImageProc->SetPixelPadding(iPixelPadding >> iReductionFactor);
+	iImageProc->PrepareL(aBitmap,iReducedImageRegion,iReducedBlockSize);
+
+	ASSERT(iReducedPixelBuffer == NULL);
+	iReducedPixelBuffer = new(ELeave) TUint32[iReducedBlockSize.iWidth * iReducedBlockSize.iHeight];
+	}
+
+void CMonochromeThumbnailProcessor::PrepareCommonL(const TRect& aImageRect)
+	{
+	ASSERT(iReductionFactor > 0);
+	iImageRegion = aImageRect;
+
+	TInt roundUp = (1<<iReductionFactor)-1;
+	iReducedImageRegion.iTl.iX = aImageRect.iTl.iX >> iReductionFactor;
+	iReducedImageRegion.iTl.iY = aImageRect.iTl.iY >> iReductionFactor;
+
+	TSize size = aImageRect.Size();
+	size.iWidth = (size.iWidth + roundUp) >> iReductionFactor;
+	size.iHeight = (size.iHeight + roundUp) >> iReductionFactor;
+	iReducedImageRegion.iBr = iReducedImageRegion.iTl + size;
+	
+	switch(iOperation)
+		{
+		case EDecodeRotate180:
+		case EDecodeRotate270:
+		case EDecodeHorizontalFlip:
+		case EDecodeVerticalFlipRotate90:
+			iDrawBottomUp = ETrue;
+			iImageProc->SetOperation(iOperation);
+			break;
+		default:
+			iDrawBottomUp = EFalse;
+		}
+	iStartPosition.SetXY(iImageRegion.iTl.iX, iDrawBottomUp ? aImageRect.iBr.iY - 1 : 0);
+	iEndPosition.SetXY(aImageRect.iBr.iX, iDrawBottomUp ? aImageRect.iTl.iY - 1 : aImageRect.iBr.iY);
+	iPos = iStartPosition;
+	
+	iPositionChanged = ETrue;
+
+	iEndOfLineX = iEndPosition.iX + iPixelPadding;
+
+	delete[] iReducedPixelBuffer;
+	iReducedPixelBuffer = NULL;
+
+	delete iReducedSumBuffer;
+	iReducedSumBuffer = NULL;
+	}
+
+TBool CMonochromeThumbnailProcessor::SetMonoPixel(TInt aGray256)
+	{
+	TInt x = iPos.iX;
+
+	if (x < iImageRegion.iBr.iX)
+		{
+		TMonochromeSum* sumPtr = iReducedSumBuffer + (x >> iReductionFactor);
+		sumPtr->iLevel += aGray256;
+		sumPtr->iCount++;
+		}
+
+	x++;
+	iPos.iX = x;
+
+	if (x == iEndOfLineX)
+		return NewLine();
+
+	return EFalse;
+	}
+
+TBool CMonochromeThumbnailProcessor::SetMonoPixelRun(TInt aGray256,TInt aCount)
+	{
+	while (aCount != 0)
+		{
+		TInt x		= iPos.iX;
+		TInt xLimit = x+aCount;
+
+		iPos.iX = xLimit;
+
+		if (xLimit > iImageRegion.iBr.iX)
+			xLimit = iImageRegion.iBr.iX;
+
+		if (xLimit > x)
+			{
+			TInt numPixels = xLimit-x;
+
+			TInt reductionFactor = iReductionFactor;
+			TInt reductionCount = 1<<reductionFactor;	//number of horizontal pixel in a TMonochromeSum
+
+			TMonochromeSum* sumPtr = iReducedSumBuffer + (x >> reductionFactor);
+
+			TInt n = reductionCount-(x&(reductionCount-1));	//number of pixels to complete current TMonochromeSum
+
+			if(numPixels > n)
+				{
+				sumPtr->iCount += n;					//Complete first TMonochromeSum in run
+				sumPtr->iLevel += n * aGray256;
+				sumPtr++;
+				numPixels -= n;
+
+				while(numPixels > reductionCount)			//Complete middle TMonochromeSum(s) in run
+					{
+					sumPtr->iCount += reductionCount;
+					sumPtr->iLevel += aGray256 << reductionFactor;
+					sumPtr++;
+					numPixels -= reductionCount;
+					}
+				}
+
+			sumPtr->iCount += numPixels;				//Update last/only TMonochromeSum in run
+			sumPtr->iLevel += numPixels * aGray256;
+			}
+
+		if (iPos.iX < iEndOfLineX)
+			break;
+
+		aCount = iPos.iX - iEndOfLineX;
+
+		if(NewLine())
+			return ETrue;
+		}
+
+	return EFalse;
+	}
+
+TBool CMonochromeThumbnailProcessor::NewLine()
+	{
+	TInt newY = iPos.iY + iYInc;
+
+	TBool finished = (newY < iStartPosition.iY || newY >= iEndPosition.iY);
+	TBool outsideOfBuffer = ((newY ^ iPos.iY) >> iReductionFactor) != 0;
+
+	if(finished || outsideOfBuffer)
+		{
+		DoFlushPixels();
+		}
+
+	iPos.iX = iStartPosition.iX;
+	iPos.iY = newY;
+
+	if(iPositionChanged && outsideOfBuffer)
+		{
+		iImageProc->SetPos(TPoint(iPos.iX >> iReductionFactor,iPos.iY >> iReductionFactor));
+		iPositionChanged = EFalse;
+		}
+
+	return finished;
+	}
+
+TBool CMonochromeThumbnailProcessor::SetMonoPixelBlock(TUint32* aGray256Buffer)
+	{
+	if ((iPos.iX >> iReductionFactor) < iReducedImageRegion.iBr.iX)
+		{
+		ASSERT(aGray256Buffer);
+
+		if(iPositionChanged)
+			{
+			iImageProc->SetPos(TPoint(iPos.iX >> iReductionFactor,iPos.iY >> iReductionFactor));
+			iPositionChanged = EFalse;
+			}
+
+		TInt xOuterStop = iReducedBlockSize.iWidth<<iReductionFactor;
+		TInt yOuterStop = iReducedBlockSize.iHeight<<iReductionFactor;
+
+		TInt outerStep = 1<<iReductionFactor;
+		TInt divisionFactor = 2*iReductionFactor;
+
+		TUint32* reducedPixelBuffer = iReducedPixelBuffer;
+
+		for (TInt yOuter = 0; yOuter < yOuterStop; yOuter += outerStep)
+			{
+			for (TInt xOuter = 0; xOuter < xOuterStop; xOuter += outerStep)
+				{
+				TUint32* gray256Buffer = &aGray256Buffer[yOuter * iOriginalBlockSize.iWidth + xOuter];
+				TInt level = 0;
+
+				for (TInt yInner = 0; yInner < outerStep; yInner++)
+					{
+					for (TInt xInner = 0; xInner < outerStep; xInner++)
+						level += gray256Buffer[xInner];
+
+					gray256Buffer += iOriginalBlockSize.iWidth;
+					}
+
+				level >>= divisionFactor;
+				*reducedPixelBuffer++ = level;
+				}
+			}
+
+		iImageProc->SetMonoPixelBlock(iReducedPixelBuffer);
+		}
+
+	iPos.iX += iOriginalBlockSize.iWidth;
+	if (iPos.iX >= iEndOfLineX)
+		{
+		iPos.iX = iStartPosition.iX;
+		iPos.iY += iYInc;
+		if(iPos.iY < iStartPosition.iY || iPos.iY >= iEndPosition.iY)
+			{
+			return ETrue;
+			}
+		}
+
+	return EFalse;
+
+	}
+
+TBool CMonochromeThumbnailProcessor::FlushPixels()
+	{
+	DoFlushPixels();
+	iImageProc->FlushPixels();
+
+	iPositionChanged = ETrue;
+
+		if(iPos.iY < iStartPosition.iY || iPos.iY >= iEndPosition.iY)
+			{
+			return ETrue;
+			}
+
+	return EFalse;
+	}
+
+void CMonochromeThumbnailProcessor::DoFlushPixels()
+	{
+	if(!iReducedSumBuffer)
+		return;
+
+	TMonochromeSum* reducedSumPtr = iReducedSumBuffer + iReducedImageRegion.iTl.iX;
+	TMonochromeSum* reducedSumPtrLimit = iReducedSumBuffer + iReducedImageRegion.iBr.iX;
+
+	while(reducedSumPtr < reducedSumPtrLimit)
+		{
+
+		while(reducedSumPtr->iCount==0)
+			{
+			reducedSumPtr++;
+			if(reducedSumPtr==reducedSumPtrLimit)
+				return;
+			}
+
+		if(iPositionChanged)
+			iImageProc->SetPos(TPoint(reducedSumPtr - iReducedSumBuffer,iPos.iY >> iReductionFactor));
+
+		TUint32* reducedPixelBufferPtr = iReducedPixelBuffer;
+		TInt fullCountFactor = 2*iReductionFactor;
+		TInt fullCount = 1<<fullCountFactor;
+
+		do
+			{
+			TInt level = reducedSumPtr->iLevel;
+			TInt count = reducedSumPtr->iCount;
+
+			if(count==fullCount)
+				level >>= fullCountFactor;
+			else if(count!=0)
+				level /= count;
+			else
+				break;
+
+			*reducedPixelBufferPtr++ = level;
+
+			reducedSumPtr++;
+			}
+		while(reducedSumPtr < reducedSumPtrLimit);
+
+		TInt numPixels = reducedPixelBufferPtr-iReducedPixelBuffer;
+		iImageProc->SetMonoPixels(iReducedPixelBuffer,numPixels);
+
+		Mem::FillZ(reducedSumPtr-numPixels,numPixels * sizeof(TMonochromeSum));
+		}
+
+	}
+
+TBool CMonochromeThumbnailProcessor::SetPos(const TPoint& aPosition)
+	{
+	if(iImageRegion.Contains(aPosition)==EFalse)
+		return EFalse;
+
+	if((aPosition.iY ^ iPos.iY) >> iReductionFactor)
+		DoFlushPixels();
+
+	iPositionChanged = ETrue;
+	iPos = aPosition;
+
+	return ETrue;
+	}
+
+void CMonochromeThumbnailProcessor::SetYPosIncrement(TInt aYInc)
+	{
+	iYInc = aYInc;
+
+	TInt reducedYInc = aYInc >> iReductionFactor;
+	if(reducedYInc==0)
+		reducedYInc = 1;
+
+	iImageProc->SetYPosIncrement(reducedYInc);
+	}
+
+void CMonochromeThumbnailProcessor::SetLineRepeat(TInt aLineRepeat)
+	{
+	TInt reducedLineRepeat = aLineRepeat >> iReductionFactor;
+	iImageProc->SetLineRepeat(reducedLineRepeat);
+	}
+
+void CMonochromeThumbnailProcessor::SetPixelPadding(TInt aNumberOfPixels)
+	{
+	iPixelPadding = aNumberOfPixels;
+	iEndOfLineX = iEndPosition.iX + iPixelPadding;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/group/ImageProcessorPerf.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* imageprocessorPerf.lib Performance-critical code of Image conversion library
+* It is just an "implementation" library of internal for ICL perofrmance-critical code.
+* Is not intended to be used outside the ICL except for testing purpose
+*
+*/
+
+
+
+TARGETTYPE	lib
+TARGET		imageprocessorperf.lib
+
+SOURCEPATH	../codecs
+SOURCE		ColorConverter.cpp
+SOURCE		ImageProcessor.cpp
+
+USERINCLUDE	../inc
+USERINCLUDE	../src
+SYSTEMINCLUDE	/epoc32/include
+SYSTEMINCLUDE	/epoc32/include/ecom
+
+ALWAYS_BUILD_AS_ARM
+
+OPTION ARMCC -Otime
+OPTION_REPLACE ARMCC -O2 -O3
+OPTION_REPLACE ARMCC --cpu 6
+OPTION_REPLACE ARMCC --export_all_vtbl
+
+OPTION ARMASM -Otime
+OPTION_REPLACE ARMASM -O2 -O3
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../inc/icl/imageprocessor.h	/epoc32/include/icl/imageprocessor.h
+../inc/icl/icl_uids.hrh		/epoc32/include/icl/icl_uids.hrh
+
+PRJ_MMPFILES
+../group/ImageProcessorPerf.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/inc/icl/icl_uids.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,193 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+ @internalTechnology 
+*/
+
+#ifndef ICL_UIDS_HRH
+#define ICL_UIDS_HRH
+
+
+#define KICLCodecDllUidValue	0x101F45AC
+
+#define KDecoderInterfaceUidValue	0x101F45AD
+#define KEncoderInterfaceUidValue	0x101F45B4
+
+#define KBMPCodecDllUidValue		0x101F45AE
+#define KBMPImageDataUidValue		0x101F45BF
+#define KBMPCompressionUidValue		0x101F45E3
+#define KBMPDecoderImplementationUidValue	0x101F45AF
+#define KBMPEncoderImplementationUidValue	0x101F45BE
+
+#define KJPGCodecDllUidValue		0x101F45D6
+#define KJPGImageDataUidValue		0x101F45DA
+#define KJPGQTableUidValue			0x101F45E1
+#define KJPGCommentUidValue			0x101F45E2
+#define KJPGDecoderImplementationUidValue	0x101F45D7
+#define KJPGEncoderImplementationUidValue	0x101F45D9
+
+#define KGIFCodecDllUidValue		0x101F45B1
+#define KGIFBackgroundColorUidValue 0x101F45DE
+#define KGIFImageDescriptorUidValue 0x101F45E4
+#define KGIFLZWInfoUidValue			0x101F45E5
+#define KGIFImageControlUidValue	0x101F45E6
+#define KGIFCommentUidValue			0x101F45E7
+#define KGIFDecoderImplementationUidValue	0x101F45B2
+#define KGIFEncoderImplementationUidValue	0x101F45DD
+
+#define KMBMCodecDllUidValue		0x101F45CA
+#define KMBMDecodeDataUidValue		0x101F45E0
+#define KMBMEncodeDataUidValue		0x101F45E9
+#define KMBMDecoderImplementationUidValue	0x101F45CB
+#define KMBMEncoderImplementationUidValue	0x101F45DF
+
+#define KTIFFCodecDllUidValue		0x101F45C0
+#define KTIFFImageDataUidValue		0x101F45E8
+#define KTIFFDecoderImplementationUidValue	0x101F45C1
+#define KTIFFDecoderLittleEndianImplementationUidValue	0x101F45C2
+#define KTIFFDecoderBigEndianImplementationUidValue	0x101F45C3
+
+#define KWMFCodecDllUidValue		0x101F45B5
+#define KWMFDecoderImplementationUidValue	0x101F45B6
+#define KWMFDecoderStdImplementationUidValue	0x101F45B7
+#define KWMFDecoderApmImplementationUidValue	0x101F45B8
+#define KWMFDecoderClpImplementationUidValue	0x101F45B9
+
+#define KPNGCodecDllUidValue		0x101F45C7
+#define KPNGDecoderImplementationUidValue	0x101F45C8
+#define KPNGEncoderImplementationUidValue	0x101F45FE
+
+#define KWBMPCodecDllUidValue		0x101F45CD
+#define KWBMPDecoderImplementationUidValue	0x101F45CE
+
+#define KOTACodecDllUidValue		0x101F45D0
+#define KOTADecoderImplementationUidValue	0x101F45D1
+
+#define KICOCodecDllUidValue		0x101F45D3
+#define KICODecoderImplementationUidValue	0x101F45D4
+
+#define KMngMimeTypeUidValue 0x101F7C53
+#define KMngImageDisplayPluginUidValue 0x101F7C52
+#define KMngDllUidValue 0x101F7C51
+
+/**
+@publishedAll
+@released
+Class UID for a set of decoders which support the Exchangeable Image File Format. 
+
+When loading plugins by class UID, the first valid plugin from the list 
+of available plugins with the specified class UID will be loaded. Loading 
+the plugin in this way always allow a cast to the derived decoder or 
+encoder class to be made. 
+@see CJPEGExifDecoder
+*/
+#define KUidICLJpegEXIFInterface 	0x101F7C4F
+
+#define KUidTransformJpegPluginUidValue		0x101F7C2F
+#define KUidTransformJpegExtension	0x101F7C30
+
+/**
+@publishedAll
+@released
+Image Transform Plugin Extension UID for Squeeze Transaformations
+*/
+#define KUidSqueezeTransformExtension	0x10285BD6
+
+/**
+@publishedAll
+@released
+Image Transform Plugin Extension UID for Orientation Transaformations
+*/
+#define KUidOrientationTransformExtension	0x10285C33 
+
+/**
+@publishedAll
+@released
+Image Transform Plugin Extension UID for Overlay Transaformations
+*/
+#define KUidOverlayTransformExtension	0x10285C34
+
+/**
+@publishedAll
+@released
+Class UID for the set of decoders which support operations through the CImageFrame. 
+
+When loading plugins by class UID, the first valid plugin from the list 
+of available plugins with the specified class UID will be loaded. Loading 
+the plugin in this way always allow a cast to the derived decoder or 
+encoder class to be made. 
+@see CJPEGImageFrameDecoder
+*/
+#define KUidICLJpegImageFrameInterface 	0x101F7C60
+
+#define KJPGDecoderImplementation2UidValue	0x101F7C61
+#define KJPGEncoderImplementation2UidValue	0x101F7C62
+
+#define KJPEGImageFramePluginDllUidValue	0x1027376E
+
+/**
+@publishedAll
+@released
+
+Extension interface uid for TImageConvOperation
+*/
+#define KUidImageConvExtOperationValue	0x102833DF
+
+/**
+@publishedAll
+@released
+
+Extension interface uid for TImageConvScaler
+*/
+#define KUidImageConvExtScalerValue		0x102833E0 	
+
+/**
+@publishedAll
+@released
+
+Extension interface uid for TImageConvStreamedDecode
+*/
+#define KUidImageConvExtStreamedDecodeValue	0x102833E1 	
+
+/**
+@publishedPartner
+@released
+
+Extension interface uid for TImageConvStreamedEncode
+*/
+#define KUidImageConvExtStreamedEncodeValue	0x102833E2 
+
+/**
+@publishedAll
+@released
+
+Extension interface uid for TImageConvPrepare
+*/
+#define KUidImageConvExtPrepareValue 0x1028346D 
+
+/**
+@publishedAll
+@released
+
+Uid that identifies encoders that maintain the alpha channel of the EColor16MA source CFbsBitmap.
+*/
+#define KUidAlphaChannelEncodeSupported 0x10285D1B
+
+#endif // ICL_UIDS_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/inc/icl/imageprocessor.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,530 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef ___IMAGEPROCESSOR_H__
+#define ___IMAGEPROCESSOR_H__
+
+#include <gdi.h>
+#include <fbs.h>
+
+/**
+@internalTechnology
+*/
+enum TImageBitmapUtilPanic
+	{
+	ECorrupt
+	};
+
+/**
+@publishedAll
+@released
+
+Interface to colour conversion classes for various display modes.
+Manages the mapping between RGB/Greyscale values and the index
+into the color palette for the given display mode.
+*/
+class TColorConvertor
+	{
+public:
+	IMPORT_C static	TColorConvertor* NewL(TDisplayMode aDisplayMode);
+
+	/**
+	Returns the colour index corresponding to the supplied RGB value.
+	Operates in the context of the current display mode.
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aColor
+	        The colour in RGB format.
+	
+	@return The colour index.
+	*/
+	virtual TInt ColorIndex(TRgb aColor) const = 0;
+
+	/**
+	Returns the RGB value corresponding to the supplied colour index.
+	Operates in the context of the current display mode.
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aColorIndex
+	        The colour in RGB format.
+
+	@return The RGB value.
+	*/
+	virtual TRgb Color(TInt aColorIndex) const = 0;
+
+	/**
+	Gets an array of colour indices from a corresponding array of RGB values.
+	Operates in the context of the current display mode.
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aIndexBuffer
+	        A pointer to the first element in destination array.
+	@param  aColorBuffer
+	        A pointer to the first element in the source array.
+	@param  aCount
+	        The number of elements to get.
+	*/
+	virtual void ColorToIndex(TInt* aIndexBuffer,TRgb* aColorBuffer,TInt aCount) const = 0;
+
+	inline static TInt RgbToMonochrome(TRgb aRgb);
+	};
+
+
+/**
+@publishedAll
+@released
+
+Bitmap utility class.
+*/
+class TImageBitmapUtil
+	{
+public:
+	IMPORT_C TImageBitmapUtil();
+	IMPORT_C void Begin();
+	IMPORT_C TBool Begin(const TPoint& aPosition);
+	IMPORT_C void End();
+	IMPORT_C void SetBitmapL(CFbsBitmap* aBitmap);
+	IMPORT_C void SetPixel(TUint32 aPixelIndex);
+	IMPORT_C void SetPixels(TUint32* aPixelIndex,TInt aNumberOfPixels);
+	IMPORT_C TBool SetPos(const TPoint& aPosition);
+	
+private:
+	union TDataPointer
+		{
+		TUint32* iWordPos;
+		TUint8* iBytePos;
+		};
+private:
+	CFbsBitmap* iBitmap;
+	TSize iSize;
+	TPoint iPosition;
+	TDataPointer iData;
+	TDataPointer iBase;
+	TInt iBpp;
+	TInt iBppShift;
+	TInt iPixelShift;
+	TInt iPixelsPerWord;
+	TInt iBitShift;
+	TInt iScanlineWordLength;
+	TUint32 iMask;
+	TBool iWordAccess;
+	};
+
+
+class CImageProcessor;
+class CImageProcessorExtension;
+
+/**
+@publishedAll
+@released
+
+Utility class providing static factory functions for creating instances of
+CImageProcessor derived classes.
+*/
+class ImageProcessorUtility
+	{
+public:
+	IMPORT_C static TInt ReductionFactor(const TSize& aOriginalSize,const TSize& aReducedSize);
+	IMPORT_C static CImageProcessor* NewImageProcessorL(const CFbsBitmap& aBitmap,const TSize& aImageSize,TDisplayMode aImageDisplayMode, TBool aDisableErrorDiffusion);
+	IMPORT_C static CImageProcessor* NewImageProcessorL(const CFbsBitmap& aBitmap,TInt aReductionFactor,TDisplayMode aImageDisplayMode, TBool aDisableErrorDiffusion);
+	IMPORT_C static CImageProcessorExtension* ImageProcessorUtility::NewImageProcessorExtensionL(const CFbsBitmap& aBitmap,TInt aReductionFactor,TDisplayMode aImageDisplayMode, TBool aDisableErrorDiffusion);
+	
+private:
+	TBool static UseErrorDiffuser(const TDisplayMode& aBitmapDisplayMode, const TDisplayMode& aImageDisplayMode);
+	TBool static IsMonochrome(const TDisplayMode& aBitmapDisplayMode, const TDisplayMode& aImageDisplayMode);
+	};
+
+
+
+/**
+@publishedAll
+@released
+
+Interface to image processing classes used by CImageDecoder plugins. This is not a application client API.
+*/
+class CImageProcessor : public CBase
+	{
+public:
+	// Setup
+
+	/**
+	Initialises internal data structures prior to conversion.
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aBitmap
+	        A reference to a fully constucted bitmap with the required
+	        display mode and size.
+	@param  aImageRect
+	        The region of the image to convert.
+	*/
+	virtual void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect) = 0;
+
+	/**
+	Initialises internal data structures prior to the manipulation of the specified pixel block.
+
+	This overloaded version allows specification of a block size
+	for those formats which support blocked pixel data eg. JPEG
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aBitmap
+	        A reference to a fully constucted bitmap with the required
+	        display mode and size.
+	@param  aImageRect
+	        The region of the image to convert.
+	@param  aRgbBlockSize
+	        The size of the block to use.
+	*/
+	virtual void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize& aRgbBlockSize) = 0;
+
+	/**
+	Sets the number of pixels by which to increment the current position in
+	the Y-axis. This is used when rendering images supporting interlacing.
+	eg GIF
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aYInc
+	        The number of pixels.
+	*/
+	virtual void SetYPosIncrement(TInt aYInc) = 0;
+
+	/**
+	Sets the number times the current line should be repeated. The lines
+	are repeated in the same direction as set by SetYPosIncrement(). This
+	is used to fill blank lines when rendering interlaced images. eg GIF.
+	@param aLineRepeat The number of times the current line should be repeated
+	*/
+	virtual void SetLineRepeat(TInt aLineRepeat) = 0;
+
+	/**
+	Sets the pixel padding to the value specified by aNumberOfPixels.
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aNumberOfPixels
+	        The number of pixels to use for padding.
+	*/
+	virtual void SetPixelPadding(TInt aNumberOfPixels) = 0;
+
+	// Color pixel writing
+
+	/**
+	Sets the pixel at the current position to aColor.
+
+	This is a virtual function that each derived class must implement.
+	
+	@post    
+	The current position is updated.
+
+	@param  aColor
+	        The RGB value to set the current pixel to.
+
+	@return A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+            otherwise EFalse.
+    */
+	virtual TBool SetPixel(TRgb aColor) = 0;
+
+	/**
+	Sets aCount number of pixels to the value given by aColor, starting at
+	the current position.
+
+	This is a virtual function that each derived class must implement.
+
+	@post    
+	On success, the current position is updated.
+
+	@param  aColor
+	        The RGB value to set the pixels to.
+	@param  aCount
+	        The number of pixels to set.
+
+	@return A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+	        otherwise EFalse.
+	*/
+	virtual TBool SetPixelRun(TRgb aColor,TInt aCount) = 0;
+
+	/**
+	Updates the bitmap with colour information from the array of colour values.
+
+	Uses the array of colour values supplied by aColorBuffer, whose length
+	is specified by aBufferLength, to update successive pixels with values in the
+	buffer, starting at the current	position.
+
+	This is a virtual function that each derived class must implement.
+	
+	@post   
+	The current position is updated.
+
+	@param  aColorBuffer
+	        A pointer to the first element in the array.
+	@param  aBufferLength
+	        The number of elements in the array.
+
+	@return A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+	        otherwise EFalse.
+	*/
+	virtual TBool SetPixels(TRgb* aColorBuffer,TInt aBufferLength) = 0;
+
+    /**
+    Sets the current pixel block using the data supplied in aColorBuffer.
+
+	Note:
+	For use with image types that support blocking of pixels eg JPEG.
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aColorBuffer
+	        A pointer to a buffer representing a block of pixel color values.
+
+	@return A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+	        otherwise EFalse.
+	*/
+	virtual TBool SetPixelBlock(TRgb* aColorBuffer) = 0;
+
+	// Monochrome pixel writing
+
+	/**
+	Sets the pixel at the current position to aGray256.
+
+	This is a virtual function that each derived class must implement.
+
+    @post   
+	The current position is updated.
+
+	@param  aGray256
+	        The greyscale value to set the current pixel to.
+
+	@return A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+	        otherwise EFalse.
+	*/
+	virtual TBool SetMonoPixel(TInt aGray256) = 0;
+
+	/**
+	Sets the number of pixels specified by aCount to the value given by aGray256, starting at
+	the current position.
+
+	This is a virtual function that each derived class must implement.
+	
+	@post   
+	The current position is updated.
+
+	@param  aGray256
+	        The greyscale value to set the pixels to.
+	@param  aCount
+	        The number of pixels to set.
+
+	@return A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+	        otherwise EFalse.
+	*/
+	virtual TBool SetMonoPixelRun(TInt aGray256,TInt aCount) = 0;
+
+	/**
+	Updates the bitmap with greyscale information from the array of greyscale values.
+
+	The array of values supplied by aGray256Buffer, whose length
+	is specified in aBufferLength, is used to update successive pixels with the
+	greyscales values.
+
+	This is a virtual function that each derived class must implement.
+
+	@post
+	The current position is updated.
+
+	@param  aGray256Buffer
+	        A pointer to the first element in the array of greyscale values.
+	@param  aBufferLength
+	        The number of elements in the array.
+
+	@return A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+	        otherwise EFalse.
+	*/
+	virtual TBool SetMonoPixels(TUint32* aGray256Buffer,TInt aBufferLength) = 0;
+
+    /**
+    Sets a specified number of pixels to the specified greyscale value.
+
+	For image types which support blocking of pixels eg JPEG, the current
+	pixel block is set using the data supplied in aGray256Buffer.
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aGray256Buffer
+	        A pointer to a buffer representing a block of pixel color values.
+
+	@return A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+	        otherwise EFalse.
+	*/
+	virtual TBool SetMonoPixelBlock(TUint32* aGray256Buffer) = 0;
+
+	// Processor flow control
+
+	/**
+	Sets the current position in the bitmap to aPosition.
+
+	This is a virtual function that each derived class must implement.
+
+	@param  aPosition
+	        A reference to TPoint object defining the position to move to.
+
+	@return	A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+	        otherwise EFalse.
+	*/
+	virtual TBool SetPos(const TPoint& aPosition) = 0;
+
+	/**
+	Commits the changes made to the current bitmap by flushing the buffer.
+
+	This is a virtual function that each derived class must implement.
+
+	@post
+	The current position is updated.
+
+	@return	A boolean indicating if the operation was successful. ETrue if the operation succeeded, 
+	        otherwise EFalse.
+    */
+	virtual TBool FlushPixels() = 0;
+	
+private:
+	// Future proofing
+	IMPORT_C virtual void ReservedVirtual1();
+	IMPORT_C virtual void ReservedVirtual2();
+	IMPORT_C virtual void ReservedVirtual3();
+	IMPORT_C virtual void ReservedVirtual4();
+	};
+
+/**
+@publishedAll
+@released
+
+Flag used to determine the type of transformation which is the result of 
+single or multiple transformation operations requested via calls to
+COperationExtension::AddOperationL.
+
+8 unique orientations:
+
+@code
+normal  90      180     270
+00 10   01 00   11 01   10 11
+01 11   11 10   10 00   00 01
+
+V flip  90      180     270
+10 00   11 10   =Hflip  =Hflip+90
+11 01   01 00
+
+H flip  90      180     270
+01 11   00 01   =Vflip  =Vflip+90
+00 10   10 11
+@endcode
+
+@see COperationExtension::AddOperationL
+*/
+enum TTransformOptions
+	{
+	/** Normal Decode
+	*/
+	EDecodeNormal = 0x11011000,
+
+	/** Rotate 90 degrees.
+	*/
+	EDecodeRotate90	= 0x10110001,
+
+	/** Rotate 180 degrees.
+	*/
+	EDecodeRotate180 = 0x00100111,
+
+	/** Rotate 270 degrees.
+	*/
+	EDecodeRotate270 = 0x01001110,
+	
+	/** Horizontal flip.
+	*/
+	EDecodeHorizontalFlip = 0x10001101,
+	
+	/** Horizontal flip and rotate 90 degrees.
+	*/
+	EDecodeHorizontalFlipRotate90 = 0x11100100,
+
+	/** Vertical flip.
+	*/
+	EDecodeVerticalFlip	= 0x01110010,
+
+	/** Vertical flip and rotate 90 degrees.
+	*/
+	EDecodeVerticalFlipRotate90 = 0x00011011
+	};
+
+
+/**
+@publishedAll
+@released
+
+Class that provides support for Framework Extensions.
+
+@see CImageProcessor
+@see CImageReadCodec
+@see CImageDecoderPlugin
+*/
+class CImageProcessorExtension : public CImageProcessor
+	{
+public:
+	IMPORT_C virtual ~CImageProcessorExtension();
+	IMPORT_C void SetClippingRect(const TRect& aRect);
+	IMPORT_C void SetScaling(TInt aScalingCoeff);
+	IMPORT_C void SetScaling(const TSize& aDesiredSize);
+	IMPORT_C void SetOperation(TTransformOptions aOperation);
+	IMPORT_C void SetInitialScanlineSkipPadding(TInt aNumberOfScanlines);
+
+protected:
+	IMPORT_C CImageProcessorExtension();
+
+protected:
+	/** Clipping rectangle */
+	TRect iClippingRect;
+	/** Scaling coefficient */
+	TInt iScalingCoeff;
+	/** Desired size after scaling */
+	TSize iDesiredSize;
+	/** Operations to apply to image */
+	TTransformOptions iOperation;
+	/** Position in destination at which start rendering */
+	TPoint iStartPosition;
+	/** Position in destination at which rendering is complete */
+	TPoint iEndPosition;
+	/** An initial one-off number of scanlines to be skipped */
+	TInt iNumberOfScanlinesToSkip;
+	};
+   
+inline TInt TColorConvertor::RgbToMonochrome(TRgb aRgb)
+	{
+	TInt value = aRgb.Internal();
+	TInt r = value&0xFF0000;
+	TInt g = value&0xFF00;
+	value  = (value&0xFF)<<16;	// blue<<16
+	value += r<<1;     		// + (red<<16)*2
+	value += g<<(16+2-8);	// + (green<<16)*4
+	value += g<<(16+0-8);	// + (green<<16)
+	return value>>(16+3);	// total/8
+	}
+
+#endif //___IMAGEPROCESSOR_H__
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/src/ImageClientMain.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __IMAGECLIENTMAIN_H__
+#define __IMAGECLIENTMAIN_H__
+
+#include <e32std.h>
+
+enum TIclPanic
+	{
+	ENoSourceBitmap = 0,
+	ENoDestinationBitmap = 1,
+	EResetDestinationBitmap = 2,
+	EConvertCalledWhileBusy = 3,
+	EIllegalContinueConvert = 4,
+	EDifferentDestinationBitmap = 5,
+	EDifferentDestinationMask = 6,
+	EModifiedDestination = 7,
+	EBitmapHasZeroDimension = 8,
+	ENoBitmapMask = 9,
+	EFrameNumberOutOfRange = 10,
+	EUndefinedSourceType = 11,
+	ECommentsNotSupported = 12,
+	EHeaderProcessingNotComplete = 13,
+	ECommentNumberOutOfRange = 14,
+	EBadDisplayMode = 15,
+	EUnknownHeaderState = 16,
+	ENonNullDescriptorPassed = 17,
+	EUndefinedMIMEType = 18,
+	EIllegalImageSubType = 19,
+	EIllegalImageType = 20,
+	EIllegalEncoderRestart = 21,
+	EChangeOptionWhileDecoding = 22,
+	EDecoderNotCreated = 23,
+	EFeatureNotYetImplemented = 24,
+	ERelaySubThreadPanicTimedOut = 25,
+	EInvalidThreadState = 26,
+	EInvalidFunctionLeave = 27,
+	EInvalidState = 28,
+	EDriveNotSupported = 29,
+	EReservedCall = 30,
+	EInvalidIndex = 31,
+	EInvalidValue = 32,
+#if defined(SYMBIAN_ENABLE_ENCODER_ASYNC_WRITES)
+	EBufPoolNoMoreBuffers = 33,
+	EBufPoolInvalidBuffer = 34,
+	EAsyncWrtrQOverflow = 35,
+#endif
+	ENullImageConvExtension = 36,
+	ENonNullImageConvExtension = 37,
+	EInvalidFwExtensionCall = 38,
+	EExtensionAlreadySet = 39,
+	EInvalidFwExtensionUid = 40,
+	EFwExtensionBusy = 41
+	};
+
+GLDEF_C void Panic(TIclPanic aError);
+
+#endif // __IMAGECLIENTMAIN_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/src/ImageProcessorPriv.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,378 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef ___IMAGEPROCESSORPRIV_H__
+#define ___IMAGEPROCESSORPRIV_H__
+
+#include <icl/imageprocessor.h>
+#include "fwextconstants.h"
+
+//The size of the index lookup table
+const TInt KIndexLookupSize = 256;
+
+class CColorImageProcessor; // declared here
+/**
+ * @internalComponent
+ *
+ * @see CImageProcessor.
+ *
+ */
+NONSHARABLE_CLASS( CColorImageProcessor ): public CImageProcessorExtension
+	{
+public:
+	virtual ~CColorImageProcessor();
+	// From CImageProcessor (Default implementations)
+	TBool SetPixelRun(TRgb aColor,TInt aCount);
+	TBool SetPixels(TRgb* aColorBuffer,TInt aBufferLength);
+	TBool SetMonoPixel(TInt aGray256);
+	TBool SetMonoPixelRun(TInt aGray256,TInt aCount);
+	TBool SetMonoPixels(TUint32* aGray256Buffer,TInt aBufferLength);
+	TBool SetMonoPixelBlock(TUint32* aGray256Buffer);
+protected:
+	// New - to facilitate default implementation of SetMonoPixelBlock()
+	void CreateBlockBufferL(TInt aBlockArea);
+protected:
+	// Used by default implementation of SetMonoPixelBlock()
+	TRgb*	iBlockBuffer;
+	TInt	iBlockArea;
+	};
+
+class CMonochromeImageProcessor; // declared here
+/**
+ * @internalComponent
+ *
+ * @see CImageProcessor.
+ *
+ */
+NONSHARABLE_CLASS( CMonochromeImageProcessor ): public CImageProcessorExtension
+	{
+public:
+	virtual ~CMonochromeImageProcessor();
+	// From CImageProcessor (Default implementations)
+	TBool SetPixel(TRgb aColor);
+	TBool SetPixelRun(TRgb aColor,TInt aCount);
+	TBool SetPixels(TRgb* aColorBuffer,TInt aBufferLength);
+	TBool SetPixelBlock(TRgb* aColorBuffer);
+	TBool SetMonoPixelRun(TInt aGray256,TInt aCount);
+	TBool SetMonoPixels(TUint32* aGray256Buffer,TInt aBufferLength);
+protected:
+	// New - to facilitate default implementation of SetPixelBlock()
+	void CreateBlockBufferL(TInt aBlockArea);
+protected:
+	// Used by default implementation of SetPixelBlock()
+	TUint32* iBlockBuffer;
+	TInt	 iBlockArea;
+	};
+
+class CPixelWriter; // declared here
+/**
+ * @internalComponent
+ *
+ * @see CColorImageProcessor.
+ *
+ */
+NONSHARABLE_CLASS( CPixelWriter ): public CColorImageProcessor
+	{
+public:
+	static CPixelWriter* NewL();
+	virtual ~CPixelWriter();
+	// From CImageProcessor
+	void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect);
+	void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize& aRgbBlockSize);
+	void SetYPosIncrement(TInt aYInc);
+	void SetLineRepeat(TInt aLineRepeat);
+	void SetPixelPadding(TInt aNumberOfPixels);
+	TBool SetPixel(TRgb aColor);
+	TBool SetPixelRun(TRgb aColor,TInt aCount);
+	TBool SetPixels(TRgb* aColorBuffer, TInt aBufferLength);
+	TBool SetPixelBlock(TRgb* aColorBuffer);
+	TBool SetPos(const TPoint& aPosition);
+	TBool FlushPixels();
+protected:
+	// New
+	CPixelWriter();
+	virtual void Reset();
+	virtual void DoPrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize* aBlockSize);
+	virtual void SetPixelBufferIndex(TRgb* aColorBuffer,TInt aCount);	//Used by FlushPixels to convert buffered 'SetPixel's
+	virtual void SetPixelBlockIndex(TRgb* aColorBuffer);	//Used by SetPixelBlock
+	virtual TBool NewLine();
+protected:
+	TInt iYInc;
+	TInt iLineRepeat;
+	TInt iPixelPadding;
+	TInt iPixelsToSkip;
+	TPoint iPos;
+	TRect iImageRegion;
+	TSize iBlockSize;
+	TInt iBlockArea;
+	TImageBitmapUtil iUtil;
+	TColorConvertor* iColorConv;
+	TRgb* iRgbBuffer;
+	TRgb* iRgbBufferPtr;
+	TRgb* iRgbBufferPtrLimit;
+	TUint32* iIndexBuffer;
+	TUint32* iIndexBufferPtrLimit;
+	TDisplayMode iDisplayMode;
+	TBool iDrawBottomUp;
+	};
+
+class CMonochromePixelWriter; // declared here
+/**
+ * @internalComponent
+ *
+ * @see CMonochromeImageProcessor.
+ *
+ */
+NONSHARABLE_CLASS( CMonochromePixelWriter ): public CMonochromeImageProcessor
+	{
+public:
+	static CMonochromePixelWriter* NewL();
+	virtual ~CMonochromePixelWriter();
+	// From CImageProcessor
+	void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect);
+	void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize& aRgbBlockSize);
+	void SetYPosIncrement(TInt aYInc);
+	void SetLineRepeat(TInt aLineRepeat);
+	void SetPixelPadding(TInt aNumberOfPixels);
+	TBool SetMonoPixel(TInt aGray256);
+	TBool SetMonoPixelRun(TInt aGray256,TInt aCount);
+	TBool SetMonoPixels(TUint32* aGray256Buffer,TInt aBufferLength);
+	TBool SetMonoPixelBlock(TUint32* aGray256Buffer);
+	TBool SetPos(const TPoint& aPosition);
+	TBool FlushPixels();
+protected:
+	// New
+	CMonochromePixelWriter();
+	virtual void Reset();
+	virtual void DoPrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize* aBlockSize);
+	virtual void SetPixelBufferIndex(TUint32* aGray256Buffer,TInt aCount);	//Used by FlushPixels to convert buffered 'SetPixel's
+	virtual void SetPixelBlockIndex(TUint32* aGray256Buffer);	//Used by SetPixelBlock
+	virtual TBool NewLine();
+protected:
+	TInt iYInc;
+	TInt iLineRepeat;
+	TInt iPixelPadding;
+	TInt iPixelsToSkip;
+	TPoint iPos;
+	TRect iImageRegion;
+	TSize iBlockSize;
+	TInt iBlockArea;
+	TImageBitmapUtil iUtil;
+	TColorConvertor* iColorConv;
+	TUint32* iGray256Buffer;
+	TUint32* iGray256BufferPtr;
+	TUint32* iGray256BufferPtrLimit;
+	TUint32* iIndexBuffer;
+	TUint32* iIndexBufferPtrLimit;
+	TUint32 iIndexLookup[KIndexLookupSize];
+	TBool iDrawBottomUp;
+	};
+
+class CErrorDiffuser; // declared here
+/**
+ * @internalComponent
+ *
+ * @see CPixelWriter.
+ *
+ */
+NONSHARABLE_CLASS( CErrorDiffuser ): public CPixelWriter
+	{
+public:
+	IMPORT_C static CErrorDiffuser* NewL();
+	virtual ~CErrorDiffuser();
+protected:
+	CErrorDiffuser();
+private:
+	class TColorError
+		{
+	public:
+		inline void AdjustColor(TRgb& aColor) const;
+	public:
+		inline TColorError();
+		inline TColorError(TInt aRedError,TInt aGreenError,TInt aBlueError);
+		inline void SetError(TRgb aIdealColor,TRgb aActualColor);
+		inline TColorError operator+(const TColorError& aColorError) const;
+		inline TColorError operator-(const TColorError& aColorError) const;
+		inline TColorError operator<<(TInt aShift) const;
+		inline TColorError& operator+=(const TColorError& aColorError);
+	public:
+		TInt iRedError;
+		TInt iGreenError;
+		TInt iBlueError;
+		};
+private:
+	// From CPixelWriter
+	void Reset();
+	void DoPrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize* aBlockSize);
+	void SetPixelBufferIndex(TRgb* aColorBuffer,TInt aCount);
+	void SetPixelBlockIndex(TRgb* aColorBuffer);
+	void SetPixelBufferColor64KIndex(TRgb* aColorBuffer,TInt aCount);
+	// optimized version of ClampColorComponent
+	inline TInt ClipColorComponent(TInt value);
+	
+private:
+	TColorError* iScanlineErrorBuffer;
+	TColorError* iEdgeErrorBuffer;
+	TColorError iNextError;
+	TPoint iLastPos;
+	// for fast 64K mode
+	TInt8* iRedErrorLookupTable;
+	TInt8* iGreenErrorLookupTable;
+	TInt iNextRedError;
+	TInt iNextGreenError;
+	TInt iNextBlueError;
+	};
+
+class CMonochromeErrorDiffuser; // declared here
+/**
+ * @internalComponent
+ *
+ * @see CMonochromePixelWriter.
+ *
+ */
+NONSHARABLE_CLASS( CMonochromeErrorDiffuser ): public CMonochromePixelWriter
+	{
+public:
+	static CMonochromeErrorDiffuser* NewL();
+	virtual ~CMonochromeErrorDiffuser();
+protected:
+	CMonochromeErrorDiffuser();
+private:
+	// From CMonochromePixelWriter
+	void Reset();
+	void DoPrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize* aBlockSize);
+	void SetPixelBufferIndex(TUint32* aGray256Buffer,TInt aCount);
+	void SetPixelBlockIndex(TUint32* aGray256Buffer);
+private:
+	TInt* iScanlineErrorBuffer;
+	TInt* iEdgeErrorBuffer;
+	TInt iNextError;
+	TPoint iLastPos;
+	};
+
+class CThumbnailProcessor; // declared here
+/**
+ * @internalComponent
+ *
+ * @see CColorImageProcessor.
+ *
+ */
+NONSHARABLE_CLASS( CThumbnailProcessor ): public CColorImageProcessor
+	{
+public:
+	static CThumbnailProcessor* NewL(CImageProcessorExtension* aImageProc,TInt aReductionFactor);
+	virtual ~CThumbnailProcessor();
+	// From CImageProcessor
+	void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect);
+	void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize& aRgbBlockSize);
+	void SetYPosIncrement(TInt aYInc);
+	void SetLineRepeat(TInt aLineRepeat);
+	void SetPixelPadding(TInt aNumberOfPixels);
+	TBool SetPixel(TRgb aColor);
+	TBool SetPixelBlock(TRgb* aColorBuffer);
+	TBool SetPos(const TPoint& aPosition);
+	TBool FlushPixels();
+private:
+	// New
+	CThumbnailProcessor(CImageProcessorExtension* aImageProc,TInt aReductionFactor);
+	void PrepareCommonL(const TRect& aImageRect);
+	void DoFlushPixels();
+	TBool NewLine();
+private:
+	class TColorSum
+		{
+	public:
+		TInt iRed;
+		TInt iGreen;
+		TInt iBlue;
+		TInt iCount;
+		};
+private:
+	CImageProcessorExtension* iImageProc;
+	TPoint iPos;
+	TBool iPositionChanged;
+	TInt iPixelPadding;
+	TInt iEndOfLineX;
+	TInt iYInc;
+	TRect iImageRegion;
+	TSize iOriginalBlockSize;
+	TInt iReductionFactor;
+	TRect iReducedImageRegion;
+	TSize iReducedBlockSize;
+	TRgb* iReducedPixelBuffer;
+	TColorSum* iReducedSumBuffer;
+	TBool iDrawBottomUp;
+	};
+
+class CMonochromeThumbnailProcessor; // declared here
+/**
+ * @internalComponent
+ *
+ * @see CMonochromeImageProcessor.
+ *
+ */
+NONSHARABLE_CLASS( CMonochromeThumbnailProcessor ): public CMonochromeImageProcessor
+	{
+public:
+	static CMonochromeThumbnailProcessor* NewL(CImageProcessorExtension* aImageProc,TInt aReductionFactor);
+	virtual ~CMonochromeThumbnailProcessor();
+	// From CImageProcessor
+	void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect);
+	void PrepareL(CFbsBitmap& aBitmap,const TRect& aImageRect,const TSize& aRgbBlockSize);
+	void SetYPosIncrement(TInt aYInc);
+	void SetLineRepeat(TInt aLineRepeat);
+	void SetPixelPadding(TInt aNumberOfPixels);
+	TBool SetMonoPixel(TInt aGray256);
+	TBool SetMonoPixelRun(TInt aGray256,TInt aCount);
+	TBool SetMonoPixelBlock(TUint32* aGray256Buffer);
+	TBool SetPos(const TPoint& aPosition);
+	TBool FlushPixels();
+private:
+	// New
+	CMonochromeThumbnailProcessor(CImageProcessorExtension* aImageProc,TInt aReductionFactor);
+	void PrepareCommonL(const TRect& aImageRect);
+	void DoFlushPixels();
+	TBool NewLine();
+private:
+	class TMonochromeSum
+		{
+	public:
+		TInt iLevel;
+		TInt iCount;
+		};
+private:
+	CImageProcessorExtension* iImageProc;
+	TPoint iPos;
+	TBool iPositionChanged;
+	TInt iPixelPadding;
+	TInt iEndOfLineX;
+	TInt iYInc;
+	TRect iImageRegion;
+	TSize iOriginalBlockSize;
+	TInt iReductionFactor;
+	TRect iReducedImageRegion;
+	TSize iReducedBlockSize;
+	TUint32* iReducedPixelBuffer;
+	TMonochromeSum* iReducedSumBuffer;
+	TBool iDrawBottomUp;
+	};
+
+#endif // ___IMAGEPROCESSORPRIV_H__
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/src/ImageUtils.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,362 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __ImageUtils_h
+#define __ImageUtils_h
+
+/*Template class CleanupResetAndDestroy
+ *
+ * Shamelessly copied from CleanupClose to clean up
+ * the array of implementation information from the cleanup stack.
+ */
+
+template <class T>
+class CleanupResetAndDestroy
+	{
+public:
+	inline static void PushL(T& aRef);
+private:
+	static void ResetAndDestroy(TAny *aPtr);
+	};
+template <class T>
+inline void CleanupResetAndDestroyPushL(T& aRef);
+
+
+template <class T>
+inline void CleanupResetAndDestroy<T>::PushL(T& aRef)
+	{CleanupStack::PushL(TCleanupItem(&ResetAndDestroy,&aRef));}
+template <class T>
+void CleanupResetAndDestroy<T>::ResetAndDestroy(TAny *aPtr)
+	{(STATIC_CAST(T*,aPtr))->ResetAndDestroy();}
+template <class T>
+inline void CleanupResetAndDestroyPushL(T& aRef)
+	{CleanupResetAndDestroy<T>::PushL(aRef);}
+
+//
+// PtrReadUtil - utility class with methods for standard 
+//            reading stuff from a TUint8* string
+//
+
+class PtrReadUtil
+	{
+public:
+	// This calls decode from TUint8*
+	static TInt8 ReadInt8(const TUint8* aPtr);
+	static TUint8 ReadUint8(const TUint8* aPtr);
+	static TInt16 ReadInt16(const TUint8* aPtr);
+	static TInt16 ReadBigEndianInt16(const TUint8* aPtr);
+	static TUint16 ReadUint16(const TUint8* aPtr);
+	static TUint16 ReadBigEndianUint16(const TUint8* aPtr);
+	static TInt32 ReadInt32(const TUint8* aPtr);
+	static TInt32 ReadBigEndianInt32(const TUint8* aPtr);
+	static TUint32 ReadUint32(const TUint8* aPtr);
+	static TUint32 ReadBigEndianUint32(const TUint8* aPtr);
+	// these calls also increment the pointer
+	static TInt8 ReadInt8Inc(const TUint8*& aPtr);
+	static TUint8 ReadUint8Inc(const TUint8*& aPtr);
+	static TInt16 ReadInt16Inc(const TUint8*& aPtr);
+	static TInt16 ReadBigEndianInt16Inc(const TUint8*& aPtr);
+	static TUint16 ReadUint16Inc(const TUint8*& aPtr);
+	static TUint16 ReadBigEndianUint16Inc(const TUint8*& aPtr);
+	static TInt32 ReadInt32Inc(const TUint8*& aPtr);
+	static TInt32 ReadBigEndianInt32Inc(const TUint8*& aPtr);
+	static TUint32 ReadUint32Inc(const TUint8*& aPtr);
+	static TUint32 ReadBigEndianUint32Inc(const TUint8*& aPtr);
+	};
+
+inline TUint8 PtrReadUtil::ReadUint8(const TUint8* aPtr)
+	{
+	return *aPtr ;
+	}
+
+inline TInt8 PtrReadUtil::ReadInt8(const TUint8* aPtr)
+	{
+	return TInt8(ReadUint8(aPtr));
+	}
+
+inline TUint16 PtrReadUtil::ReadUint16(const TUint8* aPtr)
+	{
+	return TUint16(aPtr[0] | (aPtr[1]<<8));
+	}
+
+inline TInt16 PtrReadUtil::ReadInt16(const TUint8* aPtr)
+	{
+	return TInt16(ReadUint16(aPtr));
+	}
+
+inline TUint32 PtrReadUtil::ReadUint32(const TUint8* aPtr)
+	{
+	return TUint32(aPtr[0] | (aPtr[1]<<8) | (aPtr[2]<<16) | (aPtr[3]<<24));
+	}
+
+inline TInt32 PtrReadUtil::ReadInt32(const TUint8* aPtr)
+	{
+	return TInt32(ReadUint32(aPtr));
+	}
+
+inline TUint16 PtrReadUtil::ReadBigEndianUint16(const TUint8* aPtr)
+	{
+	return TUint16((aPtr[0]<<8) | aPtr[1]);
+	}
+
+inline TInt16 PtrReadUtil::ReadBigEndianInt16(const TUint8* aPtr)
+	{
+	return TInt16(ReadBigEndianUint16(aPtr));
+	}
+
+inline TUint32 PtrReadUtil::ReadBigEndianUint32(const TUint8* aPtr)
+	{
+	return TUint32((aPtr[0]<<24) | (aPtr[1]<<16) | (aPtr[2]<<8) | aPtr[3]);
+	}
+
+inline TInt32 PtrReadUtil::ReadBigEndianInt32(const TUint8* aPtr)
+	{
+	return TInt32(ReadBigEndianInt32(aPtr));
+	}
+
+inline TInt8 PtrReadUtil::ReadInt8Inc(const TUint8*& aPtr)
+	{
+	TInt8 result = ReadInt8(aPtr);
+	aPtr += 1;
+	return result;
+	}
+
+inline TUint8 PtrReadUtil::ReadUint8Inc(const TUint8*& aPtr)
+	{
+	TUint8 result = ReadUint8(aPtr);
+	aPtr += 1;
+	return result;
+	}
+
+inline TInt16 PtrReadUtil::ReadInt16Inc(const TUint8*& aPtr)
+	{
+	TInt16 result = ReadInt16(aPtr);
+	aPtr += 2;
+	return result;
+	}
+
+inline TUint16 PtrReadUtil::ReadUint16Inc(const TUint8*& aPtr)
+	{
+	TUint16 result = ReadUint16(aPtr);
+	aPtr += 2;
+	return result;
+	}
+
+inline TInt16 PtrReadUtil::ReadBigEndianInt16Inc(const TUint8*& aPtr)
+	{
+	TInt16 result = ReadBigEndianInt16(aPtr);
+	aPtr += 2;
+	return result;
+	}
+
+inline TUint16 PtrReadUtil::ReadBigEndianUint16Inc(const TUint8*& aPtr)
+	{
+	TUint16 result = ReadBigEndianUint16(aPtr);
+	aPtr += 2;
+	return result;
+	}
+
+inline TInt32 PtrReadUtil::ReadInt32Inc(const TUint8*& aPtr)
+	{
+	TInt32 result = ReadInt32(aPtr);
+	aPtr += 4;
+	return result;
+	}
+
+inline TUint32 PtrReadUtil::ReadUint32Inc(const TUint8*& aPtr)
+	{
+	TUint32 result = ReadUint32(aPtr);
+	aPtr += 4;
+	return result;
+	}
+
+inline TInt32 PtrReadUtil::ReadBigEndianInt32Inc(const TUint8*& aPtr)
+	{
+	TInt32 result = ReadBigEndianInt32(aPtr);
+	aPtr += 4;
+	return result;
+	}
+
+inline TUint32 PtrReadUtil::ReadBigEndianUint32Inc(const TUint8*& aPtr)
+	{
+	TUint32 result = ReadBigEndianUint32(aPtr);
+	aPtr += 4;
+	return result;
+	}
+
+class PtrWriteUtil
+	{
+public:
+	static void WriteInt8(TUint8* aPtr, TInt aData);
+	static void WriteInt16(TUint8* aPtr, TInt aData);
+	static void WriteInt32(TUint8* aPtr, TInt aData);
+	// Big endian version
+	static void WriteBigEndianInt32(TUint8* aPtr, TInt32 aData);
+	static void WriteBigEndianInt16(TUint8* aPtr, TInt aData);
+	};
+
+inline void PtrWriteUtil::WriteInt8(TUint8* aPtr, TInt aData)
+	{
+	aPtr[0] = TUint8(aData);
+	}
+
+inline void PtrWriteUtil::WriteInt16(TUint8* aPtr, TInt aData)
+	{
+	aPtr[0] = TUint8(aData);
+	aPtr[1] = TUint8(aData>>8);
+	}
+
+inline void PtrWriteUtil::WriteInt32(TUint8* aPtr, TInt aData)
+	{
+	aPtr[0] = TUint8(aData);
+	aPtr[1] = TUint8(aData>>8);
+	aPtr[2] = TUint8(aData>>16);
+	aPtr[3] = TUint8(aData>>24);
+	}
+
+inline void PtrWriteUtil::WriteBigEndianInt32(TUint8* aPtr, TInt32 aData)
+	{
+	aPtr[0] = TUint8(aData>>24);
+	aPtr[1] = TUint8(aData>>16);
+	aPtr[2] = TUint8(aData>>8);
+	aPtr[3] = TUint8(aData);
+	}
+
+inline void PtrWriteUtil::WriteBigEndianInt16(TUint8* aPtr, TInt aData)
+	{
+	aPtr[0] = TUint8(aData>>8);
+	aPtr[1] = TUint8(aData);
+	}
+
+class ColorCcomponent
+	{
+public:
+	static TInt ClampColorComponent(TInt value);
+	};
+
+inline TInt ColorCcomponent::ClampColorComponent(TInt value)
+	{
+	return (value < 0) ? 0 : (value > 255) ? 255 : value;
+	}
+
+
+//
+// The following routines have been copied from Graphics subsystem.
+// They deal with alpha to premultiplied alpha and viceversa conversions.
+// The original files are: blendingalgorithms.h and blendingalgorithms.inl
+//
+
+const TUint32 KRBMask = 0x00ff00ff;
+const TUint32 KAGMask = 0xff00ff00;
+const TUint32 KGMask  = 0x0000ff00;
+const TUint32 KAMask  = 0xff000000;
+const TUint32 KRBBias = 0x00800080;
+const TUint32 KGBias  = 0x00008000;
+
+
+/**
+Premultiplies the color channel values with the Alpha channel value.
+Alpha value remains unchanged. An approximation is used in the operation where the division
+by 255 is approximated by a shift-by-8-bits operation (i.e. division by 256).
+@param	aPixel	The 32 bit pixel value to be pre-multiplied.
+@return	The PMA value.
+@internalTechnology
+@released
+*/
+inline TUint32 NonPMA2PMAPixel(TUint32 aPixel)
+	{
+	TUint8 tA = (TUint8)(aPixel >> 24);
+	if (tA==0)
+		{ 
+		return 0;
+		}
+	if (tA==0xff) 
+		{
+		return aPixel;
+		}
+
+	// Use a bias value of 128 rather than 255, but also add 1/256 of the numerator 
+	// before dividing the sum by 256.
+
+	TUint32 scaledRB = (aPixel & KRBMask) * tA + KRBBias;
+	scaledRB = (scaledRB + ( (scaledRB >> 8) & KRBMask) ) >> 8;
+	TUint32 scaledG = (aPixel & KGMask ) * tA + KGBias;
+	scaledG = (scaledG + (scaledG >> 8)) >> 8;
+	
+	return (aPixel & KAMask) | (scaledRB & KRBMask) | (scaledG & KGMask);
+	}
+
+
+/**
+Divives the PMA pixel color channels with the Alpha value, to convert them to non-PMA format.
+Alpha value remains unchanged.
+@param	aPixel	the premultiplied 32 bit pixel value.
+@param	aNormTable	The lookup table used to do the normalisation (the table converts the division
+					to multiplication operation).
+					The table is usually obtainable by a call to the method:
+					PtrTo16BitNormalisationTable, which is defined in lookuptable.dll(.lib).
+					The lookup table for normalised alpha is compluted using this equation: 
+					Table[index] = (255*256) / index (where index is an 8 bit value).
+@return The NON-PMA 32 bit pixel value.
+@internalTechnology
+@released
+*/
+inline TUint32 PMA2NonPMAPixel(TUint32 aPixel, const TUint16* aNormTable)
+	{
+	TUint8 alpha = (TUint8)(aPixel >> 24);
+	if (alpha==0)
+		{ 
+		return 0;
+		}
+	if (alpha==0xff) 
+		{
+		return aPixel;
+		}
+	TUint16 norm = aNormTable[alpha];
+	TUint32 norm_rb = (((aPixel & KRBMask) * norm) >> 8) & KRBMask;
+	TUint32 norm_g =  (((aPixel & KGMask ) * norm) >> 8) & KGMask;
+	
+	return ((aPixel & KAMask) | norm_rb | norm_g);
+	}
+
+
+/**
+In-place version of NonPMA2PMAPixel.
+@see NonPMA2PMAPixel
+@internalTechnology
+@released
+*/
+inline void Convert2PMA(TUint32& aInOutValue)
+	{
+	aInOutValue = NonPMA2PMAPixel(aInOutValue);
+	}
+
+
+/**
+In-place version of PMA2NonPMAPixel
+@see PMA2NonPMAPixel
+@internalTechnology
+@released
+*/
+inline void Convert2NonPMA(TUint32& aInOutValue, const TUint16* aNormTable)
+	{
+	aInOutValue = PMA2NonPMAPixel(aInOutValue, aNormTable);
+	}
+
+
+#endif  // __ImageUtils_h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/src/fwextconstants.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+ @internalTechnology
+*/
+
+#ifndef FWEXTCONSTANTS_H
+#define FWEXTCONSTANTS_H
+
+#include <icl/icl_uids.hrh>
+
+const TUid KICLOperationUid 		= {KUidImageConvExtOperationValue};
+const TUid KICLScalerUid 			= {KUidImageConvExtScalerValue};
+const TUid KICLStreamedDecodeUid 	= {KUidImageConvExtStreamedDecodeValue};
+const TUid KICLStreamedEncodeUid 	= {KUidImageConvExtStreamedEncodeValue};
+const TUid KICLPrepareUid 			= {KUidImageConvExtPrepareValue};
+
+#endif // FWEXTCONSTANTS_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+#ifdef WINSCW
+t_oom.mmp
+#else
+tbm.mmp
+t_oom.mmp
+dfpaeabi_vfpv2
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This function is simple a way to get these EXPORT statements into
+* the .in file. These symbols will therefore be referenced from
+* the export table and so **forced** into the DLL
+*
+*/
+
+
+__asm void __rt_exporter_dummy(void)
+{
+	AREA |.directive|, READONLY, NOALLOC
+
+	PRESERVE8
+
+	DCB "#<SYMEDIT>#\n"
+
+/// Standard double precision floating-point arithmetic helper functions
+
+	DCB "EXPORT __aeabi_dadd\n"
+	DCB "EXPORT __aeabi_ddiv\n"
+	DCB "EXPORT __aeabi_dmul\n"
+	DCB "EXPORT __aeabi_dneg\n"
+	DCB "EXPORT __aeabi_drsub\n"
+	DCB "EXPORT __aeabi_dsub\n"
+
+/// Standard double precision floating-point comparison helper functions
+
+	DCB "EXPORT __aeabi_cdcmpeq\n"
+	DCB "EXPORT __aeabi_cdcmple\n"
+	DCB "EXPORT __aeabi_cdrcmple\n"
+	DCB "EXPORT __aeabi_dcmpeq\n"
+	DCB "EXPORT __aeabi_dcmplt\n"
+	DCB "EXPORT __aeabi_dcmple\n"
+	DCB "EXPORT __aeabi_dcmpge\n"
+	DCB "EXPORT __aeabi_dcmpgt\n"
+	DCB "EXPORT __aeabi_dcmpun\n"
+
+/// Standard single precision floating-point arithmetic helper functions
+
+	DCB "EXPORT __aeabi_fadd\n"
+	DCB "EXPORT __aeabi_fdiv\n"
+	DCB "EXPORT __aeabi_fmul\n"
+	DCB "EXPORT __aeabi_fneg\n"
+	DCB "EXPORT __aeabi_frsub\n"
+	DCB "EXPORT __aeabi_fsub\n"
+
+/// Standard single precision floating-point comparison helper functions
+
+	DCB "EXPORT __aeabi_cfcmpeq\n"
+	DCB "EXPORT __aeabi_cfcmple\n"
+	DCB "EXPORT __aeabi_cfrcmple\n"
+	DCB "EXPORT __aeabi_fcmpeq\n"
+	DCB "EXPORT __aeabi_fcmplt\n"
+	DCB "EXPORT __aeabi_fcmple\n"
+	DCB "EXPORT __aeabi_fcmpge\n"
+	DCB "EXPORT __aeabi_fcmpgt\n"
+	DCB "EXPORT __aeabi_fcmpun\n"
+
+/// Standard floating-point to integer conversions
+
+	DCB "EXPORT __aeabi_d2iz\n"
+	DCB "EXPORT __aeabi_d2uiz\n"
+	DCB "EXPORT __aeabi_d2lz\n"
+	DCB "EXPORT __aeabi_d2ulz\n"
+	DCB "EXPORT __aeabi_f2iz\n"
+	DCB "EXPORT __aeabi_f2uiz\n"
+	DCB "EXPORT __aeabi_f2lz\n"
+	DCB "EXPORT __aeabi_f2ulz\n"
+
+/// Standard conversions between floating types
+
+	DCB "EXPORT __aeabi_d2f\n"
+	DCB "EXPORT __aeabi_f2d\n"
+
+/// Standard integer to floating-point conversions
+
+	DCB "EXPORT __aeabi_i2d\n"
+	DCB "EXPORT __aeabi_ui2d\n"
+	DCB "EXPORT __aeabi_l2d\n"
+	DCB "EXPORT __aeabi_ul2d\n"
+	DCB "EXPORT __aeabi_i2f\n"
+	DCB "EXPORT __aeabi_ui2f\n"
+	DCB "EXPORT __aeabi_l2f\n"
+	DCB "EXPORT __aeabi_ul2f\n"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi_common.mmh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGETTYPE		dll
+
+SOURCEPATH		.
+SOURCE			dfpaeabi.cpp
+
+SYSTEMINCLUDE		../../include
+
+START ARMCC
+
+ARMINC
+#ifdef MARM_ARMV5
+ARMLIBS			c_t__un.l
+#else
+ARMLIBS			c_a__un.l
+#endif
+END
+
+capability		all
+
+VENDORID 0x70000001
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi_vfpv2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "dfpaeabi_common.mmh"
+
+TARGET 			dfpaeabi_vfpv2.dll
+LINKAS			dfpaeabi.dll
+NOEXPORTLIBRARY
+START ARMCC
+ARMRT
+// we want the vfpv2 supporting versions
+#ifdef MARM_ARMV5
+ARMLIBS			f_tvp.l
+#else
+ARMLIBS			f_avp.l
+#endif
+END
+
+unpagedcode
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/exchange.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef EXCHANGE_H
+#define EXCHANGE_H
+
+#include <bt_sock.h>
+#include <btsdp.h>
+
+class CExchanger : public CBase
+/**
+Abstract base class for protocols that can locate compatible devices.
+@internalComponent
+*/
+{
+	public:
+		/**
+		@internalComponent
+		Begins a search for compatible devices.  Until successful
+		completion, no other function should be called as the data
+		may be invalid.
+		@param aStatus
+		A TRequestStatus object that is signalled when the search
+		completes.  It should be used from within an active object
+		*/
+		virtual void LookForPeersL(TRequestStatus& aStatus) = 0;
+		/**
+		@internalComponent
+		@return The number of compatible peer devices found
+		*/
+		virtual TInt Count() = 0;
+		/**
+		@internalComponent
+		Selects the first compatible device that was found
+		*/
+		virtual void First() = 0;
+		/**
+		@internalComponent
+		Retrieves the selected device, and selects the next device
+		that was found.
+		@param aPtr
+		A reference to a TNameEntry* pointer.  On success, it is filled
+		in with a pointer to a device that was found.  
+		@return KErrNotFound on failure, KErrNone on success.
+		*/
+		virtual TInt Next(TNameEntry*& aPtr) = 0;
+	protected:
+		RSocketServ iSockSession;
+	private:
+};
+
+class CBluetoothSeeker;
+class CBluetoothExchanger : public CExchanger
+/**
+@internalComponent
+Implementation of CExchanger for bluetooth.  Uses inquiry and the SDP 
+protocol to retrieve a filtered list of all devices in range that support
+the service, as defined by UUID
+*/
+{
+	public:
+		IMPORT_C static CBluetoothExchanger* NewL(const TUUID &aUUID);
+		IMPORT_C static CBluetoothExchanger* NewLC(const TUUID &aUUID);
+		~CBluetoothExchanger();
+		//virtual implementations
+		IMPORT_C virtual void LookForPeersL(TRequestStatus& aStatus);
+		IMPORT_C virtual TInt Count();
+		IMPORT_C virtual void First();
+		IMPORT_C virtual TInt Next(TNameEntry*& aPtr);
+	private:
+		void ConstructL(const TUUID &aUUID);
+		RSdp iSdpSession;
+		RSdpDatabase iSdpDb;
+		CBluetoothSeeker *iSeeker;
+		TInt iDeviceIndex;
+};
+
+#endif //EXCHANGE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/t_oom.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,392 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <s32file.h>
+#include <e32test.h>
+
+#define UNUSED_VAR(a) a = a
+
+const TInt KTestCleanupStack=0x20;
+const TPtrC KTestDir=_L("\\STOR-TST\\T_OOM\\");
+
+#ifdef _DEBUG
+const TPtrC desOriginalReverted2(_S("original/reverted A"),19);
+const TPtrC desOriginalReverted3(_S("original/reverted B"),19);
+const TPtrC desNewOverwritten2(_S("new/overwritten X"),17);
+const TPtrC desNewOverwritten3(_S("new/overwritten Y"),17);
+const TPtrC alphabet(_S("abcdefghijklmnopqrstuvwxyz"),26);
+LOCAL_D CFileStore* store;
+RStoreWriteStream out;
+RStoreReadStream in;
+TInt KMemoryAllocsInTestFunction=1;
+#endif
+
+LOCAL_D CTrapCleanup* TheTrapCleanup;
+LOCAL_D RTest test(_L("T_OOM"));
+LOCAL_D RFs TheFs;
+
+LOCAL_C void setupTestDirectory()
+    {// Prepare the test directory.
+	TInt r=TheFs.Connect();
+	test(r==KErrNone);
+//
+	r=TheFs.MkDirAll(KTestDir);
+	test(r==KErrNone||r==KErrAlreadyExists);
+	r=TheFs.SetSessionPath(KTestDir);
+	test(r==KErrNone);
+	}
+
+LOCAL_C void setupCleanup()
+    {// Initialise the cleanup stack
+	TheTrapCleanup=CTrapCleanup::New();
+	test(TheTrapCleanup!=NULL);
+	TRAPD(r,\
+		{\
+		for (TInt i=KTestCleanupStack;i>0;i--)\
+			CleanupStack::PushL((TAny*)0);\
+		CleanupStack::Pop(KTestCleanupStack);\
+		});
+	test(r==KErrNone);
+	}
+
+#ifdef _DEBUG
+LOCAL_D void CreateStoreSetRootAndDestroyStoreL()
+	{
+	TheFs.Delete(_L("pfs"));
+	store=CPermanentFileStore::CreateLC(TheFs,_L("pfs"),EFileWrite|EFileRead);
+	store->SetTypeL(KPermanentFileStoreLayoutUid);
+	TStreamId rootId = store->ExtendL();
+	store->SetRootL(rootId);
+	store->CommitL();
+	CleanupStack::PopAndDestroy();
+	}
+
+LOCAL_D void AlterStoreL()
+	{
+	RStoreWriteStream out2;
+	RStoreWriteStream out3;
+	RStoreWriteStream out4;
+	RStoreReadStream in;
+
+	TStreamId id2 = out.CreateLC(*store);
+	out.CommitL();
+	CleanupStack::PopAndDestroy();
+
+	TStreamId id3 = out.CreateLC(*store);
+	out.CommitL();
+	CleanupStack::PopAndDestroy();
+
+	TStreamId id4 = out.CreateLC(*store);
+	out << _L("mum");
+	out.CommitL();
+	CleanupStack::PopAndDestroy();
+
+	out.ReplaceLC(*store,store->Root());
+	out << id2;
+	out << id3;
+	out << id4;
+	out.CommitL();
+	CleanupStack::PopAndDestroy();
+
+	in.OpenLC(*store,store->Root());// use the root for in and out streams
+	out.ReplaceLC(*store,store->Root());
+	out.WriteL(in);
+	out.CommitL();
+	CleanupStack::PopAndDestroy(2);
+
+	out.ReplaceLC(*store,store->Root());// swap the order
+	in.OpenLC(*store,store->Root());
+	out.WriteL(in);
+	out << _L("fromage");
+	out.CommitL();
+	CleanupStack::PopAndDestroy(2);
+
+	store->CommitL();
+
+	in.OpenLC(*store,store->Root());
+	TStreamId idX,idZ;
+	in >> idX;
+	in >> idX;
+	in >> idZ;// id4 "mum"
+	CleanupStack::PopAndDestroy();
+	out.OpenLC(*store,idZ);
+	in.OpenLC(*store,idZ);
+	out2.OpenLC(*store,idZ);
+	out3.OpenLC(*store,idZ);
+	out4.OpenLC(*store,idZ);
+	out4.WriteL(in);
+	out.CommitL();
+	CleanupStack::PopAndDestroy(5);
+	}
+/**
+@SYMTestCaseID          SYSLIB-STORE-CT-1170
+@SYMTestCaseDesc	    Allocation failure in store test
+@SYMTestPriority 	    High
+@SYMTestActions  	    Tests for any memory errors during allocation of store
+@SYMTestExpectedResults Test must not fail
+@SYMREQ                 REQ0000
+*/
+LOCAL_D void AllocFailInSampleStoreCodeL()
+	{
+	test.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-CT-1170 "));
+	test.Console()->Printf(_L("AllocFailInSampleStoreCodeL()\n"));
+	TRAPD(r,CreateStoreSetRootAndDestroyStoreL())
+    UNUSED_VAR(r);
+	const TInt KAllocFail=15;
+	for (TInt ii=1;ii<=20;++ii)
+		{
+		store=CPermanentFileStore::OpenLC(TheFs,_L("pfs"),EFileWrite|EFileRead);
+		__UHEAP_FAILNEXT(ii);
+		TRAPD(r,AlterStoreL());
+		if (ii<KAllocFail)
+			test(r==KErrNoMemory);
+		if (ii>=KAllocFail)
+			test(r==KErrNone);
+		__UHEAP_RESET;
+		CleanupStack::PopAndDestroy();
+		}
+	TheFs.Delete(_L("pfs"));
+	}
+
+LOCAL_D void InitialseStoreWithDataL()
+	{
+	TheFs.Delete(_L("pope"));
+	store=CPermanentFileStore::CreateLC(TheFs,_L("pope"),EFileWrite|EFileRead);
+	store->SetTypeL(KPermanentFileStoreLayoutUid);
+	TStreamId rootId = store->ExtendL();
+	store->SetRootL(rootId);
+	store->CommitL();
+	CleanupStack::PopAndDestroy();
+
+	store=CPermanentFileStore::OpenLC(TheFs,_L("pope"),EFileWrite|EFileRead);
+	TStreamId id2 = out.CreateLC(*store);
+	out << desOriginalReverted2;
+	out.CommitL();
+	CleanupStack::PopAndDestroy();
+
+	TStreamId id3 = out.CreateLC(*store);
+	out << desOriginalReverted3;
+	out.CommitL();
+	CleanupStack::PopAndDestroy();
+
+	out.ReplaceLC(*store,store->Root());
+	out << id2;
+	out << id3;
+	out.CommitL();
+	CleanupStack::PopAndDestroy();// out
+
+	store->CommitL();
+	CleanupStack::PopAndDestroy();// store
+	}
+
+LOCAL_D void AlterStoreDuringOutOfMemoryL(TInt aFail)
+	{
+	store=CPermanentFileStore::OpenLC(TheFs,_L("pope"),EFileWrite|EFileRead);
+	in.OpenLC(*store,store->Root());
+	TStreamId id2;
+	TStreamId id3;
+	in >> id2;
+	in >> id3;
+	CleanupStack::PopAndDestroy();// in
+
+	out.ReplaceLC(*store,id2);
+	out << desNewOverwritten2;
+	out.CommitL();
+	CleanupStack::PopAndDestroy();// out
+
+	store->CommitL();
+	__UHEAP_FAILNEXT(aFail);// Out of memory
+
+	out.ReplaceLC(*store,id3);
+	out << desNewOverwritten3;
+	out.CommitL();
+	CleanupStack::PopAndDestroy();// out
+
+	store->CommitL();
+	CleanupStack::PopAndDestroy();// store
+
+	__UHEAP_RESET;
+	}
+
+/**
+@SYMTestCaseID          SYSLIB-STORE-CT-1346
+@SYMTestCaseDesc	    Streaming of data test
+@SYMTestPriority 	    High
+@SYMTestActions  	    Tests for RStoreReadStream::>> operator
+@SYMTestExpectedResults Test must not fail
+@SYMREQ                 REQ0000
+*/
+LOCAL_D void TestStreamDataL(TInt aFail)
+	{
+	test.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-CT-1346 "));
+	store=CPermanentFileStore::OpenLC(TheFs,_L("pope"),EFileWrite|EFileRead);
+	in.OpenLC(*store,store->Root());
+	TStreamId id2;
+	TStreamId id3;
+	in >> id2;
+	in >> id3;
+	CleanupStack::PopAndDestroy();// in
+
+	TBuf<32> buf;
+
+	in.OpenLC(*store,id2);
+	in >> buf;
+	test(buf==desNewOverwritten2);
+
+	CleanupStack::PopAndDestroy();// in
+
+	in.OpenLC(*store,id3);
+	in >> buf;
+	if (aFail > KMemoryAllocsInTestFunction)
+		test(buf==desNewOverwritten3);
+	else if (aFail<=KMemoryAllocsInTestFunction)
+		test(buf==desOriginalReverted3);
+
+	CleanupStack::PopAndDestroy();// in
+
+	CleanupStack::PopAndDestroy();// store
+	}
+
+LOCAL_D void ResetStreamDataL()
+	{
+	store=CPermanentFileStore::OpenLC(TheFs,_L("pope"),EFileWrite|EFileRead);
+	in.OpenLC(*store,store->Root());
+	TStreamId id2;
+	TStreamId id3;
+	in >> id2;
+	in >> id3;
+	CleanupStack::PopAndDestroy();// in
+
+	out.ReplaceLC(*store,id2);
+	out << desOriginalReverted2;
+	out.CommitL();
+	CleanupStack::PopAndDestroy();// out
+
+	out.ReplaceLC(*store,id3);
+	out << desOriginalReverted3;
+	out.CommitL();
+	CleanupStack::PopAndDestroy();// out
+
+	store->CommitL();
+	CleanupStack::PopAndDestroy();// store
+	}
+/**
+@SYMTestCaseID          SYSLIB-STORE-CT-1171
+@SYMTestCaseDesc	    Out of memory errors test
+@SYMTestPriority 	    High
+@SYMTestActions  	    Tests for out of memory conditions before commiting to the store
+@SYMTestExpectedResults Test must not fail
+@SYMREQ                 REQ0000
+*/
+LOCAL_D void OutOfMemoryBeforeStoreCommitL()
+	{
+	test.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-CT-1171 "));
+	test.Console()->Printf(_L("OutOfMemoryBeforeStoreCommitL()\n"));
+	InitialseStoreWithDataL();
+	for (TInt fail=1; fail<=5; ++ fail)
+		{
+		TRAPD(r,AlterStoreDuringOutOfMemoryL(fail));
+		if (fail<=KMemoryAllocsInTestFunction)
+			test(r==KErrNoMemory);// store saved when r!=KErrNone
+		else
+			test(r==KErrNone);
+		TestStreamDataL(fail);
+		ResetStreamDataL();
+		}
+	TheFs.Delete(_L("pope"));
+	}
+
+
+LOCAL_D void OpenCloseStoreL(TInt aFail)
+	{
+	__UHEAP_FAILNEXT(aFail);
+	TheFs.Delete(_L("pope"));
+	store=CPermanentFileStore::CreateLC(TheFs,_L("pope"),EFileWrite|EFileRead);
+	store->SetTypeL(KPermanentFileStoreLayoutUid);
+	TStreamId rootId = store->ExtendL();
+	store->SetRootL(rootId);
+	store->CommitL();
+	CleanupStack::PopAndDestroy();
+
+	store=CPermanentFileStore::OpenLC(TheFs,_L("pope"),EFileWrite|EFileRead);
+	TStreamId id2 = out.CreateLC(*store);
+	out << desOriginalReverted2;
+	out << id2;
+	out.CommitL();
+	CleanupStack::PopAndDestroy(2);
+	}
+/**
+@SYMTestCaseID          SYSLIB-STORE-CT-1172
+@SYMTestCaseDesc	    Out of memory test
+@SYMTestPriority 	    High
+@SYMTestActions  	    Test for memory errors during opening and closing of store operation.
+@SYMTestExpectedResults Test must not fail
+@SYMREQ                 REQ0000
+*/
+
+LOCAL_D void OutOfMemoryWhenOpeningClosingStoreL()
+	{
+	test.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-CT-1172 "));
+	test.Console()->Printf(_L("OutOfMemoryWhenOpeningClosingStoreL()\n"));
+	const TInt KAllocs=12;
+	for (TInt fail=1; fail<=20; ++ fail)
+		{
+		TRAPD(r,OpenCloseStoreL(fail))
+		if (fail<KAllocs)
+			test(r==KErrNoMemory);
+		else
+			test(r==KErrNone);
+		}
+	TheFs.Delete(_L("pope"));
+	__UHEAP_RESET;
+	}
+#endif
+
+GLDEF_C TInt E32Main()
+    {// Test permanent file store
+	test.Title();
+	setupTestDirectory();
+	setupCleanup();
+#ifdef _DEBUG
+	__UHEAP_MARK;
+//
+	test.Start(_L("Begin tests"));
+	TRAPD(r,AllocFailInSampleStoreCodeL());
+	test(r==KErrNone);
+	TRAP(r,OutOfMemoryBeforeStoreCommitL());
+	test(r==KErrNone);
+	TRAP(r,OutOfMemoryWhenOpeningClosingStoreL());
+	test(r==KErrNone);
+	test.End();
+
+	TheFs.Delete(_L("pope"));
+	TheFs.Delete(_L("pfs"));
+//
+	__UHEAP_MARKEND;
+#endif
+
+#ifndef _DEBUG
+	test.Start(_L("The tests are not valid in release mode"));
+	test.End();
+#endif
+	delete TheTrapCleanup;
+	TheFs.Close();
+	test.Close();
+	return 0;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/t_oom.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+target 		t_oom.exe 
+targettype 	exe 
+
+SOURCEPATH	.
+source 		t_oom.cpp
+
+systeminclude  	/epoc32/include 
+ 
+library 	euser.lib efsrv.lib 
+debuglibrary 	estor.lib
+library 	euser.lib
+
+VENDORID 	0x70000001
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/tbm.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,179 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* BT incoming SCO notification test code
+*
+*/
+
+
+#include <e32test.h>
+#include <es_sock.h>
+#include <f32file.h>
+#include <bt_sock.h>
+#include <btextnotifiers.h>
+#include <c32comm.h>
+#include <btsdp.h>
+#include "exchange.h"
+
+#if defined (__WINS__)
+#define PDD_NAME _L("ECDRV")
+#define LDD_NAME _L("ECOMM")
+#else  // __GCC32__
+#define PDD_NAME _L("EUART4")	// port 0 on Assabet
+// don't use EUART2 - port 1 is IR
+#define ETNA_PDD_NAME _L("EUART3") // for port 2 on Assabet
+#define LDD_NAME _L("ECOMM")
+#endif
+
+GLDEF_D RTest test(_L("bluemeanie tests"));
+
+const TUint32 KServiceUID1 = 0x6D14AC98;
+const TUint32 KServiceUID2 = 0x7A8249bb;
+const TUint32 KServiceUID3 = 0xB885BE2E;
+const TUint32 KServiceUID4 = 0xF73C909E;
+
+//_LIT(KMenuText1, "A - Listen & Accept         F - Connect ACL");
+//_LIT(KMenuText2, "B - Await incoming SCO      G - Connect SCO");
+//_LIT(KMenuText3, "C - Await SCO disconnect    H - Disconnect SCO");
+//_LIT(KMenuText4, "D - Await ACL disconnect    I - Disconnect ACL");
+//_LIT(KMenuText5, "E - Receive Data            J - Send Data");
+//_LIT(KMenuText6, "K - Hard disconnect ACL");
+//_LIT(KMenuText7, "X - Exit");
+//_LIT(KNewLine, "\r\n");
+
+//const TBTDevAddr KDevAddr(MAKE_TINT64(0x0002, 0x5bff0a1e));
+
+class CTestBM : public CActive
+	{
+	public:
+		CTestBM();
+		void InitL();
+		void DoTestL();
+		void RunL();
+		void DoCancel();
+	private:
+	private:
+		CBluetoothExchanger* iExch;
+		CActiveScheduler* iSched;
+	};
+
+CTestBM::CTestBM() : CActive(CActive::EPriorityStandard)
+	{}
+
+void CTestBM::InitL()
+	{
+	TUUID uuid(KServiceUID1,KServiceUID2,KServiceUID3,KServiceUID4);
+	iSched = new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(iSched);
+	iExch = CBluetoothExchanger::NewL(uuid);
+	iSched->Add(this);
+	}
+
+void CTestBM::DoTestL()
+	{
+	test.Printf(_L("Press a key to start search\r\n"));
+	test.Getch();
+	iExch->LookForPeersL(iStatus);
+	SetActive();
+	iSched->Start();
+	test(iStatus == KErrNone);
+	test.Printf(_L("Completed with status %d\r\n"), iStatus.Int());
+	TInt count;
+	TBTSockAddr addr;
+	THostName name;
+	TNameEntry* entry;
+	iExch->First();
+	count = iExch->Count();
+	test.Printf(_L("%d compatible devices found\r\n"), count);
+	while(iExch->Next(entry) == KErrNone)
+		{
+		addr = (*entry)().iAddr;
+		name = (*entry)().iName;
+		test.Printf(_L("Device address 0x%02x%02x%02x%02x%02x%02x\r\n"),
+			addr.BTAddr()[0],
+			addr.BTAddr()[1],
+			addr.BTAddr()[2],
+			addr.BTAddr()[3],
+			addr.BTAddr()[4],
+			addr.BTAddr()[5]);
+		test.Printf(_L("Device name: %S\r\n"), &name);
+		}
+	test.Getch();
+	}
+
+void CTestBM::RunL()
+	{
+	iSched->Stop();
+	}
+
+void CTestBM::DoCancel()
+	{
+	//iExch->Cancel();
+	}
+
+void LoadLDD_PDD()
+	{
+	TInt r;
+#ifdef __EPOC32__
+	r=StartC32();
+	if (r!=KErrNone && r!=KErrAlreadyExists)
+		{
+		test.Printf(_L("Failed %d!\n\r"),r);
+		test(r==KErrNone);
+		}
+	else
+		test.Printf(_L("Started C32\n"));
+#endif
+	test.Printf(_L("Loading PDD\n"));
+	r=User::LoadPhysicalDevice(PDD_NAME);
+	if (r!=KErrNone && r!=KErrAlreadyExists)
+		{
+		test.Printf(_L("Failed %d!\n\r"),r);
+		test(r==KErrNone);
+		}
+	else 
+		test.Printf(_L("Loaded LDD\n"));
+	test.Printf(_L("Loading LDD\n"));
+	r=User::LoadLogicalDevice(LDD_NAME);
+	if (r!=KErrNone && r!=KErrAlreadyExists)
+		{
+		test.Printf(_L("Failed %d!\n\r"),r);
+		test(r==KErrNone);
+		}
+	else
+		test.Printf(_L("Loaded PDD\n"));
+	}
+
+
+void RunTestL()
+	{
+	CTestBM *st = new(ELeave) CTestBM;
+	CleanupStack::PushL(st);
+	LoadLDD_PDD();
+	st->InitL();
+	st->DoTestL();
+	CleanupStack::PopAndDestroy(st);
+	}
+
+TInt E32Main()
+	{
+	CTrapCleanup* cleanupStack=CTrapCleanup::New();
+
+	TRAPD(err,RunTestL());
+
+	delete cleanupStack;
+   	
+	return err;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/tbm.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        tbm.exe
+TARGETTYPE    EXE
+
+SRCDBG
+
+SOURCEPATH .
+SOURCE	      tbm.cpp
+
+USERINCLUDE	    .
+SYSTEMINCLUDE /epoc32/include
+
+LIBRARY       euser.lib bluetooth.lib
+LIBRARY       sdap.lib
+
+CAPABILITY ALL -TCB
+
+LIBRARY       c32.lib
+
+VENDORID 0x70000001
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/buffer/t_rbuf.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,569 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\buffer\t_rbuf.cpp
+* Overview:
+* Test methods of the RBuf16, RBuf8, RBuf template class.
+* API Information:
+* RBuf16, RBuf8, RBuf.
+* Details:
+* For RBuf8, RBuf16 and RBuf objects:
+* - Test the Create and CreateMax methods by verifying the return value of
+* KErrNone, the initial length and max length. Perform basic write and read
+* operations and verify the results.
+* - Test the CreateL and CreateMaxL methods by verifying the return value of 
+* KErrNone. Also force a heap error and verify return value of KErrNoMemory.
+* - Test the Create(const TDesC_& aDesc) and Create(const TDesCX_ aDesc, 
+* TInt aMaxLength) methods by verifying the return value of KErrNone. Verify
+* initial length, max length and initialisation.
+* - Test the CreateL(const TDesC_& aDesc) and CreateMaxL(const TDesCX_ aDesc, 
+* TInt aMaxLength) methods by verifying the return value of KErrNone. Also 
+* force a heap error and verify return value of KErrNoMemory.
+* - Test the Swap method by creating two initialised objects, calling Swap 
+* and confirming the results as expected.
+* - Test the Assign method by performing an assign from a variety of sources
+* and verifying the results are as expected.
+* - Test the ReAlloc method in a variety of scenarios that decrease memory, 
+* increase memory and zero-length memory. Verify that the results are as
+* expected.
+* - Test the ReAllocL by verifying the return value of KErrNone. Also force 
+* a heap error and verify return value of KErrNoMemory. Verify that the
+* object is the same as before the failed ReAllocL call.
+* - Test the CleanupClosePushL method via CleanupStack::PopAndDestroy().
+* - Force the CleanupClosePushL to leave to check cleanup of RBuf.
+* Platforms/Drives/Compatibility:
+* All 
+* Assumptions/Requirement/Pre-requisites:
+* Failures and causes:
+* Base Port information:
+*
+*/
+
+
+#include <e32test.h>
+#include <e32math.h>
+#include <u32std.h>
+
+LOCAL_D RTest test(_L("T_RBUF"));
+
+#undef _TS
+#define _TS(a) ((const TTEXT*)RTest::String(sizeof(TTEXT),(TText8*)a,(TText16*)L ## a)) 
+
+/**
+Tests the following methods. 
+ - TInt Create(TInt aMaxLength);
+ - TInt CreateMax(TInt aMaxLength);
+*/
+template<class RBUF>	
+LOCAL_C void TestCreate(RBUF*)
+{
+	RBUF rBuf;
+	
+	test.Next(_L("Create(TInt aMaxLength) method"));
+
+	test(rBuf.Create(19)==KErrNone);	//Create RBuf as EPtr type
+	test(rBuf.Length()==0);
+	test(rBuf.MaxLength()==19);
+	rBuf.SetLength(2);
+	rBuf[1] = 1;						//Try basic write & ...
+	test(rBuf[1] == 1);					//... read 
+	rBuf.Close();
+
+	test(rBuf.Create(0)==KErrNone);		//Create zero length RBuf as EPtr type
+	test(rBuf.Length()==0);
+	test(rBuf.MaxLength()==0);
+	rBuf.Close();
+	
+	test.Next(_L("CreateMax(TInt aMaxLength) method"));
+	
+	test(rBuf.CreateMax(20)==KErrNone);	//Create RBuf as EPtr type
+	test(rBuf.Length()==20);
+	test(rBuf.MaxLength()==20);
+	rBuf[1] = 1;
+	test(rBuf[1] == 1);
+	rBuf.Close();
+}
+
+/**
+Tests the following methods. 
+ - void CreateL(TInt aMaxLength);
+ - void CreateMaxL(TInt aMaxLength);
+*/
+template<class RBUF>
+LOCAL_C void TestCreateLeaving(RBUF*)
+{
+	RBUF rBuf;
+
+	test.Next(_L("CreateL(TInt aMaxLength) method"));
+
+	TRAPD(ret, rBuf.CreateL(20));	//Create RBuf as EPtr type
+	test(KErrNone == ret);
+	rBuf.Close();
+
+#if defined(_DEBUG)
+	__UHEAP_FAILNEXT(1);			//Set the next alloc to fail
+	TRAP(ret, rBuf.CreateL(10));	
+	test(KErrNoMemory == ret);		// It fails due to __UHEAP_FAILNEXT(1);
+#endif //_DEBUG
+
+	test.Next(_L("CreateMaxL(TInt aMaxLength) method"));
+
+	TRAP(ret, rBuf.CreateMaxL(20));	//Create RBuf as EPtr type
+	test(KErrNone == ret);
+	rBuf.Close();
+
+#if defined(_DEBUG)
+	__UHEAP_FAILNEXT(1);			//Set the next alloc to fail
+	TRAP(ret, rBuf.CreateMaxL(10));	
+	test(KErrNoMemory == ret);		// It fails due to __UHEAP_FAILNEXT(1);
+#endif //_DEBUG
+}
+
+/**
+Tests the following methods. 
+ - TInt Create(const TDesC_& aDesc);
+ - TInt Create(const TDesC_& aDesc, TInt aMaxLength));
+*/
+template<class RBUF, class TBUF, class TTEXT>	
+LOCAL_C void TestCreateFromDes(RBUF*)
+{
+	RBUF rBuf;
+	TBUF des (_TS("012345"));
+
+	test.Next(_L("Create(const TDesC_& aDesc) method"));
+
+	test(rBuf.Create(des)==KErrNone);					//Create RBuf as EPtr type
+	test(rBuf == des);
+	rBuf.Close();
+
+	test.Next(_L("Create(const TDesCX_ aDesc, TInt aMaxLength) method"));
+
+	test(rBuf.Create(des, des.Length())==KErrNone);		//Create RBuf as EPtr type
+	test(rBuf==des);
+	rBuf.Close();
+
+	test(rBuf.Create(des, des.Length()-2)==KErrNone);	//Create RBuf as EPtr type
+	test(rBuf.Length()==4);
+	test(rBuf.MaxLength()==4);
+	test(rBuf[0] == (TTEXT)('0'));
+	test(rBuf[3] == (TTEXT)('3'));
+	test(rBuf<des);
+	rBuf.Close();
+
+	test(rBuf.Create(des, des.Length()+2)==KErrNone);	//Create RBuf as EPtr type
+	test(rBuf.Length()==6);
+	test(rBuf.MaxLength()==8);
+	test(rBuf==des);
+	rBuf.Close();
+}
+
+/**
+Tests the following methods. 
+ - void CreateL(const TDesC_& aDesc);
+ - void CreateMaxL(const TDesC_& aDesc, TInt aMaxLength);
+*/
+template<class RBUF, class TBUF, class TTEXT>
+LOCAL_C void TestCreateFromDesLeaving(RBUF*)
+{
+	RBUF rBuf;
+	TBUF des (_TS("123456"));
+
+	test.Next(_L("CreateL(const TDesC_& aDesc) method"));
+
+	TRAPD(ret, rBuf.CreateL(des));				//Create RBuf as EPtr type
+	test(KErrNone == ret);
+	rBuf.Close();
+
+#if defined(_DEBUG)
+	__UHEAP_FAILNEXT(1);						//Set the next alloc to fail
+	TRAP(ret, rBuf.CreateL(des));	
+	test(KErrNoMemory == ret);					// This will fail due to __UHEAP_FAILNEXT(1);
+#endif //(_DEBUG)
+
+	test.Next(_L("CreateL(const TDesC_& aDesc, TInt aMaxLength) method"));
+
+	TRAP(ret, rBuf.CreateL(des, des.Length()));	//Create RBuf as EPtr type
+	test(KErrNone == ret);
+	rBuf.Close();
+
+#if defined(_DEBUG)
+	__UHEAP_FAILNEXT(1);						//Set the next alloc to fail
+	TRAP(ret, rBuf.CreateL(des, des.Length()));	
+	test(KErrNoMemory == ret);					// It fails due to __UHEAP_FAILNEXT(1);
+#endif //(_DEBUG)
+}
+
+/**
+Tests the following methods:
+ - TInt Assign(const RBuf_& rBuf);
+ - TInt Assign(TUint* aHeapCell, TInt aMaxLength);
+ - TInt Assign(TUint* aHeapCell, TInt aLength, TInt aMaxLength);
+ - TInt Assign(HBufC& aHBuf);
+ - RBuf(HBufC_&) constructor.
+*/
+template<class RBUF, class TBUF, class TTEXT, class HBUF>	
+LOCAL_C void TestAssign(RBUF*)
+{
+	RBUF rBuf;
+	TBUF des (_TS("123456"));
+	RBUF rBuf2;
+
+	test.Next(_L("Assign(const RBuf_& aRBuf) method"));
+
+	rBuf2.Create(des);
+	rBuf.Assign(rBuf2);
+	test(rBuf==rBuf2);
+	rBuf.Close();
+	
+	test.Next(_L("Assign(TUint* aHeapCell, TInt aLength, TInt aMaxLength ) method"));
+
+	TTEXT* heap = (TTEXT*)User::Alloc(24*(TInt)sizeof(TTEXT)); //Allocate 48 bytes for 24 long RBuf16
+	rBuf.Assign(heap, 12,24);
+	test(rBuf.Length() == 12);		
+	test(rBuf.MaxLength() == 24);		
+	rBuf.Close();
+
+	heap = NULL;
+	rBuf.Assign(heap, 0,0);
+	test(rBuf.Length() == 0);		
+	test(rBuf.MaxLength() == 0);		
+	rBuf.Close();
+	
+	test.Next(_L("Assign(TUint* aHeapCell, TInt aMaxLength ) method"));
+	
+	heap = (TTEXT*)User::Alloc(24*(TInt)sizeof(TTEXT)); //Allocate 48 bytes for 24 long RBuf16
+	rBuf.Assign(heap, 24);
+	test(rBuf.Length() == 0);		
+	test(rBuf.MaxLength() == 24);		
+	rBuf.Close();
+
+	test.Next(_L("Assign(HBufC_* aHBuf) method"));
+
+	HBUF* hBuf = HBUF::NewMax(11);
+	rBuf.Assign(hBuf);			//Create RBuf as EBufCPtr type
+	test(rBuf.Length() == 11);
+	test(rBuf.MaxLength() >= 11); //There could me more allocated memory - see HBufC8::Des()
+	rBuf.Close();
+
+	test.Next(_L("RBuf_(HBufC_* aHBuf) constructor"));
+
+	hBuf = HBUF::NewMax(12);	//Create RBuf as EBufCPtr
+	RBUF rBuf3(hBuf);
+	test(rBuf3.Length() == 12);
+	test(rBuf3.MaxLength() >= 12);
+	rBuf3.Close();
+
+	hBuf = HBUF::NewMax(0);
+	RBUF rBuf4(hBuf);			//The length of aHBuf is zero
+	test(rBuf4.Length() == 0);
+	rBuf4.Close();
+
+	hBuf = NULL;				//aHBuf is NULL
+	RBUF rBuf5(hBuf);
+	test(rBuf5.Length() == 0);
+	test(rBuf5.MaxLength() == 0);
+	rBuf5.Close();
+}
+
+/**
+Tests the following methods. 
+ - TInt ReAlloc(TInt aMaxLength);
+*/
+template<class RBUF, class TBUF, class TTEXT, class HBUF>	
+LOCAL_C void TestReAlloc(RBUF*)
+{
+	RBUF rBuf;
+
+	TBUF des (_TS("0123456"));
+
+
+	test.Next(_L("ReAlloc(TInt aMaxLength) method"));
+
+	//reallocate EPtr type - decrease memory
+	test(rBuf.Create(des)==KErrNone);					//Create as EPtr
+	rBuf.SetLength(3);
+	test(rBuf.ReAlloc(3)==KErrNone);					//ReAlloc to EPtr
+	test(rBuf.MaxLength()>=3);
+	test(rBuf.Length()==3);
+	test(rBuf[0] == (TTEXT)('0'));
+	test(rBuf[2] == (TTEXT)('2'));
+	rBuf.Close();
+
+	//reallocate EPtr type - increase memory
+	test(rBuf.Create(des,des.MaxLength())==KErrNone);	//Create as EPtr
+	test(rBuf.ReAlloc(15)==KErrNone);					//ReAlloc to EPtr
+	test(rBuf.MaxLength()==15);
+	test(rBuf.Length()==7);
+	test(rBuf[0] == (TTEXT)('0'));
+	test(rBuf[6] == (TTEXT)('6'));
+	rBuf.Close();
+
+
+	//reallocate EBufCPtr type - decrease memory
+	HBUF* hBuf = HBUF::NewMax(9);
+	*hBuf = _TS("012345678");
+	rBuf.Assign(hBuf);						//Create as EBufCPtr
+	rBuf.SetLength(5);
+	test(rBuf.ReAlloc(5)==KErrNone);		//ReAlloc to EBufCPtr
+	test(rBuf.MaxLength()>=5);//There could be more allocated memory - see HBufC8::Des()
+	test(rBuf.Length()==5);
+	test(rBuf[0] == (TTEXT)('0'));
+	test(rBuf[4] == (TTEXT)('4'));
+	rBuf.Close();
+
+	//reallocate EBufCPtr type - increase memory
+	hBuf = HBUF::NewMax(9);
+	*hBuf = _TS("012345678");
+	rBuf.Assign(hBuf);						//Create as EBufCPtr
+	test(rBuf.ReAlloc(15)==KErrNone);		//ReAlloc to EBufCPtr
+	test(rBuf.MaxLength()>=15);//There could be more allocated memory - see HBufC8::Des()
+	test(rBuf.Length()==9);
+	test(rBuf[0] == (TTEXT)('0'));
+	test(rBuf[8] == (TTEXT)('8'));
+	rBuf.Close();
+
+	//reallocate EPtr type - to zero-length
+	test(rBuf.Create(des)==KErrNone);		//Create as EPtr
+	rBuf.SetLength(0);
+	test(rBuf.ReAlloc(0)==KErrNone);		//ReAlloc to EPtr
+	test(rBuf.MaxLength()==0);
+	test(rBuf.Length()==0);
+	rBuf.Close();
+
+	//reallocate EBufCPtr type to zero-length
+	hBuf = HBUF::NewMax(9);
+	*hBuf = _TS("012345678");
+	rBuf.Assign(hBuf);						//Create as EBufCPtr
+	rBuf.SetLength(0);
+	test(rBuf.ReAlloc(0)==KErrNone);		//ReAlloc to EPtr
+	test(rBuf.MaxLength()==0);
+	test(rBuf.Length()==0);
+	rBuf.Close();
+
+	//reallocate from zero-length
+	rBuf.Create(0);							//Create as EPtr
+	test(rBuf.ReAlloc(9)==KErrNone);		//ReAlloc to EPtr
+	test(rBuf.MaxLength()==9);
+	test(rBuf.Length()==0);
+	rBuf.Close();
+
+	//reallocate from zero-length EBufCPtr to EPtr
+	struct dummy // make it look like RBuf16
+		{
+		TInt iLength;
+		TInt iMaxLength;
+		HBUF* iEBufCPtrType;	//Pointer to buffer data
+		};
+
+	// reference rBuf as our dummy.. 
+	dummy &drBuf = (dummy&) rBuf;
+	rBuf.Assign(HBUF::NewL(0)); 			//Create as EBufCPtr
+	test(EBufCPtr == (drBuf.iLength>>KShiftDesType));
+	rBuf.Close(); 	// the actual behavior causes memory leaks, so we should close it first.
+	test(rBuf.ReAlloc(13)==KErrNone);	// ReAlloc changes it from EBufCPtr to EPtr
+	test(EPtr == (drBuf.iLength>>KShiftDesType));
+	test(rBuf.MaxLength() == 13);		
+	test(rBuf.Length() == 0);		
+	rBuf.Close();
+
+	//reallocate from zero-length to zero-length
+	rBuf.Create(0);							//Create as EPtr
+	test(rBuf.ReAlloc(0)==KErrNone);		//ReAlloc to EPtr
+	test(rBuf.Length() == 0);		
+	test(rBuf.MaxLength() == 0);		
+	rBuf.Close();
+
+}
+
+/**
+Tests the following methods. 
+ - TInt ReAllocL(TInt aMaxLength);
+*/
+template<class RBUF, class TBUF, class TTEXT>	
+LOCAL_C void TestReAllocLeaving(RBUF*)
+{
+	RBUF rBuf;
+
+	TBUF des(_TS("01"));
+
+	test.Next(_L("ReAllocL(TInt aMaxLength) method"));
+
+	test(rBuf.Create(des) ==KErrNone);
+	TRAPD(ret, rBuf.ReAllocL(6));	//ReAlloc buffer
+	test(KErrNone == ret);
+
+#if defined(_DEBUG)
+	__UHEAP_FAILNEXT(1);
+	TRAP(ret, rBuf.ReAllocL(100));	//Realloc buffer. This should fail.
+	test(KErrNoMemory == ret);
+#endif //(_DEBUG)
+
+	test(rBuf.MaxLength()==6);		//Check RBuf is the same as before ... 
+	test(rBuf.Length()==2);			//... ReAlloc that failed.
+	test(rBuf[0] == (TTEXT)('0'));
+	test(rBuf[1] == (TTEXT)('1'));
+	rBuf.Close();
+}
+
+/**
+Tests the following methods. 
+ - void Swap(RBuf_& aBuf);
+*/
+template<class RBUF, class TBUF, class TTEXT>
+LOCAL_C void TestSwap(RBUF*)
+{
+	RBUF rBuf1, rBuf2;
+	TBUF des1(_TS("12"));
+	TBUF des2 (_TS("345678"));
+
+	test.Next(_L("Swap(RBuf_& aRBuf) method"));
+
+	test(rBuf1.Create(des1) ==KErrNone);
+	test(rBuf2.Create(des2) ==KErrNone);
+
+	rBuf1.Swap(rBuf2);
+
+	test(rBuf1==des2);
+	test(rBuf2==des1);
+
+	rBuf1.Close();
+	rBuf2.Close();
+}
+
+/**
+Test assignemnt operator.
+*/
+template<class RBUF, class TBUF, class TBUFC, class TTEXT>
+LOCAL_C void TestAssignmentOperator()
+{
+	test.Next(_L("Assignment operator"));
+
+	TBUF tdes(_TS("Modifiable descriptor"));
+	TBUFC tdesc(_TS("Non-modifiable descriptor"));
+
+	RBUF rbuf, rbuf2;
+	rbuf.Create(32);
+	rbuf2.Create(32);
+	rbuf2.Copy(_TS("Buffer descriptor"), 17);
+
+	rbuf = tdesc;	test(rbuf == tdesc);
+	rbuf = tdes;		test(rbuf == tdes);
+	rbuf = rbuf2;	test(rbuf == rbuf2);
+
+	rbuf2.Close();
+	rbuf.Close();
+}
+
+/**
+Tests the following methods. 
+ - void CleanupClosePushL();
+*/
+template<class RBUF> LOCAL_C void TestCleanupClosePushL(RBUF*)
+{
+	RBUF rBuf;
+	
+	test.Next(_L("CleanupClosePushL() method"));
+	test(KErrNone == rBuf.Create(10));
+	rBuf.CleanupClosePushL();
+	CleanupStack::PopAndDestroy();
+}
+
+/**
+This function will intentionally leave to check cleanup of RBuf.
+To be called in debug build only. Otherwise will panic.
+*/
+template<class RBUF> LOCAL_C void TestRBufCleanupL(RBUF*)
+{
+	RBUF rBuf;
+
+	test.Next(_L("Test cleanup of RBuf"));
+	test(KErrNone == rBuf.Create(10));
+	rBuf.CleanupClosePushL();
+
+	__UHEAP_FAILNEXT(1);
+	TInt* ptr = (TInt*)User::AllocL(20); //This should leave
+	*ptr = 0; //Avoid compiler warning
+	User::Panic(_L("Should not reach this line"),0);
+}
+
+GLDEF_C TInt E32Main()
+    {
+	RBuf8* r8=0;
+	RBuf16* r16=0;
+	RBuf* r=0;
+
+	CTrapCleanup* trapHandler=CTrapCleanup::New();
+	test(trapHandler!=NULL);
+
+	test.Title();
+	test.Start(_L("Testing RBuf8, RBuf16 & RBuf classes"));
+
+	__UHEAP_MARK;
+
+	test.Start(_L("Testing class RBuf8 ..."));
+	TestCreate<RBuf8>(r8);
+	TestCreateLeaving<RBuf8>(r8);
+	TestCreateFromDes<RBuf8,TBuf8<11>,TText8>(r8);
+	TestCreateFromDesLeaving<RBuf8,TBuf8<11>,TText8>(r8);
+	TestSwap<RBuf8,TBuf8<11>,TText8>(r8);
+	TestAssign<RBuf8,TBuf8<11>,TText8,HBufC8>(r8);
+	TestReAlloc<RBuf8,TBuf8<11>,TText8,HBufC8>(r8);
+	TestReAllocLeaving<RBuf8,TBuf8<11>,TText8>(r8);
+	TestAssignmentOperator<RBuf8,TBuf8<32>,TBufC8<32>,TText8>();
+	TRAPD(ret,TestCleanupClosePushL<RBuf8>(r8)); test(ret==KErrNone);
+#if defined(_DEBUG)
+	TRAP(ret, TestRBufCleanupL<RBuf8>(r8)); test(KErrNoMemory == ret);
+#endif //(_DEBUG)
+	test.End();
+
+	test.Start(_L("Testing class RBuf16 ..."));
+	TestCreate<RBuf16>(r16);
+	TestCreateLeaving<RBuf16>(r16);
+	TestCreateFromDes<RBuf16,TBuf16<11>,TText16>(r16);
+	TestCreateFromDesLeaving<RBuf16,TBuf16<11>,TText16>(r16);
+	TestSwap<RBuf16,TBuf16<11>,TText16>(r16);
+	TestAssign<RBuf16,TBuf16<11>,TText16,HBufC16>(r16);
+	TestReAlloc<RBuf16,TBuf16<11>,TText16,HBufC16>(r16);
+	TestReAllocLeaving<RBuf16,TBuf16<11>,TText16>(r16);
+	TestAssignmentOperator<RBuf16,TBuf16<32>,TBufC16<32>,TText16>();
+	TRAP(ret,TestCleanupClosePushL<RBuf16>(r16)); test(ret==KErrNone);
+#if defined(_DEBUG)
+	TRAP(ret, TestRBufCleanupL<RBuf16>(r16)); test(KErrNoMemory == ret);
+#endif //(_DEBUG)
+	test.End();
+
+	test.Start(_L("Testing class RBuf ..."));
+	TestCreate<RBuf>(r);
+	TestCreateLeaving<RBuf>(r);
+	TestCreateFromDes<RBuf,TBuf<11>,TText>(r);
+	TestCreateFromDesLeaving<RBuf,TBuf<11>,TText>(r);
+	TestSwap<RBuf,TBuf<11>,TText>(r);
+	TestAssign<RBuf,TBuf<11>,TText,HBufC>(r);
+	TestReAlloc<RBuf,TBuf<11>,TText,HBufC>(r);
+	TestReAllocLeaving<RBuf,TBuf<11>,TText>(r);
+	TestAssignmentOperator<RBuf,TBuf<32>,TBufC<32>,TText>();
+	TRAP(ret,TestCleanupClosePushL<RBuf>(r)); test(ret==KErrNone);
+#if defined(_DEBUG)
+	TRAP(ret, TestRBufCleanupL<RBuf>(r)); test(KErrNoMemory == ret);
+#endif //(_DEBUG)
+	test.End();
+
+	__UHEAP_MARKEND;
+
+	test.End();
+
+	delete trapHandler;
+	return(KErrNone);
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_lddturnaroundtimertest.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\device\d_lddturnaoundtimertest.cpp
+* LDD for getting the timer count & ticks for testing turnaround timer implementation.
+*
+*/
+
+
+#include <kernel.h>
+#include "d_lddturnaroundtimertest.h"
+
+class DTest1;
+class DTestFactory : public DLogicalDevice
+//
+// Test LDD factory
+//
+	{
+public:
+	DTestFactory();
+	virtual TInt Install(); 					//overriding pure virtual
+	virtual void GetCaps(TDes8& aDes) const;	//overriding pure virtual
+	virtual TInt Create(DLogicalChannelBase*& aChannel); 	//overriding pure virtual
+	};
+
+class DTest1 : public DLogicalChannelBase
+//
+// Test logical channel
+//
+	{
+public:
+	virtual ~DTest1();
+protected:
+	virtual TInt DoCreate(TInt aUnit, const TDesC8* anInfo, const TVersion& aVer);
+	virtual TInt Request(TInt aReqNo, TAny* a1, TAny* a2);
+	};
+
+
+
+DECLARE_STANDARD_LDD()
+	{
+	return new DTestFactory;
+	}
+
+//
+// Constructor
+//
+DTestFactory::DTestFactory()
+	{
+
+	}
+
+TInt DTestFactory::Create(DLogicalChannelBase*& aChannel)
+	{
+//
+// Create new channel
+//
+	aChannel=new DTest1;
+	return aChannel?KErrNone:KErrNoMemory;
+	}
+
+TInt DTestFactory::Install()
+//
+// Install the LDD - overriding pure virtual
+//
+	{
+	return SetName(&KLddName);
+	}
+
+void DTestFactory::GetCaps(TDes8& /*aDes*/) const
+//
+// Get capabilities - overriding pure virtual
+//
+	{
+	}
+
+TInt DTest1::DoCreate(TInt /*aUnit*/, const TDesC8* /*aInfo*/, const TVersion& /*aVer*/)
+//
+// Create channel
+//
+	{
+	return KErrNone;
+	}
+
+DTest1::~DTest1()
+//
+// Destructor
+//
+	{
+	}
+
+TInt DTest1::Request(TInt aReqNo, TAny* a1, TAny* /*a2*/)
+	{
+//
+// Get the timer tick count & ticks
+//
+    TUint temp = 0;
+	switch(aReqNo)
+		{
+		case (RLddTest1::EGET_TIMERTICKS):
+			{
+			temp = (TInt)(*(TInt *)a1);
+			temp = NKern::TimerTicks(temp);
+			kumemput(a1, &temp, sizeof(temp));
+			return KErrNone;
+			}
+		case (RLddTest1::EGET_TIMERTICKCOUNT):
+			{
+			temp = NKern::TickCount();
+       		kumemput(a1, &temp, sizeof(temp));
+			return KErrNone;
+			}
+		}
+	return KErrNone;	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_lddturnaroundtimertest.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\device\d_lddturnaroundtimetest.h
+*
+*/
+
+
+#if !defined(__DLDDTURNAROUNDTIMETEST_H__)
+#define __DLDDTURNAROUNDTIMETEST_H__
+
+#include <e32cmn.h>
+#ifndef __KERNEL_MODE__
+#include <e32std.h>
+#endif
+
+_LIT(KLddName,"TurnarountTimeTest");
+
+class RLddTest1 : public RBusLogicalChannel
+	{
+public:
+	enum TControl
+		{
+		EGET_TIMERTICKCOUNT = 0,
+		EGET_TIMERTICKS = 1
+		};
+
+public:
+	inline TInt Open();
+	inline TInt Test_getTimerTicks(TUint &time);
+	inline TInt Test_getTimerCount(TUint &time);
+	static inline TInt Unload();
+	};
+
+#include "d_lddturnaroundtimertest.inl"
+
+#endif   //__DLDDTURNAROUNDTIMETEST_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_lddturnaroundtimertest.inl	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\device\d_lddtunraroundtimetest.inl
+*
+*/
+
+
+#ifndef __KERNEL_MODE__
+inline TInt RLddTest1::Open()
+	{ return DoCreate(KLddName,TVersion(0,1,1),KNullUnit,NULL,NULL); }
+inline TInt RLddTest1::Test_getTimerTicks(TUint &time)
+	{ return DoControl(EGET_TIMERTICKS, (TAny *)&time); }
+inline TInt RLddTest1::Test_getTimerCount(TUint &time)
+    { return DoControl(EGET_TIMERTICKCOUNT, (TAny *)&time); }
+inline TInt RLddTest1::Unload()
+	{ return User::FreeLogicalDevice(KLddName); }
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_newldd.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,331 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <kern_priv.h>
+#include "d_newldd.h"
+#include "t_newldd.h"
+
+TInt DOperatorNewTest::Request(TInt aReqNo, TAny* /*a1*/, TAny* /*a2*/)
+	{
+	switch(aReqNo)
+		{
+		//new
+		case RNewLddTest::ENew:
+			{
+			return TestNew();
+			}
+		//placement new
+		case RNewLddTest::EPlacementVectorNew:
+			{
+			return TestPlacementVectorNew();
+			}
+		//vector new
+		case RNewLddTest::EVectorNew:
+			{
+			return TestVectorNew();
+			}
+		case RNewLddTest::EPlacementNew:
+			{
+			return TestPlacementNew();
+			}
+		default:
+			break;
+		}
+	return KErrNone;
+	}
+
+TInt DOperatorNewTest::TestNew()
+	{
+	Kern::Printf("::TestNew()");
+	NKern::ThreadEnterCS();
+
+	#define TEST_KERN_NEW_OOM(CLASS)\
+		{\
+		Kern::Printf("new " #CLASS);\
+		CLASS* p##CLASS=NULL;\
+		XTRAPD(r,XT_DEFAULT, p##CLASS = new CLASS);\
+		if(r!=KErrNone)\
+			{\
+			NKern::ThreadLeaveCS();\
+			return r;\
+			}\
+		if(p##CLASS)\
+			{\
+			delete p##CLASS;\
+			NKern::ThreadLeaveCS();\
+			return KErrGeneral;\
+			}\
+		}
+
+	//OOM tests: should(must) not throw
+	Kern::Printf("OOM Tests;");
+
+	TEST_KERN_NEW_OOM(XVeryLargeClassCtorAndDtor);
+	TEST_KERN_NEW_OOM(XVeryLargeClassCtorOnly);
+	TEST_KERN_NEW_OOM(XVeryLargeClassDtorOnly);
+	TEST_KERN_NEW_OOM(XVeryLargeClassNoTors);
+
+	Kern::Printf("non-OOM Tests;");
+	//Non-OOM:
+	
+	#define TEST_KERN_NEW(CLASS, TEST_CTOR)\
+		{\
+		Kern::Printf("new " #CLASS);\
+		CLASS* p##CLASS=NULL;\
+		XTRAPD(r,XT_DEFAULT, p##CLASS = new CLASS);\
+		if(r!=KErrNone)\
+			{\
+			NKern::ThreadLeaveCS();\
+			return r;\
+			}\
+		if(p##CLASS==NULL)\
+			{\
+			NKern::ThreadLeaveCS();\
+			return KErrGeneral;\
+			}\
+		volatile TBool testCtor=(TEST_CTOR);\
+		if(testCtor && (p##CLASS->iState!=EConstructed) )\
+			{\
+			r=KErrGeneral;\
+			}\
+		delete p##CLASS;\
+		p##CLASS=NULL;\
+		if(r!=KErrNone)\
+			return r;\
+		}
+
+	TEST_KERN_NEW(XCtorAndDtor, ETrue);
+	TEST_KERN_NEW(XCtorOnly, ETrue);
+	TEST_KERN_NEW(XDtorOnly, EFalse);
+	TEST_KERN_NEW(XNoTors, EFalse);
+	
+	NKern::ThreadLeaveCS();
+	return KErrNone;
+	}
+
+TInt DOperatorNewTest::TestPlacementNew()
+	{
+	Kern::Printf("::TestPlacementNew");
+
+	#define TEST_KERN_PLACEMENT_NEW(CLASS, POST_CTOR, POST_DTOR) \
+		{\
+		Kern::Printf("new(someram) " #CLASS);\
+		NKern::ThreadEnterCS();\
+		void* someram = Kern::AllocZ(sizeof(CLASS));\
+		NKern::ThreadLeaveCS();\
+		if(!someram)\
+			return KErrNoMemory;\
+		\
+		CLASS* p##CLASS = new (someram) CLASS;\
+		TInt r=KErrNone;\
+		if(p##CLASS->iState != POST_CTOR)\
+			{\
+			r=KErrGeneral;\
+			}\
+		if(r==KErrNone)\
+			{\
+			p##CLASS->~CLASS();\
+			if(p##CLASS->iState != POST_DTOR)\
+				{\
+				r=KErrGeneral;\
+				}\
+			}\
+		NKern::ThreadEnterCS();\
+		Kern::Free(someram);\
+		NKern::ThreadLeaveCS();\
+		if(r != KErrNone)\
+			return r;\
+		}
+
+	TEST_KERN_PLACEMENT_NEW(XCtorAndDtor, EConstructed, EDeconstructed);
+	TEST_KERN_PLACEMENT_NEW(XCtorOnly, EConstructed, EConstructed);
+	TEST_KERN_PLACEMENT_NEW(XDtorOnly, ENull, EDeconstructed);
+	TEST_KERN_PLACEMENT_NEW(XNoTors, ENull, ENull);
+	
+	return KErrNone;
+	}
+
+TInt DOperatorNewTest::TestPlacementVectorNew()
+	{
+	
+	Kern::Printf("::TestPlacementVectorNew");
+	
+	//for vector placement new, emulator compilers 
+	//allocate a cookie at start of buffer.
+	//this seems wrong since the cookie is an internal compiller
+	//detail which the user should not need to know about
+	#if defined(__WINSCW__) || defined(__VC32__)
+	Kern::Printf("Not running on emulator. WINSCW and Visual studio\n insert a cookie for placement vector new"); 
+
+	#else
+
+	#define TEST_KERN_PLACEMENT_VECTOR_NEW(CLASS, ARRAY_LENGTH, POST_CTOR, POST_DTOR) \
+		{\
+		NKern::ThreadEnterCS();\
+		void* someram = Kern::AllocZ(sizeof(CLASS) * (ARRAY_LENGTH));\
+		NKern::ThreadLeaveCS();\
+		if(someram==NULL)\
+			return KErrNoMemory;\
+		\
+		TInt r = KErrNone;\
+		Kern::Printf("new (someram) " #CLASS "[%d]", ARRAY_LENGTH);\
+		\
+		CLASS* p##CLASS = new (someram) CLASS[ARRAY_LENGTH];\
+		for(TInt i=0; i<(ARRAY_LENGTH); ++i)\
+			{\
+			if(p##CLASS[i].iState != POST_CTOR)\
+				{\
+				r=KErrGeneral;\
+				break;\
+				}\
+			p##CLASS[i].~CLASS();\
+			if(p##CLASS[i].iState != POST_DTOR)\
+				{\
+				r=KErrGeneral;\
+				break;\
+				}\
+			}\
+		NKern::ThreadEnterCS();\
+		Kern::Free(someram);\
+		NKern::ThreadLeaveCS();\
+		if(r!=KErrNone)\
+			return r;\
+		}\
+	
+	TEST_KERN_PLACEMENT_VECTOR_NEW(XCtorAndDtor, KTestArrayLength, EConstructed, EDeconstructed);
+	TEST_KERN_PLACEMENT_VECTOR_NEW(XCtorOnly, KTestArrayLength, EConstructed, EConstructed);
+	TEST_KERN_PLACEMENT_VECTOR_NEW(XDtorOnly, KTestArrayLength, ENull, EDeconstructed);
+	TEST_KERN_PLACEMENT_VECTOR_NEW(XNoTors, KTestArrayLength, ENull, ENull);
+
+	#endif
+
+	return KErrNone;
+	}
+TInt DOperatorNewTest::TestVectorNew()
+	{
+	//OOM testing
+	Kern::Printf("::TestVectorNew()");
+	Kern::Printf("OOM test");
+	
+	TInt r=KErrNone;
+
+	#define TEST_KERN_VECTOR_NEW_OOM(CLASS, ARRAY_LENGTH)\
+	{\
+		Kern::Printf("new " #CLASS "[%d]", ARRAY_LENGTH);\
+		CLASS* p##CLASS = NULL;\
+		NKern::ThreadEnterCS();\
+		XTRAP(r,XT_DEFAULT,p##CLASS = new CLASS[ARRAY_LENGTH]; );\
+		if(p##CLASS)\
+			{\
+			r=KErrGeneral;\
+			delete p##CLASS;\
+			}\
+		NKern::ThreadLeaveCS();\
+		if(r!=KErrNone)\
+			{\
+			return r;\
+			}\
+	}\
+
+	TEST_KERN_VECTOR_NEW_OOM(XCtorAndDtor, KOOMArraySize);
+	TEST_KERN_VECTOR_NEW_OOM(XCtorOnly, KOOMArraySize);
+	TEST_KERN_VECTOR_NEW_OOM(XDtorOnly, KOOMArraySize);
+	TEST_KERN_VECTOR_NEW_OOM(XNoTors, KOOMArraySize);
+
+	
+	//non-OOM:
+	Kern::Printf("non-OOM test");
+
+	#define TEST_KERN_VECTOR_NEW(CLASS, ARRAY_LENGTH, TEST_CTOR)\
+	{\
+		Kern::Printf("new " #CLASS "[%d]", ARRAY_LENGTH);\
+		CLASS* p##CLASS = NULL;\
+		NKern::ThreadEnterCS();\
+		XTRAP(r,XT_DEFAULT,p##CLASS = new CLASS[ARRAY_LENGTH]; );\
+		NKern::ThreadLeaveCS();\
+		if(p##CLASS == NULL)\
+			{\
+			return KErrNoMemory;\
+			}\
+		\
+		TBool testCtor=(TEST_CTOR);\
+		if(testCtor)\
+			{\
+			for(TInt i=0; i<(ARRAY_LENGTH); ++i)\
+				{\
+				if(p##CLASS[i].iState!=	EConstructed)\
+					{\
+					r=KErrGeneral;\
+					break;\
+					}\
+				}\
+			}\
+		\
+		NKern::ThreadEnterCS();\
+		delete[] p##CLASS;\
+		NKern::ThreadLeaveCS();\
+		p##CLASS=NULL;\
+		if(r!=KErrNone)\
+			{\
+			return r;\
+			}\
+	}\
+
+	TEST_KERN_VECTOR_NEW(XCtorAndDtor, KTestArrayLength, ETrue);
+	TEST_KERN_VECTOR_NEW(XCtorOnly, KTestArrayLength, ETrue);
+	TEST_KERN_VECTOR_NEW(XDtorOnly, KTestArrayLength, EFalse);
+	TEST_KERN_VECTOR_NEW(XNoTors, KTestArrayLength, EFalse);
+
+	return KErrNone;
+	}
+
+TInt DOperatorNewTestFactory::Create(DLogicalChannelBase*& aChannel)
+//
+// Create a new DTest on this logical device
+//
+	{
+	aChannel=new DOperatorNewTest();
+	return aChannel?KErrNone:KErrNoMemory;
+	}
+
+TInt DOperatorNewTestFactory::Install()
+//
+// Install the LDD - overriding pure virtual
+//
+	{
+	iVersion = TVersion(0,1,1);
+	return SetName(&KLddName);
+	}
+
+void DOperatorNewTestFactory::GetCaps(TDes8& /*aDes*/) const
+//
+// Get capabilities - overriding pure virtual
+//
+	{
+	//not supported
+	}
+
+
+
+DECLARE_STANDARD_LDD()
+	{
+	//create factory here.
+	return new DOperatorNewTestFactory;
+	}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/d_newldd.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* LDD for testing operator new kernel side
+*
+*/
+
+
+#ifndef __D_NEWLDD_H
+#define __D_NEWLDD_H
+
+#include <kernel.h>
+#include <e32cmn.h>
+
+#include "t_new_classes.h"
+
+
+
+class DOperatorNewTestFactory : public DLogicalDevice
+{
+public:
+	TInt Install();
+	void GetCaps(TDes8& aDes) const;
+	TInt Create(DLogicalChannelBase*& aChannel);
+};
+
+class DOperatorNewTest : public DLogicalChannelBase
+{
+public:
+	virtual TInt Request(TInt aReqNo, TAny* a1, TAny* a2);
+private:
+	TInt TestNew();
+	TInt TestPlacementNew();
+	TInt TestPlacementVectorNew();
+	TInt TestVectorNew();
+};
+
+
+#endif //__D_NEWLDD_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/t_new_classes.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "t_new_classes.h"
+
+XCtorAndDtor::XCtorAndDtor()
+	{
+	iState = EConstructed;
+	}
+XCtorAndDtor::~XCtorAndDtor()
+	{
+	iState = EDeconstructed;
+	}
+
+
+XCtorOnly::XCtorOnly()
+	{
+	iState = EConstructed;
+	}
+
+
+XDtorOnly::~XDtorOnly()
+	{
+	iState = EDeconstructed;
+	}
+
+
+XVeryLargeClassCtorAndDtor::XVeryLargeClassCtorAndDtor()
+	{
+	iBust[0] = EConstructed;
+	}
+XVeryLargeClassCtorAndDtor::~XVeryLargeClassCtorAndDtor()
+	{
+	iBust[0] = EDeconstructed;
+	}
+
+
+XVeryLargeClassCtorOnly::XVeryLargeClassCtorOnly()
+	{
+	iBust[0] = EConstructed;
+	}
+
+
+XVeryLargeClassDtorOnly::~XVeryLargeClassDtorOnly()
+	{
+	iBust[0] = EDeconstructed;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/t_new_classes.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef T_NEW_CLASSES
+#define T_NEW_CLASSES
+
+#include <e32cmn.h>
+
+/**
+A flag to record what part of lifecylce an object is in
+*/
+enum TObjState
+	{
+	ENull = 0,
+	EConstructed = 1,
+	EDeconstructed = 2
+	};
+
+class XCtorAndDtor
+	{
+public:
+	XCtorAndDtor();
+	~XCtorAndDtor();
+	TObjState iState;
+	};
+
+class XCtorOnly
+	{
+public:
+	XCtorOnly();
+	TObjState iState;
+	};
+
+class XDtorOnly
+	{
+public:
+	~XDtorOnly();
+	TObjState iState;
+	};
+
+class XNoTors
+	{
+public:
+	TObjState iState;
+	};
+
+//A buffer length for an object so large that we always
+//expect allocation to fail.
+const TInt KOOMBufferLength=10000000;
+
+class XVeryLargeClassCtorAndDtor
+	{
+public:
+	XVeryLargeClassCtorAndDtor();
+	~XVeryLargeClassCtorAndDtor();
+	TInt iBust[KOOMBufferLength];
+	};
+
+class XVeryLargeClassCtorOnly
+	{
+public:
+	XVeryLargeClassCtorOnly();
+	TInt iBust[KOOMBufferLength];
+	};
+
+class XVeryLargeClassDtorOnly
+	{
+public:
+	~XVeryLargeClassDtorOnly();
+	TInt iBust[KOOMBufferLength];
+	};
+
+class XVeryLargeClassNoTors
+	{
+public:
+	TInt iBust[KOOMBufferLength];
+	};
+
+#endif //T_NEW_CLASSES
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/device/t_newldd.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __T_NEWLDD_H
+#define __T_NEWLDD_H
+
+_LIT(KLddName,"OperatorNewTest");
+_LIT(KKInstallLddName,"d_newldd");
+
+
+const TInt KErrException = -99;
+const TInt KTestArrayLength = 100; ///< A sensible array length to test vector new with
+const TInt KOOMArraySize = 100000000; ///<An array size so big that array allocation should always fail
+
+class RNewLddTest : public RBusLogicalChannel
+{
+public:
+	enum TControl
+         {
+         ENew=0,
+         EPlacementVectorNew=1,
+         EVectorNew=2,
+         EPlacementNew=3
+         };
+	
+	TInt DoControl(TInt aFunction);
+	TInt Open();
+};
+
+#endif // __T_NEWLDD_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+BASEDEFAULT
+
+PRJ_MMPFILES
+d_newldd
+d_lddturnaroundtimertest
+t_sharedio3
+t_rbuf
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/d_lddturnaroundtimertest.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\group\d_lddturnaroundtimertest.mmp
+*
+*/
+
+
+#include "kernel/kern_ext.mmh"
+
+TARGET         d_lddturnaroundtimertest.ldd
+TARGETTYPE     LDD
+SOURCEPATH     ../device
+SOURCE         d_lddturnaroundtimertest.cpp
+
+
+EPOCALLOWDLLDATA
+
+UID		0x100000af
+VENDORID 0x70000001
+
+
+capability		all
+
+start wins
+win32_headers
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/d_newldd.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\group\d_newldd.mmp
+*
+*/
+
+ 
+#include "kernel/kern_ext.mmh"
+
+TARGET         d_newldd.ldd
+TARGETTYPE     LDD
+SOURCEPATH      ../device
+SOURCE         d_newldd.cpp t_new_classes.cpp
+ 
+start wins
+
+win32_library			kernel32.lib user32.lib gdi32.lib
+#if defined(VC32)
+win32_library			msvcrt.lib
+#endif
+
+
+end
+
+EPOCALLOWDLLDATA
+
+UID             0x100000af
+VENDORID 0x70000001
+ 
+capability              all
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_rbuf.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\group\t_rbuf.mmp
+*
+*/
+
+
+TARGET         t_rbuf.exe        
+TARGETTYPE     EXE
+SOURCEPATH	../buffer
+SOURCE         t_rbuf.cpp
+LIBRARY        euser.lib
+SYSTEMINCLUDE  /epoc32/include
+EPOCSTACKSIZE  0x3000
+
+capability		all
+
+VENDORID 0x70000001
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_sharedio3.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\group\t_sharedio3.mmp
+*
+*/
+
+
+target			t_sharedio3.exe        
+targettype		exe
+sourcepath		../mmu
+source			t_sharedio.cpp
+library			euser.lib
+systeminclude	/epoc32/include
+epocfixedprocess
+
+epocheapsize	0x1000 0x00010000
+
+capability		all
+macro			__SECOND_FIXED__
+VENDORID 0x70000001
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/d_sharedio.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\mmu\d_sharedio.h
+*
+*/
+
+
+#ifndef __D_SLDD_H__
+#define __D_SLDD_H__
+#include <e32cmn.h>
+#ifndef __KERNEL_MODE__
+#include <e32std.h>
+#endif
+
+const TInt KSizeGlobalBuffer=0x2000;
+const TInt KMagic1=12345;
+const TInt KMagic2=54321;
+
+class RTestLdd : public RBusLogicalChannel
+	{
+public:
+	enum TControl
+		{
+		ECreateBuffer,
+		EMapInGlobalBuffer,
+		EMapOutGlobalBuffer,
+		EDestroyGlobalBuffer,
+		ECreateBufferPhysAddr,
+		EDestroyBufferPhysAddr,
+		EMapInBuffer,
+		EMapOutBuffer,
+		EDestroyBuffer,
+		ECheckBuffer,
+		EFillBuffer,
+		EThreadRW
+		};
+public:
+	inline TInt Open();
+	inline TInt CreateBuffer(TInt aLength);
+	inline TInt MapInGlobalBuffer(TUint aProcessId,TAny*& aAddress,TUint32& aLength);
+	inline TInt MapOutGlobalBuffer();
+	inline TInt DestroyGlobalBuffer();
+	inline TInt CreateBufferPhysAddr(TInt aLength);
+	inline TInt DestroyBufferPhysAddr();
+	inline TInt MapInBuffer(TAny** aAddress,TUint32* aLength);
+	inline TInt MapOutBuffer();
+	inline TInt DestroyBuffer();
+	inline TInt CheckBuffer(TUint32 key);
+	inline TInt FillBuffer(TUint32 key);
+	inline TInt ThreadRW(TDes8& aDes,TInt aThreadId=-1);
+	};
+
+_LIT(KSharedIoTestLddName,"D_SHAREDIO");
+
+#ifndef __KERNEL_MODE__
+inline TInt RTestLdd::Open()
+	{ return DoCreate(KSharedIoTestLddName,TVersion(),KNullUnit,NULL,NULL); }
+inline TInt RTestLdd::CreateBuffer(TInt aLength)
+	{ return DoControl(ECreateBuffer,(TAny*)aLength); }
+inline TInt RTestLdd::MapInGlobalBuffer(TUint aProcessId,TAny*& aAddress,TUint32& aLength)
+	{
+	TUint a = aProcessId;
+	TInt r=DoControl(EMapInGlobalBuffer,&a,&aLength);
+	aAddress = (TAny*)a;
+	return r;
+	}
+inline TInt RTestLdd::MapOutGlobalBuffer()
+	{ return DoControl(EMapOutGlobalBuffer); }
+inline TInt RTestLdd::DestroyGlobalBuffer()
+	{ return DoControl(EDestroyGlobalBuffer); }
+inline TInt RTestLdd::CreateBufferPhysAddr(TInt aLength)
+	{ return DoControl(ECreateBufferPhysAddr,(TAny*)aLength);	}
+inline TInt RTestLdd::DestroyBufferPhysAddr()
+	{ return DoControl(EDestroyBufferPhysAddr); }
+inline TInt RTestLdd::MapInBuffer(TAny** aAddress,TUint32* aLength)
+	{ return DoControl(EMapInBuffer,aAddress,aLength); }
+inline TInt RTestLdd::MapOutBuffer()
+	{ return DoControl(EMapOutBuffer); }
+inline TInt RTestLdd::DestroyBuffer()
+	{ return DoControl(EDestroyBuffer); }
+inline TInt RTestLdd::CheckBuffer(TUint32 key)
+	{ return DoControl(ECheckBuffer,(TAny*)key); }
+inline TInt RTestLdd::FillBuffer(TUint32 key)
+	{ return DoControl(EFillBuffer,(TAny*)key); }
+inline TInt RTestLdd::ThreadRW(TDes8& aDes,TInt aThreadId)
+	{ return DoControl(EThreadRW,(TAny*)&aDes,(TAny*)aThreadId); }
+#endif
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/freeram.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\mmu\freeram.h
+*
+*/
+
+
+#ifndef __FREERAM_H__
+#define __FREERAM_H__
+
+//
+// returns the free RAM in bytes
+//
+inline TInt FreeRam()
+	{
+	// wait for any async cleanup in the supervisor to finish first...
+	UserSvr::HalFunction(EHalGroupKernel, EKernelHalSupervisorBarrier, 0, 0);
+
+	TMemoryInfoV1Buf meminfo;
+	UserHal::MemoryInfo(meminfo);
+	return meminfo().iFreeRamInBytes;
+	}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/t_sharedio.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,665 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\mmu\t_sharedio.cpp
+* Overview:
+* Verifies the correct implementation of Shared IO Buffers
+* API information:
+* DSharedIoBuffer
+* Details:
+* 1. Loading the shared IO buffer test device driver
+* 2. Create buffer of a specified size
+* - it passes a request to the device driver to create a buffer
+* - the driver creates a shared io buffer and it zero fills it
+* - it checks the size is as specified
+* 3. Map in buffer
+* - it passes a request to the device driver to map the buffer created at
+* step 1 into this user process
+* - the driver maps the buffer into this user process
+* - checks if UserToKernel and KernelToUser methods work as expected
+* - fills a buffer
+* - returns the user address and size to the user process
+* - using the address and size returned by the driver, the user process
+* checks the buffer is filled as expected
+* 4. Fill and check shared buffer
+* - user process fills the buffer and driver checks it
+* - driver fills the buffer and user process checks it
+* 5. Map Out Buffer
+* - requests to the driver that the buffer should be unmapped from this
+* process' address space
+* - the driver checks that iUserAddress becomes NULL after unmapping
+* 6. Destroy Buffer
+* - requests to the driver to destroy the buffer
+* 7. Create a buffer with a physical address
+* (not performed on WINS)
+* - requests to the driver to create a buffer by specifying a physical address
+* - the driver allocates a physical address
+* - creates a shared IO buffer over that physical address
+* - fills the buffer with a pattern
+* - destroys the buffer
+* - creates a hardware chunk over the same physical address
+* - checks the buffer contains the pattern
+* - closes the chunk
+* 8. Check using the same buffer by 2 different user processes
+* (not performed on WINS)
+* - process 1 maps a global buffer (the global buffer will be
+* created in the context of process 1)
+* - fills it
+* - unmaps it
+* - process 2 maps the global buffer
+* - checks if it's filled accordingly
+* - unmaps it
+* - destroys the global buffer
+* 9. Checking buffers are protected at context switching
+* (not relevant on WINS)
+* - creates a shared buffer and map it into this process
+* - creates a new process
+* - the new process tries to access the buffer mapped into the first process
+* by zeroing the raw buffer passed from the first process. This relies on the
+* fact that each shared buffer is created in the Home Section, so they will be
+* available at the same address
+* - tests if the new process was panicked due to access violation
+* - tests if the contents of the buffer haven't been changed
+* 10.Checking writing to unmapped buffer
+* (not performed on WINS)
+* - creates a new process
+* - the new process creates a buffer, maps it and unmaps it
+* - the new process tries to use the buffer after unmapping
+* - the parent process logs the exit type and reason and checks
+* these are EExitPanic and 3 (Kern 3 - access violation)
+* 11.Checking address lookup is implemented
+* (not relevant on WINS)
+* - creates a new process
+* - the new process will ask the device driver to read and write a descriptor
+* in the old process, the kernel will perform an address lookup before
+* reading or writing the descriptor, to make sure the address location does
+* belong to the old process. The descriptor is a TPtr pointing to a buffer
+* located in a shared io buffer.
+* - device driver will return an error in case address lookup fails or ThreadRead
+* or ThreadWrite fail
+* - the new process returns the error code returned by the device driver
+* - the old process tests for the exit code for the new process being KErrNone and
+* that the thread is not panicked, and also that the values written and read
+* are those expected.
+* 12.Closing test driver
+* - Trivial, but it will test if a created & mapped shared io buffer gets released
+* successfully when the logical channel is closed (which in turn will delete the
+* shared io buffer associated with the channel)
+* The test comes in 4 flavours, in order to test memory protection when context switching
+* between different types of processes.
+* T_SHAREDIO:
+* Main process is a moving process which creates another moving process.
+* T_SHAREDIO2:
+* Main process is a fixed process which creates a moving process.
+* T_SHAREDIO3:
+* Main process is a fixed process which creates another fixed process.
+* T_SHAREDIO4:
+* Main process is a moving process which creates a fixed process.
+* Platforms/Drives/Compatibility:
+* All (some steps will not be performed on emulator)
+* Assumptions/Requirement/Pre-requisites:
+* The test needs D_SHAREDIO.LDD, the device driver that actually operates the API. 
+* Failures and causes:
+* Failures of this test will indicate defects in the implementation of Shared Io Buffers.
+* Base Port information:
+* No?
+*
+*/
+
+
+#define __E32TEST_EXTENSION__
+
+#include <e32test.h>
+#include <e32math.h>
+#include "d_sharedio.h"
+#include <e32hal.h>
+#include <u32std.h>
+#include <u32hal.h>
+#include <e32svr.h>
+#include <f32dbg.h>
+#include "freeram.h"
+
+LOCAL_D RTest test(_L("T_SHAREDIO"));
+
+const TInt KTestBufferSize = 0x100000;
+
+TUint MemModelAttributes;
+TBool PhysicalCommitSupported;
+
+RTestLdd ldd;
+
+TUint32 TestBufferSizes[]={0x1000, 0x10453, 0x100000, 0x100001, 0x203000, 0};
+
+TInt checkBuffer(TAny* buffer, TUint32 aSize, TUint32 key)
+	{
+	TInt r=KErrNone;
+	TUint8* m=(TUint8*)buffer;
+	for(TUint32 size=0;size<aSize;size++,key+=5,m++)
+		{
+		if(*m!=(TUint8)(key%256))
+			{
+			r=KErrCorrupt;
+			break;
+			}
+		}
+	return r;
+	}
+
+TInt fillBuffer(TAny* buffer, TUint32 aSize, TUint32 key)
+	{
+	TUint8* m=(TUint8*)buffer;
+	for(TUint32 size=0;size<aSize;size++,key+=5,m++)
+		{
+		*m=(TUint8)(key%256);
+		}
+	return KErrNone;
+	}
+
+TBool CheckBuffer(TAny* aBuffer,TInt aSize)
+	{
+	TAny** p = (TAny**)aBuffer;
+	TAny** end = (TAny**)((TInt)p+aSize);
+	while(p<end)
+		{
+		if(*p!=p)
+			return EFalse;
+		++p;
+		}
+	return ETrue;
+	}
+
+enum TTestProcessFunctions
+	{
+	ETestProcess1,
+	ETestProcess2,
+	ETestProcess3,
+	};
+
+class RTestProcess : public RProcess
+	{
+public:
+	void Create(TTestProcessFunctions aFunction,TInt aArg1=-1,TInt aArg2=-1);
+	};
+
+void RTestProcess::Create(TTestProcessFunctions aFunction,TInt aArg1,TInt aArg2)
+	{
+	if(aArg1==-1)
+		aArg1 = RProcess().Id();
+	TBuf<512> commandLine;
+	commandLine.Num((TInt)aFunction);
+	commandLine.Append(_L(" "));
+	commandLine.AppendNum(aArg1);
+	commandLine.Append(_L(" "));
+	commandLine.AppendNum(aArg2);
+#ifdef __FIXED__
+	//fixed process creating a moving process
+	TFileName filename(RProcess().FileName());
+	TInt pos=filename.LocateReverse(TChar('\\'));
+	filename.SetLength(pos+1);
+	filename+=_L("T_SHAREDIO.EXE");
+	TInt r = RProcess::Create(filename,commandLine);
+#else
+#ifdef __SECOND_FIXED__
+	//fixed process creating another fixed process
+	TFileName filename(RProcess().FileName());
+	TInt pos=filename.LocateReverse(TChar('\\'));
+	filename.SetLength(pos+1);
+	filename+=_L("T_SHAREDIO2.EXE");
+	TInt r = RProcess::Create(filename,commandLine);
+#else
+#ifdef __MOVING_FIXED__
+	//moving process creating a fixed process
+	TFileName filename(RProcess().FileName());
+	TInt pos=filename.LocateReverse(TChar('\\'));
+	filename.SetLength(pos+1);
+	filename+=_L("T_SHAREDIO2.EXE");
+	TInt r = RProcess::Create(filename,commandLine);
+#else
+	//moving process creating a moving process
+	TInt r = RProcess::Create(RProcess().FileName(),commandLine);
+#endif
+#endif
+#endif
+	test(r==KErrNone);
+	SetJustInTime(EFalse);
+	}
+
+const TInt KProcessRendezvous = KRequestPending+1;
+
+TInt DoTestProcess(TInt aTestNum,TInt aArg1,TInt aArg2)
+	{
+	(void)aArg1;
+	(void)aArg2;
+
+	RTestLdd ldd;
+	TInt r;
+	r=User::LoadLogicalDevice(KSharedIoTestLddName);
+	if(r!=KErrNone && r!=KErrAlreadyExists)
+		return KErrGeneral;
+	r=ldd.Open();
+	if(r!=KErrNone)
+		return r;
+
+	switch(aTestNum)
+		{
+	case ETestProcess1:
+		{
+		TAny* gbuffer;
+		TUint32 gsize;
+		r=User::GetTIntParameter(1,(TInt&)gbuffer);
+		if(r!=KErrNone)
+			return r;
+		r=User::GetTIntParameter(2,(TInt&)gsize);
+		if(r!=KErrNone)
+			return r;
+
+		r=checkBuffer(gbuffer,gsize,23454);
+		if(r!=KErrNone)
+			return r;
+		r=ldd.MapOutGlobalBuffer();
+		if(r!=KErrNone)
+			return r;
+
+		r=ldd.CreateBuffer(KTestBufferSize);
+		if(r!=KErrNone)
+			return r;
+
+		TAny* buffer;
+		TUint32 size;
+		r=ldd.MapInBuffer(&buffer,&size);
+		if(r!=KErrNone)
+			return r;
+
+		if(!CheckBuffer(buffer,size))
+			return KErrGeneral;
+
+		r=ldd.MapOutBuffer();
+		if(r!=KErrNone)
+			return r;
+
+		RProcess::Rendezvous(KProcessRendezvous);
+
+		*(TInt*)buffer = 0;   // Should cause exception
+		break;
+		}
+	case ETestProcess2:
+		{
+		TInt size=aArg2;
+		TUint8* p=(TUint8*)aArg1;
+
+		RProcess::Rendezvous(KProcessRendezvous);
+		for(TInt i=0;i<size;i++)
+			p[i]=0; // Should cause exception
+		break;
+		}
+	case ETestProcess3:
+		{
+		TAny* buffer;
+		TUint32 size;
+
+		r=ldd.CreateBuffer(KTestBufferSize);
+		if(r!=KErrNone)
+			return r;
+
+		r=ldd.MapInBuffer(&buffer,&size);
+		if(r!=KErrNone)
+			return r;
+
+		if(!CheckBuffer(buffer,size))
+			return KErrGeneral;
+
+		*(TInt*)buffer=KMagic1;
+		TPckg<TInt> buf(*(TInt*)buffer);
+		r=ldd.ThreadRW(buf);
+		if(r!=KErrNone)
+			return r;
+
+		if(*(TInt*)buffer!=KMagic2)
+			return KErrCorrupt;
+
+		r=ldd.ThreadRW(*(TDes8*)aArg1,aArg2);
+		if(r!=KErrNone)
+			return r;
+		
+		r=ldd.MapOutBuffer();
+		if(r!=KErrNone)
+			return r;
+
+		break;
+		}
+	default:
+		User::Panic(_L("T_SHAREDIO"),1);
+		}
+
+	ldd.Close();	
+	return KErrNone;
+	}
+
+void CreateWithOOMCheck(TInt aSize, TBool aPhysicalAddress)
+	{
+	TInt failResult=KErrGeneral;
+
+	TInt freeRam = FreeRam(); //This will also add a delay
+
+	for(TInt failCount=1; failCount<1000; failCount++)
+		{
+		test.Printf(_L("alloc fail count = %d\n"),failCount);
+
+		User::__DbgSetAllocFail(ETrue,RAllocator::EFailNext,failCount);
+		__KHEAP_MARK;
+		
+		if (aPhysicalAddress)
+			failResult=ldd.CreateBufferPhysAddr(aSize);
+		else
+			failResult=ldd.CreateBuffer(aSize);
+
+		if(failResult==KErrNone)
+			break;
+
+		test(failResult==KErrNoMemory);
+		__KHEAP_MARKEND;
+
+		test(freeRam == FreeRam());  //This will also add a delay
+		}
+	User::__DbgSetAllocFail(ETrue,RAllocator::ENone,0);
+	__KHEAP_RESET;
+
+	test.Next(_L("Destroy buffer"));
+	if (aPhysicalAddress)
+		ldd.DestroyBufferPhysAddr();
+	else
+		ldd.DestroyBuffer();
+	
+	test(freeRam == FreeRam());  //This will also add a delay
+	}
+
+GLDEF_C TInt E32Main()
+    {
+	TBuf16<512> cmd;
+	User::CommandLine(cmd);
+	if(cmd.Length() && TChar(cmd[0]).IsDigit())
+		{
+		TInt function = -1;
+		TInt arg1 = -1;
+		TInt arg2 = -1;
+		TLex lex(cmd);
+		lex.Val(function);
+		lex.SkipSpace();
+		lex.Val(arg1);
+		lex.SkipSpace();
+		lex.Val(arg2);
+		return DoTestProcess(function,arg1,arg2);
+		}
+
+	MemModelAttributes=UserSvr::HalFunction(EHalGroupKernel, EKernelHalMemModelInfo, NULL, NULL);
+	TUint mm=MemModelAttributes&EMemModelTypeMask;
+	PhysicalCommitSupported = mm!=EMemModelTypeDirect && mm!=EMemModelTypeEmul;
+
+// Turn off lazy dll unloading
+	RLoader l;
+	test(l.Connect()==KErrNone);
+	test(l.CancelLazyDllUnload()==KErrNone);
+	l.Close();
+
+	test.Title();
+
+	test.Start(_L("Loading test driver..."));
+
+	TInt r;
+	r=User::LoadLogicalDevice(KSharedIoTestLddName);
+	test(r==KErrNone || r==KErrAlreadyExists);
+	r=User::LoadLogicalDevice(KSharedIoTestLddName);
+	test(r==KErrAlreadyExists);
+	r=ldd.Open();
+	test(r==KErrNone);
+
+	TAny* buffer;
+	TUint32 size;
+	TUint32 key;
+
+	TInt testBufferSize=0;
+	for(; TestBufferSizes[testBufferSize]!=0; ++testBufferSize)
+		{
+		test.Printf(_L("Test buffer size = %08x\n"),TestBufferSizes[testBufferSize]);
+
+		test.Next(_L("Create buffer"));
+		r=ldd.CreateBuffer(TestBufferSizes[testBufferSize]);
+		if(r!=KErrNone)
+			test.Printf(_L("Creating buffer failed client r=%d"), r);
+		test(r==KErrNone);
+
+		test.Next(_L("Map In Buffer"));
+		r=ldd.MapInBuffer(&buffer,&size);
+		
+		test.Next(_L("CheckBuffer"));
+		test(CheckBuffer(buffer,size));
+		test(r==KErrNone);
+		test.Next(_L("Fill and check shared buffer"));
+		key=Math::Random();
+		fillBuffer(buffer,size,key);
+		test(ldd.CheckBuffer(key)==KErrNone);
+
+		key=Math::Random();
+		test(ldd.FillBuffer(key)==KErrNone);
+		test(checkBuffer(buffer,size,key)==KErrNone);
+
+		test.Next(_L("Map Out Buffer"));
+		r=ldd.MapOutBuffer();
+		test(r==KErrNone);
+
+		test.Next(_L("Destroy Buffer"));
+		r=ldd.DestroyBuffer();
+		test(r==KErrNone);
+
+		test.Next(_L("Create a buffer under OOM conditions"));
+		CreateWithOOMCheck(TestBufferSizes[testBufferSize], EFalse);
+
+		if(PhysicalCommitSupported)
+			{
+			test.Next(_L("Create a buffer with a physical address under OOM conditions"));
+			CreateWithOOMCheck(TestBufferSizes[testBufferSize], ETrue);
+
+			test.Next(_L("Create a buffer with a physical address"));
+			r=ldd.CreateBufferPhysAddr(0x1000);
+			test(r==KErrNone);
+
+			test.Next(_L("Map In physical address Buffer"));
+			r=ldd.MapInBuffer(&buffer,&size);
+			test(r==KErrNone);
+
+			test.Next(_L("Fill and check physical address shared buffer"));
+			key=Math::Random();
+			fillBuffer(buffer,size,key);
+			test(ldd.CheckBuffer(key)==KErrNone);
+
+			key=Math::Random();
+			test(ldd.FillBuffer(key)==KErrNone);
+			test(checkBuffer(buffer,size,key)==KErrNone);
+
+			test.Next(_L("Map Out physical address Buffer"));
+			r=ldd.MapOutBuffer();
+			test(r==KErrNone);
+
+			test.Next(_L("Destroy a buffer with a physical address"));
+			r=ldd.DestroyBufferPhysAddr();
+			test(r==KErrNone);
+		}
+
+		test.Next(_L("Check using the same buffer by 2 different user processes"));
+		TAny* gbuffer;
+		TUint32 gsize;
+		r=ldd.MapInGlobalBuffer(RProcess().Id(),gbuffer,gsize);
+		test(r==KErrNone);
+
+		fillBuffer(gbuffer,gsize,23454);
+
+		r=ldd.MapOutGlobalBuffer();
+		test(r==KErrNone);
+
+		r=ldd.CreateBuffer(TestBufferSizes[testBufferSize]);
+		test(r==KErrNone);
+
+		r=ldd.MapInBuffer(&buffer,&size);
+		test(r==KErrNone);
+
+		test(CheckBuffer(buffer,size));
+
+		key=Math::Random();
+		fillBuffer(buffer,size,key);
+		test(ldd.CheckBuffer(key)==KErrNone);
+
+		RTestProcess rogueP;
+		TRequestStatus rendezvous;
+		TRequestStatus logon;
+
+		if(MemModelAttributes&EMemModelAttrProcessProt)
+			{
+			test.Next(_L("Checking buffers are protected at context switching"));
+			rogueP.Create(ETestProcess2,(TInt)buffer,(TInt)size);
+			rogueP.Logon(logon);
+			rogueP.Rendezvous(rendezvous);
+			rogueP.Resume();
+			User::WaitForRequest(rendezvous);
+			test(rendezvous==KProcessRendezvous);
+			User::WaitForRequest(logon);
+			test(rogueP.ExitType()==EExitPanic);
+			test(logon==3);
+			test(ldd.CheckBuffer(key)==KErrNone);
+			}
+
+		r=ldd.MapOutBuffer();
+		test(r==KErrNone);
+
+		r=ldd.DestroyBuffer();
+		test(r==KErrNone);
+
+		RTestProcess process;
+
+		if((MemModelAttributes&EMemModelAttrKernProt) && (MemModelAttributes&EMemModelTypeMask)!=EMemModelTypeDirect)
+			{
+			test.Next(_L("Checking writing to unmapped buffer"));
+			process.Create(ETestProcess1);
+			process.Logon(logon);
+			process.Rendezvous(rendezvous);
+			test(ldd.MapInGlobalBuffer(process.Id(),gbuffer,gsize)==KErrNone);
+			test(process.SetParameter(1,(TInt)gbuffer)==KErrNone);
+			test(process.SetParameter(2,(TInt)gsize)==KErrNone);
+			process.Resume();
+			User::WaitForRequest(rendezvous);
+			test(rendezvous==KProcessRendezvous);
+			User::WaitForRequest(logon);
+			test(process.ExitType()==EExitPanic);
+			test(logon==3);
+			process.Close();
+			}
+
+		r=ldd.CreateBuffer(TestBufferSizes[testBufferSize]);
+		if(r!=KErrNone)
+			return r;
+
+		r=ldd.MapInBuffer(&buffer,&size);
+		if(r!=KErrNone)
+			return r;
+
+		if(!CheckBuffer(buffer,size))
+			return KErrGeneral;
+
+		*(TInt*)buffer=KMagic1;
+		TPckg<TInt> buf(*(TInt*)buffer);
+
+		RTestProcess proc;
+		test.Next(_L("Checking address lookup is implemented"));
+		proc.Create(ETestProcess3,(TInt)&buf,RThread().Id());
+		proc.Logon(logon);
+		proc.Resume();
+		User::WaitForRequest(logon);
+
+		test(proc.ExitType()==EExitKill);
+		test(logon==0);
+		test(*(TInt*)buffer==KMagic2);
+
+		ldd.DestroyBuffer();
+
+		// Check process death whilst buffer is mapped in
+		// Test case for defect DEF051851 - Shared IO Buffer fault when process dies
+		test.Next(_L("Checking process death whilst buffer is mapped in"));
+			process.Create(ETestProcess1);
+			process.Logon(logon);
+			test.Start(_L("Map buffer into another process"));
+			test(ldd.MapInGlobalBuffer(process.Id(),gbuffer,gsize)==KErrNone);
+			test.Next(_L("Kill other process"));
+			process.Kill(99);
+			User::WaitForRequest(logon);
+			test(process.ExitType()==EExitKill);
+			test(logon==99);
+			process.Close();
+			test.Next(_L("Map out buffer"));
+			r=ldd.MapOutGlobalBuffer();
+			test.Printf(_L("result = %d\n"),r);
+			test(r==KErrNone);
+
+			test.Next(_L("Map buffer into this process"));
+			test(ldd.MapInGlobalBuffer(RProcess().Id(),gbuffer,gsize)==KErrNone);
+			test.Next(_L("Map out buffer from this process"));
+			r=ldd.MapOutGlobalBuffer();
+			test.Printf(_L("result = %d\n"),r);
+			test(r==KErrNone);
+
+			process.Create(ETestProcess1);
+			process.Logon(logon);
+			test.Next(_L("Map buffer into another process"));
+			test(ldd.MapInGlobalBuffer(process.Id(),gbuffer,gsize)==KErrNone);
+			test.Next(_L("Kill other process"));
+			process.Kill(99);
+			User::WaitForRequest(logon);
+			test(process.ExitType()==EExitKill);
+			test(logon==99);
+			process.Close();
+			test.Next(_L("Map out buffer"));
+			r=ldd.MapOutGlobalBuffer();
+			test.Printf(_L("result = %d\n"),r);
+			test(r==KErrNone);
+			test.End();
+	} // loop for next buffer size
+
+	test.Next(_L("Create and map in buffer"));
+	r=ldd.CreateBuffer(KTestBufferSize);
+	test(r==KErrNone);
+	r=ldd.MapInBuffer(&buffer,&size);
+	test(r==KErrNone);
+
+//  Test for DEF053512 - Can't delete SharedIo buffers in DLogicalDevice destructor 
+
+	test.Next(_L("Map in global buffer"));
+	TAny* gbuffer;
+	TUint32 gsize;
+	test(ldd.MapInGlobalBuffer(RProcess().Id(),gbuffer,gsize)==KErrNone);
+
+	test.Next(_L("Closing channel (with a buffer still mapped in)"));
+	ldd.Close();
+
+//  Test for DEF053512 - Can't delete SharedIo buffers in DLogicalDevice destructor 
+
+	test.Next(_L("Unload driver (whilst global buffer still mapped in)"));
+	r=User::FreeLogicalDevice(KSharedIoTestLddName);
+	test(r==KErrNone);
+
+	test.End();
+
+
+
+	return(0);
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* f32test\loader\ldrplatsec.inf
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+fuzzlib
+fuzzv5	
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzlib.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* f32test\loader\security\fuzzlib.mmp
+*
+*/
+
+
+target			fuzzlib.lib
+targettype		lib
+sourcepath		.
+#ifdef MARM
+source			uc_exe.cia
+#else
+#ifdef X86
+source			uc_exex86.cia
+#endif
+#endif
+userinclude		.
+systeminclude		/epoc32/include
+capability		all
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzv5.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* f32test\loader\security\fuzzv5.cpp
+* yes this file is empty, we don't need any code :)
+*
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzv5.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* \f32test\loader\security\fuzzv5.mmp
+*
+*/
+
+
+target			fuzzv5.exe
+targettype		exe
+sourcepath		.
+source			fuzzv5.cpp
+firstlib		fuzzlib.lib
+systeminclude		/epoc32/include
+nocompresstarget
+capability		NONE
+
+VERSION			2.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/u32std.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,812 @@
+/*
+* Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32\include\u32std.h
+*
+*/
+
+
+/**
+ @file
+ @internalComponent
+ @released
+*/
+
+#ifndef __U32STD_H__
+#define __U32STD_H__
+#include <e32cmn.h>
+#include <e32hal.h>
+#include <e32lmsg.h>
+#include <e32event.h>
+#include <e32ldr.h>
+#include <e32power.h>
+#include <e32property.h>
+#include <u32property.h>
+#include <u32hal.h>
+
+#include <cpudefs.h>
+
+#ifdef __MARM__
+#define	EKA2_ENTRY_POINT_VERSION_IDENTIFIER	\
+	asm("tst pc, #%a0" : : "i" ((TInt)0) )
+#endif
+
+struct TUnicodeDataSet;                 // forward declaration
+struct TCollationDataSet;               // forward declaration
+
+/*
+The LCharSet structure is used in Unicode builds to supply locale-specific
+character attribute and collation data.
+
+The structure is defined in both builds to avoid having to have a dummy ExecHandler::GetLocaleCharSet function
+with a different signature in the 8-bit build.
+*/
+struct LCharSet
+	{
+	const TUnicodeDataSet* iCharDataSet;			// if non-null, character data overriding standard Unicode data
+	const TCollationDataSet* iCollationDataSet;		// if non-null, locale-specific collation data
+	};
+
+extern const LCharSet* GetLocaleCharSet();
+
+/** @internalTechnology */
+const TInt KNumLocaleExports = 22;
+
+//
+// The bits in the type table (non-Unicode build only)
+//
+#ifndef _UNICODE
+
+/** @internalTechnology */
+const TUint __U=0x01; // Uppercase letter
+
+/** @internalTechnology */
+const TUint __L=0x02; // Lowercase letter
+
+/** @internalTechnology */
+const TUint __D=0x04; // Decimal digit
+
+/** @internalTechnology */
+const TUint __S=0x08; // Space
+
+/** @internalTechnology */
+const TUint __P=0x10; // Punctuation
+
+/** @internalTechnology */
+const TUint __C=0x20; // Control character
+
+/** @internalTechnology */
+const TUint __X=0x40; // Hex digit
+
+/** @internalTechnology */
+const TUint __B=0x80; // A blank character
+
+#endif
+
+//
+// Time set mode parameters for setting system time and offset
+// 
+enum TTimeSetMode
+	{
+	ETimeSetTime = 1,    // set the time to the value given, else leave it unchanged
+	ETimeSetOffset = 2,  // set the offset to the value given, else leave it unchanged
+	ETimeSetAllowTimeReversal = 4,  // allow time to go backwards
+	ETimeSetNoTimeUpdate = 8,       // Don't restart second queue or notify changes - not valid with ESetTime, used early in boot only
+	ETimeSetLocalTime = 16,			// Set time in local time, instead of UTC
+	ETimeSetSecure = 32,  // use when setting the secure hardware clock
+	};
+
+//
+enum TMatchType {EMatchNormal,EMatchFolded,EMatchCollated};
+
+//
+// Constants for descriptor implementation code
+//
+enum TDesType {EBufC,EPtrC,EPtr,EBuf,EBufCPtr};
+const TUint KMaskDesLength=0xfffffff;
+const TInt KShiftDesType=28;
+
+//
+// Constants for iFlags in DProcess and DThread
+//
+const TUint KThreadFlagProcessCritical		= 0x00000001;	// thread panic panics process
+const TUint KThreadFlagProcessPermanent		= 0x00000002;	// thread exit of any kind causes process to exit (=main)
+const TUint KThreadFlagSystemCritical		= 0x00000004;	// thread panic reboots entire system
+const TUint KThreadFlagSystemPermanent		= 0x00000008;	// thread exit of any kind reboots entire system
+const TUint KThreadFlagOriginal				= 0x00000010;
+const TUint KThreadFlagLastChance			= 0x00000020;
+const TUint KThreadFlagRealtime				= 0x00000040;	// thread will be panicked when using some non-realtime functions
+const TUint KThreadFlagRealtimeTest			= 0x00000080;	// non-realtime functions only warn rather than panic
+const TUint KThreadFlagLocalThreadDataValid	= 0x00000100;	// thread has valid local thread data
+const TUint KProcessFlagPriorityControl		= 0x40000000;
+const TUint KProcessFlagJustInTime			= 0x80000000;
+const TUint KProcessFlagSystemCritical		= KThreadFlagSystemCritical;	// process panic reboots entire system
+const TUint KProcessFlagSystemPermanent		= KThreadFlagSystemPermanent;	// process exit of any kind reboots entire system
+//
+const TUint KThreadHandle=0x40000000;
+//
+struct SPtrC8 {TInt length;const TUint8 *ptr;};
+struct SBufC8 {TInt length;TUint8 buf[1];};
+struct SPtr8 {TInt length;TInt maxLength;TUint8 *ptr;};
+struct SBuf8 {TInt length;TInt maxLength;TUint8 buf[1];};
+struct SBufCPtr8 {TInt length;TInt maxLength;SBufC8 *ptr;};
+
+struct SPtrC16 {TInt length;const TUint16 *ptr;};
+struct SBufC16 {TInt length;TUint16 buf[1];};
+struct SPtr16 {TInt length;TInt maxLength;TUint16 *ptr;};
+struct SBuf16 {TInt length;TInt maxLength;TUint16 buf[1];};
+struct SBufCPtr16 {TInt length;TInt maxLength;SBufC16 *ptr;};
+
+//
+// Flags used for IPC copy functions
+//
+const TInt KChunkShiftBy0=0;
+const TInt KChunkShiftBy1=KMinTInt;
+const TInt KIpcDirRead=0;
+const TInt KIpcDirWrite=0x10000000;
+
+class TChunkCreate
+	{
+public:
+	// Attributes for chunk creation that are used by both euser and the kernel 
+	// by classes TChunkCreateInfo and SChunkCreateInfo, respectively.
+	enum TChunkCreateAtt
+		{
+		ENormal				= 0x00000000,
+		EDoubleEnded		= 0x00000001,
+		EDisconnected		= 0x00000002,
+		ECache				= 0x00000003,
+		EMappingMask		= 0x0000000f,
+		ELocal				= 0x00000000,
+		EGlobal				= 0x00000010,
+		EData				= 0x00000000,
+		ECode				= 0x00000020,
+		EMemoryNotOwned		= 0x00000040,
+
+		// Force local chunk to be named.  Only required for thread heap 
+		// chunks, all other local chunks should be nameless.
+		ELocalNamed 		= 0x000000080,
+		
+		// Paging attributes for chunks.
+		EPagingUnspec		= 0x00000000,
+		EPaged				= 0x80000000,
+		EUnpaged			= 0x40000000,
+		EPagingMask 		= EPaged | EUnpaged,
+
+		EChunkCreateAttMask =	EMappingMask | EGlobal | ECode |
+								ELocalNamed | EPagingMask,
+		};
+public:
+	TUint iAtt;
+	TBool iForceFixed;
+	TInt iInitialBottom;
+	TInt iInitialTop;
+	TInt iMaxSize;
+	TUint8 iClearByte;
+	};
+
+enum TChunkRestrictions
+	{
+	// Keep this in sync with definitions in RChunk
+	EChunkPreventAdjust = 0x01,  // Disallow Adjust, Commit, Allocate and Decommit
+	};
+
+class TChannelDoCreate
+	{
+public:
+	TVersion iVer;
+	const TDesC *iName;
+	const TDesC *iPhysicalDevice;
+	const TDesC8 *iInfo;
+	};
+
+class TCreateSession
+	{
+public:
+	TVersion iVer;
+	TInt iMessageSlots;
+	};
+
+enum TObjectType
+	{
+	EThread=0,
+	EProcess,
+	EChunk,
+	ELibrary,
+	ESemaphore,
+	EMutex,
+	ETimer,
+	EServer,
+	ESession,
+	ELogicalDevice,
+	EPhysicalDevice,
+	ELogicalChannel,
+	EChangeNotifier,
+	EUndertaker,
+	EMsgQueue,	
+	EPropertyRef,
+	ECondVar,
+	ENumObjectTypes,	// number of DObject-derived types
+	EObjectTypeAny=-1,
+
+	EIpcMessageD=0x20,	// lookup IPC message handle, allow disconnect
+	EIpcMessage=0x21,	// lookup IPC message handle, don't allow disconnect
+	EIpcClient=0x22,	// lookup IPC message client, don't allow disconnect
+	};
+
+class TObjectOpenInfo
+	{
+public:
+	TObjectType iObjType;
+	TBool isReadOnly;
+	};
+
+class TChannelCreateInfo
+	{
+public:
+	TVersion iVersion;
+	TInt iUnit;
+	const TDesC* iPhysicalDevice;
+	const TDesC8* iInfo;
+	};
+
+#if defined(_UNICODE) && !defined(__KERNEL_MODE__)
+class TChannelCreateInfo8
+	{
+public:
+	TVersion iVersion;
+	TInt iUnit;
+	const TDesC8* iPhysicalDevice;
+	const TDesC8* iInfo;
+	};
+#else
+typedef TChannelCreateInfo TChannelCreateInfo8;
+#endif
+
+const TInt KMaxThreadCreateInfo = 256;
+struct SThreadCreateInfo
+	{
+	TAny* iHandle;
+	TInt iType;
+	TThreadFunction iFunction;
+	TAny* iPtr;
+	TAny* iSupervisorStack;
+	TInt iSupervisorStackSize;
+	TAny* iUserStack;
+	TInt iUserStackSize;
+	TInt iInitialThreadPriority;
+	TPtrC iName;
+	TInt iTotalSize;	// Size including any extras (must be a multiple of 8 bytes)
+	};
+
+enum TThreadCreationFlags
+	{
+	ETraceHeapAllocs 				= 0x00000001,
+	EMonitorHeapMemory				= 0x00000002,
+
+	EThreadCreateFlagPaged			= 0x00000004,
+	EThreadCreateFlagUnpaged		= 0x00000008,
+	EThreadCreateFlagPagingUnspec	= 0x00000000,
+	EThreadCreateFlagPagingMask	= EThreadCreateFlagPaged | EThreadCreateFlagUnpaged,
+
+	EThreadCreateFlagMask = ETraceHeapAllocs | EMonitorHeapMemory | EThreadCreateFlagPagingMask,
+	};
+
+struct SStdEpocThreadCreateInfo : public SThreadCreateInfo
+	{
+	SStdEpocThreadCreateInfo()
+		: iFlags(0)	// Must be clear on creation.
+		{
+		};
+	RAllocator* iAllocator;
+	TInt iHeapInitialSize;
+	TInt iHeapMaxSize;
+	TUint iFlags;
+	};
+
+#if defined(_UNICODE) && !defined(__KERNEL_MODE__)
+struct SThreadCreateInfo8
+	{
+	TAny* iHandle;
+	TInt iType;
+	TThreadFunction iFunction;
+	TAny* iPtr;
+	TAny* iSupervisorStack;
+	TInt iSupervisorStackSize;
+	TAny* iUserStack;
+	TInt iUserStackSize;
+	TInt iInitialThreadPriority;
+	TPtrC8 iName;
+	TInt iTotalSize;	// size including any extras
+	};
+
+struct SStdEpocThreadCreateInfo8 : public SThreadCreateInfo8
+	{
+	SStdEpocThreadCreateInfo8()
+		: iFlags(0) // Must be clear on creation.
+		{
+		};
+	RAllocator* iAllocator;
+	TInt iHeapInitialSize;
+	TInt iHeapMaxSize;
+	TUint iFlags;
+	};
+#else
+typedef SThreadCreateInfo SThreadCreateInfo8;
+typedef SStdEpocThreadCreateInfo SStdEpocThreadCreateInfo8;
+#endif
+
+struct SIpcCopyInfo
+	{
+	TUint8* iLocalPtr;
+	TInt iLocalLen;
+	TInt iFlags;
+	};
+
+enum TChunkAdjust
+	{
+	EChunkAdjust=0,
+	EChunkAdjustDoubleEnded=1,
+	EChunkCommit=2,
+	EChunkDecommit=3,
+	EChunkAllocate=4,
+	EChunkUnlock=5,
+	EChunkLock=6
+	};
+
+enum TMemModelAttributes
+	{
+	EMemModelTypeMask=0xf,					// bottom 4 bits give type of memory model
+	EMemModelTypeDirect=0,					// direct memory model on hardware
+	EMemModelTypeMoving=1,					// moving memory model on hardware
+	EMemModelTypeMultiple=2,				// multiple memory model on hardware
+	EMemModelTypeEmul=3,					// emulation using single host process
+	EMemModelTypeFlexible=4,				// flexible memory model on hardware
+
+	EMemModelAttrRomPaging=0x10,			// Demand paging of XIP ROM
+	EMemModelAttrCodePaging=0x20,			// Demand paging of RAM loaded code
+	EMemModelAttrDataPaging=0x40,			// Demand paging of all RAM
+	EMemModelAttrPagingMask=0xf0,			// Mask for demand paging attributes
+
+	EMemModelAttrNonExProt=(TInt)0x80000000,// accesses to nonexistent addresses are trapped
+	EMemModelAttrKernProt=0x40000000,		// accesses to kernel memory from user mode are trapped
+	EMemModelAttrWriteProt=0x20000000,		// addresses can be marked as read-only; writes to these are trapped
+	EMemModelAttrVA=0x10000000,				// system supports virtual addresses
+	EMemModelAttrProcessProt=0x08000000,	// accesses to other processes' memory are trapped
+	EMemModelAttrSameVA=0x04000000,			// different processes map the same virtual address to different physical addresses
+	EMemModelAttrSupportFixed=0x02000000,	// 'fixed' processes are supported
+	EMemModelAttrSvKernProt=0x01000000,		// unexpected accesses to kernel memory within an executive call are trapped
+	EMemModelAttrIPCKernProt=0x00800000,	// accesses to kernel memory via IPC are trapped
+	EMemModelAttrIPCFullProt=0x00400000,	// accesses via IPC have same protection as user mode
+	EMemModelAttrRamCodeProt=0x00200000,	// RAM-loaded code is only visible to processes which have loaded it
+	};
+
+/** @test */
+enum TKernelHeapDebugFunction {EDbgMarkStart,EDbgMarkCheck,EDbgMarkEnd,EDbgSetAllocFail,EDbgSetBurstAllocFail,EDbgCheckFailure};
+
+/** @test */
+class TKernelHeapMarkCheckInfo
+	{
+public:
+	TBool iCountAll;
+	const TDesC8* iFileName;
+	TInt iLineNum;
+	};
+//
+class TTrapHandler;
+class CActiveScheduler;
+class TLocale;
+
+//
+//
+//
+// Handler below is used by test prints to trucate rather than panic the caller.
+//
+#if defined(_UNICODE) && !defined(__KERNEL_MODE__)
+NONSHARABLE_CLASS(TestOverflowTruncate) : public TDes16Overflow
+	{
+public:
+	virtual void Overflow(TDes16 &aDes);
+	};
+#else
+NONSHARABLE_CLASS(TestOverflowTruncate) : public TDes8Overflow
+	{
+public:
+	virtual void Overflow(TDes8 &aDes);
+	};
+#endif
+//
+
+/********************************************
+ * Thread local storage entry
+ ********************************************/
+struct STls
+	{
+	TInt	iHandle;
+	TInt	iDllUid;
+	TAny*	iPtr;
+	};
+
+const TInt KDllUid_Default = 0;		// for ROM DLLs and direct calls to UserSvr::DllTls
+const TInt KDllUid_Special = -1;	// used on emulator to instruct the kernel to get the DLL UID from the module handle
+
+/********************************************
+ * Entry point call values
+ ********************************************/
+const TInt	KModuleEntryReasonProcessInit		=0;		// Process start
+const TInt	KModuleEntryReasonThreadInit		=1;		// Start new thread
+const TInt	KModuleEntryReasonProcessAttach		=2;		// Process attach (init static data)
+const TInt	KModuleEntryReasonProcessDetach		=3;		// Process detach (destroy static data)
+const TInt	KModuleEntryReasonException			=4;		// Handle exception
+const TInt	KModuleEntryReasonVariantInit0		=-3;	// Call variant static constructors
+
+/** @publishedPartner
+	@released
+*/
+const TInt	KModuleEntryReasonExtensionInit0	=-2;	// Extension early initialisation check
+
+/** @publishedPartner
+	@released
+*/
+const TInt	KModuleEntryReasonExtensionInit1	=-1;	// Extension initialisation
+
+/**
+	Flags returned by Exec::KernelConfigFlags()
+*/
+enum TKernelConfigFlags
+	{
+	EKernelConfigIpcV1Available = 1<<0,
+	EKernelConfigPlatSecEnforcement = 1<<1,
+	EKernelConfigPlatSecDiagnostics = 1<<2,
+	EKernelConfigPlatSecProcessIsolation = 1<<3,
+	EKernelConfigPlatSecEnforceSysBin = 1<<4,
+
+	// paging policy values use by 2-bit code and data paging policy enums...
+	EKernelConfigPagingPolicyNoPaging = 0,
+	EKernelConfigPagingPolicyAlwaysPage = 1,
+	EKernelConfigPagingPolicyDefaultUnpaged = 2,
+	EKernelConfigPagingPolicyDefaultPaged = 3,
+
+	EKernelConfigCodePagingPolicyShift			= 5,
+	EKernelConfigCodePagingPolicyMask			= 3<<5,
+	EKernelConfigCodePagingPolicyNoPaging		= EKernelConfigPagingPolicyNoPaging<<5,
+	EKernelConfigCodePagingPolicyAlwaysPage		= EKernelConfigPagingPolicyAlwaysPage<<5,
+	EKernelConfigCodePagingPolicyDefaultUnpaged	= EKernelConfigPagingPolicyDefaultUnpaged<<5,
+	EKernelConfigCodePagingPolicyDefaultPaged	= EKernelConfigPagingPolicyDefaultPaged<<5,
+
+	EKernelConfigPlatSecLocked = 1<<7,					// Primarily used by __PLATSEC_UNLOCKED__ (q.v.) test code
+
+	EKernelConfigCrazyScheduling = 1<<8,				// Enables thread priority/timeslice craziness
+
+	EKernelConfigDataPagingPolicyShift			= 9,
+	EKernelConfigDataPagingPolicyMask			= 3<<9,
+	EKernelConfigDataPagingPolicyNoPaging		= EKernelConfigPagingPolicyNoPaging<<9,
+	EKernelConfigDataPagingPolicyAlwaysPage		= EKernelConfigPagingPolicyAlwaysPage<<9,
+	EKernelConfigDataPagingPolicyDefaultUnpaged	= EKernelConfigPagingPolicyDefaultUnpaged<<9,
+	EKernelConfigDataPagingPolicyDefaultPaged	= EKernelConfigPagingPolicyDefaultPaged<<9,
+
+	EKernelConfigSMPUnsafeCompat = 1<<12,				// Enables compatibility mode for SMP-unsafe processes
+
+	EKernelConfigDisableAPs = 1u<<30,
+
+	EKernelConfigTest = 1u<<31,							// Only used by test code for __PLATSEC_UNLOCKED__
+	};
+
+/**
+	If __PLATSEC_UNLOCKED__ is not defined, these flags must always
+	be considered to be set.  See KernelConfigFlags() in kern_priv.h.
+
+	@see KernelConfigFlags()
+
+	@internalTechnology
+*/
+#ifdef __PLATSEC_UNLOCKED__
+#define __PLATSEC_FORCED_FLAGS__	 0
+#else
+#define __PLATSEC_FORCED_FLAGS__	(EKernelConfigPlatSecEnforcement|EKernelConfigPlatSecProcessIsolation|EKernelConfigPlatSecEnforceSysBin)
+#endif
+
+/**
+@internalTechnology
+*/
+enum TGlobalUserData
+	{
+	ELocaleDefaultCharSet,
+	ELocalePreferredCharSet,
+	EMaxGlobalUserData
+	};
+
+typedef void (*TGlobalDestructorFunc)(void);
+
+// This must not conflict with any possible valid TLS keys
+const TInt KGlobalDestructorTlsKey = -1;
+
+GLREF_C void ExitCurrentThread(TExitType, TInt, const TDesC8*);
+
+#ifndef __REMOVE_PLATSEC_DIAGNOSTICS__
+/**
+@internalTechnology
+*/
+class TPlatSecDiagnostic
+	{
+public:
+	enum TType
+		{
+		ELoaderCapabilityViolation1,
+		ELoaderCapabilityViolation2,
+		EThreadCapabilityCheckFail,
+		EProcessCapabilityCheckFail,
+		EKernelSecureIdCheckFail,
+		EKernelObjectPolicyCheckFail,
+		EHandleCapabilityCheckFail,
+		ECreatorCapabilityCheckFail,
+		EMessageCapabilityCheckFail,
+		EKernelProcessIsolationFail,
+		EKernelProcessIsolationIPCFail,
+		ECreatorPolicyCheckFail,		
+		};
+public:
+	inline TPlatSecDiagnostic();
+	inline TPlatSecDiagnostic(TType aType);
+	inline TPlatSecDiagnostic(TType aType, TInt aInt1, TInt aInt2, const SCapabilitySet& aCaps);
+	inline TPlatSecDiagnostic(TType aType, TInt aInt1, const SSecurityInfo& aCaps);
+	inline TPlatSecDiagnostic(TType aType, TInt aInt, const TDesC8& aString, const SCapabilitySet& aCaps);
+	inline TPlatSecDiagnostic(TType aType, const TDesC8& aString1, const TDesC8& aString2, const SCapabilitySet& aCaps);
+	inline TPlatSecDiagnostic(TType aType, TInt aInt1, TInt aInt2);
+	inline TPlatSecDiagnostic(TType aType, TInt aInt1);
+	inline const TDesC8* String1();
+	inline const TDesC8* String2();
+public:
+	TType iType;
+	TInt iArg1;
+	TInt iArg2;
+	const char* iContextText;
+	TInt iContextTextLength;
+	SSecurityInfo iSecurityInfo;
+	};
+
+inline TPlatSecDiagnostic::TPlatSecDiagnostic()
+	{}
+
+inline TPlatSecDiagnostic::TPlatSecDiagnostic(TType aType)
+	: iType(aType)
+	{}
+
+inline TPlatSecDiagnostic::TPlatSecDiagnostic(TType aType,TInt aInt1)
+	: iType(aType), iArg1(aInt1)
+	{}
+
+inline TPlatSecDiagnostic::TPlatSecDiagnostic(TType aType, TInt aInt1, TInt aInt2, const SCapabilitySet& aCaps)
+	: iType(aType), iArg1(aInt1), iArg2(aInt2), iContextText(0) 
+	{
+	iSecurityInfo.iSecureId = 0;
+	iSecurityInfo.iVendorId = 0;
+	iSecurityInfo.iCaps = aCaps;
+	};
+inline TPlatSecDiagnostic::TPlatSecDiagnostic(TType aType, TInt aInt1, const SSecurityInfo& aInfo)
+	: iType(aType), iArg1(aInt1), iArg2(ECapability_None), iContextText(0), iSecurityInfo(aInfo) 
+	{
+	};
+
+inline TPlatSecDiagnostic::TPlatSecDiagnostic(TType aType, TInt aInt, const TDesC8& aString, const SCapabilitySet& aCaps)
+	: iType(aType), iArg1(aInt), iArg2((TInt)&aString), iContextText(0) 
+	{
+	iSecurityInfo.iSecureId = 0;
+	iSecurityInfo.iVendorId = 0;
+	iSecurityInfo.iCaps = aCaps;
+	};
+
+inline TPlatSecDiagnostic::TPlatSecDiagnostic(TType aType, const TDesC8& aString1, const TDesC8& aString2, const SCapabilitySet& aCaps)
+	: iType(aType), iArg1((TInt)&aString1), iArg2((TInt)&aString2), iContextText(0) 
+	{
+	iSecurityInfo.iSecureId = 0;
+	iSecurityInfo.iVendorId = 0;
+	iSecurityInfo.iCaps = aCaps;
+	};
+
+inline TPlatSecDiagnostic::TPlatSecDiagnostic(TType aType, TInt aInt1, TInt aInt2)
+	: iType(aType), iArg1(aInt1), iArg2(aInt2) 
+	{
+	iSecurityInfo.iSecureId = 0;
+	iSecurityInfo.iVendorId = 0;
+	iSecurityInfo.iCaps[0] = 0;
+	iSecurityInfo.iCaps[1] = 0;
+	};
+
+inline const TDesC8* TPlatSecDiagnostic::String1()
+	{ return (const TDesC8*)iArg1; }
+
+inline const TDesC8* TPlatSecDiagnostic::String2()
+	{ return (const TDesC8*)iArg2; }
+
+inline TInt PlatSec::LoaderCapabilityViolation(const TDesC8& aImporterName, const TDesC8& aFileName, const SCapabilitySet& aMissingCaps)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::ELoaderCapabilityViolation2,aImporterName,aFileName,aMissingCaps);
+	return EmitDiagnostic(d, NULL);
+	}
+
+#ifdef __KERNEL_MODE__
+
+inline TInt PlatSec::CapabilityCheckFail(const DProcess* aViolatingProcess, TCapability aCapability, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EProcessCapabilityCheckFail,(TInt)aViolatingProcess,(TInt)aCapability);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::CapabilityCheckFail(const DThread* aViolatingThread, TCapability aCapability, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EThreadCapabilityCheckFail,(TInt)aViolatingThread,(TInt)aCapability);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::SecureIdCheckFail(const DProcess* aViolatingProcess, TSecureId aSid, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EKernelSecureIdCheckFail,(TInt)aViolatingProcess,(TInt)aSid);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::PolicyCheckFail(const DProcess* aProcess, const SSecurityInfo& aMissingSecurityInfo, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EKernelObjectPolicyCheckFail,(TInt)aProcess,(const SSecurityInfo&)aMissingSecurityInfo);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::PolicyCheckFail(const DThread* aThread, const SSecurityInfo& aMissingSecurityInfo, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EKernelObjectPolicyCheckFail,(TInt)aThread,(const SSecurityInfo&)aMissingSecurityInfo);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::ProcessIsolationFail(const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EKernelProcessIsolationFail);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::ProcessIsolationIPCFail(RMessageK* aMessage, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EKernelProcessIsolationIPCFail,(TInt)aMessage);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+#else // !__KERNEL_MODE__
+
+inline TInt PlatSec::LoaderCapabilityViolation(RProcess aLoadingProcess, const TDesC8& aFileName, const SCapabilitySet& aMissingCaps)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::ELoaderCapabilityViolation1,aLoadingProcess.Handle(),aFileName,aMissingCaps);
+	return EmitDiagnostic(d, NULL);
+	}
+
+inline TInt PlatSec::CreatorCapabilityCheckFail(TCapability aCapability, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::ECreatorCapabilityCheckFail,(TInt)0,aCapability);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::CreatorCapabilityCheckFail(const TCapabilitySet& aMissingCaps, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::ECreatorCapabilityCheckFail,(TInt)0,ECapability_None,(const SCapabilitySet&)aMissingCaps);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::CapabilityCheckFail(TInt aHandle, TCapability aCapability, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EHandleCapabilityCheckFail,aHandle,aCapability);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::CapabilityCheckFail(TInt aHandle, const TCapabilitySet& aMissingCaps, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EHandleCapabilityCheckFail,aHandle,ECapability_None,(const SCapabilitySet&)aMissingCaps);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::PolicyCheckFail(TInt aHandle, const SSecurityInfo& aMissingSecurityInfo, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EHandleCapabilityCheckFail,aHandle,(const SSecurityInfo&)aMissingSecurityInfo);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::CapabilityCheckFail(RMessagePtr2 aMessage, TCapability aCapability, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EMessageCapabilityCheckFail,(TInt)aMessage.Handle(),aCapability);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::CapabilityCheckFail(RMessagePtr2 aMessage, const TCapabilitySet& aMissingCaps, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EMessageCapabilityCheckFail,(TInt)aMessage.Handle(),ECapability_None,(const SCapabilitySet&)aMissingCaps);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::PolicyCheckFail(RMessagePtr2 aMessage, const SSecurityInfo& aMissing, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::EMessageCapabilityCheckFail,(TInt)aMessage.Handle(),(const SSecurityInfo&)aMissing);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+inline TInt PlatSec::CreatorPolicyCheckFail(const SSecurityInfo& aMissing, const char* aContextText)
+	{
+	TPlatSecDiagnostic d(TPlatSecDiagnostic::ECreatorPolicyCheckFail,(TInt)0,(const SSecurityInfo&)aMissing);
+	return EmitDiagnostic(d,aContextText);
+	}
+
+#endif //__KERNEL_MODE__
+#endif // !__REMOVE_PLATSEC_DIAGNOSTICS__
+
+const TInt KTlsArrayGranularity=2;
+
+#ifdef __CPU_HAS_CP15_THREAD_ID_REG
+
+#define __USERSIDE_THREAD_DATA__
+
+class TLocalThreadData
+	{
+public:
+	void Close();
+#ifndef __KERNEL_MODE__
+	TAny* DllTls(TInt aHandle, TInt aDllUid);
+	TInt DllSetTls(TInt aHandle, TInt aDllUid, TAny* aPtr);
+	void DllFreeTls(TInt aHandle);
+#endif
+public:
+	RAllocator* iHeap;				///< The thread's current heap
+	CActiveScheduler* iScheduler;	///< The thread's current active scheduler
+	TTrapHandler* iTrapHandler;		///< The thread's current trap handler
+private:
+	RAllocator* iTlsHeap; 			///< The heap that the DLL TLS data is stored on
+	RArray<STls> iTls; 				///< DLL TLS data
+	};
+
+const TInt KLocalThreadDataSize = _ALIGN_UP(sizeof(TLocalThreadData), 8);
+
+#endif
+
+#ifdef __WINS__
+
+enum TWin32RuntimeReason
+	{
+	// Same values as passed to DllMain
+	EWin32RuntimeProcessAttach = 1,
+	EWin32RuntimeThreadAttach = 2,
+	EWin32RuntimeThreadDetach = 3,
+	EWin32RuntimeProcessDetach = 4,
+	};
+
+typedef TBool (*TWin32RuntimeHook)(TWin32RuntimeReason);
+
+#endif
+
+struct SAtomicOpInfo64
+	{
+	TAny*		iA;
+	TAny*		iQ;
+	TUint64		i1;
+	TUint64		i2;
+	TUint64		i3;
+	};
+
+struct SAtomicOpInfo32
+	{
+	TAny*		iA;
+	union
+		{
+		TAny*	iQ;
+		TUint32	i0;
+		};
+	TUint32		i1;
+	TUint32		i2;
+	};
+
+#endif //__U32STD_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/uc_exe.cia	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* f32test\loader\security\uc_exe.cia
+*
+*/
+
+
+#include <e32cia.h>
+#include "u32std.h"
+
+extern "C" {
+
+// Minimal entry point which won't cause any code relocations to be included
+__NAKED__ TInt _E32Startup()
+	{
+	EKA2_ENTRY_POINT_VERSION_IDENTIFIER;	// DUMMY INSTRUCTION TO INDICATE EKA2 ENTRY POINT
+	asm("mov r0, #0 ");
+	__JUMP(,lr);
+
+	asm(".word 0 ");			// loader will replace with code seg unique ID
+								// for RAM-loaded code segment
+								// MUST BE AT OFFSET 12 FROM ENTRY POINT
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/uc_exex86.cia	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* f32test\loader\security\uc_exex86.cia
+*
+*/
+
+
+#include "u32std.h"
+#include "x86hlp.inl"
+
+extern "C" {
+
+// Minimal entry point which won't cause any code relocations to be included
+__NAKED__ TInt _E32Startup()
+	{
+	BYTE(0xeb)			// JMP .+16
+	BYTE(0x0e)
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)			// need zero word at offset 12 from entry point
+	BYTE(0x00)
+	BYTE(0x00)
+	BYTE(0x00)
+
+	BYTE(0xcb) //asm("retf"); GCC doesn't recognise retf
+	}
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/x86hlp.inl	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,449 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32\common\x86\x86hlp.inl
+*
+*/
+
+
+#ifdef __GCC32__
+#include <x86hlp_gcc.inl>
+#else
+
+/**** MSVC helpers ****/
+
+/*static void DivisionByZero()
+	{
+	_asm int 0;
+	}*/
+
+#pragma warning ( disable : 4414 )  // short jump to function converted to near
+
+extern "C" {
+__NAKED__ void _allmul()
+//
+// Multiply two 64 bit integers returning a 64 bit result
+// On entry:
+//		[esp+4], [esp+8] = arg 1
+//		[esp+12], [esp+16] = arg 1
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm mov eax, [esp+4]			// eax = low1
+	_asm mul dword ptr [esp+16]		// edx:eax = low1*high2
+	_asm mov ecx, eax				// keep low 32 bits of product
+	_asm mov eax, [esp+8]			// eax = high1
+	_asm mul dword ptr [esp+12]		// edx:eax = high1*low2
+	_asm add ecx, eax				// accumulate low 32 bits of product
+	_asm mov eax, [esp+4]			// eax = low1
+	_asm mul dword ptr [esp+12]		// edx:eax = low1*low2
+	_asm add edx, ecx				// add cross terms to high 32 bits
+	_asm ret 16
+	}
+
+void udiv64_divby0()
+	{
+	_asm int 0						// division by zero exception
+	_asm ret
+	}
+
+__NAKED__ void UDiv64()
+	{
+	// unsigned divide edx:eax by edi:esi
+	// quotient in ebx:eax, remainder in edi:edx
+	// ecx, ebp, esi also modified
+	_asm test edi, edi
+	_asm jnz short UDiv64a				// branch if divisor >= 2^32
+	_asm test esi, esi
+//	_ASM_j(z,DivisionByZero)			// if divisor=0, branch to error routine
+	_asm jz udiv64_divby0
+	_asm mov ebx, eax					// ebx=dividend low
+	_asm mov eax, edx					// eax=dividend high
+	_asm xor edx, edx					// edx=0
+	_asm div esi						// quotient high now in eax
+	_asm xchg eax, ebx					// quotient high in ebx, dividend low in eax
+	_asm div esi						// quotient now in ebx:eax, remainder in edi:edx
+	_asm ret
+	UDiv64e:
+	_asm xor eax, eax					// set result to 0xFFFFFFFF
+	_asm dec eax
+	_asm jmp short UDiv64f
+	UDiv64a:
+	_asm js short UDiv64b				// skip if divisor msb set
+	_asm bsr ecx, edi					// ecx=bit number of divisor msb - 32
+	_asm inc cl
+	_asm push edi						// save divisor high
+	_asm push esi						// save divisor low
+	_asm shrd esi, edi, cl				// shift divisor right so that msb is bit 31
+	_asm mov ebx, edx					// dividend into ebx:ebp
+	_asm mov ebp, eax
+	_asm shrd eax, edx, cl				// shift dividend right same number of bits
+	_asm shr edx, cl
+	_asm cmp edx, esi					// check if approx quotient will be 2^32
+	_asm jae short UDiv64e				// if so, true result must be 0xFFFFFFFF
+	_asm div esi						// approximate quotient now in eax
+	UDiv64f:
+	_asm mov ecx, eax					// into ecx
+	_asm mul edi						// multiply approx. quotient by divisor high
+	_asm mov esi, eax					// ls dword into esi, ms into edi
+	_asm mov edi, edx
+	_asm mov eax, ecx					// approx. quotient into eax
+	_asm mul dword ptr [esp]			// multiply approx. quotient by divisor low
+	_asm add edx, esi					// edi:edx:eax now equals approx. quotient * divisor
+	_asm adc edi, 0
+	_asm xor esi, esi
+	_asm sub ebp, eax					// subtract dividend - approx. quotient *divisor
+	_asm sbb ebx, edx
+	_asm sbb esi, edi
+	_asm jnc short UDiv64c				// if no borrow, result OK
+	_asm dec ecx						// else result is one too big
+	_asm add ebp, [esp]					// and add divisor to get correct remainder
+	_asm adc ebx, [esp+4]
+	UDiv64c:
+	_asm mov eax, ecx					// result into ebx:eax, remainder into edi:edx
+	_asm mov edi, ebx
+	_asm mov edx, ebp
+	_asm xor ebx, ebx
+	_asm add esp, 8						// remove temporary values from stack
+	_asm ret
+	UDiv64b:
+	_asm mov ebx, 1
+	_asm sub eax, esi					// subtract divisor from dividend
+	_asm sbb edx, edi
+	_asm jnc short UDiv64d				// if no borrow, result=1, remainder in edx:eax
+	_asm add eax, esi					// else add back
+	_asm adc edx, edi
+	_asm dec ebx						// and decrement quotient
+	UDiv64d:
+	_asm mov edi, edx					// remainder into edi:edx
+	_asm mov edx, eax
+	_asm mov eax, ebx					// result in ebx:eax
+	_asm xor ebx, ebx
+	_asm ret
+	}
+
+__NAKED__ void _aulldvrm()
+//
+// Divide two 64 bit unsigned integers, returning a 64 bit result
+// and a 64 bit remainder
+//
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+//
+// Return (dividend / divisor) in edx:eax
+// Return (dividend % divisor) in ebx:ecx
+//
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm mov eax, [esp+16]
+	_asm mov edx, [esp+20]
+	_asm mov esi, [esp+24]
+	_asm mov edi, [esp+28]
+	_asm call UDiv64
+	_asm mov ecx, edx
+	_asm mov edx, ebx
+	_asm mov ebx, edi
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _alldvrm()
+//
+// Divide two 64 bit signed integers, returning a 64 bit result
+// and a 64 bit remainder
+//
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+//
+// Return (dividend / divisor) in edx:eax
+// Return (dividend % divisor) in ebx:ecx
+//
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm mov eax, [esp+16]
+	_asm mov edx, [esp+20]
+	_asm mov esi, [esp+24]
+	_asm mov edi, [esp+28]
+	_asm test edx, edx
+	_asm jns dividend_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	dividend_nonnegative:
+	_asm test edi, edi
+	_asm jns divisor_nonnegative
+	_asm neg edi
+	_asm neg esi
+	_asm sbb edi, 0
+	divisor_nonnegative:
+	_asm call UDiv64
+	_asm mov ebp, [esp+20]
+	_asm mov ecx, edx
+	_asm xor ebp, [esp+28]
+	_asm mov edx, ebx
+	_asm mov ebx, edi
+	_asm jns quotient_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	quotient_nonnegative:
+	_asm cmp dword ptr [esp+20], 0
+	_asm jns rem_nonnegative
+	_asm neg ebx
+	_asm neg ecx
+	_asm sbb ebx, 0
+	rem_nonnegative:
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _aulldiv()
+//
+// Divide two 64 bit unsigned integers returning a 64 bit result
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm push ebx
+	_asm mov eax, [esp+20]
+	_asm mov edx, [esp+24]
+	_asm mov esi, [esp+28]
+	_asm mov edi, [esp+32]
+	_asm call UDiv64
+	_asm mov edx, ebx
+	_asm pop ebx
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _alldiv()
+//
+// Divide two 64 bit signed integers returning a 64 bit result
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm push ebx
+	_asm mov eax, [esp+20]
+	_asm mov edx, [esp+24]
+	_asm mov esi, [esp+28]
+	_asm mov edi, [esp+32]
+	_asm test edx, edx
+	_asm jns dividend_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	dividend_nonnegative:
+	_asm test edi, edi
+	_asm jns divisor_nonnegative
+	_asm neg edi
+	_asm neg esi
+	_asm sbb edi, 0
+	divisor_nonnegative:
+	_asm call UDiv64
+	_asm mov ecx, [esp+24]
+	_asm mov edx, ebx
+	_asm xor ecx, [esp+32]
+	_asm jns quotient_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	quotient_nonnegative:
+	_asm pop ebx
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _aullrem()
+//
+// Divide two 64 bit unsigned integers and return 64 bit remainder
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm push ebx
+	_asm mov eax, [esp+20]
+	_asm mov edx, [esp+24]
+	_asm mov esi, [esp+28]
+	_asm mov edi, [esp+32]
+	_asm call UDiv64
+	_asm mov eax, edx
+	_asm mov edx, edi
+	_asm pop ebx
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _allrem()
+//
+// Divide two 64 bit signed integers and return 64 bit remainder
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm push ebx
+	_asm mov eax, [esp+20]
+	_asm mov edx, [esp+24]
+	_asm mov esi, [esp+28]
+	_asm mov edi, [esp+32]
+	_asm test edx, edx
+	_asm jns dividend_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	dividend_nonnegative:
+	_asm test edi, edi
+	_asm jns divisor_nonnegative
+	_asm neg edi
+	_asm neg esi
+	_asm sbb edi, 0
+	divisor_nonnegative:
+	_asm call UDiv64
+	_asm mov eax, edx
+	_asm mov edx, edi
+	_asm cmp dword ptr [esp+24], 0
+	_asm jns rem_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	rem_nonnegative:
+	_asm pop ebx
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _allshr()
+//
+// Arithmetic shift right EDX:EAX by CL
+//
+	{
+	_asm cmp cl, 64
+	_asm jae asr_count_ge_64
+	_asm cmp cl, 32
+	_asm jae asr_count_ge_32
+	_asm shrd eax, edx, cl
+	_asm sar edx, cl
+	_asm ret
+	asr_count_ge_32:
+	_asm sub cl, 32
+	_asm mov eax, edx
+	_asm cdq
+	_asm sar eax, cl
+	_asm ret
+	asr_count_ge_64:
+	_asm sar edx, 32
+	_asm mov eax, edx
+	_asm ret
+	}
+
+__NAKED__ void _allshl()
+//
+// shift left EDX:EAX by CL
+//
+	{
+	_asm cmp cl, 64
+	_asm jae lsl_count_ge_64
+	_asm cmp cl, 32
+	_asm jae lsl_count_ge_32
+	_asm shld edx, eax, cl
+	_asm shl eax, cl
+	_asm ret
+	lsl_count_ge_32:
+	_asm sub cl, 32
+	_asm mov edx, eax
+	_asm xor eax, eax
+	_asm shl edx, cl
+	_asm ret
+	lsl_count_ge_64:
+	_asm xor edx, edx
+	_asm xor eax, eax
+	_asm ret
+	}
+
+__NAKED__ void _aullshr()
+//
+// Logical shift right EDX:EAX by CL
+//
+	{
+	_asm cmp cl, 64
+	_asm jae lsr_count_ge_64
+	_asm cmp cl, 32
+	_asm jae lsr_count_ge_32
+	_asm shrd eax, edx, cl
+	_asm shr edx, cl
+	_asm ret
+	lsr_count_ge_32:
+	_asm sub cl, 32
+	_asm mov eax, edx
+	_asm xor edx, edx
+	_asm shr eax, cl
+	_asm ret
+	lsr_count_ge_64:
+	_asm xor edx, edx
+	_asm xor eax, eax
+	_asm ret
+	}
+
+
+}
+
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5
+
+PRJ_MMPFILES
+diagsuppress.mmp
+diagsuppress_noarmlibs.mmp
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This function is simple a way to get these EXPORT statements into
+* the .in file. These symbols will therefore be referenced from
+* the export table and so **forced** into the DLL
+*
+*/
+
+
+__asm void __rt_exporter_dummy(void)
+{
+	AREA |.directive|, READONLY, NOALLOC
+
+	PRESERVE8
+
+	DCB "#<SYMEDIT>#\n"
+
+/// Standard double precision floating-point arithmetic helper functions
+
+	DCB "EXPORT __aeabi_dadd\n"
+	DCB "EXPORT __aeabi_ddiv\n"
+	DCB "EXPORT __aeabi_dmul\n"
+	DCB "EXPORT __aeabi_dneg\n"
+	DCB "EXPORT __aeabi_drsub\n"
+	DCB "EXPORT __aeabi_dsub\n"
+
+/// Standard double precision floating-point comparison helper functions
+
+	DCB "EXPORT __aeabi_cdcmpeq\n"
+	DCB "EXPORT __aeabi_cdcmple\n"
+	DCB "EXPORT __aeabi_cdrcmple\n"
+	DCB "EXPORT __aeabi_dcmpeq\n"
+	DCB "EXPORT __aeabi_dcmplt\n"
+	DCB "EXPORT __aeabi_dcmple\n"
+	DCB "EXPORT __aeabi_dcmpge\n"
+	DCB "EXPORT __aeabi_dcmpgt\n"
+	DCB "EXPORT __aeabi_dcmpun\n"
+
+/// Standard single precision floating-point arithmetic helper functions
+
+	DCB "EXPORT __aeabi_fadd\n"
+	DCB "EXPORT __aeabi_fdiv\n"
+	DCB "EXPORT __aeabi_fmul\n"
+	DCB "EXPORT __aeabi_fneg\n"
+	DCB "EXPORT __aeabi_frsub\n"
+	DCB "EXPORT __aeabi_fsub\n"
+
+/// Standard single precision floating-point comparison helper functions
+
+	DCB "EXPORT __aeabi_cfcmpeq\n"
+	DCB "EXPORT __aeabi_cfcmple\n"
+	DCB "EXPORT __aeabi_cfrcmple\n"
+	DCB "EXPORT __aeabi_fcmpeq\n"
+	DCB "EXPORT __aeabi_fcmplt\n"
+	DCB "EXPORT __aeabi_fcmple\n"
+	DCB "EXPORT __aeabi_fcmpge\n"
+	DCB "EXPORT __aeabi_fcmpgt\n"
+	DCB "EXPORT __aeabi_fcmpun\n"
+
+/// Standard floating-point to integer conversions
+
+	DCB "EXPORT __aeabi_d2iz\n"
+	DCB "EXPORT __aeabi_d2uiz\n"
+	DCB "EXPORT __aeabi_d2lz\n"
+	DCB "EXPORT __aeabi_d2ulz\n"
+	DCB "EXPORT __aeabi_f2iz\n"
+	DCB "EXPORT __aeabi_f2uiz\n"
+	DCB "EXPORT __aeabi_f2lz\n"
+	DCB "EXPORT __aeabi_f2ulz\n"
+
+/// Standard conversions between floating types
+
+	DCB "EXPORT __aeabi_d2f\n"
+	DCB "EXPORT __aeabi_f2d\n"
+
+/// Standard integer to floating-point conversions
+
+	DCB "EXPORT __aeabi_i2d\n"
+	DCB "EXPORT __aeabi_ui2d\n"
+	DCB "EXPORT __aeabi_l2d\n"
+	DCB "EXPORT __aeabi_ul2d\n"
+	DCB "EXPORT __aeabi_i2f\n"
+	DCB "EXPORT __aeabi_ui2f\n"
+	DCB "EXPORT __aeabi_l2f\n"
+	DCB "EXPORT __aeabi_ul2f\n"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGETTYPE		dll
+SOURCEPATH		.
+SOURCE			diagsuppress.cpp
+
+SYSTEMINCLUDE		../../include
+
+capability		all
+
+VENDORID 0x70000001
+
+TARGET 			diagsuppress_test.dll
+LINKAS			diagsuppress.dll
+NOEXPORTLIBRARY
+
+start armcc
+    armrt
+    arminc
+
+    #if defined(ARMCC_3_1)
+    armlibs     c_5.l cpprt_5.l h_5.l
+
+    #elif defined(ARMCC_2_2)
+    #ifdef MARM_ARMV5
+	ARMLIBS		c_t__un.l cpprt_t__u.l
+    #else
+	ARMLIBS		c_a__un.l cpprt_a__u.l
+    #endif
+
+    #endif
+end
+
+unpagedcode
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress_noarmlibs.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGETTYPE		dll
+SOURCEPATH		.
+SOURCE			diagsuppress.cpp
+
+SYSTEMINCLUDE		../../include
+
+capability		all
+
+VENDORID 0x70000001
+
+TARGET 			diagsuppress_noarmlibs_test.dll
+LINKAS			diagsuppress_noarmlibs.dll
+NOEXPORTLIBRARY
+
+start armcc
+    armrt
+    arminc
+end
+
+unpagedcode
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp8/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+PRJ_PLATFORMS
+ARMV5 WINSCW 
+
+PRJ_MMPFILES
+test_mmp_version.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp8/test_mmp_version.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,9 @@
+
+#include "e32def.h"
+
+char test[] = "test mmp keyword VERSION";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp8/test_mmp_version.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,12 @@
+
+TARGET			test_mmp_version
+TARGETTYPE		EXE
+
+LIBRARY			euser.lib
+
+SYSTEMINCLUDE		/epoc32/include
+
+SOURCE			test_mmp_version.cpp
+
+VERSION			6
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/armfpu.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+
+TInt test1;
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/armfpu_soft.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+target			test_softvfp
+TARGETTYPE		exe
+SOURCEPATH		.
+SOURCE			armfpu.cpp
+
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+
+ARMFPU 			softvfp
+
+capability		all
+paged
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/armfpu_vfpv2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+target			test_vfpv2
+TARGETTYPE		exe
+SOURCEPATH		.
+SOURCE			armfpu.cpp
+
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+
+ARMFPU 			vfpv2
+
+capability		all
+paged
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5
+
+PRJ_MMPFILES
+armfpu_soft.mmp
+armfpu_vfpv2.mmp
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/non_ascii/cmd.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1 @@
+-c armv5_urel åäö
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/bwins/t_oedll.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+EXPORTS
+	??0CMessenger@@AAE@AAVCConsoleBase@@@Z @ 1 NONAME ; CMessenger::CMessenger(class CConsoleBase &)
+	??1CMessenger@@UAE@XZ @ 2 NONAME ; CMessenger::~CMessenger(void)
+	??_ECBase@@UAE@I@Z @ 3 NONAME ; CBase::~CBase(unsigned int)
+	??_ECMessenger@@UAE@I@Z @ 4 NONAME ; CMessenger::~CMessenger(unsigned int)
+	?ConstructL@CMessenger@@AAEXABVTDesC16@@@Z @ 5 NONAME ; void CMessenger::ConstructL(class TDesC16 const &)
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 6 NONAME ; class CMessenger * CMessenger::NewLC(class CConsoleBase &, class TDesC16 const &)
+	?ShowMessage@CMessenger@@QAEXXZ @ 7 NONAME ; void CMessenger::ShowMessage(void)
+	?bar@@YAHXZ @ 8 NONAME ; int bar(void)
+	myfoo @ 9 NONAME
+	??_R0?AVCBase@@@8~ @ 10 NONAME ; class CBase `MW RTTI Type Descriptor'
+	?uid@@3UTEmulatorImageHeader@@A @ 11 NONAME ; struct TEmulatorImageHeader uid
+	??_7CBase@@6B@~ @ 12 NONAME ; const CBase::`vftable'
+	??_7CMessenger@@6B@~ @ 13 NONAME ; const CMessenger::`vftable'
+	??_R0?AVCMessenger@@@8~ @ 14 NONAME ; class CMessenger `MW RTTI Type Descriptor'
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/eabi/t_oedll.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,14 @@
+EXPORTS
+	_Z3barv @ 1 NONAME
+	_ZN10CMessenger10ConstructLERK7TDesC16 @ 2 NONAME
+	_ZN10CMessenger11ShowMessageEv @ 3 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 4 NONAME
+	_ZN10CMessengerC1ER12CConsoleBase @ 5 NONAME
+	_ZN10CMessengerC2ER12CConsoleBase @ 6 NONAME
+	_ZN10CMessengerD0Ev @ 7 NONAME
+	_ZN10CMessengerD1Ev @ 8 NONAME
+	_ZN10CMessengerD2Ev @ 9 NONAME
+	_ZTI10CMessenger @ 10 NONAME
+	_ZTV10CMessenger @ 11 NONAME
+	myfoo @ 12 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+t_oedll
+t_oeexe
+t_oelib
+symbian_lib
+symbian_exe
+symbian_exe_with_stdcpp
+oe_exe_without_stdcpp
+
+// Trying to use lib with symbian new() and delete() in a STD exe
+wrong_newlib_oe_exe
+
+// Trying to use lib with open environment new() and delete() in a symbian c++ exe
+wrong_newlib_symbian_exe
+// end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/oe_exe_without_stdcpp.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET			oe_exe_without_stdcpp.exe
+TARGETTYPE		stdexe
+romtarget
+ramtarget		sys/bin/
+SOURCEPATH		..
+
+// Emulator images have different export data
+#ifdef WINS
+SOURCE			t_oeexe_wins.cpp
+#else
+SOURCE			t_oeexe.cpp
+#endif
+
+NOSTDCPP
+
+LIBRARY			euser.lib efsrv.lib 
+SYSTEMINCLUDE	/epoc32/include ..
+VENDORID		0x70000001
+capability		all -TCB
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/symbian_exe.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			symbian_newlib.exe
+TARGETTYPE		EXE
+
+// Test backslash to / here:
+TARGETPATH		\sys\bin
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCEPATH 		..
+SOURCE			wrong_newlib_symbian.cpp
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+PAGED
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/symbian_exe_with_stdcpp.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			symbian_exe_with_stdcpp.exe
+TARGETTYPE		EXE
+
+// Test backslash to / here:
+TARGETPATH		\sys\bin
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCEPATH 		..
+SOURCE			wrong_newlib_symbian.cpp
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+PAGED
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
+
+STDCPP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/symbian_lib.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			symbian_test.lib
+TARGETTYPE		LIB
+UID			0x100039ce 0x00000001
+SECUREID		0x10003a5
+SYSTEMINCLUDE		/epoc32/include
+SOURCEPATH		..
+SOURCE			symbian_lib.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oedll.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_oedll.dll
+TARGETTYPE		stddll
+CAPABILITY		all
+romtarget
+ramtarget 		sys/bin/
+
+VENDORID 		0x70000001
+
+SOURCEPATH    	..
+SOURCE        	t_oedll.cpp
+
+USERINCLUDE   	..
+SYSTEMINCLUDE 	/epoc32/include
+
+LIBRARY       	euser.lib
+nostrictdef
+nocompresstarget
+epocallowdlldata
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oeexe.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET			t_oeexe.exe
+TARGETTYPE		stdexe
+romtarget
+ramtarget		sys/bin/
+SOURCEPATH		..
+
+// Emulator images have different export data
+#ifdef WINS
+SOURCE			t_oeexe_wins.cpp
+#else
+SOURCE			t_oeexe.cpp
+#endif
+
+LIBRARY			euser.lib efsrv.lib t_oedll.lib
+SYSTEMINCLUDE	/epoc32/include ..
+VENDORID		0x70000001
+capability		all -TCB
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oelib.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET			t_oelib.lib
+TARGETTYPE		stdlib
+SOURCEPATH		..
+STDCPP
+
+SOURCE			t_oelib.cpp
+
+SYSTEMINCLUDE	/epoc32/include ..
+VENDORID		0x70000001
+capability		all -TCB
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/wrong_newlib_oe_exe.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET			wrong_newlib_test_oeexe.exe
+TARGETTYPE		stdexe
+romtarget
+ramtarget		sys/bin/
+SOURCEPATH		..
+STDCPP
+
+// Emulator images have different export data
+#ifdef WINS
+SOURCE			t_oeexe_wins.cpp
+#else
+SOURCE			t_oeexe.cpp
+#endif
+
+LIBRARY			euser.lib t_oedll.lib
+
+// Standard Symbian Library Created by Simple_lib\simple.mmp
+STATICLIBRARY		symbian_test.lib
+
+SYSTEMINCLUDE	/epoc32/include ..
+VENDORID		0x70000001
+capability		all -TCB
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/wrong_newlib_symbian_exe.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			wrong_newlib_seexe.exe
+TARGETTYPE		EXE
+
+// Test backslash to / here:
+TARGETPATH		\sys\bin
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+
+// Open Environment Library Created by oe\group\t_oelib.mmp
+STATICLIBRARY		t_oelib.lib
+
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCEPATH 		..
+SOURCE			wrong_newlib_symbian.cpp
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+PAGED
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/symbian_lib.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* test_lib
+*
+*/
+
+
+#ifndef __SYMBIAN32__
+#define EXPORT __declspec(export)
+#else
+#define EXPORT 
+#endif
+
+EXPORT int test_oe_function_A(int arg)
+{
+	return (arg + 1);
+}
+
+int test_oe_function_B(int arg)
+{
+	return (arg + 2);
+}
+
+int test_oe_function_C(int arg)
+{
+	return (arg + 3);
+}
+
+
+int test_oe_allocator(int arg)
+{
+	int *p = new int;
+	delete p;
+
+	return 0;
+}
+
+// end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oedll.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+
+#include "t_oedll.h"
+
+
+
+// construct/destruct
+
+
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+
+	{
+
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+
+	CleanupStack::PushL(self);
+
+	self->ConstructL(aString);
+
+	return self;
+
+	}
+
+
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+
+	{
+
+	delete iString;
+
+	}
+
+
+
+EXPORT_C void CMessenger::ShowMessage()
+
+	{
+
+	_LIT(KFormat1,"%S\n");
+
+	iConsole.Printf(KFormat1, iString); // notify completion
+
+	}
+
+
+
+// constructor support
+
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+
+	: iConsole(aConsole)
+
+	{
+
+	}
+
+
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+
+	{
+
+	iString=aString.AllocL(); // copy given string into own descriptor
+
+    }
+
+
+
+class MY_MY
+
+{
+
+public:
+
+	MY_MY(int aA){iA = aA;}
+
+	int iA;
+
+	int get() { return iA;}
+
+};
+
+
+
+class MY_TYPE
+
+{
+
+public:
+
+	MY_TYPE(MY_MY& aA){memcpy(&iA, &aA, sizeof(iA));}
+
+	int iA;
+
+	int get() { return iA;}
+
+};
+
+
+
+EXPORT_C int bar()
+
+{
+
+	MY_MY amymy(0x1234);
+
+	static MY_TYPE mytype(amymy);
+
+	myfoo();
+
+	return mytype.get();
+
+}
+
+
+
+extern "C" {
+
+EXPORT_C int myfoo()
+
+{
+
+	return 0x1234;
+
+}
+
+
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oedll.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.h*
+*/
+
+
+ 
+
+
+
+#include <e32cons.h>
+
+extern "C" {
+
+extern int IMPORT_C myfoo();
+
+}
+
+
+
+IMPORT_C int bar();
+
+class CMessenger : public CBase
+
+  	{
+
+public:
+
+		// Construction
+
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+
+		// Destructor - virtual and class not intended
+
+		// for derivation, so not exported
+
+	~CMessenger();
+
+		// general functions - exported
+
+	IMPORT_C void ShowMessage();
+
+private:
+
+		// C++ constructor - not exported;
+
+		// implicitly called from NewLC()
+
+	CMessenger(CConsoleBase& aConsole);
+
+		// 2nd phase construction, called by NewLC()
+
+	void ConstructL(const TDesC& aString); // second-phase constructor
+
+private:
+
+	CConsoleBase& iConsole; // Use the console (but not owned)
+
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+
+	};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oeexe.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\dll\t_oeexport.cpp*
+*/
+
+
+/**
+
+Overview:
+
+	Tests it is possible to retrieve the 0th ordinal from exes and dlls
+
+	that are marked as having named symbol export data.  This is loaded
+
+	as non-XIP so loader fixups of 0th ordinal imports can be tested
+
+
+
+API Information:
+
+	RProcess, RLibrary
+
+
+
+Details:
+
+	- 	Test reading 0th ordinal from a dll which has a E32EpocExpSymInfoHdr 
+
+		struct at the 0th ordinal and verify the contents of the header
+
+	-	Test attempts to get the 0th ordinal from a dll without the named symbol 
+
+		data returns NULL
+
+	-	Test reading the named symbol data from an exe that contains a
+
+		E32EpocExpSymInfoHdr struct at the 0th ordinal and verify the contents
+
+	-	Test import fixups has correctly fixed up the 0th ordinal of the static
+
+		dependencies to this stdexe
+
+	-	Test NULL is returned when attempting to read the 0th ordinal of
+
+		an exe that doesn't contain a E32EpocExpSymInfoHdr
+
+
+
+Platforms/Drives/Compatibility:
+
+	All
+
+
+
+Assumptions/Requirement/Pre-requisites:
+
+
+
+	
+
+Failures and causes:
+
+	
+
+	
+
+Base Port information:
+
+
+
+*/
+
+
+
+
+
+namespace std 
+
+{
+
+
+
+	 bool uncaught_exception() 
+
+		 {
+
+			 return false;
+
+		 }
+
+}
+
+
+
+
+
+#include <t_oedll.h>
+
+
+
+TInt E32Main()
+
+	{
+
+	return KErrNone;
+
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oeexe_wins.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,208 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32test\dll\t_oeexport_wins.cpp*
+*/
+
+
+/**
+
+Overview:
+
+	Emulator version that tests it is possible to retrieve the 0th 
+
+	ordinal from exes and dlls that are marked as having named 
+
+	symbol export data.
+
+
+
+API Information:
+
+	RProcess, RLibrary
+
+
+
+Details:
+
+	- 	Test reading 0th ordinal from a dll which has a E32EmulExpSymInfoHdr 
+
+		struct at the 0th ordinal and verify the contents of the header
+
+	-	Test NULL is returned on attempts to get the 0th ordinal from a 
+
+		dll without the named symbol data
+
+	-	Test reading the named symbol data from an exe that contains a
+
+		E32EmulExpSymInfoHdr struct at the 0th ordinal and verify the contents
+
+	-	Test NULL is returned when attempting to read the 0th ordinal of
+
+		an exe that doesn't contain a E32EmulExpSymInfoHdr
+
+
+
+Platforms/Drives/Compatibility:
+
+	All
+
+
+
+Assumptions/Requirement/Pre-requisites:
+
+
+
+	
+
+Failures and causes:
+
+	
+
+	
+
+Base Port information:
+
+
+
+*/
+
+#include <t_oedll.h>
+
+#include <e32test.h>
+
+#include <e32panic.h>
+
+#include <f32image.h>
+
+
+
+RTest test(_L("T_OEEXPORT"));
+
+
+
+LOCAL_D void VerifyHdr(E32EmulExpSymInfoHdr& aExpectedHdr, E32EmulExpSymInfoHdr &aReadHdr)
+
+	{
+
+	test(aExpectedHdr.iSymCount == aReadHdr.iSymCount);
+
+	test(aExpectedHdr.iDllCount == aReadHdr.iDllCount);
+
+	}
+
+
+
+TInt E32Main()
+
+	{
+
+	test.Title();
+
+
+
+	test.Start(_L("Test retrieving 0th ordinal and therefore named symbol export data"));
+
+	
+
+	E32EmulExpSymInfoHdr tmpHdr;
+
+	E32EmulExpSymInfoHdr *readHdr;
+
+	RLibrary library;
+
+
+
+	// The values for the header of the dll with a 0th ordinal
+
+	tmpHdr.iSymCount = 0x0;
+
+	tmpHdr.iDllCount = 0x3;
+
+	test(library.Load(_L("t_oedll.dll")) == KErrNone);
+
+	test.Next(_L("Attempt to retrieve named symbol data from t_oedll.dll"));
+
+	readHdr = (E32EmulExpSymInfoHdr*)library.Lookup(0);
+
+	test(readHdr!=NULL);
+
+//#define PRINT_ZEROTH
+
+#ifdef PRINT_ZEROTH
+
+	test.Printf(_L("iSymCount=%08x;iDllCounts=%08x\n"),readHdr->iSymCount,readHdr->iDllCount);
+
+#endif
+
+	test.Next(_L("Verify export data of t_oedll.dll is that expected"));
+
+	VerifyHdr(tmpHdr, *readHdr);
+
+	library.Close();
+
+
+
+	test.Next(_L("Verify lookup on dll without oe export data returns NULL"));
+
+	test(library.Load(_L("t_dll1.dll")) == KErrNone);
+
+	readHdr = (E32EmulExpSymInfoHdr*)library.Lookup(0);
+
+	test(readHdr == NULL);
+
+	library.Close();
+
+
+
+	// The values for the header of the exe of the current process with a 0th ordinal
+
+	tmpHdr.iSymCount = 0x3;
+
+	tmpHdr.iDllCount = 0x5;
+
+	test.Next(_L("Attempt to retrieve named symbol data from current process"));
+
+	readHdr = (E32EmulExpSymInfoHdr*)(RProcess::ExeExportData());
+
+	test(readHdr!=NULL);
+
+	test.Next(_L("Verify export data 0th ordinal data of this exe is that expected"));
+
+#ifdef PRINT_ZEROTH
+
+	test.Printf(_L("iSymCount=%08x;iDllCounts=%08x;\n"),readHdr->iSymCount,readHdr->iDllCount);
+
+#endif
+
+	VerifyHdr(tmpHdr, *readHdr);
+
+
+
+/*
+
+On Emulator can't examine fixups & depdencies via export data as data not included
+
+in E32EmulExpSymInfoHdr.  This is all handled by the MS loader.
+
+
+
+*/
+
+	test.End();
+
+	return KErrNone;
+
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oelib.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __SYMBIAN32__
+#define EXPORT __declspec(export) 
+#else
+#define EXPORT  
+#endif
+
+EXPORT int test_oe_function_A(int arg)
+{
+	return (arg + 1);
+}
+
+int test_oe_function_B(int arg)
+{
+	return (arg + 2);
+}
+
+int test_oe_function_C(int arg)
+{
+	return (arg + 3);
+}
+
+
+int test_oe_allocator(int arg)
+{
+	int *p = new int;
+	delete p;
+
+	return 0;
+}
+
+// end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/wrong_newlib_symbian.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Test bad OE-symbian newlib mix";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp1.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp1.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp1.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp1
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp10.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp10.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp10.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp10
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp2.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp2.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp2
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp3.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp3.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp3.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp3
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp4.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp4.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp4.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp4
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp5.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp5.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp5.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp5
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp6.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp6.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp6.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp6
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp7.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp7.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp7.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp7
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp8.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp8.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp8.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp8
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp9.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp9.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp9.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_pp9
+#include "pp_common.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp_common.mmh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGETTYPE		EXE
+
+// Test backslash to / here:
+TARGETPATH		\sys\bin
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp test.cia test1.c++ test2.cxx test3.Cpp test4.cc test5.CC test6.C++
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+OPTION GCCE -O2
+PAGED
+DEBUGGABLE
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/ppbldinf_commandfile	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1 @@
+-b pp1.inf -b pp2.inf -b pp3.inf -b pp4.inf -b pp5.inf -b pp6.inf -b pp7.inf -b pp8.inf -b pp9.inf -b pp10.inf 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/readme	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1 @@
+Parallel Parsing test resources
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test.cia	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// Some random assembler or a "straight" dummy function
+
+#ifndef __WINSCW__
+EXPORT_C __NAKED__ void dummy()
+	{
+	asm("stmia	r0, {r4-r11, sp, lr}	");
+	asm("mov  r0, #0"); 
+	}
+#else
+int fred(int i)
+	{
+	return 1;
+	}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+#include "test.h"
+
+char test[]="Simple test";
+
+TInt test1();
+TInt test2();
+TInt test3();
+TInt test4();
+TInt test5();
+TInt test6();
+
+TInt E32Main()
+{
+	test1();
+	test2();
+	test3();
+	test4();
+	test5();
+	test6();
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// Blank header file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test1.c++	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test1()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test2.cxx	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test2()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test3.Cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+
+TInt test3()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test4.cc	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test4()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test5.CC	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test5()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test6.C++	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test6()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pre-export/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_EXPORTS
+mmh/my.mmh	/epoc32/include/my.mmh
+mmh/nonexistent /epoc32/include/nevertobe.mmh
+mmh/my.mmh	/epoc32/include/second.mmh
+
+
+// check that the __GNUC__ macro is defined
+
+PRJ_MMPFILES
+#if __GNUC__ >= 3
+missing1.mmp
+simple.mmp
+missing2.mmp
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pre-export/mmh/my.mmh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/* to be included in an mmp file */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pre-export/simple.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <my.mmh>
+
+TARGET					petest
+TARGETTYPE				EXE
+UID						0x100039ce 0x00000001
+LIBRARY					euser.lib
+SECUREID				0x10003a5c
+SYSTEMINCLUDE			/epoc32/include
+SOURCE					test.cpp
+MACRO					TEST_MACRO_THAT_DOES_NOTHING
+EPOCSTACKSIZE 			8192
+EPOCHEAPSIZE 			0x5000 65535
+EPOCPROCESSPRIORITY 	low
+
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pre-export/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/qt/helloworld.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+#include <QApplication>
+#include <QPushButton>
+
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    QPushButton hello("Hello world!");
+    hello.resize(100, 30);
+
+    hello.show();
+    return app.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/qt/helloworldqt.pro	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,8 @@
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += .
+INCLUDEPATH += .
+
+# Input
+SOURCES += helloworld.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/refilter/Makefile_broken.log	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,646 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!-- This is a Test Logfile used in test_terminal_filter.py to test the terminal filter's handling of invalid 'recipe' tags (Could be extended to include more test cases) -->
+<buildlog sbs_version="2.9.2-alpha [2009-09-02 sf release]" xmlns="http://symbian.com/xml/build/log" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build/log http://symbian.com/xml/build/log/1_0.xsd">
+<info>sbs: version 2.9.2-alpha [2009-09-02 sf release]
+</info>
+<info>SBS_HOME G:/tcl-personal/iainw/fix2/raptor</info>
+<info>Set-up G:/tcl-personal/iainw/fix2/raptor/sbs_init.xml</info>
+<info>Command-line-arguments </info>
+<info>Current working directory G:\tcl-personal\iainw\fix2\raptor\test\smoke_suite\test_resources\simple</info>
+<info>Environment TMP=C:\DOCUME~1\IAINW\LOCALS~1\Temp</info>
+<info>Environment COMPUTERNAME=D063576</info>
+<info>Environment MWSYM2LIBRARYFILES=MSL_ALL_Static_MSE_Symbian_D.lib;gdi32.lib;user32.lib;kernel32.lib;MSL_All_MSE_Symbian_D.lib;gdi32.lib;user32.lib;kernel32.lib;</info>
+<info>Environment LIB=C:\apps\MSVC6\VC98\mfc\lib;C:\apps\MSVC6\VC98\lib</info>
+<info>Environment USERDOMAIN=SYMBIAN</info>
+<info>Environment __PYTHON__=G:\tcl-personal\iainw\fix2\raptor\\win32\python252\python.exe</info>
+<info>Environment COMMONPROGRAMFILES=C:\Program Files\Common Files</info>
+<info>Environment PROCESSOR_IDENTIFIER=x86 Family 15 Model 6 Stepping 5, GenuineIntel</info>
+<info>Environment CYGWIN=nontsec nosmbntsec</info>
+<info>Environment PROCESSOR_REVISION=0605</info>
+<info>Environment PATH=G:\tcl-personal\iainw\fix2\raptor\\win32\mingw\bin;G:\tcl-personal\iainw\fix2\raptor\\win32\cygwin\bin;G:\tcl-personal\iainw\fix2\raptor\\win32\bin;g:\tcl-personal\iainw\fix2\raptor\bin;G:\tcl-personal\iainw\fix2\raptor\win32\mingw\bin;D:\apps\Python\2.6.2.2\;d:\apps\ECloud\i686_win32\bin;C:\Program Files\Common Files\Symbian\Tools;d:\apps\SITK\stuff;d:\apps\SITK\stuff\stat\bin;d:\apps\SITK\stuff\edgd\bin\;d:\apps\SITK\stuff\cbr;d:\apps\SITK\stuff\ucc\bin;d:\apps\SITK\stuff\testdriver;;d:\apps\2.83.1013;d:\apps\python\2.4;C:\Program Files\PC Connectivity Solution\;D:\APPS\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\i386;c:\Program Files\Novell\ZENworks\;C:\Program Files\Symantec\pcAnywhere\;d:\apps\Perforce;C:\apps\MSVC6\VC98\bin;C:\apps\MSVC6\Common\Tools;C:\apps\MSVC6\Common\Tools\WinNT;C:\apps\MSVC6\Common\MSDev98\Bin;C:\Apps\Metrowerks\OEM3.1\Symbian_Tools\Command_Line_Tools;C:\Apps\Metrowerks\OEM3.1\Bin\;C:\Apps\Metrowerks\OEM3.1\Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs\MSL_All-Dlls;d:\apps\WinSCP\;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Tools\Command_Line_Tools;d:\apps\TortoiseHg</info>
+<info>Environment SYSTEMROOT=C:\WINDOWS</info>
+<info>Environment USERPROFILE=C:\Documents and Settings\IAINW</info>
+<info>Environment OLD_PATH=D:\apps\Python\2.6.2.2\;d:\apps\ECloud\i686_win32\bin;C:\Program Files\Common Files\Symbian\Tools;d:\apps\SITK\stuff;d:\apps\SITK\stuff\stat\bin;d:\apps\SITK\stuff\edgd\bin\;d:\apps\SITK\stuff\cbr;d:\apps\SITK\stuff\ucc\bin;d:\apps\SITK\stuff\testdriver;;d:\apps\2.83.1013;d:\apps\python\2.4;C:\Program Files\PC Connectivity Solution\;D:\APPS\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\i386;c:\Program Files\Novell\ZENworks\;C:\Program Files\Symantec\pcAnywhere\;d:\apps\Perforce;C:\apps\MSVC6\VC98\bin;C:\apps\MSVC6\Common\Tools;C:\apps\MSVC6\Common\Tools\WinNT;C:\apps\MSVC6\Common\MSDev98\Bin;C:\Apps\Metrowerks\OEM3.1\Symbian_Tools\Command_Line_Tools;C:\Apps\Metrowerks\OEM3.1\Bin\;C:\Apps\Metrowerks\OEM3.1\Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs\MSL_All-Dlls;d:\apps\WinSCP\;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Tools\Command_Line_Tools;d:\apps\TortoiseHg</info>
+<info>Environment RVCT22LIB=C:\Apps\ARM\RVCT\Data\2.2\349\lib</info>
+<info>Environment INCLUDE=C:\apps\MSVC6\VC98\atl\include;C:\apps\MSVC6\VC98\mfc\include;C:\apps\MSVC6\VC98\include</info>
+<info>Environment PROCESSOR_ARCHITECTURE=x86</info>
+<info>Environment ARMROOT=C:\Program Files\ARM</info>
+<info>Environment SBS_HOME=G:\tcl-personal\iainw\fix2\raptor\</info>
+<info>Environment ALLUSERSPROFILE=C:\Documents and Settings\All Users</info>
+<info>Environment __MINGW__=G:\tcl-personal\iainw\fix2\raptor\\win32\mingw</info>
+<info>Environment SESSIONNAME=Console</info>
+<info>Environment HOMEPATH=\</info>
+<info>Environment MWSYM2LIBRARIES=C:\Apps\Metrowerks\OEM3.1\Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK;C:\Apps\Metrowerks\OEM3.1\Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</info>
+<info>Environment USERDNSDOMAIN=PROD.AD.SYMBIAN.INTRA</info>
+<info>Environment __CYGWIN__=G:\tcl-personal\iainw\fix2\raptor\\win32\cygwin</info>
+<info>Environment MSDEVDIR=C:\apps\MSVC6\Common\msdev98</info>
+<info>Environment HOSTPLATFORM=win 32</info>
+<info>Environment USERNAME=iainwilliamson</info>
+<info>Environment OS=Windows_NT</info>
+<info>Environment FLEXLM_TIMEOUT=5000000</info>
+<info>Environment LOGONSERVER=\\UKLONDCS03</info>
+<info>Environment PROMPT=$P$G</info>
+<info>Environment COMSPEC=C:\WINDOWS\system32\cmd.exe</info>
+<info>Environment CLASSPATH=D:\apps\Symbian\SITK\aura\log4j-1.2.8.jar;</info>
+<info>Environment DTEXT_PATH=C:\Apps\ARM\Documentation\DynaText\4.1.1\release\win_32-pentium\bin</info>
+<info>Environment RVCT22INC=C:\Apps\ARM\RVCT\Data\2.2\349\include\windows</info>
+<info>Environment PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py;.pyw</info>
+<info>Environment FOO=bar</info>
+<info>Environment FP_NO_HOST_CHECK=NO</info>
+<info>Environment WINDIR=C:\WINDOWS</info>
+<info>Environment HOSTPLATFORM_DIR=win32</info>
+<info>Environment TEMP=C:\DOCUME~1\IAINW\LOCALS~1\Temp</info>
+<info>Environment HOMEDRIVE=U:</info>
+<info>Environment ARMLMD_LICENSE_FILE=27001@lon-flexlm02;27001@lon-flexlm01;27001@cam-flexlm02;27001@cam-flexlm01</info>
+<info>Environment SYSTEMDRIVE=C:</info>
+<info>Environment MWCSYM2INCLUDES=C:\Apps\Metrowerks\OEM3.1\Symbian_Support\MSL\MSL_C\MSL_Common\Include\;C:\Apps\Metrowerks\OEM3.1\Symbian_Support\MSL\MSL_C\MSL_Win32\Include\;C:\Apps\Metrowerks\OEM3.1\Symbian_Support\MSL\MSL_C\MSL_X86\;C:\Apps\Metrowerks\OEM3.1\Symbian_Support\MSL\MSL_C++\MSL_Common\Include\;C:\Apps\Metrowerks\OEM3.1\Symbian_Support\MSL\MSL_Extras\MSL_Common\Include\;C:\Apps\Metrowerks\OEM3.1\Symbian_Support\MSL\MSL_Extras\MSL_Win32\Include\;C:\Apps\Metrowerks\OEM3.1\Symbian_Support\Win32-x86 Support\Headers\Win32 SDK\;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Support\MSL\MSL_C\MSL_Common\Include;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Support\MSL\MSL_C\MSL_Win32\Include;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Support\MSL\MSL_C\MSL_X86;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Support\MSL\MSL_C++\MSL_Common\Include;+C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Common\Include;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Win32\Include;C:\APPS\Nokia\Carbide.c++ v1.3\x86Build\Symbian_Support\Win32-x86 Support\Headers\Win32 SDK</info>
+<info>Environment NUMBER_OF_PROCESSORS=2</info>
+<info>Environment APPDATA=C:\Documents and Settings\IAINW\Application Data</info>
+<info>Environment HOMESHARE=\\lonfiler01\uiainwilliamson</info>
+<info>Environment PROCESSOR_LEVEL=15</info>
+<info>Environment NOKIA_LICENSE_FILE=1700@lon-flexlm02;1700@cam-flexlm01; 1700@ban-flexlm01</info>
+<info>Environment EPOCROOT=G:\tcl-personal\iainw\fix2\raptor\test\epocroot\</info>
+<info>Environment RVCT22BIN=C:\Apps\ARM\RVCT\Programs\2.2\349\win_32-pentium</info>
+<info>Environment SITK_PATHS=d:\apps\SITK\stuff;d:\apps\SITK\stuff\stat\bin;d:\apps\SITK\stuff\edgd\bin\;d:\apps\SITK\stuff\cbr;d:\apps\SITK\stuff\ucc\bin;d:\apps\SITK\stuff\testdriver;</info>
+<info>Environment PROGRAMFILES=C:\Program Files</info>
+<info>Duplicate variant 'v95' (the one from 'G:/tcl-personal/iainw/fix2/raptor/lib/config\variants.xml' was replaced by the one in 'G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/sbs_config\overrides.xml')</info>
+<info>Duplicate variant 'root.changes' (the one from 'G:/tcl-personal/iainw/fix2/raptor/lib/config\root.xml' was replaced by the one in 'G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/sbs_config\overrides.xml')</info>
+<info>Buildable configuration 'armv5_urel'</info>
+<info>Buildable configuration 'armv5_udeb'</info>
+<info>Buildable configuration 'winscw_udeb'</info>
+<info>Buildable configuration 'winscw_urel'</info>
+<info>Loaded toolcheck cache: G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/toolcheck_cache_.tmp
+</info>
+<info>Buildable specification group 'CONFIG_WIDE'</info>
+<info>Buildable specification 'config_wide'</info>
+<info>OS version "v95" determined from file "G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/data/buildinfo.txt"</info>
+<info>applying the OS variant to the configuration "armv5_urel".</info>
+<info>'armv5_urel' uses variant hrh file 'G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh'</info>
+<info>OS version "v95" determined from file "G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/data/buildinfo.txt"</info>
+<info>applying the OS variant to the configuration "armv5_udeb".</info>
+<info>'armv5_udeb' uses variant hrh file 'G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh'</info>
+<info>OS version "v95" determined from file "G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/data/buildinfo.txt"</info>
+<info>applying the OS variant to the configuration "winscw_udeb".</info>
+<info>'winscw_udeb' uses variant hrh file 'G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh'</info>
+<info>OS version "v95" determined from file "G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/data/buildinfo.txt"</info>
+<info>applying the OS variant to the configuration "winscw_urel".</info>
+<info>'winscw_urel' uses variant hrh file 'G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh'</info>
+<info>Processing G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf</info>
+<info>Processing G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp for platform armv5_urel + armv5_udeb</info>
+<info>Processing G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp for platform winscw_udeb + winscw_urel</info>
+<info>Buildable specification group 'ALL'</info>
+<info>Buildable specification 'export_0'</info>
+<info>Buildable specification 'build_0'</info>
+<info>Buildable specification 'build_1'</info>
+<info>Running G:/tcl-personal/iainw/fix2/raptor/win32/bin/talonctl.exe start</info>
+<info>Making G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.export</info>
+<info>Executing 'G:/tcl-personal/iainw/fix2/raptor/win32/mingw/bin/make.exe HAVE_ORDERONLY=1 -r -f "G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.export" -j 4  TALON_DESCRAMBLE=1 '</info>
+make.exe: Nothing to be done for `EXPORT'.
+<info>Making G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.bitmap</info>
+<info>Executing 'G:/tcl-personal/iainw/fix2/raptor/win32/mingw/bin/make.exe HAVE_ORDERONLY=1 -r -f "G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.bitmap" -j 4  TALON_DESCRAMBLE=1 '</info>
+make.exe: Nothing to be done for `BITMAP'.
+<info>Making G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.resource_deps</info>
+<info>Executing 'G:/tcl-personal/iainw/fix2/raptor/win32/mingw/bin/make.exe HAVE_ORDERONLY=1 -r -f "G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.resource_deps" -j 4  TALON_DESCRAMBLE=1 '</info>
+make.exe: Nothing to be done for `RESOURCE_DEPS'.
+<info>Making G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.resource</info>
+<info>Executing 'G:/tcl-personal/iainw/fix2/raptor/win32/mingw/bin/make.exe HAVE_ORDERONLY=1 -r -f "G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.resource" -j 4  TALON_DESCRAMBLE=1 '</info>
+make.exe: Nothing to be done for `RESOURCE'.
+<info>Making G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.default</info>
+<info>Executing 'G:/tcl-personal/iainw/fix2/raptor/win32/mingw/bin/make.exe HAVE_ORDERONLY=1 -r -f "G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/Makefile.default" -j 4  TALON_DESCRAMBLE=1 '</info>
+<clean bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel'>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe</file>
+<file>"G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test{000a0000}.def"</file>
+<file>"G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test{000a0000}.dso"</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe.sym</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_urel_objects.via</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe.map</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test3.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test4.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test5.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test1.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test6.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test2.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test3.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test4.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test5.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test1.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test6.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test2.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test3.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test4.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test5.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test1.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test6.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test2.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.cpp</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.pre</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.pre.d</file>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib</dir>
+</clean>
+<whatlog bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel'>
+<build>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe</build>
+<build>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe.map</build>
+<build>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe.map</build>
+</whatlog>
+<clean bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb'>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe</file>
+<file>"G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test{000a0000}.def"</file>
+<file>"G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test{000a0000}.dso"</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe.sym</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_udeb_objects.via</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe.map</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test3.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test4.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test5.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test1.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test6.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test2.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test3.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test4.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test5.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test1.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test6.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test2.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test3.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test4.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test5.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test1.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test6.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test2.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.cpp</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.pre</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.pre.d</file>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib</dir>
+</clean>
+<whatlog bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb'>
+<build>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe</build>
+<build>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe.map</build>
+<build>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe.map</build>
+</whatlog>
+<clean bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb'>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/udeb/test.exe</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.UID.CPP</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test1.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test2.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test3.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test4.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test5.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test6.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_UID_.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test1.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test1.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test2.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test2.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test3.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test3.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test4.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test4.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test5.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test5.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test6.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test6.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_UID_.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_UID_.o.d</file>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/udeb</dir>
+</clean>
+<whatlog bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb'>
+<build>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/udeb/test.exe</build>
+</whatlog>
+<clean bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel'>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/test.exe</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.UID.CPP</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test1.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test2.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test3.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test4.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test5.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test6.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_UID_.o</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test1.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test1.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test2.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test2.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test3.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test3.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test4.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test4.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test5.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test5.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test6.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test6.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_UID_.dep</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_UID_.o.d</file>
+<file>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/test.exe.map</file>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel</dir>
+<dir>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel</dir>
+</clean>
+<whatlog bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel'>
+<build>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/test.exe</build>
+<build>G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/test.exe.map</build>
+</whatlog>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test2.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O2 --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test2.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test2.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx
+
+]]><time start='1253890703.95062' elapsed='1.391' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test1.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O2 --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test1.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test1.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++
+
+]]><time start='1253890703.95062' elapsed='1.406' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O2 --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp
+
+]]><time start='1253890703.95062' elapsed='1.422' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test5.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O2 --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test5.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test5.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test5.o.fake' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC'> <!-- Fake recipe, nested in ther CDATA of a real one -->
+<status exit='ok' attempt='1' />
+</recipe>
+]><time start='1253890705.41936' elapsed='0.500' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='cia2cpp' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.pre' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -E -O2 -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ -D__CIA__ --cpp --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.pre G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -M -E -O2 -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ -D__CIA__ --cpp --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.pre G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia
+
+]]><time start='1253890703.95062' elapsed='2.016' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test3.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O2 --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test3.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test3.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp
+
+]]><time start='1253890705.38811' elapsed='0.641' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test4.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O2 --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test4.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test4.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc
+
+]]><time start='1253890705.38811' elapsed='0.750' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test6.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O2 --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test6.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test6.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++
+
+]]><time start='1253890705.96623' elapsed='0.656' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test1.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O0 -g --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test1.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test1.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++
+
+]]><time start='1253890706.18498' elapsed='0.562' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O0 -g --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp
+
+]]><time start='1253890706.04435' elapsed='0.719' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test2.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O0 -g --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test2.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test2.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx
+
+]]><time start='1253890706.66935' elapsed='0.672' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='cia2cpp' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.pre' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -E -O0 -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ -D__CIA__ --cpp --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.pre G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -M -E -O0 -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ -D__CIA__ --cpp --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.pre G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia
+
+]]><time start='1253890706.05998' elapsed='1.281' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test3.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O0 -g --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test3.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test3.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp
+
+]]><time start='1253890706.77872' elapsed='0.656' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test4.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O0 -g --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test4.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test4.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc
+
+]]><time start='1253890706.84122' elapsed='0.703' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test5.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O0 -g --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test5.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test5.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC
+
+]]><time start='1253890707.41935' elapsed='0.625' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test6.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O0 -g --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp --cpp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ --preinclude G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/rvct/rvct.h -JG:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant --depend_format=unix --depend G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test6.o.d -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test6.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++
+
+]]><time start='1253890707.37247' elapsed='0.672' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d _DEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia
+mwccsym2.exe: warning: No file mapping matches 'test.cia' (unrecognized file contents or filename extension); treating as source text
+test.cia:3: warning: variable / argument 'i' is not used in function
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_.dep
+
+]]><time start='1253890707.55997' elapsed='4.016' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test2.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d _DEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test2.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test2.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test2.dep
+
+]]><time start='1253890708.05997' elapsed='3.547' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test1.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d _DEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test1.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test1.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++ \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test1.dep
+
+]]><time start='1253890708.05997' elapsed='3.609' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d _DEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.dep
+
+]]><time start='1253890707.48185' elapsed='4.328' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test5.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d _DEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test5.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test5.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test5.dep
+
+]]><time start='1253890711.71619' elapsed='0.516' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test3.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d _DEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test3.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test3.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test3.dep
+
+]]><time start='1253890711.62244' elapsed='0.625' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test4.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d _DEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test4.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test4.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test4.dep
+
+]]><time start='1253890711.70057' elapsed='0.578' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test6.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d _DEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test6.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test6.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++ \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test6.dep
+
+]]><time start='1253890711.84119' elapsed='0.484' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32generateUIDcpp' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.UID.CPP' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source=''>
+<![CDATA[
++ echo '// SBS-generated uid source file'
++ echo '#include <e32cmn.h>'
++ echo '#pragma data_seg(".SYMBIAN")'
++ echo '__EMULATOR_IMAGE_HEADER2(0x1000007a,0x100039ce,0x00000001,EPriorityLow,0x00000b07u,0x00000000u,0x10003a5c,0x00000000,0x00010000,0)'
++ echo '#pragma data_seg()'
+
+]]><time start='1253890712.27869' elapsed='0.281' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -O4,s -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d NDEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia
+mwccsym2.exe: warning: No file mapping matches 'test.cia' (unrecognized file contents or filename extension); treating as source text
+test.cia:3: warning: variable / argument 'i' is not used in function
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cia \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_.dep
+
+]]><time start='1253890712.32557' elapsed='0.422' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -O4,s -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d NDEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test.cpp \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.dep
+
+]]><time start='1253890712.27869' elapsed='0.516' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test1.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -O4,s -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d NDEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test1.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test1.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test1.c++ \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test1.dep
+
+]]><time start='1253890712.38807' elapsed='0.422' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test2.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -O4,s -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d NDEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test2.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test2.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test2.cxx \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test2.dep
+
+]]><time start='1253890712.57556' elapsed='0.453' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test3.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -O4,s -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d NDEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test3.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test3.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test3.dep
+
+]]><time start='1253890712.77869' elapsed='0.422' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test5.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -O4,s -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d NDEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test5.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test5.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test5.CC \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test5.dep
+
+]]><time start='1253890712.84119' elapsed='0.391' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test4.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -O4,s -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d NDEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test4.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test4.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test4.cc \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test4.dep
+
+]]><time start='1253890712.82556' elapsed='0.484' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32generateUIDcpp' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.UID.CPP' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source=''>
+<![CDATA[
++ echo '// SBS-generated uid source file'
++ echo '#include <e32cmn.h>'
++ echo '#pragma data_seg(".SYMBIAN")'
++ echo '__EMULATOR_IMAGE_HEADER2(0x1000007a,0x100039ce,0x00000001,EPriorityLow,0x00000b07u,0x00000000u,0x10003a5c,0x00000000,0x00010000,0)'
++ echo '#pragma data_seg()'
+
+]]><time start='1253890713.23181' elapsed='0.203' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test6.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -O4,s -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d NDEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test6.o G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test6.o: G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/test6.C++ \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test6.dep
+
+]]><time start='1253890713.10681' elapsed='0.391' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_UID_.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.UID.CPP'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -O4,s -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d NDEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_UID_.o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.UID.CPP
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_UID_.o: G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test.UID.CPP \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_UID_.dep
+
+]]><time start='1253890713.52868' elapsed='0.875' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32compile2object' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_UID_.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.UID.CPP'>
+<![CDATA[
++ mwccsym2.exe -c -align 4 -warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -cwd source -g -O0 -inline off -runtime staticmulti -wchar_t off -nostdinc -gccdepends -MD -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d __WINSCW__ -d __SUPPORT_CPP_EXCEPTIONS__ -d _UNICODE -d TEST_MACRO_THAT_DOES_NOTHING -d _DEBUG -d OSVARIANT95WASAPPLIED -d __EXE__ -i- -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -i G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant -include Symbian_OS.hrh -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_UID_.o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.UID.CPP
++ G:/tcl-personal/iainw/fix2/raptor/win32/cygwin/bin/sed.exe 's#\\\(.\)#/\1#g;s#/ #\\ #g;s#\([A-Za-z]:\)\\#\1/#g;1,1s#.*: .* \(.\)\?$#    G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_UID_.o: G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test.UID.CPP \1#' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_UID_.dep
+
+]]><time start='1253890713.45056' elapsed='0.953' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='tranasm' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.cpp' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source=''>
+<![CDATA[
++ CPPFILT=G:/tcl-personal/iainw/fix2/raptor/win32/mingw/bin/c++filt.exe
++ perl.exe G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/tools/tranasm.pl --suppress-check --output=G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.cpp G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.pre
+
+]]><time start='1253890713.26306' elapsed='2.062' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='tranasm' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.cpp' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source=''>
+<![CDATA[
++ CPPFILT=G:/tcl-personal/iainw/fix2/raptor/win32/mingw/bin/c++filt.exe
++ perl.exe G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/tools/tranasm.pl --suppress-check --output=G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.cpp G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.pre
+
+]]><time start='1253890713.32556' elapsed='2.000' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='cia2cpp2o' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.cpp'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O0 -g --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D_DEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ -D__CIA__ --cpp -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.cpp -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_.o
+
+]]><time start='1253890715.34117' elapsed='0.437' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='win32simplelink' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/udeb/test.exe' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_udeb' platform='winscw' phase='ALL' source=''>
+<![CDATA[
++ MWSym2LibraryFiles='msl_all_static_mse_symbian_d.lib;gdi32.lib;user32.lib;kernel32.lib'
++ mwldsym2.exe -msgstyle gcc -stdlib -subsystem windows -g -heapreserve=64 -heapcommit=20 -m '?_E32Bootstrap@@YGXXZ' G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/udeb/eexe.lib G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/udeb/scppnwdl.lib G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/udeb/euser.lib -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/udeb/test.exe -noimplib -l G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb -search @G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/udeb/test_udeb_objects.lrf
+mwldsym2.exe: warning: Multiply defined symbol: ___get_MSL_init_count in
+mwldsym2.exe: warning: files uc_cwhelp.obj (eexe.lib), startup.win32.c.obj (msl_all_static_mse_symbian_d.lib),
+mwldsym2.exe: warning: keeping definition in startup.win32.c.obj
+
+]]><time start='1253890714.71618' elapsed='1.156' />
+<status exit='ok' attempt='1' />
+</recipe>
+<status exit='failed' attempt='1' />
+</recipe> <!-- Repeated closure - what status do we get? -->
+<recipe name='win32simplelink' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/test.exe' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source=''>
+<![CDATA[
++ MWSym2LibraryFiles='msl_all_static_mse_symbian_d.lib;gdi32.lib;user32.lib;kernel32.lib'
++ mwldsym2.exe -msgstyle gcc -stdlib -subsystem windows -heapreserve=64 -heapcommit=20 -m '?_E32Bootstrap@@YGXXZ' -map G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/test.exe.map G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/eexe.lib G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/scppnwdl.lib G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/udeb/euser.lib -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/test.exe -noimplib -l G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel -search @G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/winscw/urel/test_urel_objects.lrf
+mwldsym2.exe: warning: Multiply defined symbol: ___get_MSL_init_count in
+mwldsym2.exe: warning: files uc_cwhelp.obj (eexe.lib), startup.win32.c.obj (msl_all_static_mse_symbian_d.lib),
+mwldsym2.exe: warning: keeping definition in startup.win32.c.obj
+
+]]><time start='1253890714.68493' elapsed='1.203' />
+<status exit='ok' attempt='1' />
+<recipe name='win32simplelink' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/winscw/urel/test.exe' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='winscw_urel' platform='winscw' phase='ALL' source=''> <!-- Repeated opening - will this hide the warnings above? -->
+</recipe>
+<recipe name='cia2cpp2o' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.o' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.cpp'>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armcc.exe -O2 --dwarf2 --dllimport_runtime --exceptions --exceptions_unwind --diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 --diag_error 1267 --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --memaccess -UL41 --no_vfe --apcs /inter -c --thumb -D__MARM_THUMB__ --fpu softvfp -D__MARM_INTERWORK__ -D__SUPPORT_CPP_EXCEPTIONS__ -D_UNICODE -D__SYMBIAN32__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ '-D__PRODUCT_INCLUDE__="G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant/Symbian_OS.hrh"' -DTEST_MACRO_THAT_DOES_NOTHING -D__MARM_ARMV5__ -D__ARMCC_2__ -D__ARMCC_2_2__ -DNDEBUG -DOSVARIANT95WASAPPLIED -D__EXE__ -D__CIA__ --cpp -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include -JG:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/include/variant G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.cpp -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_.o
+
+]]><time start='1253890715.34117' elapsed='0.547' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='link' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe.sym' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source=''>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armlink.exe --diag_suppress 6331 --bpabi --reloc --no_scanlib --datacompressor=off --dll --split --rw-base 0x400000 --symver_soname --soname 'test{000a0000}[00000001].exe' --entry _E32Startup 'G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/eexe.lib(uc_exe_.o)' -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe.sym --symbols --list G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe.map --via G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/urel/test_urel_objects.via G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/usrt2_2.lib G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/euser.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/scppnwdl.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/drtaeabi.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/dfpaeabi.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/dfprvct2_2.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/drtrvct2_2.dso 'C:/Apps/ARM/RVCT/Data/2.2/349/lib/armlib/h_t__uf.l(switch8.o)'
+
+]]><time start='1253890716.15367' elapsed='0.891' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='link' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe.sym' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source=''>
+<![CDATA[
++ C:/Apps/ARM/RVCT/Programs/2.2/349/win_32-pentium/armlink.exe --diag_suppress 6331 --bpabi --reloc --no_scanlib --datacompressor=off --debug --dll --split --rw-base 0x400000 --symver_soname --soname 'test{000a0000}[00000001].exe' --entry _E32Startup 'G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o)' -o G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe.sym --symbols --list G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe.map --via G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/simple/c_bad5e30874f7a6c6/test_/armv5/udeb/test_udeb_objects.via G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/usrt2_2.lib G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/euser.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/scppnwdl.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/drtaeabi.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/dfpaeabi.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/dfprvct2_2.dso G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/drtrvct2_2.dso 'C:/Apps/ARM/RVCT/Data/2.2/349/lib/armlib/h_t__uf.l(switch8.o)'
+
+]]><time start='1253890716.15367' elapsed='1.219' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='postlink' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_urel' platform='armv5' phase='ALL' source=''>
+<![CDATA[
++ G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/tools/elf2e32.exe --sid=0x10003a5c --version=10.0 --uid1=0x1000007a --uid2=0x100039ce --uid3=0x00000001 --capability=TCB+ProtServ+DiskAdmin+AllFiles+PowerMgmt+CommDD --fpu=softvfp --codepaging=paged --datapaging=paged --targettype=EXE --output=G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe --elfinput=G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/urel/test.exe.sym '--linkas=test{000a0000}[00000001].exe' --priority=Low --stack=0x2000 --heap=0x5000,0xffff --debuggable '--libpath=G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/;C:/Apps/ARM/RVCT/Data/2.2/349/lib/armlib'
+
+]]><time start='1253890717.05991' elapsed='0.641' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='postlink' target='G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe' host='' layer='' component='' bldinf='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/bld.inf' mmp='G:/tcl-personal/iainw/fix2/raptor/test/smoke_suite/test_resources/simple/simple.mmp' config='armv5_udeb' platform='armv5' phase='ALL' source=''>
+<![CDATA[
++ G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/tools/elf2e32.exe --sid=0x10003a5c --version=10.0 --uid1=0x1000007a --uid2=0x100039ce --uid3=0x00000001 --capability=TCB+ProtServ+DiskAdmin+AllFiles+PowerMgmt+CommDD --fpu=softvfp --codepaging=paged --datapaging=paged --targettype=EXE --output=G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe --elfinput=G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/udeb/test.exe.sym '--linkas=test{000a0000}[00000001].exe' --priority=Low --stack=0x2000 --heap=0x5000,0xffff --debuggable '--libpath=G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/release/armv5/lib/;C:/Apps/ARM/RVCT/Data/2.2/349/lib/armlib'
+
+]]><time start='1253890717.38803' elapsed='0.312' />
+<status exit='ok' attempt='1' />
+</recipe>
+<info>Running G:/tcl-personal/iainw/fix2/raptor/win32/bin/talonctl.exe stop</info>
+<info>The make-engine exited successfully.</info>
+<info>Run time 16 seconds</info>
+<info>Created/Updated toolcheck cache: G:/tcl-personal/iainw/fix2/raptor/test/epocroot/epoc32/build/toolcheck_cache_.tmp
+</info>
+</buildlog>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/refilter/refilter.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+class Refilter:
+	"""
+	Refilters an existing logfile with a specified filter
+	
+	Parameters:
+			filtermodule: 	The name of the filter file to use for refiltering
+			filtername:		The name of the filter class
+			logfilename: 	The logfile to be parsed
+	"""
+	class Dummy_raptor:
+		def __init__(self, logfile, targets):
+			self.logFileName = logfile
+			self.quiet = False
+			self.dummy = False
+			self.targets = targets
+
+	def __init__(self, filtermodule, filtername, logfilename):
+		dummy_raptor = Refilter.Dummy_raptor(logfilename, [])
+		
+		module=__import__(filtermodule)
+		self.filter=eval("module."+filtername+"()")
+
+		self.filter.open(dummy_raptor)
+
+	def refilter(self, inputlog):
+		file=open(inputlog)
+
+		while True:
+			line=file.readline()
+			if not line:
+				break
+			self.filter.write(line)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/refilter/testfilterterminal	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+# Kicks off the Terminal Filter refiltering for use with terminal_filter_tests.py 
+
+export PYTHONPATH=$SBS_HOME/python:$SBS_HOME/python/plugins
+
+python $SBS_HOME/test/smoke_suite/test_resources/refilter/testfilterterminal.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/refilter/testfilterterminal.bat	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+@rem Kicks off the Terminal Filter refiltering for use with terminal_filter_tests.py
+
+@SETLOCAL
+
+@SET HOSTPLATFORM=win 32
+@SET HOSTPLATFORM_DIR=win32
+
+@set PYTHONPATH=%SBS_HOME%/python;%SBS_HOME%/python/plugins
+
+@python %SBS_HOME%\test\smoke_suite\test_resources\refilter\testfilterterminal.py
+
+@endlocal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/refilter/testfilterterminal.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+import os
+import refilter
+
+refilter = refilter.Refilter("filter_terminal","FilterTerminal","foo")
+
+refilter.refilter(os.environ["SBS_HOME"]
+		+ "/test/smoke_suite/test_resources/refilter/Makefile_broken.log")
Binary file sbsv2/raptor/test/smoke_suite/test_resources/resource/aifsrccl/DEF24.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/resource/aifsrccl/DEF2M.BMP has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/dependentresource.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,333 @@
+/*
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* LOGWRAP.RSS
+*
+*/
+
+
+#include <testresource_badef.rh>
+#include <e32capability.h>
+
+#include "../inc/testresource.rh"
+#include "../inc/testresource.hrh"
+#include "testresource.rls"
+
+#include "testresource.mbg"
+#include <testresource.rsg>
+
+// MACRO statements in .mmp files should be reflected in resource preprocessing
+#ifndef SHOULD_BE_DEFINED
+#error "mmp MACRO SHOULD_BE_DEFINED is not defined!"
+#endif
+
+// Initial configuration
+RESOURCE CONFIG r_log_initial_config
+	{
+	size = 1000; // Maximum number of events
+	recent = 20; // Maximum size of recent lists
+	age = 2592000; // 30 days
+	}
+
+  RESOURCE ARRAY r_log_initial_events
+   	{
+   	items = 
+   		{
+  		ETYPE { uid = KLogCallEventType; description = LOG_CALL_EVENT_TYPE; },
+  		ETYPE { uid = KLogDataEventType; description = LOG_DATA_EVENT_TYPE; },
+  		ETYPE { uid = KLogFaxEventType; description = LOG_FAX_EVENT_TYPE; },
+  		ETYPE { uid = KLogShortMessageEventType; description = LOG_SHORT_MESSAGE_EVENT_TYPE; },
+  		ETYPE { uid = KLogTaskSchedulerEventType; description = LOG_TASK_SCHEDULER_EVENT_TYPE; },
+  		ETYPE { uid = KLogPacketDataEventType; description = LOG_PACKET_DATA_EVENT_TYPE; },
+
+
+  		ETYPE { uid = KLogLbsSelfLocateEventType; description = LOG_LBS_SELF_LOCATE_EVENT_TYPE; },
+  		ETYPE { uid = KLogLbsExternalLocateEventType; description = LOG_LBS_EXTERNAL_LOCATE_EVENT_TYPE; },
+ 		ETYPE { uid = KLogLbsTransmitLocationEventType; description = LOG_LBS_TRANSMIT_LOCATION_EVENT_TYPE; },
+ 		ETYPE { uid = KLogLbsNetworkLocateEventType; description = LOG_LBS_NETWORK_LOCATE_EVENT_TYPE; },
+ 		ETYPE { uid = KLogLbsAssistanceDataEventType; description = LOG_LBS_ASSISTANCE_DATA_EVENT_TYPE; }
+
+   		};
+   	}
+
+
+
+RESOURCE ARRAY r_log_security
+//
+// [See logwrap.rh for the definitions of SECURITY and CAPABILITY.]
+//
+// This structure defines settings for platform security in the Log engine.
+// All event types defined above in 'r_log_initial_events' need to be policed.
+// The server must always determine whether a client thread has the required
+// capability to read/write a log event(s) of a built-in type.  Each operation
+// may have from one to seven capabilities defined for it.  All operations on 
+// built in types _MUST_ have an associated security policy defined here.  If no
+// security is required, then use 'cap=ECapability_None'.  The CAPABILITY values
+// defined here will provide constructor arguments for TSecurityPolicy objects.
+// The maximum number of CAPABILITY(s) for each read or write operation is 7.
+// ( a read_caps or a write_caps { contains <= 7 CAPABILITY{}   statements }  )
+// Note that SID-based security isn't supported in the Log Engine.
+//
+	{
+	items = 
+		{
+		SECURITY 
+			{ 
+			uid = KLogCallEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogDataEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogFaxEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogShortMessageEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogTaskSchedulerEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapability_None; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogPacketDataEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsSelfLocateEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsExternalLocateEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsTransmitLocationEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsNetworkLocateEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsAssistanceDataEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			}
+		};
+	}
+
+
+// Index entries
+RESOURCE ARRAY r_log_indexes
+	{
+	items =
+		{
+		INDEX
+			{
+			name = "Index1"; // do not translate
+			table = "Event"; // do not translate
+			keys = 
+				{
+				KEY { col = "Id"; } // do not translate
+				};
+			},
+		INDEX
+			{
+			name = "Index2"; // do not translate
+			table = "Event"; // do not translate
+			keys =
+				{
+				KEY { col = "ETime"; } // do not translate
+				};
+			},
+		INDEX
+			{
+			name = "Index3"; // do not translate
+			table = "String"; // do not translate
+			keys = 
+				{
+				KEY { col = "Id"; } // do not translate
+				};
+			}
+		};
+	}
+
+// Recent list setup
+RESOURCE ARRAY r_log_recent
+	{
+	items =
+		{
+		RECENT
+			{
+			id = KLogRecentIncomingCalls;
+			duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField;
+			conditions = 
+				{
+				MATCH { field = ELogEventTypeField; value = KLogCallEventType; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_IN; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_IN_ALT; }
+				};
+			},
+		RECENT
+			{
+			id = KLogRecentOutgoingCalls;
+			duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField;
+			conditions = 
+				{
+				MATCH { field = ELogEventTypeField; value = KLogCallEventType; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_OUT; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_OUT_ALT; }
+				};
+			},
+		RECENT
+			{
+			id = KLogRecentMissedCalls;
+			duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField;
+			conditions = 
+				{
+				MATCH { field = ELogEventTypeField; value = KLogCallEventType; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_MISSED; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_MISSED_ALT; }
+				};
+			}
+		};
+	}
+
+
+// Direction
+RESOURCE LBUF r_log_dir_in { txt = LOG_DIR_IN; }
+RESOURCE LBUF r_log_dir_out { txt = LOG_DIR_OUT; }
+RESOURCE LBUF r_log_dir_in_alt { txt = LOG_DIR_IN_ALT; }
+RESOURCE LBUF r_log_dir_out_alt { txt = LOG_DIR_OUT_ALT; }
+RESOURCE LBUF r_log_dir_fetched { txt = LOG_DIR_FETCHED; }
+RESOURCE LBUF r_log_dir_missed { txt = LOG_DIR_MISSED; }
+RESOURCE LBUF r_log_dir_missed_alt { txt = LOG_DIR_MISSED_ALT; }
+
+
+// Delivery
+RESOURCE LBUF r_log_del_pending { txt = LOG_DEL_PENDING; }
+RESOURCE LBUF r_log_del_sent { txt = LOG_DEL_SENT; }
+RESOURCE LBUF r_log_del_failed { txt = LOG_DEL_FAILED; }
+/* R_LOG_DEL_NONE comes from the rsg that we're trying to depend on */
+RESOURCE LBUF r_log_del_none { txt = R_LOG_DEL_NONE; } 
+RESOURCE LBUF r_log_del_done { txt = LOG_DEL_DONE; }
+RESOURCE LBUF r_log_del_not_sent { txt = LOG_DEL_NOT_SENT; }
+RESOURCE LBUF r_log_del_scheduled { txt = LOG_DEL_SCHEDULED; }
+
+// Other
+RESOURCE LBUF r_log_remote_unknown { txt = LOG_REMOTE_UNKNOWN; }
+RESOURCE LBUF r_log_remote_multiple { txt = LOG_REMOTE_MULTIPLE; }
+RESOURCE LBUF r_log_subject_none { txt = LOG_SUBJECT_NONE; }
+RESOURCE LBUF r_log_subject_data_message { txt = LOG_SUBJECT_DATA_MESSAGE; }
+
+// Connection
+RESOURCE LBUF r_log_con_connected { txt = LOG_CON_CONNECTED; }
+RESOURCE LBUF r_log_con_connecting { txt = LOG_CON_CONNECTING; }
+RESOURCE LBUF r_log_con_disconnecting { txt = LOG_CON_DISCONNECTING; }
+RESOURCE LBUF r_log_con_disconnected{ txt = LOG_CON_DISCONNECTED; }
+RESOURCE LBUF r_log_con_suspended{ txt = LOG_CON_SUSPENDED; }
+
+// Delivery
+RESOURCE LBUF r_log_del_notified { txt = LOG_DEL_NOTIFIED; } 
+RESOURCE LBUF r_log_del_expired { txt = LOG_DEL_EXPIRED; }  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_EXPORTS
+../inc/testresource.hrh /epoc32/include/testresource.hrh
+testresource_badef.rh /epoc32/include/testresource_badef.rh
+
+
+PRJ_MMPFILES
+testresource.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/testresource.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET                  testresource
+TARGETTYPE              EXE
+LIBRARY                 euser.lib
+SECUREID                0x10003a5c
+SYSTEMINCLUDE   /epoc32/include
+SOURCEPATH              ../
+SOURCE                  test.cpp 
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
+
+UID     0x1000008d 0x10005342
+VENDORID 0x70000001
+USERINCLUDE     ../inc
+SYSTEMINCLUDE   /epoc32/include
+
+MACRO SHOULD_BE_DEFINED
+
+
+START RESOURCE          testresource.rss
+// Test backslash to forward slash conversion here:
+TARGETPATH              resource\testresource
+HEADER
+LANG SC 01
+END
+
+START RESOURCE          testresource.rss
+TARGETPATH              resource/testresource2
+HEADERONLY
+LANG 01 sc
+END
+
+START RESOURCE          testresource.rss
+TARGETPATH              resource/testresource3
+LANG 02 sc
+END
+
+
+START RESOURCE          dependentresource.rss
+TARGETPATH              resource/dependentresource
+LANG sc
+END
+
+START BITMAP	testresource.mbm
+HEADER
+
+TARGETPATH		resource/apps
+SOURCEPATH		../aifsrccl
+SOURCE			c8,1 DEF24.BMP DEF2M.BMP
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/testresource_badef.rh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* BADEF.RH
+*
+*/
+
+
+#if !defined(__BADEF_RH__)
+#define __BADEF_RH__
+
+STRUCT BA_RSS_SIGNATURE
+    {
+    LONG signature=0; // this value must be changed if the resource file is loaded by an environment
+    SRLINK self;
+    }
+
+STRUCT TBUF
+    {
+    BUF buf; // non-zero terminated text string
+    }
+
+STRUCT LBUF
+    {
+    LTEXT txt; // leading-byte counted text string
+    }
+
+STRUCT ARRAY
+    {
+    STRUCT items[];
+    }
+
+STRUCT UID_NAME_PAIR
+	{
+	LONG uid;
+	STRUCT name; // an LBUF
+	}
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/inc/testresource.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#if !defined(__LOGWRAP_HRH__)
+#define __LOGWRAP_HRH__
+
+// Event Uid's
+#define KLogCallEventType 0x1000550D
+#define KLogDataEventType 0x10005566
+#define KLogFaxEventType 0x10005567
+#define KLogShortMessageEventType 0x10005568
+#define KLogMailEventType 0x10005569
+#define KLogTaskSchedulerEventType  0x1000585E
+#define KLogPacketDataEventType  0x10008F8E
+#define KLogLbsSelfLocateEventType 0x102822B2
+#define KLogLbsExternalLocateEventType 0x102822B3
+#define KLogLbsTransmitLocationEventType 0x102822B4
+#define KLogLbsNetworkLocateEventType 0x102822B5
+#define KLogLbsAssistanceDataEventType 0x102822B6
+
+// Recent lists (Make consecutive)
+#define KLogRecentIncomingCalls 1
+#define KLogRecentOutgoingCalls 2
+#define KLogRecentMissedCalls 3
+
+// Filter fields
+#define ELogFirstFilterField 0x1
+#define ELogContactField 0x1
+#define ELogDirectionField 0x2
+#define ELogDurationTypeField 0x4
+#define ELogEventTypeField 0x8
+#define ELogNumberField 0x10
+#define ELogRemotePartyField 0x20
+#define ELogStatusField 0x40
+#define ELogStartTimeField 0x80
+#define ELogEndTimeField 0x100
+#define ELogFlagsField 0x200
+#define ELogSubjectField 0x400
+#define ELogLinkField 0x800
+#define ELogDataField 0x1000
+#define ELogLastFilterField 0x200
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/inc/testresource.rh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#define ELogEnable 1
+#define ELogDisable 0
+#define ELogUnique 1
+#define ELogUndefined -1
+
+STRUCT CONFIG
+	{
+	WORD size;
+	BYTE recent;
+	LONG age;
+	}
+
+
+STRUCT CAPABILITY
+	{
+	LONG cap;
+	}
+	
+STRUCT SECURITY
+	{
+	LONG uid;
+	STRUCT read_caps[];
+	STRUCT write_caps[];
+	}	
+
+STRUCT ETYPE
+	{
+	LONG uid;
+	LTEXT description;
+	BYTE enabled = ELogEnable;
+	}
+	
+ENUM {EAsc,EDesc};
+
+STRUCT KEY
+	{
+	LTEXT col;
+	WORD order = EAsc;
+	WORD len = ELogUndefined;
+	}
+
+ENUM { EDbCompareNormal, EDbCompareFolded, EDbCompareCollated };
+
+STRUCT INDEX
+	{
+	LTEXT name;
+	LTEXT table;
+	STRUCT keys[];
+	BYTE unique = 0;
+	BYTE compare = EDbCompareNormal;
+	}
+
+STRUCT RECENT
+	{
+	BYTE id;
+	WORD duplicate = 0;
+	STRUCT conditions[];
+	}
+
+STRUCT MATCH
+	{
+	WORD field;
+	LTEXT string = "";
+	LONG value = 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Resource test";
+
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/testresource.rls	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+rls_string LOG_CALL_EVENT_TYPE	"Voice call"
+rls_string LOG_DATA_EVENT_TYPE	"Data call"
+rls_string LOG_FAX_EVENT_TYPE	"Fax"
+rls_string LOG_SHORT_MESSAGE_EVENT_TYPE	"Short message"
+rls_string LOG_MAIL_EVENT_TYPE	"Mail"
+rls_string LOG_TASK_SCHEDULER_EVENT_TYPE  "Task scheduler"
+rls_string LOG_PACKET_DATA_EVENT_TYPE	"Packet Data"
+rls_string LOG_LBS_SELF_LOCATE_EVENT_TYPE	"Location Requested by On Board Application"
+rls_string LOG_LBS_EXTERNAL_LOCATE_EVENT_TYPE	"Location Requested by Remote Party"
+rls_string LOG_LBS_TRANSMIT_LOCATION_EVENT_TYPE	"Location Sent to Remote Party"
+rls_string LOG_LBS_NETWORK_LOCATE_EVENT_TYPE	"Location Determined by Network"
+rls_string LOG_LBS_ASSISTANCE_DATA_EVENT_TYPE	"Location Data Obtained from Network"
+
+// Direction
+rls_string LOG_DIR_IN	"Incoming"
+rls_string LOG_DIR_OUT	"Outgoing"
+rls_string LOG_DIR_IN_ALT	"Incoming on alternate line"
+rls_string LOG_DIR_OUT_ALT	"Outgoing on alternate line"
+rls_string LOG_DIR_FETCHED	"Fetched"
+rls_string LOG_DIR_MISSED	"Missed call"
+rls_string LOG_DIR_MISSED_ALT	"Missed call on alternate line"
+
+// Delivery
+rls_string LOG_DEL_PENDING	"Pending"
+rls_string LOG_DEL_SENT		"Sent"
+rls_string LOG_DEL_FAILED	"Failed"
+rls_string LOG_DEL_NONE		"No delivery"
+rls_string LOG_DEL_DONE		"Delivered"
+rls_string LOG_DEL_NOT_SENT	"Not sent"
+rls_string LOG_DEL_SCHEDULED	"Scheduled"
+
+// Other
+rls_string LOG_REMOTE_UNKNOWN	"Unknown"
+rls_string LOG_REMOTE_MULTIPLE	"Multiple Parties"
+rls_string LOG_SUBJECT_NONE	"No subject"
+rls_string LOG_SUBJECT_DATA_MESSAGE	"Data Message"
+
+// Connection
+rls_string LOG_CON_CONNECTED		"Connected"
+rls_string LOG_CON_CONNECTING		"Connecting"
+rls_string LOG_CON_DISCONNECTING	"Disconnecting"
+rls_string LOG_CON_DISCONNECTED 	"Disconnected"
+rls_string LOG_CON_SUSPENDED		"Suspended"
+
+// Delivery
+rls_string LOG_DEL_NOTIFIED		"Notified"
+rls_string LOG_DEL_EXPIRED		"Expired"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/testresource.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,331 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* LOGWRAP.RSS
+*
+*/
+
+
+#include <testresource_badef.rh>
+#include <e32capability.h>
+
+#include "../inc/testresource.rh"
+#include "../inc/testresource.hrh"
+#include "testresource.rls"
+
+#include "testresource.mbg"
+
+// MACRO statements in .mmp files should be reflected in resource preprocessing
+#ifndef SHOULD_BE_DEFINED
+#error "mmp MACRO SHOULD_BE_DEFINED is not defined!"
+#endif
+
+// Initial configuration
+RESOURCE CONFIG r_log_initial_config
+	{
+	size = 1000; // Maximum number of events
+	recent = 20; // Maximum size of recent lists
+	age = 2592000; // 30 days
+	}
+
+  RESOURCE ARRAY r_log_initial_events
+   	{
+   	items = 
+   		{
+  		ETYPE { uid = KLogCallEventType; description = LOG_CALL_EVENT_TYPE; },
+  		ETYPE { uid = KLogDataEventType; description = LOG_DATA_EVENT_TYPE; },
+  		ETYPE { uid = KLogFaxEventType; description = LOG_FAX_EVENT_TYPE; },
+  		ETYPE { uid = KLogShortMessageEventType; description = LOG_SHORT_MESSAGE_EVENT_TYPE; },
+  		ETYPE { uid = KLogTaskSchedulerEventType; description = LOG_TASK_SCHEDULER_EVENT_TYPE; },
+  		ETYPE { uid = KLogPacketDataEventType; description = LOG_PACKET_DATA_EVENT_TYPE; },
+
+
+  		ETYPE { uid = KLogLbsSelfLocateEventType; description = LOG_LBS_SELF_LOCATE_EVENT_TYPE; },
+  		ETYPE { uid = KLogLbsExternalLocateEventType; description = LOG_LBS_EXTERNAL_LOCATE_EVENT_TYPE; },
+ 		ETYPE { uid = KLogLbsTransmitLocationEventType; description = LOG_LBS_TRANSMIT_LOCATION_EVENT_TYPE; },
+ 		ETYPE { uid = KLogLbsNetworkLocateEventType; description = LOG_LBS_NETWORK_LOCATE_EVENT_TYPE; },
+ 		ETYPE { uid = KLogLbsAssistanceDataEventType; description = LOG_LBS_ASSISTANCE_DATA_EVENT_TYPE; }
+
+   		};
+   	}
+
+
+
+RESOURCE ARRAY r_log_security
+//
+// [See logwrap.rh for the definitions of SECURITY and CAPABILITY.]
+//
+// This structure defines settings for platform security in the Log engine.
+// All event types defined above in 'r_log_initial_events' need to be policed.
+// The server must always determine whether a client thread has the required
+// capability to read/write a log event(s) of a built-in type.  Each operation
+// may have from one to seven capabilities defined for it.  All operations on 
+// built in types _MUST_ have an associated security policy defined here.  If no
+// security is required, then use 'cap=ECapability_None'.  The CAPABILITY values
+// defined here will provide constructor arguments for TSecurityPolicy objects.
+// The maximum number of CAPABILITY(s) for each read or write operation is 7.
+// ( a read_caps or a write_caps { contains <= 7 CAPABILITY{}   statements }  )
+// Note that SID-based security isn't supported in the Log Engine.
+//
+	{
+	items = 
+		{
+		SECURITY 
+			{ 
+			uid = KLogCallEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogDataEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogFaxEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogShortMessageEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogTaskSchedulerEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapability_None; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogPacketDataEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadUserData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteUserData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsSelfLocateEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsExternalLocateEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsTransmitLocationEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsNetworkLocateEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			},
+		SECURITY 
+			{ 
+			uid=KLogLbsAssistanceDataEventType;	
+			read_caps=
+				{
+				CAPABILITY { cap=ECapabilityReadDeviceData; }
+				};
+			write_caps=
+				{
+				CAPABILITY { cap=ECapabilityWriteDeviceData; }
+				};
+			}
+		};
+	}
+
+
+// Index entries
+RESOURCE ARRAY r_log_indexes
+	{
+	items =
+		{
+		INDEX
+			{
+			name = "Index1"; // do not translate
+			table = "Event"; // do not translate
+			keys = 
+				{
+				KEY { col = "Id"; } // do not translate
+				};
+			},
+		INDEX
+			{
+			name = "Index2"; // do not translate
+			table = "Event"; // do not translate
+			keys =
+				{
+				KEY { col = "ETime"; } // do not translate
+				};
+			},
+		INDEX
+			{
+			name = "Index3"; // do not translate
+			table = "String"; // do not translate
+			keys = 
+				{
+				KEY { col = "Id"; } // do not translate
+				};
+			}
+		};
+	}
+
+// Recent list setup
+RESOURCE ARRAY r_log_recent
+	{
+	items =
+		{
+		RECENT
+			{
+			id = KLogRecentIncomingCalls;
+			duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField;
+			conditions = 
+				{
+				MATCH { field = ELogEventTypeField; value = KLogCallEventType; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_IN; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_IN_ALT; }
+				};
+			},
+		RECENT
+			{
+			id = KLogRecentOutgoingCalls;
+			duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField;
+			conditions = 
+				{
+				MATCH { field = ELogEventTypeField; value = KLogCallEventType; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_OUT; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_OUT_ALT; }
+				};
+			},
+		RECENT
+			{
+			id = KLogRecentMissedCalls;
+			duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField;
+			conditions = 
+				{
+				MATCH { field = ELogEventTypeField; value = KLogCallEventType; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_MISSED; },
+				MATCH { field = ELogDirectionField; string = LOG_DIR_MISSED_ALT; }
+				};
+			}
+		};
+	}
+
+
+// Direction
+RESOURCE LBUF r_log_dir_in { txt = LOG_DIR_IN; }
+RESOURCE LBUF r_log_dir_out { txt = LOG_DIR_OUT; }
+RESOURCE LBUF r_log_dir_in_alt { txt = LOG_DIR_IN_ALT; }
+RESOURCE LBUF r_log_dir_out_alt { txt = LOG_DIR_OUT_ALT; }
+RESOURCE LBUF r_log_dir_fetched { txt = LOG_DIR_FETCHED; }
+RESOURCE LBUF r_log_dir_missed { txt = LOG_DIR_MISSED; }
+RESOURCE LBUF r_log_dir_missed_alt { txt = LOG_DIR_MISSED_ALT; }
+
+
+// Delivery
+RESOURCE LBUF r_log_del_pending { txt = LOG_DEL_PENDING; }
+RESOURCE LBUF r_log_del_sent { txt = LOG_DEL_SENT; }
+RESOURCE LBUF r_log_del_failed { txt = LOG_DEL_FAILED; }
+RESOURCE LBUF r_log_del_none { txt = LOG_DEL_NONE; }
+RESOURCE LBUF r_log_del_done { txt = LOG_DEL_DONE; }
+RESOURCE LBUF r_log_del_not_sent { txt = LOG_DEL_NOT_SENT; }
+RESOURCE LBUF r_log_del_scheduled { txt = LOG_DEL_SCHEDULED; }
+
+// Other
+RESOURCE LBUF r_log_remote_unknown { txt = LOG_REMOTE_UNKNOWN; }
+RESOURCE LBUF r_log_remote_multiple { txt = LOG_REMOTE_MULTIPLE; }
+RESOURCE LBUF r_log_subject_none { txt = LOG_SUBJECT_NONE; }
+RESOURCE LBUF r_log_subject_data_message { txt = LOG_SUBJECT_DATA_MESSAGE; }
+
+// Connection
+RESOURCE LBUF r_log_con_connected { txt = LOG_CON_CONNECTED; }
+RESOURCE LBUF r_log_con_connecting { txt = LOG_CON_CONNECTING; }
+RESOURCE LBUF r_log_con_disconnecting { txt = LOG_CON_DISCONNECTING; }
+RESOURCE LBUF r_log_con_disconnected{ txt = LOG_CON_DISCONNECTED; }
+RESOURCE LBUF r_log_con_suspended{ txt = LOG_CON_SUSPENDED; }
+
+// Delivery
+RESOURCE LBUF r_log_del_notified { txt = LOG_DEL_NOTIFIED; } 
+RESOURCE LBUF r_log_del_expired { txt = LOG_DEL_EXPIRED; }  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/retry/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// this FLM will fail FAILURES times and then succeed
+//
+// (each instance needs its own COUNTER as they may be run in parallel)
+
+PRJ_EXPORTS
+retry_test.xml /epoc32/tools/makefile_templates/
+retry_test.flm /epoc32/tools/makefile_templates/
+
+PRJ_EXTENSIONS
+
+start EXTENSION retry.test
+OPTION FAILURES 1
+OPTION COUNTER  retry_1
+end
+
+start EXTENSION retry.test
+OPTION FAILURES 2
+OPTION COUNTER  retry_2
+end
+
+start EXTENSION retry.test
+OPTION FAILURES 3
+OPTION COUNTER  retry_3
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/retry/retry_test.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+
+# This FLM is for testing the retry mechanism in our rules.
+# It will fail on the first FAILURES invocations and then succeed.
+
+MY_COUNTER:=$(EPOCROOT)/epoc32/build/$(COUNTER)
+
+define retry_test
+ALL::
+	$(call startrule,retry_test) \
+	(TRY=1; \
+	while (( $$$$TRY <= $(FAILURES) )); do \
+		if [ ! -f $(MY_COUNTER).$$$$TRY ]; then \
+			touch $(MY_COUNTER).$$$$TRY; \
+			echo DELIBERATE FAILURE $$$$TRY for $(COUNTER); \
+			exit 1; \
+		fi; \
+		(( TRY=$$$$TRY + 1 )); \
+	done) && \
+	echo SUCCESS for $(COUNTER) && \
+	touch $(MY_COUNTER).ok \
+	$(call endrule,retry_test)
+endef
+$(eval $(retry_test))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/retry/retry_test.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build ../../../schema/build/2_0.xsd">
+	<!-- utility interfaces : handy FLMs for simple things -->
+
+	<interface name="retry.test" extends="base.flm" flm="retry_test.flm">
+		<param name='EPOCROOT'/>
+		<param name='FAILURES'/>
+		<param name='COUNTER'/>
+	</interface>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/scripts/delete_on_failed_compile.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# delete_on_failed_compile.py
+# This is a test module for verifying the delete on failed compile 
+# work around for RVCT 2.2. It creates a dummy object file and 
+# exits with an error code which should result in object files being deleted.
+# It takes the same arguments as armcc, but ignores them all apart from -o.
+#
+
+import sys
+import os
+import re
+
+# Parse for -o argument.
+objectfile_re = re.compile(".*-o\s(\S*\.(o|pre))\s.*", re.I)
+res = objectfile_re.match(" ".join(sys.argv[1:]))
+
+if res:
+	objectpath = res.group(1)
+	print "Found object file %s" % objectpath
+	objectdirectory = os.path.dirname(objectpath)
+	
+	# Make the directory if it doesn't exist
+	if not os.path.isdir(objectdirectory):
+		try:
+			os.makedirs(objectdirectory)
+		except:
+			print "Not making directory %s" % objectdirectory
+	
+	# Try to write something to the .o file
+	try:
+		fh = open(objectpath, "w")
+		fh.write("Fake object file for delete on failed compile test\n")
+		fh.close()
+	except Exception as error:
+		print "Failed to created object file %s; error was: %s" % (objectfile, str(error))
+else:
+	print "Failed to determine object filename. Commandline used was: %s" % " ".join(sys.argv[1:])
+
+# Always exit with an error
+print "Exiting with non-zero exit code." 
+sys.exit(1)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/always_build_as_arm.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			always_build_as_arm
+TARGETTYPE		EXE
+
+// Always build as arm
+ALWAYS_BUILD_AS_ARM
+
+
+// Test backslash to / here:
+TARGETPATH		\sys\bin
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp test1.c++ test2.cxx test3.Cpp test4.cc test5.CC test6.C++
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+PAGED
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/always_build_as_arm_bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5
+
+PRJ_MMPFILES
+always_build_as_arm.mmp
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+simple.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/build_spec.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build http://symbian.com/xml/build/1_0.xsd">
+
+    <!-- test build specification -->
+
+    <spec name="simple">
+        <interfaceRef ref="Symbian.EXE"/>
+	<var>
+	    <set name="SIMPLE" value="$(SBS_HOME)/test/simple"/>
+
+	    <set name="SOURCEFILES" value="$(SIMPLE)/test.cpp"/>
+	    <set name="EXENAME" value="test"/>
+	    <set name="TARGETTYPE" value="EXE"/>
+	    <set name="UID1" value="0x1000007a"/>
+	    <set name="UID2" value="0x100039ce"/>
+	    <set name="UID3" value="0x00000001"/>
+	    <set name="SID" value="0x10003a5c"/>
+	</var>
+    </spec>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/capability.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+capability.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/capability.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test_capability
+TARGETTYPE		EXE
+
+// Test backslash to / here:
+TARGETPATH		\sys\bin
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp test1.c++ test2.cxx test3.Cpp test4.cc test5.CC test6.C++
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+PAGED
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ALL -TCB -ProtServ TCB ProtServ -DRM
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/commands-v7.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+
+-b smoke_suite/test_resources/simple/bld.inf
+
+-c
+
+armv7_urel
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/compilervariants/delete_on_failed_compile_compiler_variants.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build ../../schema/build/2_0.xsd">
+	<!-- Fake compiler variant for testing the  -->	
+	<var name="fake_compiler">
+		<set name='CC' value='python -u $(SBS_HOME)/test/smoke_suite/test_resources/scripts/delete_on_failed_compile.py'/>
+	</var>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/debuggable.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			debuggable
+TARGETTYPE		EXE
+
+// Test backslash to / here:
+TARGETPATH		\sys\bin
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp test1.c++ test2.cxx test3.Cpp test4.cc test5.CC test6.C++
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+PAGED
+DEBUGGABLE
+DEBUGGABLE_UDEBONLY
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/debuggable_bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+debuggable.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/makevariants/delete_on_failed_compile_make_variants.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build ../../schema/build/2_0.xsd">
+	<!-- Some make engines for test purposes -->
+	
+	<!-- Raptor make engine for GNU make -->
+	<var name="make_engine">
+		<varRef ref="default.locations"/>
+
+		<!-- Shell settings -->
+		<set name='DEFAULT_SHELL' value='$(SBS_HOME)/$(HOSTPLATFORM_DIR)/bin/talon$(DOTEXE)' type='tool'/>
+		<set name='TALON_SHELL' value='$(SBS_SHELL)' type='tool'/>
+		<set name='USE_TALON' value='1'/>
+		<set name='TALON_TIMEOUT' value='600000'/>
+		<set name='TALON_DESCRAMBLE' value='1'/>
+		
+		<!-- Command-line for initialisation -->
+		<set name="initialise" value=""/>
+
+		<!-- Command-line for shutdown -->
+		<set name="shutdown" value=""/>
+
+		<!-- Command-line for build  -->
+		<set name="build" value="$(GNUMAKE38) HAVE_ORDERONLY=1 -r" type="tool"/>
+
+		<!-- Options  -->
+		<set name="makefile" value="-f"/>
+		<set name="keep_going" value="-k"/>
+		<set name="jobs" value="-j"/>
+		
+		<!-- The following are stuck on the commandline before any options
+		     specified by the sbs "mo" option, so they can be overridden -->
+		<set name="defaultoptions" value=""/>
+
+		<!-- How to split out the makefiles -->
+		<set name="selectors" value="export,bitmap,resource_deps,resource,default"/>
+		<set name="export.selector.iface" value="\.export$"/>
+		<set name="export.selector.target" value="EXPORT"/>
+		<set name="bitmap.selector.iface" value="\.(bitmap|extension|mifconv)$"/>
+		<set name="bitmap.selector.target" value="BITMAP"/>
+		<set name="resource_deps.selector.iface" value="\.resource$"/>
+		<set name="resource_deps.selector.target" value="RESOURCE_DEPS"/>
+		<set name="resource_deps.selector.ignoretargets" value="^(RESOURCE|CLEAN|CLEANEXPORT|REALLYCLEAN)$"/>
+		<set name="resource.selector.iface" value="\.(resource|extension|mif2cdlindex|nativejava)$"/>
+		<set name="resource.selector.target" value="RESOURCE"/>
+		<set name="default.selector.iface" value="\.(?!export$|bitmap$|resource$|mifconv$|mif2cdlindex$|nativejava$).*$"/>
+		<set name="default.selector.target" value="ALL"/>
+
+		<!-- is the text output with -j buffered or scrambled? -->
+		<set name="scrambled" value="true"/>
+	</var>
+	
+	<alias name="make_test" meaning="make_engine"/>
+
+	<!-- use the talon shell -->
+	<var name="make_no_talon_engine_test" extends="make_engine_test">
+	        <set name='DEFAULT_SHELL' value='$(SBS_SHELL)' type='tool'/>
+	        <set name='USE_TALON' value=''/>
+	</var>
+</build>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/simple.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test
+TARGETTYPE		EXE
+
+// Test backslash to / here:
+TARGETPATH		\sys\bin
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp test.cia test1.c++ test2.cxx test3.Cpp test4.cc test5.CC test6.C++
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+OPTION GCCE -O2
+PAGED
+DEBUGGABLE
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test.cia	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// Some random assembler or a "straight" dummy function
+
+#ifndef __WINSCW__
+EXPORT_C __NAKED__ void dummy()
+	{
+	asm("stmia	r0, {r4-r11, sp, lr}	");
+	asm("mov  r0, #0"); 
+	}
+#else
+int fred(int i)
+	{
+	return 1;
+	}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+#include "test.h"
+
+char test[]="Simple test";
+
+TInt test1();
+TInt test2();
+TInt test3();
+TInt test4();
+TInt test5();
+TInt test6();
+
+TInt E32Main()
+{
+	test1();
+	test2();
+	test3();
+	test4();
+	test5();
+	test6();
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// Blank header file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test1.c++	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test1()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test2.cxx	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test2()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test3.Cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+
+TInt test3()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test4.cc	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test4()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test5.CC	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test5()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test6.C++	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional  include
+
+
+TInt test6()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_crash/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+\\this_line_is_not_acceptable.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICDLLARM.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,6 @@
+EXPORTS
+	_ZN10CMessenger11ShowMessageEv @ 1 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+	_ZTI10CMessenger @ 3 NONAME ; #<TI>#
+	_ZTV10CMessenger @ 4 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICDLLWINS.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+EXPORTS
+; NEW:
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 1 NONAME ; public: static class CMessenger * __cdecl CMessenger::NewLC(class CConsoleBase &,class TDesC16 const &)
+	?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; public: void __thiscall CMessenger::ShowMessage(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICPDLLARM.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,6 @@
+EXPORTS
+	_ZN10CMessenger11ShowMessageEv @ 1 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+	_ZTI10CMessenger @ 3 NONAME
+	_ZTV10CMessenger @ 4 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICPDLLWINS.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,4 @@
+EXPORTS
+	?ShowMessage@CMessenger@@QAEXXZ @ 1 NONAME ; ?ShowMessage@CMessenger@@QAEXXZ
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 2 NONAME ; ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CommonFramework.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#ifndef __CommonFramework_H
+#define __CommonFramework_H
+
+#include <e32base.h>
+#include <e32cons.h>
+
+_LIT(KTxtEPOC32EX,"EXAMPLES");
+_LIT(KTxtExampleCode,"Symbian OS Example Code");
+_LIT(KFormatFailed,"failed: leave code=%d");
+_LIT(KTxtOK,"ok");
+_LIT(KTxtPressAnyKey," [press any key]");
+
+// public
+LOCAL_D CConsoleBase* console; // write all your messages to this
+LOCAL_C void doExampleL(); // code this function for the real example
+
+// private
+LOCAL_C void callExampleL(); // initialize with cleanup stack, then do example
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error,callExampleL()); // more initialization, then do example
+	__ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0; // and return
+    }
+
+LOCAL_C void callExampleL() // initialize and call example code under cleanup stack
+    {
+	console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));
+	CleanupStack::PushL(console);
+	TRAPD(error,doExampleL()); // perform example function
+	if (error)
+		console->Printf(KFormatFailed, error);
+	else
+		console->Printf(KTxtOK);
+	console->Printf(KTxtPressAnyKey);
+	console->Getch(); // get and ignore character
+	CleanupStack::PopAndDestroy(); // close console
+    }
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This program creates a dll.
+*
+*/
+
+
+#include "CreateStaticDLL.h"
+#include <e32uid.h>
+
+#include "../inc/macrotests.h"
+
+// construct/destruct
+
+
+extern "C" void __ARM_switch8();
+
+void sbs_test()
+	{
+	__ARM_switch8();
+	}
+
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+	{
+	delete iString;
+	}
+
+EXPORT_C void CMessenger::ShowMessage()
+	{
+	_LIT(KFormat1,"%S\n");
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+ 
+
+#include <e32cons.h>
+
+
+class CMessenger : public CBase
+  	{
+public:
+		// Construction
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+		// Destructor - virtual and class not intended
+		// for derivation, so not exported
+	~CMessenger();
+		// general functions - exported
+	IMPORT_C void ShowMessage();
+private:
+		// C++ constructor - not exported;
+		// implicitly called from NewLC()
+	CMessenger(CConsoleBase& aConsole);
+		// 2nd phase construction, called by NewLC()
+	void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+	CConsoleBase& iConsole; // Use the console (but not owned)
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+	};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET        createstaticdll.dll
+TARGETTYPE    dll
+
+UID             0xE800004C
+CAPABILITY   All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        CreateStaticDLL.cpp
+
+#ifdef ARMV6
+SOURCE        armv6_specific.cpp
+#endif
+#ifdef ARMV7
+SOURCE        armv7_specific.cpp
+#endif
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+
+LIBRARY       euser.lib
+
+#if defined(WINS)
+    deffile ./CREATESTATICDLLWINS.def
+#elif defined(MARM)
+    deffile ./CREATESTATICDLLARM.def
+#endif
+nostrictdef
+
+#include "../inc/macrotests.mmh"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET        createstaticpdll.dll
+TARGETTYPE    pdll
+
+UID             0xE800004C
+CAPABILITY   All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        CreateStaticDLL.cpp
+
+#ifdef ARMV6
+SOURCE        armv6_specific.cpp
+#endif
+#ifdef ARMV7
+SOURCE        armv7_specific.cpp
+#endif
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+
+LIBRARY       euser.lib
+
+#if defined(WINS)
+    deffile ./CREATESTATICPDLLWINS.def
+#elif defined(MARM)
+    deffile ./CREATESTATICPDLLARM.def
+#endif
+nostrictdef
+
+#include "../inc/macrotests.mmh"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/armv6_specific.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+int armv6_specific()
+	{
+#ifndef __ARMV6__
+#error __ARMV6__ macro expected but was not set
+#endif
+	return 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/armv7_specific.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+int armv7_specific()
+	{
+#ifndef __ARMV7__
+#error __ARMV7__ macro expected but was not set
+#endif
+	return 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5 ARMV6 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+
+CreateStaticDLL.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/pbld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5 ARMV6 ARMV7 ARMV5SMP WINSCW
+
+PRJ_MMPFILES
+
+CreateStaticPDLL.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW
+
+PRJ_MMPFILES
+win32resourcedll.mmp
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/epoc32.ico has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/gui.rc	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,79 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include <windows.h>
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.K.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+EPOC_ICON               ICON    DISCARDABLE     "epoc32.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Cursor
+//
+
+OVERKEY                 CURSOR  DISCARDABLE     "hand.cur"
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""afxres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+#endif    // English (U.K.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/hand.cur has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/resource.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+ //{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by gui.rc
+//
+#define EPOC_ICON                       102
+#define OVERKEY                         104
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        105
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1000
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/win32resource/win32resourcedll.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "../CreateStaticDLL.mmp"
+
+START WINS
+WIN32_RESOURCE gui.rc
+END
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+simple.mmp
+
+PRJ_EXPORTS
+simple_exp1.h exported_1.h
+simple_exp2.h exported_2.h
+simple_exp3.h exported_3.h
+"file with a space.doc" "exportedfilewithspacesremoved.doc"
+"file with a space.doc" "exported file with a space.doc"
+executable_file	executable_file
+
+simple_exp1.h /tmp/$$(USER)/  //
+simple_exp2.h \tmp\$$(USER)/  //
+simple_exp3.h /tmp/$$(USER)/simple_exp3.h 
+simple_exp4.h //
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			test
+TARGETTYPE		EXE
+UID			0x100039ce 0x00000001
+LIBRARY			euser.dso
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple_exp1.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple_exp2.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple_exp3.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/simple_exp4.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+clean.mk /epoc32/tools/makefile_templates/sbsv2test/clean.mk
+clean.meta /epoc32/tools/makefile_templates/sbsv2test/clean.meta
+build.mk /epoc32/tools/makefile_templates/sbsv2test/build.mk
+build.meta /epoc32/tools/makefile_templates/sbsv2test/build.meta
+
+PRJ_EXTENSIONS
+
+start extension sbsv2test/clean
+option FRED=1
+end
+
+start extension sbsv2test/build
+option CONTENT Stuff
+end
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/build.meta	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+platform	win32
+makefile	gnumake
+techstream	sbsv2test
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/build.mk	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+# Simple TEM that generates trivial release tree files
+
+BLD:
+	echo "simple_extension $(PLATFORM) $(CFG) $(CONTENT)" > $(EPOCROOT)/epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/simple_extension.txt
+	
+CLEAN:
+	rm -f $(EPOCROOT)/epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/simple_extension.txt
+
+RELEASABLES:
+	@echo $(EPOCROOT)/epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/simple_extension.txt
+
+SAVESPACE: BLD
+
+MAKMAKE RESOURCE LIB CLEANLIB FINAL FREEZE:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/clean.meta	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+platform	win32
+makefile	gnumake
+techstream	sbsv2test
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/clean.mk	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+# SBSv2 test TEM that creates a file and cleans it
+# This helps to test the REALLYCLEAN mechanism 
+
+blah:
+
+
+MAKMAKE:
+
+RESOURCE:
+	
+SAVESPACE: BLD
+
+BLD:
+	echo "HI" > $(EPOCROOT)/epoc32/build/tem_export_test
+
+FREEZE:
+
+LIB:
+
+CLEANLIB:
+
+FINAL:
+
+CLEAN:
+	rm -f $(EPOCROOT)/epoc32/build/tem_export_test
+
+RELEASABLES:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/flm_bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+armv5
+
+PRJ_EXPORTS
+flm_export.flm /epoc32/tools/makefile_templates/tools/flm_export.flm
+flm_export.xml /epoc32/tools/makefile_templates/tools/flm_export.xml
+
+PRJ_EXTENSIONS
+
+start extension tools/flm_test
+option FLM_EXPORT_1 1
+option FLM_EXPORT_2 2
+end
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/flm_export.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+# SBSv2 test flm
+# This helps to test flm exports mechanism
+
+ALL::
+	echo " "  > $(EPOCROOT)/epoc32/build/flm_test_${FLM_EXPORT_1}_${FLM_EXPORT_2}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_extension/flm_export.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?> 
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+<!--  Extension interfaces : replacements for Template Extension Makefiles 
+  --> 
+
+ <interface name="tools.flm_test" extends="middle_man" flm="flm_export.flm">
+  <param name="FLM_EXPORT_1" /> 
+ </interface>
+
+ <interface name="middle_man" extends="Symbian.UserFLM" abstract="true">
+  <param name="FLM_EXPORT_2" />
+ </interface>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/Bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+PRJ_MMPFILES
+
+HelloWorld.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/BldVar2.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+PRJ_MMPFILES
+
+HelloWorldVar2.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/Bld_stdcpp.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+PRJ_MMPFILES
+
+HelloWorldstdcpp.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/DISTRIBUTION.policy	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,2 @@
+Category G
+OSD:	Reference/Test	Tools
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef __HELLOWORLD_H
+#define __HELLOWORLD_H
+
+#include <coeccntx.h>
+
+#include <eikenv.h>
+#include <eikappui.h>
+#include <eikapp.h>
+#include <eikdoc.h>
+#include <eikmenup.h>
+
+#include <eikon.hrh>
+
+#include <helloworld.rsg>
+#include "HelloWorld.hrh"
+
+
+
+////////////////////////////////////////////////////////////////////////
+//
+// CExampleApplication
+//
+////////////////////////////////////////////////////////////////////////
+
+class CExampleApplication : public CEikApplication
+	{
+private: 
+	           // Inherited from class CApaApplication
+	CApaDocument* CreateDocumentL();
+	TUid AppDllUid() const;
+	};
+
+////////////////////////////////////////////////////////////////////////
+//
+// CExampleAppView
+//
+////////////////////////////////////////////////////////////////////////
+class CExampleAppView : public CCoeControl
+    {
+public:
+	static CExampleAppView* NewL(const TRect& aRect);
+	CExampleAppView();
+	~CExampleAppView();
+    void ConstructL(const TRect& aRect);
+
+private:
+	           // Inherited from CCoeControl
+	void Draw(const TRect& /*aRect*/) const;
+
+private:
+	HBufC*  iExampleText;
+    };
+
+
+////////////////////////////////////////////////////////////////////////
+//
+// CExampleAppUi
+//
+////////////////////////////////////////////////////////////////////////
+class CExampleAppUi : public CEikAppUi
+    {
+public:
+    void ConstructL();
+	~CExampleAppUi();
+
+private:
+              // Inherirted from class CEikAppUi
+	void HandleCommandL(TInt aCommand);
+
+private:
+	CCoeControl* iAppView;
+	};
+
+
+////////////////////////////////////////////////////////////////////////
+//
+// CExampleDocument
+//
+////////////////////////////////////////////////////////////////////////
+class CExampleDocument : public CEikDocument
+	{
+public:
+	static CExampleDocument* NewL(CEikApplication& aApp);
+	CExampleDocument(CEikApplication& aApp);
+	void ConstructL();
+private: 
+	           // Inherited from CEikDocument
+	CEikAppUi* CreateAppUiL();
+	};
+
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+enum TExampleMenuCommands
+	{
+	EExampleItem0 = 200,
+	EExampleItem1,
+	EExampleItem2
+	};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        helloworld.exe
+TARGETTYPE    exe
+UID           0x100039CE 0xE800005A
+VENDORID 	  0x70000001
+SOURCEPATH    .
+SOURCE        HelloWorld_Main.cpp
+SOURCE        HelloWorld_Application.cpp
+SOURCE        HelloWorld_Document.cpp
+SOURCE        HelloWorld_AppUi.cpp
+SOURCE        HelloWorld_AppView.cpp
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/techview
+OPTION GCCXML -fpermissive
+START RESOURCE	HelloWorld.rss
+HEADER
+TARGETPATH		/resource/apps
+end
+
+START RESOURCE	HelloWorld_reg.rss
+TARGETPATH		/private/10003a3f/apps
+DEPENDS		helloworld.rsg
+END
+
+START BITMAP	helloworld.mbm
+TARGETPATH		/resource/apps
+SOURCE			c8,1 icon24.BMP icon2M.BMP icon32.BMP icon3M.BMP icon48.BMP icon4M.BMP
+END
+
+LIBRARY       euser.lib apparc.lib cone.lib eikcore.lib gdi.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.pkg	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,48 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of the License "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+; Basic install file for HelloWorld application
+;
+
+; List of languages supported.
+; Here, only UK English is supported.
+&EN
+
+; List of localised vendor names.
+; Here, only UK English version is specified.
+%{"Symbian Software Ltd."}
+
+; Single, non-localised (global) vendor name.
+:"Symbian Software Ltd."
+
+; Installation header.
+; Only specifies one component name as we only support English.
+; The UID is the package UID - this is not the same as the app's UID, 
+; which is specified in HelloWorld.mmp.
+
+#{"Hello World"},(0xE8000091),1,0,0
+
+; Four files to install for the minimal application
+"HelloWorld.exe"-"!:\sys\bin\HelloWorld.exe"
+"HelloWorld.rsc"-"!:\resource\apps\HelloWorld.rsc"
+"HelloWorld.mbm" - "!:\resource\apps\HelloWorld.mbm"
+"HelloWorld_reg.rsc" - "!:\private\10003a3f\import\apps\HelloWorld_reg.rsc"
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+NAME HEWO
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+#include "HelloWorld.hrh"
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf=""; }
+
+RESOURCE EIK_APP_INFO
+	{
+	hotkeys=r_example_hotkeys;
+	menubar=r_example_menubar;
+	}
+
+RESOURCE HOTKEYS r_example_hotkeys
+    {
+    control=
+        {
+        HOTKEY { command=EEikCmdExit; key='e'; }
+        };
+    }
+
+RESOURCE MENU_BAR r_example_menubar
+    {
+    titles=
+        {
+        MENU_TITLE { menu_pane=r_example_first_menu; txt="HelloWld"; }
+		};
+    }
+
+RESOURCE MENU_PANE r_example_first_menu
+	{
+	items=
+		{
+		MENU_ITEM { command=EExampleItem0; txt="Item 0"; },
+		MENU_ITEM { command=EExampleItem1; txt="Item 1"; },
+		MENU_ITEM { command=EExampleItem2; txt="Item 2"; },
+		MENU_ITEM { command=EEikCmdExit; txt="Close"; }
+        };
+    }
+
+
+RESOURCE TBUF r_example_text_Hello { buf="Hello World!"; }
+RESOURCE TBUF r_example_text_Item0 { buf="Item 0"; }
+RESOURCE TBUF r_example_text_Item1 { buf="Item 1"; }
+RESOURCE TBUF r_example_text_Item2 { buf="Item 2"; }
+RESOURCE TBUF r_example_text_Item3 { buf="This string generates a trigraph warning if not suppressed: <h>ID3?????????<m>"; }
+
+RESOURCE LOCALISABLE_APP_INFO r_lai
+	{
+	short_caption = "HW";
+	caption_and_icon =
+		{
+		CAPTION_AND_ICON_INFO
+			{
+			caption = "helloworld";
+			number_of_icons = 3; // each icon must be a bitmap/mask pair
+			icon_file = "z:\\resource\\apps\\helloworld.mbm";
+			}
+		};							
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldVar2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        helloworld.exe
+TARGETTYPE    var2
+UID           0x100039CE 0xE800005A
+VENDORID 	  0x70000001
+SOURCEPATH    .
+SOURCE        HelloWorld_Main.cpp
+SOURCE        HelloWorld_Application.cpp
+SOURCE        HelloWorld_Document.cpp
+SOURCE        HelloWorld_AppUi.cpp
+SOURCE        HelloWorld_AppView.cpp
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/techview
+OPTION GCCXML -fpermissive
+START RESOURCE	HelloWorld.rss
+HEADER
+TARGETPATH		/resource/apps
+end
+
+START RESOURCE	HelloWorld_reg.rss
+TARGETPATH		/private/10003a3f/apps
+DEPENDS		helloworld.rsg
+END
+
+START BITMAP	helloworld.mbm
+TARGETPATH		/resource/apps
+SOURCE			c8,1 icon24.BMP icon2M.BMP icon32.BMP icon3M.BMP icon48.BMP icon4M.BMP
+END
+
+LIBRARY       euser.lib apparc.lib cone.lib eikcore.lib gdi.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppUi.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* HelloWorld_CExampleAppUi.cpp
+*
+*/
+
+
+#include "HelloWorld.h"
+
+//             The second phase constructor of the application UI class.
+//             The application UI creates and owns the one and only view.
+// 
+void CExampleAppUi::ConstructL()
+    {
+	           // BaseConstructL() completes the UI framework's
+	           // construction of the App UI.
+    BaseConstructL();
+	           // Create the single application view in which to
+	           // draw the text "Hello World!", passing into it
+	           // the rectangle available to it.
+	iAppView = CExampleAppView::NewL(ClientRect());
+	}
+
+
+//             The app Ui owns the two views and is. 
+//             therefore, responsible for destroying them
+//
+CExampleAppUi::~CExampleAppUi()
+	{
+	delete iAppView;
+	}
+
+
+//             Called by the UI framework when a command has been issued.
+//             In this example, a command can originate through a 
+//             hot-key press or by selection of a menu item.
+//             The command Ids are defined in the .hrh file
+//             and are 'connected' to the hot-key and menu item in the
+//             resource file.
+//             Note that the EEikCmdExit is defined by the UI
+//             framework and is pulled in by including eikon.hrh
+//
+void CExampleAppUi::HandleCommandL(TInt aCommand)
+	{
+	switch (aCommand)
+		{
+		      // Just issue simple info messages to show that
+		      // the menu items have been selected
+	case EExampleItem0:
+		iEikonEnv->InfoMsg(R_EXAMPLE_TEXT_ITEM0);
+		break;
+
+	
+	case EExampleItem1:
+		iEikonEnv->InfoMsg(R_EXAMPLE_TEXT_ITEM1);
+		break;
+	
+	case EExampleItem2:
+		iEikonEnv->InfoMsg(R_EXAMPLE_TEXT_ITEM2);
+		break;
+               // Exit the application. The call is
+		       // implemented by the UI framework.
+
+	case EEikCmdExit: 
+		Exit();
+		break;
+		}
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_AppView.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* HelloWorld_CExampleAppView.cpp
+*
+*/
+
+
+#include "HelloWorld.h"
+
+//
+//             Constructor for the view.
+//
+CExampleAppView::CExampleAppView()
+	{
+	}
+
+
+//             Static NewL() function to start the standard two
+//             phase construction.
+//
+CExampleAppView* CExampleAppView::NewL(const TRect& aRect)
+	{
+	CExampleAppView* self = new(ELeave) CExampleAppView();
+	CleanupStack::PushL(self);
+	self->ConstructL(aRect);
+	CleanupStack::Pop();
+	return self;
+	}
+
+
+//
+//             Destructor for the view.
+//
+CExampleAppView::~CExampleAppView()
+	{
+	delete iExampleText;
+	}
+
+
+//             Second phase construction.
+//
+void CExampleAppView::ConstructL(const TRect& aRect)
+    {
+			   // Fetch the text from the resource file.
+	iExampleText = iEikonEnv->AllocReadResourceL(R_EXAMPLE_TEXT_HELLO);
+	           // Control is a window owning control
+	CreateWindowL();
+	           // Extent of the control. This is
+	           // the whole rectangle available to application.
+	           // The rectangle is passed to us from the application UI.
+	SetRect(aRect);
+			   // At this stage, the control is ready to draw so
+	           // we tell the UI framework by activating it.
+	ActivateL();
+	}
+
+
+//             Drawing the view - in this example, 
+//             consists of drawing a simple outline rectangle
+//             and then drawing the text in the middle.
+//             We use the Normal font supplied by the UI.
+//
+//             In this example, we don't use the redraw
+//             region because it's easier to redraw to
+//             the whole client area.
+//
+void CExampleAppView::Draw(const TRect& /*aRect*/) const
+	{
+               // Window graphics context
+	CWindowGc& gc = SystemGc();
+	           // Area in which we shall draw
+	TRect      drawRect = Rect();
+			   // Font used for drawing text
+	const CFont*     fontUsed;
+	
+	           // Start with a clear screen
+	gc.Clear();
+			   // Draw an outline rectangle (the default pen
+	           // and brush styles ensure this) slightly
+	           // smaller than the drawing area.
+	drawRect.Shrink(10,10);		   	
+	gc.DrawRect(drawRect);
+               // Use the title font supplied by the UI
+	fontUsed = iEikonEnv->TitleFont();
+	gc.UseFont(fontUsed);
+			   // Draw the text in the middle of the rectangle.
+	TInt   baselineOffset=(drawRect.Height() - fontUsed->HeightInPixels())/2; 
+	gc.DrawText(*iExampleText,drawRect,baselineOffset,CGraphicsContext::ECenter, 0);
+               // Finished using the font
+	gc.DiscardFont();
+	}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_Application.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* HelloWorld_CExampleApplication.cpp
+*
+*/
+
+
+#include "HelloWorld.h"
+
+const TUid KUidHelloWorld = { 0xE800005A };
+
+//             The function is called by the UI framework to ask for the
+//             application's UID. The returned value is defined by the
+//             constant KUidHelloWorlde and must match the second value
+//             defined in the project definition file.
+//
+TUid CExampleApplication::AppDllUid() const
+	{
+	return KUidHelloWorld;
+	}
+
+//             This function is called by the UI framework at
+//             application start-up. It creates an instance of the
+//             document class.
+//
+CApaDocument* CExampleApplication::CreateDocumentL()
+	{
+	return new (ELeave) CExampleDocument(*this);
+	}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* HelloWorld_CExampleDocument.cpp
+*
+*/
+
+
+#include "HelloWorld.h"
+
+//             The constructor of the document class just passes the
+//             supplied reference to the constructor initialisation list.
+//             The document has no real work to do in this application.
+//
+CExampleDocument::CExampleDocument(CEikApplication& aApp)
+		: CEikDocument(aApp)
+	{
+	}
+
+
+//             This is called by the UI framework as soon as the 
+//             document has been created. It creates an instance
+//             of the ApplicationUI. The Application UI class is
+//             an instance of a CEikAppUi derived class.
+//
+CEikAppUi* CExampleDocument::CreateAppUiL()
+	{
+    return new(ELeave) CExampleAppUi;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_Main.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#include "HelloWorld.h"
+
+//             The entry point for the application code. It creates
+//             an instance of the CApaApplication derived
+//             class, CExampleApplication.
+//
+
+#if defined(EKA2)
+
+#include <eikstart.h>
+LOCAL_C CApaApplication* NewApplication()
+	{
+	return new CExampleApplication;
+	}
+	
+GLDEF_C TInt E32Main()
+	{
+	return EikStart::RunApplication(NewApplication);
+	}
+	
+#endif
+
+#if defined(__WINS__) && !defined(EKA2)
+//             This function is required by all Symbian OS DLLs. In this 
+//             example, it does nothing.
+
+EXPORT_C CApaApplication* NewApplication()
+	{
+	return new CExampleApplication;
+	}
+
+GLDEF_C TInt E32Dll(TDllReason)
+	{
+	return KErrNone;
+	}
+	
+EXPORT_C TInt WinsMain(TDesC* aCmdLine)
+	{
+	return EikStart::RunApplication(NewApplication, aCmdLine);
+	}
+	
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld_reg.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include <appinfo.rh>
+#include <helloworld.rsg>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0xE800005A // application UID
+
+RESOURCE APP_REGISTRATION_INFO
+	{
+	app_file = "HelloWorld";
+	localisable_resource_file = "\\resource\\apps\\HelloWorld";
+	localisable_resource_id = R_LAI;	
+	}
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldstdcpp.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        helloworld.exe
+TARGETTYPE    exe
+UID           0x100039CE 0xE800005A
+VENDORID 	  0x70000001
+SOURCEPATH    .
+SOURCE        HelloWorld_Main.cpp
+SOURCE        HelloWorld_Application.cpp
+SOURCE        HelloWorld_Document.cpp
+SOURCE        HelloWorld_AppUi.cpp
+SOURCE        HelloWorld_AppView.cpp
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/techview
+OPTION GCCXML -fpermissive
+START RESOURCE	HelloWorld.rss
+HEADER
+TARGETPATH		/resource/apps
+end
+
+START RESOURCE	HelloWorld_reg.rss
+TARGETPATH		/private/10003a3f/apps
+DEPENDS		helloworld.rsg
+END
+
+START BITMAP	helloworld.mbm
+TARGETPATH		/resource/apps
+SOURCE			c8,1 icon24.BMP icon2M.BMP icon32.BMP icon3M.BMP icon48.BMP icon4M.BMP
+END
+
+LIBRARY       euser.lib apparc.lib cone.lib eikcore.lib gdi.lib
+STDCPP
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon24.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon2M.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon32.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon3M.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon48.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/icon4M.BMP has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW ARMV5 ARMV5SMP
+
+PRJ_MMPFILES
+simple_implib.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/bwins/implib_implicit_def.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+EXPORTS
+; NEW:
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 1 NONAME ; public: static class CMessenger * __cdecl CMessenger::NewLC(class CConsoleBase &,class TDesC16 const &)
+	?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; public: void __thiscall CMessenger::ShowMessage(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/eabi/implib_implicit_def.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,6 @@
+EXPORTS
+	_ZN10CMessenger11ShowMessageEv @ 1 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+	_ZTI10CMessenger @ 3 NONAME ; #<TI>#
+	_ZTV10CMessenger @ 4 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW ARMV5 ARMV5SMP
+
+PRJ_MMPFILES
+implib_no_def.mmp
+implib_implicit_def.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/group/implib_implicit_def.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        implib_implicit_def.lib
+TARGETTYPE    implib
+  
+NOSTRICTDEF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/group/implib_no_def.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        implib_no_def.lib
+TARGETTYPE    implib
+
+NOSTRICTDEF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/simple_implib.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        simple_implib.lib
+TARGETTYPE    implib
+
+#ifdef WINSCW
+DEFFILE ./simple_implib_emulator.def
+#else
+DEFFILE ./simple_implib_target.def
+#endif
+    
+NOSTRICTDEF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/simple_implib_emulator.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+EXPORTS
+; NEW:
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 1 NONAME ; public: static class CMessenger * __cdecl CMessenger::NewLC(class CConsoleBase &,class TDesC16 const &)
+	?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; public: void __thiscall CMessenger::ShowMessage(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/simple_implib_target.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,6 @@
+EXPORTS
+	_ZN10CMessenger11ShowMessageEv @ 1 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+	_ZTI10CMessenger @ 3 NONAME ; #<TI>#
+	_ZTV10CMessenger @ 4 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_kdll/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+
+    ARMV5 ARMV7
+
+PRJ_MMPFILES
+
+    kdll.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_kdll/kdll.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This program creates a dll.
+*
+*/
+
+
+void foo()
+	{
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_kdll/kdll.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET          test_kdll.dll
+TARGETTYPE      KDLL
+
+UID             0xE800004C
+CAPABILITY      All
+
+VENDORID        0x70000001
+
+SOURCE          kdll.cpp
+
+SYSTEMINCLUDE   /epoc32/include
+
+STATICLIBRARY   ekll.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW
+
+PRJ_MMPFILES
+simple.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/simple.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			etest.lib
+TARGETTYPE		LIB
+UID			0x100039ce 0x00000001
+SECUREID		0x10003a5
+SYSTEMINCLUDE		/epoc32/include
+SOURCE			test_lib.cpp
+
+// list of long names to provoke shell stackdump defect
+
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_1.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_10.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_11.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_12.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_13.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_14.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_15.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_16.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_17.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_18.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_19.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_2.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_20.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_21.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_22.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_23.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_24.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_25.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_26.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_27.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_28.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_29.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_3.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_30.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_31.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_32.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_33.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_34.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_35.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_36.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_37.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_38.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_39.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_4.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_40.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_41.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_42.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_43.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_44.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_45.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_46.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_47.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_48.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_49.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_5.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_50.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_51.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_52.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_53.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_54.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_55.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_56.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_57.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_58.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_59.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_6.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_60.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_61.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_62.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_63.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_64.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_65.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_66.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_67.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_68.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_69.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_7.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_70.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_71.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_72.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_73.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_74.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_75.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_76.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_77.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_78.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_79.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_8.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_80.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_81.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_82.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_83.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_84.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_85.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_86.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_87.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_88.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_89.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_9.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_90.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_91.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_92.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_93.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_94.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_95.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_96.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_97.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_98.cpp
+SOURCE zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_99.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/simple_lib1.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/simple_lib2.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/test_lib.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+extern int f(void);
+
+TInt E32Main()
+{
+	return f();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/a.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+
+ARMV5
+
+PRJ_MMPFILES
+
+default.mmp
+unpaged.mmp
+paged.mmp
+
+unpagedcode_pageddata.mmp
+pagedcode_unpageddata.mmp
+pagedcode_defaultdata.mmp
+
+paged_unpaged.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/default.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET          default.dll
+TARGETTYPE      dll
+
+UID             0xE800004C
+CAPABILITY      All -TCB
+
+VENDORID        0x70000001
+
+SOURCE          a.cpp
+
+LIBRARY         euser.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET          paged.dll
+TARGETTYPE      dll
+
+UID             0xE800004C
+CAPABILITY      All -TCB
+
+VENDORID        0x70000001
+
+SOURCE          a.cpp
+
+LIBRARY         euser.lib
+
+PAGED
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged_unpaged.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* In this example "bytepaircompresstarget" should not by implied as 
+* keyword "unpaged" cancels "paged". 
+*/
+
+
+TARGET          paged_unpaged.dll
+TARGETTYPE      dll
+
+UID             0xE800004C
+CAPABILITY      All -TCB
+
+VENDORID        0x70000001
+
+SOURCE          a.cpp
+
+LIBRARY         euser.lib
+
+PAGED
+UNPAGED
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_defaultdata.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET          paged_code_default_data.dll
+TARGETTYPE      dll
+
+UID             0xE800004C
+CAPABILITY      All -TCB
+
+VENDORID        0x70000001
+
+SOURCE          a.cpp
+
+LIBRARY         euser.lib
+
+PAGEDCODE
+//PAGEDDATA
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_unpageddata.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET          paged_code_unpaged_data.dll
+TARGETTYPE      dll
+
+UID             0xE800004C
+CAPABILITY      All -TCB
+
+VENDORID        0x70000001
+
+SOURCE          a.cpp
+
+LIBRARY         euser.lib
+
+PAGEDCODE
+UNPAGEDDATA
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpaged.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET          unpaged.dll
+TARGETTYPE      dll
+
+UID             0xE800004C
+CAPABILITY      All -TCB
+
+VENDORID        0x70000001
+
+SOURCE          a.cpp
+
+LIBRARY         euser.lib
+
+UNPAGED
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpagedcode_pageddata.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET          unpaged_code_paged_data.dll
+TARGETTYPE      dll
+
+UID             0xE800004C
+CAPABILITY      All -TCB
+
+VENDORID        0x70000001
+
+SOURCE          a.cpp
+
+LIBRARY         euser.lib
+
+UNPAGEDCODE
+PAGEDDATA
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_MMPFILES
+plugin.mmp
+plugin_with_deffile.mmp
+plugin3.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Example data recognizer plugin
+*
+*/
+
+
+
+#include <eikenv.h>
+#include <implementationproxy.h>
+
+// User include
+#include "plugin.h"
+
+const TInt KNumDataTypes = 1;
+const TUid KExampleDllUid = {0xE8000002};
+const TInt KImplementationUid = 0x101F7DA1;
+
+// An example mime type
+_LIT8(KExampleTextMimeType, "text/example");
+
+/*
+Constructor - sets the number of supported mime types,
+the recognizer's priority and its UID.
+*/
+CExampleNewRecognizer::CExampleNewRecognizer():CApaDataRecognizerType(KExampleDllUid, CApaDataRecognizerType::EHigh)
+	{
+    iCountDataTypes = KNumDataTypes;
+	}
+
+/*
+Specifies this recognizer's preferred data buffer size passed to DoRecognizeL().
+The actual value used will be the maximum of all recognizers.
+*/
+TUint CExampleNewRecognizer::PreferredBufSize()
+	{
+    return 24;
+	}
+
+
+/*
+Returns the indexed data type that the recognizer can recognize.
+In this case, only 1 is supported.
+*/
+TDataType CExampleNewRecognizer::SupportedDataTypeL(TInt /*aIndex*/) const
+	{
+	return TDataType(KExampleTextMimeType);
+	}
+
+/*
+Attempts to recognize the data type, given the filename and data buffer.
+*/
+void CExampleNewRecognizer::DoRecognizeL(const TDesC& aName, const TDesC8& aBuffer)
+	{
+	_LIT8(KExampleData, "example");
+	_LIT(KDotExample, ".Example");
+
+	TParse parse;
+	parse.Set(aName,NULL,NULL);
+	TPtrC ext=parse.Ext(); // extract the extension from the filename
+
+	if (ext.CompareF(KDotExample)==0 && aBuffer.FindF(KExampleData)!=KErrNotFound)
+		{
+		iConfidence=ECertain;
+		iDataType=TDataType(KExampleTextMimeType);
+		}
+    }
+
+/*
+The ECom implementation creation function.
+*/
+CApaDataRecognizerType* CExampleNewRecognizer::CreateRecognizerL()
+	{
+	return new (ELeave) CExampleNewRecognizer;
+	}
+
+/*
+Standard ECom framework code
+*/
+const TImplementationProxy ImplementationTable[] =
+    {
+	IMPLEMENTATION_PROXY_ENTRY(KImplementationUid,CExampleNewRecognizer::CreateRecognizerL)
+	};
+
+/*
+Standard ECom framework code
+*/
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    return ImplementationTable;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Example data recognizer plugin
+*
+*/
+
+
+
+#if !defined(__EXAMPLERECOGNIZER_H__)
+#define __EXAMPLERECOGNIZER_H__
+
+#if !defined(__APMREC_H__)
+#include <apmrec.h>
+#endif
+
+/*
+CExampleNewRecognizer is a concrete data recognizer.
+It implements CApaDataRecognizerType, the abstract base
+class for recognizers.
+*/
+class CExampleNewRecognizer: public CApaDataRecognizerType
+	{
+public:
+    CExampleNewRecognizer();
+    TUint PreferredBufSize();
+	TDataType SupportedDataTypeL(TInt) const;
+    static CApaDataRecognizerType* CreateRecognizerL();
+private:
+    void DoRecognizeL(const TDesC&, const TDesC8&);
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Example data recognizer plugin
+*
+*/
+
+
+
+TARGET			plugin.dll
+TARGETTYPE		plugin
+CAPABILITY		Protserv
+UID				0x10009d8d 0xE8000002
+VENDORID		0x70000001
+SOURCEPATH		.
+SOURCE			plugin.cpp
+SYSTEMINCLUDE 	/epoc32/include
+SYSTEMINCLUDE 	/epoc32/include/ecom
+SYSTEMINCLUDE	/epoc32/include/techview
+LIBRARY			euser.lib apmime.lib efsrv.lib
+
+START RESOURCE	plugin.rss
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Dummy ECOM resource file
+*
+*/
+
+NAME PLUG
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_example_text_plug { buf="plug"; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Example ECOM plugin3 component, with no UID listed
+*
+*/
+
+
+
+TARGET			plugin3.dll
+TARGETTYPE		plugin3
+CAPABILITY		Protserv
+VENDORID		0x70000001
+SOURCEPATH		.
+SOURCE			plugin.cpp
+SYSTEMINCLUDE	/epoc32/include
+SYSTEMINCLUDE	/epoc32/include/ecom
+SYSTEMINCLUDE	/epoc32/include/techview
+LIBRARY			euser.lib apmime.lib efsrv.lib
+
+START RESOURCE	plugin3.rss
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Dummy ECOM resource file
+*
+*/
+
+NAME PLG3
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_example_text_plug3 { buf="plug3"; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin_with_deffile.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Example data recognizer plugin with explicit DEFFILE
+*
+*/
+
+
+
+TARGET			plugin2.dll
+TARGETTYPE		plugin
+CAPABILITY		Protserv
+UID				0x10009d8d 0xE8000002
+VENDORID		0x70000001
+SOURCEPATH		.
+SOURCE			plugin.cpp
+SYSTEMINCLUDE 	/epoc32/include
+SYSTEMINCLUDE 	/epoc32/include/ecom 
+LIBRARY			euser.lib apmime.lib efsrv.lib
+DEFFILE			~/plugin2.def	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/CommonFramework.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#ifndef __CommonFramework_H
+#define __CommonFramework_H
+
+#include <e32base.h>
+#include <e32cons.h>
+
+_LIT(KTxtEPOC32EX,"EXAMPLES");
+_LIT(KTxtExampleCode,"Symbian OS Example Code");
+_LIT(KFormatFailed,"failed: leave code=%d");
+_LIT(KTxtOK,"ok");
+_LIT(KTxtPressAnyKey," [press any key]");
+
+// public
+LOCAL_D CConsoleBase* console; // write all your messages to this
+LOCAL_C void doExampleL(); // code this function for the real example
+
+// private
+LOCAL_C void callExampleL(); // initialize with cleanup stack, then do example
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error,callExampleL()); // more initialization, then do example
+	__ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0; // and return
+    }
+
+LOCAL_C void callExampleL() // initialize and call example code under cleanup stack
+    {
+	console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));
+	CleanupStack::PushL(console);
+	TRAPD(error,doExampleL()); // perform example function
+	if (error)
+		console->Printf(KFormatFailed, error);
+	else
+		console->Printf(KTxtOK);
+	console->Printf(KTxtPressAnyKey);
+	console->Getch(); // get and ignore character
+	CleanupStack::PopAndDestroy(); // close console
+    }
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW
+
+PRJ_MMPFILES
+simple_stringtable.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/simple_stringtable.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* test.cpp
+* Test the use of a string pool
+*
+*/
+
+
+#include "CommonFramework.h"
+#include <strconsts.h>
+
+
+// do the example
+LOCAL_C void doExampleL()
+{
+        RStringPool pool;
+	RString helloString;
+	TBuf<100> wideHello;
+
+
+        pool.OpenL(strconsts::Table);
+	helloString = pool.String(strconsts::EHelloWorld,strconsts::Table);
+	wideHello.Copy(helloString.DesC());
+	console->Printf(wideHello);
+        pool.Close();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/simple_stringtable.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET        stringtabletest
+TARGETTYPE    exe
+//UID           0x1000008d 0x101F5D46
+
+SOURCE       simple_stringtable.cpp
+
+SOURCEPATH    strings
+
+START STRINGTABLE strconsts.st
+	  EXPORTPATH /epoc32/include
+END
+
+SYSTEMINCLUDE \epoc32\include
+
+LIBRARY       euser.lib
+LIBRARY       bafl.lib
+LIBRARY       estor.lib
+LIBRARY       charconv.lib
+
+VENDORID 0x101FB657
+
+CAPABILITY All -Tcb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_stringtable/strings/strconsts.st	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,14 @@
+# Test String table
+fstringtable strconsts
+# Strings are case-sensitive
+#
+#
+!// test
+EEmpty
+Exx xx
+Eyy 3.0
+Ezz Thing/3.0
+Eaa Astring
+!// test
+EPlace PLACE
+EHelloWorld Hello World
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_test/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7
+
+PRJ_TESTMMPFILES
+../simple_test/simple_test_auto.mmp
+../simple_test/simple_test_manual.mmp manual
+
+PRJ_TESTEXPORTS
+testexportheader.h /epoc32/include/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_test/simple_test_auto.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			simple_test_auto
+TARGETTYPE		EXE
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_test/simple_test_manual.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			simple_test_manual
+TARGETTYPE		EXE
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_test/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_test/testexportheader.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// Test Export header, does nothing
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_zip_export/archive.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_zip_export/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_EXPORTS
+:zip archive.zip	/epoc32/testunzip/ overwrite
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/smp/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5SMP
+
+PRJ_MMPFILES
+#ifdef SMP
+smp.mmp
+#else
+error_smp_not_defined.mmp
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/smp/smp.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			test
+TARGETTYPE		EXE
+
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/smp/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="SMP test";
+
+#ifdef __SMP__
+
+TInt E32Main()
+{
+	return 0;
+}
+
+#else
+
+This will not compile if __SMP__ is undefined
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/build_gen_source/HelloWorld.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+enum TExampleMenuCommands
+	{
+	EExampleItem0 = 200,
+	EExampleItem1,
+	EExampleItem2
+	};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/build_gen_source/HelloWorld.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+NAME HEWO
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+#include "HelloWorld.hrh"
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf=""; }
+
+RESOURCE EIK_APP_INFO
+	{
+	hotkeys=r_example_hotkeys;
+	menubar=r_example_menubar;
+	}
+
+RESOURCE HOTKEYS r_example_hotkeys
+    {
+    control=
+        {
+        HOTKEY { command=EEikCmdExit; key='e'; }
+        };
+    }
+
+RESOURCE MENU_BAR r_example_menubar
+    {
+    titles=
+        {
+        MENU_TITLE { menu_pane=r_example_first_menu; txt="HelloWld"; }
+		};
+    }
+
+RESOURCE MENU_PANE r_example_first_menu
+	{
+	items=
+		{
+		MENU_ITEM { command=EExampleItem0; txt="Item 0"; },
+		MENU_ITEM { command=EExampleItem1; txt="Item 1"; },
+		MENU_ITEM { command=EExampleItem2; txt="Item 2"; },
+		MENU_ITEM { command=EEikCmdExit; txt="Close"; }
+        };
+    }
+
+
+RESOURCE TBUF r_example_text_Hello { buf="Hello World!"; }
+RESOURCE TBUF r_example_text_Item0 { buf="Item 0"; }
+RESOURCE TBUF r_example_text_Item1 { buf="Item 1"; }
+RESOURCE TBUF r_example_text_Item2 { buf="Item 2"; }
+
+RESOURCE LOCALISABLE_APP_INFO r_lai
+	{
+	short_caption = "HW";
+	caption_and_icon =
+		{
+		CAPTION_AND_ICON_INFO
+			{
+			caption = "helloworld";
+			number_of_icons = 3; // each icon must be a bitmap/mask pair
+			icon_file = "z:\\resource\\apps\\helloworld.mbm";
+			}
+		};							
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/build_gen_source/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "exported.inf"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/build_gen_source/build_gen_source.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "exported.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/Bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_MMPFILES
+
+HelloWorld.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef __HELLOWORLD_H
+#define __HELLOWORLD_H
+
+#include <coeccntx.h>
+
+#include <eikenv.h>
+#include <eikappui.h>
+#include <eikapp.h>
+#include <eikdoc.h>
+#include <eikmenup.h>
+
+#include <eikon.hrh>
+
+#include <helloworld.rsg>
+#include "HelloWorld.hrh"
+
+
+
+////////////////////////////////////////////////////////////////////////
+//
+// CExampleApplication
+//
+////////////////////////////////////////////////////////////////////////
+
+class CExampleApplication : public CEikApplication
+	{
+private: 
+	           // Inherited from class CApaApplication
+	CApaDocument* CreateDocumentL();
+	TUid AppDllUid() const;
+	};
+
+////////////////////////////////////////////////////////////////////////
+//
+// CExampleAppView
+//
+////////////////////////////////////////////////////////////////////////
+class CExampleAppView : public CCoeControl
+    {
+public:
+	static CExampleAppView* NewL(const TRect& aRect);
+	CExampleAppView();
+	~CExampleAppView();
+    void ConstructL(const TRect& aRect);
+
+private:
+	           // Inherited from CCoeControl
+	void Draw(const TRect& /*aRect*/) const;
+
+private:
+	HBufC*  iExampleText;
+    };
+
+
+////////////////////////////////////////////////////////////////////////
+//
+// CExampleAppUi
+//
+////////////////////////////////////////////////////////////////////////
+class CExampleAppUi : public CEikAppUi
+    {
+public:
+    void ConstructL();
+	~CExampleAppUi();
+
+private:
+              // Inherirted from class CEikAppUi
+	void HandleCommandL(TInt aCommand);
+
+private:
+	CCoeControl* iAppView;
+	};
+
+
+////////////////////////////////////////////////////////////////////////
+//
+// CExampleDocument
+//
+////////////////////////////////////////////////////////////////////////
+class CExampleDocument : public CEikDocument
+	{
+public:
+	static CExampleDocument* NewL(CEikApplication& aApp);
+	CExampleDocument(CEikApplication& aApp);
+	void ConstructL();
+private: 
+	           // Inherited from CEikDocument
+	CEikAppUi* CreateAppUiL();
+	};
+
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+enum TExampleMenuCommands
+	{
+	EExampleItem0 = 200,
+	EExampleItem1,
+	EExampleItem2
+	};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        helloworld.exe
+TARGETTYPE    exe
+UID           0x100039CE 0xE800005A
+VENDORID 	  0x70000001
+SOURCEPATH    .
+SOURCE        HelloWorld_Main.cpp
+SOURCE        HelloWorld_Application.cpp
+SOURCE        HelloWorld_Document.cpp
+SOURCE        HelloWorld_AppUi.cpp
+SOURCE        HelloWorld_AppView.cpp
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/techview
+
+
+START RESOURCE	HelloWorld_reg.rss
+TARGETPATH		/private/10003a3f/apps
+END
+
+START BITMAP	helloworld.mbm
+TARGETPATH		/resource/apps
+SOURCE			c8,1 icon24.BMP icon2M.BMP icon32.BMP icon3M.BMP icon48.BMP icon4M.BMP
+END
+
+LIBRARY       euser.lib apparc.lib cone.lib eikcore.lib gdi.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_AppUi.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* HelloWorld_CExampleAppUi.cpp
+*
+*/
+
+
+#include "HelloWorld.h"
+
+//             The second phase constructor of the application UI class.
+//             The application UI creates and owns the one and only view.
+// 
+void CExampleAppUi::ConstructL()
+    {
+	           // BaseConstructL() completes the UI framework's
+	           // construction of the App UI.
+    BaseConstructL();
+	           // Create the single application view in which to
+	           // draw the text "Hello World!", passing into it
+	           // the rectangle available to it.
+	iAppView = CExampleAppView::NewL(ClientRect());
+	}
+
+
+//             The app Ui owns the two views and is. 
+//             therefore, responsible for destroying them
+//
+CExampleAppUi::~CExampleAppUi()
+	{
+	delete iAppView;
+	}
+
+
+//             Called by the UI framework when a command has been issued.
+//             In this example, a command can originate through a 
+//             hot-key press or by selection of a menu item.
+//             The command Ids are defined in the .hrh file
+//             and are 'connected' to the hot-key and menu item in the
+//             resource file.
+//             Note that the EEikCmdExit is defined by the UI
+//             framework and is pulled in by including eikon.hrh
+//
+void CExampleAppUi::HandleCommandL(TInt aCommand)
+	{
+	switch (aCommand)
+		{
+		      // Just issue simple info messages to show that
+		      // the menu items have been selected
+	case EExampleItem0:
+		iEikonEnv->InfoMsg(R_EXAMPLE_TEXT_ITEM0);
+		break;
+
+	
+	case EExampleItem1:
+		iEikonEnv->InfoMsg(R_EXAMPLE_TEXT_ITEM1);
+		break;
+	
+	case EExampleItem2:
+		iEikonEnv->InfoMsg(R_EXAMPLE_TEXT_ITEM2);
+		break;
+               // Exit the application. The call is
+		       // implemented by the UI framework.
+
+	case EEikCmdExit: 
+		Exit();
+		break;
+		}
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_AppView.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* HelloWorld_CExampleAppView.cpp
+*
+*/
+
+
+#include "HelloWorld.h"
+
+//
+//             Constructor for the view.
+//
+CExampleAppView::CExampleAppView()
+	{
+	}
+
+
+//             Static NewL() function to start the standard two
+//             phase construction.
+//
+CExampleAppView* CExampleAppView::NewL(const TRect& aRect)
+	{
+	CExampleAppView* self = new(ELeave) CExampleAppView();
+	CleanupStack::PushL(self);
+	self->ConstructL(aRect);
+	CleanupStack::Pop();
+	return self;
+	}
+
+
+//
+//             Destructor for the view.
+//
+CExampleAppView::~CExampleAppView()
+	{
+	delete iExampleText;
+	}
+
+
+//             Second phase construction.
+//
+void CExampleAppView::ConstructL(const TRect& aRect)
+    {
+			   // Fetch the text from the resource file.
+	iExampleText = iEikonEnv->AllocReadResourceL(R_EXAMPLE_TEXT_HELLO);
+	           // Control is a window owning control
+	CreateWindowL();
+	           // Extent of the control. This is
+	           // the whole rectangle available to application.
+	           // The rectangle is passed to us from the application UI.
+	SetRect(aRect);
+			   // At this stage, the control is ready to draw so
+	           // we tell the UI framework by activating it.
+	ActivateL();
+	}
+
+
+//             Drawing the view - in this example, 
+//             consists of drawing a simple outline rectangle
+//             and then drawing the text in the middle.
+//             We use the Normal font supplied by the UI.
+//
+//             In this example, we don't use the redraw
+//             region because it's easier to redraw to
+//             the whole client area.
+//
+void CExampleAppView::Draw(const TRect& /*aRect*/) const
+	{
+               // Window graphics context
+	CWindowGc& gc = SystemGc();
+	           // Area in which we shall draw
+	TRect      drawRect = Rect();
+			   // Font used for drawing text
+	const CFont*     fontUsed;
+	
+	           // Start with a clear screen
+	gc.Clear();
+			   // Draw an outline rectangle (the default pen
+	           // and brush styles ensure this) slightly
+	           // smaller than the drawing area.
+	drawRect.Shrink(10,10);		   	
+	gc.DrawRect(drawRect);
+               // Use the title font supplied by the UI
+	fontUsed = iEikonEnv->TitleFont();
+	gc.UseFont(fontUsed);
+			   // Draw the text in the middle of the rectangle.
+	TInt   baselineOffset=(drawRect.Height() - fontUsed->HeightInPixels())/2; 
+	gc.DrawText(*iExampleText,drawRect,baselineOffset,CGraphicsContext::ECenter, 0);
+               // Finished using the font
+	gc.DiscardFont();
+	}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_Application.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* HelloWorld_CExampleApplication.cpp
+*
+*/
+
+
+#include "HelloWorld.h"
+
+const TUid KUidHelloWorld = { 0xE800005A };
+
+//             The function is called by the UI framework to ask for the
+//             application's UID. The returned value is defined by the
+//             constant KUidHelloWorlde and must match the second value
+//             defined in the project definition file.
+//
+TUid CExampleApplication::AppDllUid() const
+	{
+	return KUidHelloWorld;
+	}
+
+//             This function is called by the UI framework at
+//             application start-up. It creates an instance of the
+//             document class.
+//
+CApaDocument* CExampleApplication::CreateDocumentL()
+	{
+	return new (ELeave) CExampleDocument(*this);
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_Document.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* HelloWorld_CExampleDocument.cpp
+*
+*/
+
+
+#include "HelloWorld.h"
+
+//             The constructor of the document class just passes the
+//             supplied reference to the constructor initialisation list.
+//             The document has no real work to do in this application.
+//
+CExampleDocument::CExampleDocument(CEikApplication& aApp)
+		: CEikDocument(aApp)
+	{
+	}
+
+
+//             This is called by the UI framework as soon as the 
+//             document has been created. It creates an instance
+//             of the ApplicationUI. The Application UI class is
+//             an instance of a CEikAppUi derived class.
+//
+CEikAppUi* CExampleDocument::CreateAppUiL()
+	{
+    return new(ELeave) CExampleAppUi;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_Main.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#include "HelloWorld.h"
+
+//             The entry point for the application code. It creates
+//             an instance of the CApaApplication derived
+//             class, CExampleApplication.
+//
+
+#if defined(EKA2)
+
+#include <eikstart.h>
+LOCAL_C CApaApplication* NewApplication()
+	{
+	return new CExampleApplication;
+	}
+	
+GLDEF_C TInt E32Main()
+	{
+	return EikStart::RunApplication(NewApplication);
+	}
+	
+#endif
+
+#if defined(__WINS__) && !defined(EKA2)
+//             This function is required by all Symbian OS DLLs. In this 
+//             example, it does nothing.
+
+EXPORT_C CApaApplication* NewApplication()
+	{
+	return new CExampleApplication;
+	}
+
+GLDEF_C TInt E32Dll(TDllReason)
+	{
+	return KErrNone;
+	}
+	
+EXPORT_C TInt WinsMain(TDesC* aCmdLine)
+	{
+	return EikStart::RunApplication(NewApplication, aCmdLine);
+	}
+	
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld_reg.rss	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include <appinfo.rh>
+#include <helloworld.rsg>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0xE800005A // application UID
+
+RESOURCE APP_REGISTRATION_INFO
+	{
+	app_file = "HelloWorld";
+	localisable_resource_file = "\\resource\\apps\\HelloWorld";
+	localisable_resource_id = R_LAI;	
+	}
+	
Binary file sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon24.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon2M.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon32.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon3M.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon48.BMP has changed
Binary file sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/icon4M.BMP has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent_on_exports/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_MMPFILES
+dependent_on_exports.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent_on_exports/dependent_on_exports.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "metadata_export_pre1.mmh"
+#include "metadata_export_pre2.mmh"
+
+SOURCE					test.cpp
+SYSTEMINCLUDE			/epoc32/include
+LIBRARY					euser.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent_on_exports/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "e32def.h"
+
+TInt E32Main()
+	{
+	return 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,20 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_EXPORTS
+exported.inf |../build_gen_source/exported.inf
+exported.mmh |../build_gen_source/exported.mmh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/exported.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_MMPFILES
+build_gen_source.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/exported.mmh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET helloworld
+TARGETTYPE none
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/techview
+
+START RESOURCE	HelloWorld.rss
+HEADER
+TARGETPATH		/resource/apps
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export_pre1/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_EXPORTS
+metadata_export_pre1.mmh |../dependent_on_exports/metadata_export_pre1.mmh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export_pre1/metadata_export_pre1.mmh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET					dependent_on_exports.exe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export_pre2/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_EXPORTS
+metadata_export_pre2.mmh |../dependent_on_exports/metadata_export_pre2.mmh
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export_pre2/metadata_export_pre2.mmh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGETTYPE				exe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/system_definition_dud.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+<SystemDefinition name="MCL" schema="2.0.0" > 
+	<systemModel>
+
+<I have invalid contents, and nothing good will *ever* come of me!/>
+
+	</systemModel>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/system_definition_mmp_export_dependencies_test.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+<SystemDefinition name="MCL" schema="2.0.0" > 
+	<systemModel>
+	    <layer name="First Exporting Component">
+			<component name="first_exporting">
+				<unit bldFile="metadata_export_pre1" mrp="test/sysdef/metadata_export_pre1/test.mrp"/>
+			</component>
+		</layer>
+	    <layer name="Component Dependent On Exports">
+			<component name="dependent_on_exports">
+				<unit bldFile="dependent_on_exports" mrp="test/sysdef/dependent_on_exports/test.mrp"/>
+			</component>
+		</layer>
+	    <layer name="Second Exporting Component">
+			<component name="second_exporting">
+				<unit bldFile="metadata_export_pre2" mrp="test/sysdef/metadata_export_pre2/test.mrp"/>
+			</component>
+		</layer>
+	</systemModel>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/system_definition_order_layer_test.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+<SystemDefinition name="MCL" schema="2.0.0" > 
+	<systemModel>
+	    <layer name="Component with Layer Dependencies">
+			<component name="dependent">
+				<unit bldFile="test/smoke_suite/test_resources/sysdef/dependent" root="SBS_HOME" mrp="test/sysdef/dependent/test.mrp"/>
+			</component>
+		</layer>
+	    <layer name="Build Generated Source">
+			<component name="build generated source">
+				<unit bldFile="test/smoke_suite/test_resources/sysdef/build_gen_source" root="SBS_HOME" mrp="test/sysdef/build_gen_source/test.mrp"/>
+			</component>
+		</layer>
+	    <layer name="Metadata Export">
+			<component name="metadata export">
+				<unit bldFile="test/smoke_suite/test_resources/sysdef/metadata_export" root="SBS_HOME" mrp="test/sysdef/metadata_export/test.mrp"/>
+			</component>
+		</layer>
+	</systemModel>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/talon_test/README.FIRST.txt	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,4 @@
+README.FIRST.txt
+
+The file "script" in the same directory as this file contains a "talon script", i.e. a string that can be
+passed to talon's -c option, as well as some intentional blank lines.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/talon_test/script	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+
+|name=scriptfiletest;COMPONENT_META=scriptfile/group/bld.inf;PROJECT_META=scriptfile.mmp;|echo Script file output
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem/README	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,10 @@
+A very simple TEM test
+
+This is more aimed at the TEM mechanism rather than TEMs themselves.
+
+There are several bld infs:
+bld.inf      - is expected to build without errors
+bad_bld.inf  - is expected to generate duplicate TEM calls
+bad2_bld.inf - is expected to ensure that options are passing through to TEM unchanged
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem/bad2_bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_EXTENSIONS
+start EXTENSION $(SBS_HOME)/test/smoke_suite/test_resources/tem/temex
+source source1.cpp source2.cpp
+target test1
+OPTION PRINTER $(SBS_HOME)/ANOTHERVALUE
+OPTION MEMMODEL aonetwothree
+OPTION NAME /otherstuff/
+OPTION PREFIX yetanother
+end
+
+
+PRJ_EXTENSIONS
+start EXTENSION $(SBS_HOME)/test/smoke_suite/test_resources/tem/temex
+source source3.cpp source4.cpp
+target test2
+OPTION PRINTER 2$(SBS_HOME)/ANOTHERVALUE
+OPTION MEMMODEL 2aonetwothree
+OPTION NAME 2/otherstuff/
+OPTION PREFIX 2yetanother
+end
+
+
+PRJ_EXTENSIONS
+start EXTENSION $(SBS_HOME)/test/smoke_suite/test_resources/tem/temex
+source source3.cpp source4.cpp
+target test2
+OPTION PRINTER 2$(SBS_HOME)/ANOTHERVALUE
+OPTION MEMMODEL 2aonetwothree
+OPTION NAME 2/otherstuff/
+OPTION PREFIX 2yetanother
+end
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem/bad_bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+
+PRJ_EXTENSIONS
+start EXTENSION $(SBS_HOME)/test/smoke_suite/test_resources/tem/temex
+source source1.cpp source2.cpp
+target test1
+OPTION PRINTER $(SBS_HOME)/ANOTHERVALUE
+OPTION MEMMODEL aonetwothree
+OPTION NAME /otherstuff/
+OPTION PREFIX yetanother
+end
+
+
+PRJ_EXTENSIONS
+start EXTENSION $(SBS_HOME)/test/smoke_suite/test_resources/tem/temex
+source source3.cpp source4.cpp
+target test2
+OPTION PRINTER 1$(SBS_HOME)/ANOTHERVALUE
+OPTION MEMMODEL 1aonetwothree
+OPTION NAME 1/otherstuff/
+OPTION PREFIX 1yetanother
+end
+
+// A repetition - should cause the tem.mk to complain
+// Not easy to test automatically though. needs
+// cleanup and teardown TEMS to work (i.e. not done yet)
+
+
+PRJ_EXTENSIONS
+start EXTENSION $(SBS_HOME)/test/smoke_suite/test_resources/tem/temex
+source source3.cpp source4.cpp
+target test1
+OPTION PRINTER $(SBS_HOME)/ANOTHERVALUE
+OPTION MEMMODEL aonetwothree
+OPTION NAME /otherstuff/
+OPTION PREFIX yetanother
+end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+
+PRJ_EXTENSIONS
+start EXTENSION $(SBS_HOME)/test/smoke_suite/test_resources/tem/temex
+source source1.cpp source2.cpp
+target test1
+OPTION PRINTER $(SBS_HOME)/ANOTHERVALUE
+OPTION MEMMODEL aonetwothree
+OPTION NAME otherstuff
+OPTION PREFIX yetanother
+end
+
+
+PRJ_EXTENSIONS
+start EXTENSION $(SBS_HOME)/test/smoke_suite/test_resources/tem/temex
+source source3.cpp source4.cpp
+target test2
+OPTION PRINTER $(SBS_HOME)/ANOTHERVALUE
+OPTION MEMMODEL 1aonetwothree
+OPTION NAME 1otherstuff
+OPTION PREFIX 1yetanother
+end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem/bldclean.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+// Cleanup to enable duplicate detection
+PRJ_EXTENSIONS
+start EXTENSION $(SBS_HOME)/test/smoke_suite/test_resources/tem/cleantems
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem/cleantems.mk	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,83 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+# Clean up any output files from temex.mk
+# prior to it being executed.
+# no other way to do this!
+
+
+#find works properly on Samba in case insensitive mode 
+# with -iname whereas shell globbing doesn't  
+# i.e. rm TARGETNAME* doesn't work but this does
+
+#find  $(EPOCROOT)/epoc32/build/ -iname 'TEMTEST_*.out' -exec rm \{\} \; ; true
+define clean
+rm $(EPOCROOT)/epoc32/build/TEMTEST_*  $(EPOCROOT)/epoc32/build/temtest_* $(EPOCROOT)/epoc32/raptor_smoketest_tem_failed $(EPOCROOT)/epoc32/raptor_smoketest_tem_succeeded ; true
+endef
+
+DO_NOTHING: 
+	@echo "DO_NOTHING"
+
+
+MAKMAKE:
+	@echo "MAKMAKE"
+	$(clean)
+
+BLD:
+	@echo "BLD"
+	$(clean)
+
+
+SAVESPACE:
+	@echo "SAVESPACE"
+	$(clean)
+
+
+FREEZE:
+	@echo "FREEZE"
+	$(clean)
+
+
+LIB:
+	@echo "LIB"
+	$(clean)
+
+
+CLEANLIB :
+	@echo "CLEANLIB"
+	$(clean)
+
+
+RESOURCE :
+	@echo "RESOURCE"
+	$(clean)
+
+
+CLEAN :
+	@echo "CLEAN"
+	$(clean)
+
+
+RELEASABLES :
+	@echo "RELEASABLES"
+	$(clean)
+
+
+FINAL :
+	@echo "FINAL"
+	$(clean)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem/temex.mk	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,138 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+# A test-template extension makefile
+# supposed to demonstrate that different calls
+# to the same template extension makefile will
+# get different variable values.
+# i.e. it's supposed to show target specific variables 
+# working properly for template extension makefiles.
+
+# The test is by manual comparison at the moment.
+
+
+
+define print
+echo ""
+echo ""
+@echo ""
+@echo "EPOCROOT=$(EPOCROOT)"
+@echo "PLATFORM=$(PLATFORM)"
+@echo "CFG=$(CFG)"
+@echo "TO_ROOT=$(TO_ROOT)"
+@echo "TO_BLDINF=$(TO_BLDINF)"
+@echo "EPOCBLD=$(EPOCBLD)"
+@echo "EXTENSION_ROOT=$(EXTENSION_ROOT)"
+@echo "HOST_SHELL=$(HOST_SHELL)"
+@echo "/=$(/)"
+@echo ";=$(;)"
+@echo "RMDIR=$(RMDIR)"
+@echo "RM=$(RM)"
+@echo "ERASE=$(ERASE)"
+@echo "MKDIR=$(MKDIR)"
+@echo "CP=$(CP)"
+@echo "PLATFORM_PATH=$(PLATFORM_PATH)"
+@echo "CFG_PATH=$(CFG_PATH)"
+@echo "TARGET=$(TARGET)"
+@echo "SOURCE=$(SOURCE)"
+@echo "TEMTARGET=$(TEMTARGET)"
+@echo "TEMPLATE_EXTENSION_MAKEFILE=$(TEMPLATE_EXTENSION_MAKEFILE)"
+@echo ""
+@echo "Options:"
+@echo "PREFIX=$(PREFIX)"
+@echo "MEMMODEL=$(MEMMODEL)"
+@echo "NAME=$(NAME)"
+@echo ""
+@echo "TEMCALLVALUE=$(TEMCALLVALUE)"
+@echo "TEMCALL_TESTUNIQ_FILENAME=$(TEMCALL_TESTUNIQ_FILENAME)"
+endef
+
+# Test for duplicate calls (bad_bld.inf)
+BLANK:=
+SPACE:=$(BLANK) $(BLANK)
+COLON:=:
+TESTUNIQ:=TEMTEST_$(MEMMODEL)$(NAME)$(TARGET)$(CFG)$(PLATFORM)$(TEMTARGET)
+TESTUNIQ:=$(subst /,_,$(TESTUNIQ))
+TESTUNIQ:=$(subst $(SPACE),_,$(TESTUNIQ))
+TESTUNIQ:=$(subst $(COLON),_,$(TESTUNIQ))
+TEMCALL_TESTUNIQ_FILENAME:=$(EPOCROOT)/epoc32/build/$(TESTUNIQ).out
+
+$(info TEMCALL_TESTUNIQ_FILENAME=$(TEMCALL_TESTUNIQ_FILENAME))
+$(info TEMTARGET=$(TEMTARGET))
+TEMCALLVALUE:=$(shell if [ ! -e "$(TEMCALL_TESTUNIQ_FILENAME)" ]; then echo "$(TEMCALL_TESTUNIQ_FILENAME)" > "$(TEMCALL_TESTUNIQ_FILENAME)"; echo "1";else echo "0"; fi)
+
+ifneq ($(TEMCALLVALUE),1)
+$(shell touch $(EPOCROOT)/epoc32/raptor_smoketest_tem_failed)
+$(error repeated call to TEM with same values, tested with file $(TEMCALL_TESTUNIQ_FILENAME), resulting in '$(TEMCALLVALUE)' at $(shell date; cat $(TEMCALL_TESTUNIQ_FILENAME)))
+else
+$(shell touch $(EPOCROOT)/epoc32/raptor_smoketest_tem_succeeded)
+endif
+
+PARS:=$(PREFIX)$(MEMMODEL)$(NAME)
+ifneq ($(PARS),yetanotheraonetwothreeotherstuff)
+ifneq ($(PARS),1yetanother1aonetwothree1otherstuff)
+$(error Unexpected TEM call parameters for this test: $(PARS))
+endif
+endif
+
+
+
+
+DO_NOTHING : 
+	@echo "DO_NOTHING"
+	$(print)
+
+
+MAKMAKE :
+	@echo "MAKMAKE"
+	$(print)
+
+BLD :
+	@echo "BLD"
+	$(print)
+
+SAVESPACE :
+	@echo "SAVESPACE"
+	$(print)
+
+FREEZE :
+	@echo "FREEZE"
+	$(print)
+
+LIB :
+	@echo "LIB"
+	$(print)
+
+CLEANLIB :
+	@echo "CLEANLIB"
+	$(print)
+
+RESOURCE :
+	@echo "RESOURCE"
+	$(print)
+
+CLEAN :
+	@echo "CLEAN"
+	$(print)
+
+RELEASABLES :
+	@echo "RELEASABLES"
+	$(print)
+
+FINAL :
+	@echo "FINAL"
+	$(print)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_conflict/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_EXPORTS
+tem_conflicts.meta /epoc32/tools/makefile_templates/test/
+tem_conflicts.mk /epoc32/tools/makefile_templates/test/
+tem_conflicts.sh /epoc32/tools/makefile_templates/test/
+
+PRJ_EXTENSIONS
+start extension test/tem_conflicts
+end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_conflict/tem_conflicts.meta	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# 
+# Contributors:
+#
+# Description:
+# Meta information for the GNU makesis extension template
+#
+
+platform	win32
+makefile 	gnumake
+techstream	tools
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_conflict/tem_conflicts.mk	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+do_nothing:
+
+MAKMAKE : do_nothing
+
+FREEZE : do_nothing
+
+LIB : do_nothing
+	
+CLEANLIB : do_nothing
+
+RESOURCE : do_nothing
+
+FINAL: 
+	bash $(EPOCROOT)/epoc32/tools/makefile_templates/test/tem_conflicts.sh
+
+BLD : do_nothing
+
+SAVESPACE : do_nothing
+
+RELEASABLES: do_nothing
+
+CLEAN: do_nothing
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_conflict/tem_conflicts.sh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,10 @@
+i=0
+while [ $i -lt 50 ]
+do
+    echo abcdefghijklmnopqrstuvwxyz > $EPOCROOT/A
+    cp $EPOCROOT/A $EPOCROOT/B
+    rm $EPOCROOT/A
+    rm $EPOCROOT/B
+    i=$[i + 1]
+done
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// test the ordering of MMP and TEM stages
+
+PRJ_EXPORTS
+tem.mk		/epoc32/tools/makefile_templates/test/tem_stages.mk
+tem.meta	/epoc32/tools/makefile_templates/test/tem_stages.meta
+
+PRJ_MMPFILES
+test_exe.mmp
+test_lib.mmp
+
+PRJ_EXTENSIONS
+START EXTENSION test/tem_stages
+END
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/tem.meta	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/tem.mk	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,86 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+# check that the 5 stages happen in the right order relative to each other
+# and relative to the MMP LIBRARY (LIB) and TARGET (BLD) stages.
+
+
+VARIANT:=$(PLATFORM_PATH)_$(CFG_PATH)
+
+GENERATED_C:=$(EPOCROOT)/epoc32/build/generated/tem_stages_generated.cpp
+GENERATED_H:=$(EPOCROOT)/epoc32/include/tem_stages_generated.h
+GENERATED_R:=$(EPOCROOT)/epoc32/include/tem_stages_generated_$(VARIANT).rsg
+GENERATED_L:=$(EPOCROOT)/epoc32/include/tem_stages_generated_$(VARIANT).lib
+GENERATED_B:=$(EPOCROOT)/epoc32/include/tem_stages_generated_$(VARIANT).bin
+GENERATED_F:=$(EPOCROOT)/epoc32/include/tem_stages_generated_$(VARIANT).final
+
+GENERATED:=$(GENERATED_C) $(GENERATED_H) $(GENERATED_R) $(GENERATED_L) $(GENERATED_B) $(GENERATED_F)
+
+BUILT_LIB:=$(EPOCROOT)/epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/tem_stages.lib
+BUILT_EXE:=$(EPOCROOT)/epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/tem_stages.exe
+COPY_LIB:=$(EPOCROOT)/epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/tem_stages.lib2
+COPY_EXE:=$(EPOCROOT)/epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/tem_stages.exe2
+
+COPIED:=$(COPY_LIB) $(COPY_EXE)
+
+DIRS:=$(dir $(GENERATED_H)) $(dir $(GENERATED_C))
+$(DIRS):
+	mkdir -p $@
+
+# a header that is used by the EXE and LIB
+# and a source file used by the EXE and LIB
+#
+MAKMAKE: | $(DIRS)
+	echo "// dummy" > $(GENERATED_H)
+	echo "// dummy" > $(GENERATED_C)
+
+
+# check that our MAKMAKE happens before RESOURCE
+#
+RESOURCE: | $(DIRS)
+	$(CP) $(GENERATED_H) $(GENERATED_R)
+
+
+# check that our RESOURCE happens before LIB
+#
+LIB: | $(DIRS)
+	$(CP) $(GENERATED_R) $(GENERATED_L)
+
+
+# check that our LIB happens before BLD
+# check that MMP LIB happens before BLD
+#
+BLD: | $(DIRS)
+	$(CP) $(GENERATED_L) $(GENERATED_B)
+	$(CP) $(BUILT_LIB) $(COPY_LIB)
+
+
+# check that our BLD happens before FINAL
+# check that MMP BLD happens before FINAL
+#
+FINAL: | $(DIRS)
+	$(CP) $(GENERATED_B) $(GENERATED_F)
+	$(CP) $(BUILT_EXE) $(COPY_EXE)
+
+RELEASABLES:
+	@echo $(BUILT_EXE) $(COPY_EXE) $(BUILT_LIB) $(COPY_LIB)
+
+
+CLEAN:
+	$(RM) $(GENERATED) $(COPIED)
+
+CLEANLIB: ;
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/test_exe.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "e32def.h"
+#include "tem_stages_generated.h"
+
+char test[]="Simple test";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/test_exe.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			tem_stages
+TARGETTYPE		EXE
+
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test_exe.cpp
+SOURCEPATH		/epoc32/build/generated
+SOURCE			tem_stages_generated.cpp
+EPOCCALLDLLENTRYPOINTS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/test_lib.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "e32def.h"
+#include "tem_stages_generated.h"
+
+char test[]="Simple test";
+
+int f(void)
+{
+	return 999;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tem_stages/test_lib.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			tem_stages.lib
+TARGETTYPE		LIB
+UID				0x100039ce 0x00000001
+SECUREID		0x10003a5
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test_lib.cpp
+SOURCEPATH		/epoc32/build/generated
+SOURCE			tem_stages_generated.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/timeout/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// component with a recipe that deliberately times out
+
+PRJ_EXPORTS
+sleeper.flm	/epoc32/tools/makefile_templates/test/sleeper.flm
+sleeper.xml	/epoc32/tools/makefile_templates/test/sleeper.xml
+
+PRJ_EXTENSIONS
+START EXTENSION test.sleeper
+END
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/timeout/sleeper.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# sleeper.flm - cause a timeout 
+
+# change the timeout to 2 seconds
+TALON_TIMEOUT:=2000
+
+ALL:: dosomethinglong
+
+# this recipe takes longer than 2 seconds to run
+$(call raptor_recipe,sleeper,dosomethinglong,,sleep 4)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/timeout/sleeper.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+	<!-- for the timeout.py test -->
+
+	<interface name="test.sleeper" flm="sleeper.flm"/>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/toolchain_macros/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 WINSCW 
+
+PRJ_MMPFILES
+macros.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/toolchain_macros/macros.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "e32def.h"
+
+TInt E32Main()
+	{
+
+// Confirm macro presence in processing through warnings
+
+#ifdef __ARMCC__
+#warning __ARMCC__
+#endif
+
+#ifdef __ARMCC_2__
+#warning __ARMCC_2__
+#endif
+
+#ifdef __ARMCC_2_2__
+#warning __ARMCC_2_2__
+#endif
+
+#ifdef __ARMCC_3__
+#warning __ARMCC_3__
+#endif
+
+#ifdef __ARMCC_3_1__
+#warning __ARMCC_3_1__
+#endif
+
+#ifdef __ARMCC_4__
+#warning __ARMCC_4__
+#endif
+
+#ifdef __ARMCC_4_0__
+#warning __ARMCC_4_0__
+#endif
+
+#ifdef __GCCE__
+#warning __GCCE__
+#endif
+
+#ifdef __GCCE_4__
+#warning __GCCE_4__
+#endif
+
+#ifdef __GCCE_4_3__
+#warning __GCCE_4_3__
+#endif
+
+#ifdef __GCCE_4_4__
+#warning __GCCE_4_4__
+#endif
+
+	return 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/toolchain_macros/macros.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET			macros
+TARGETTYPE		EXE
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			macros.cpp
+
+// Confirm macro presence in processing through warnings
+
+#ifdef ARMCC
+#warning ARMCC
+#endif
+
+#ifdef ARMCC_2
+#warning ARMCC_2
+#endif
+
+#ifdef ARMCC_2_2
+#warning ARMCC_2_2
+#endif
+
+#ifdef ARMCC_3
+#warning ARMCC_3
+#endif
+
+#ifdef ARMCC_3_1
+#warning ARMCC_3_1
+#endif
+
+#ifdef ARMCC_4
+#warning ARMCC_4
+#endif
+
+#ifdef ARMCC_4_0
+#warning ARMCC_4_0
+#endif
+
+#ifdef GCCE
+#warning GCCE
+#endif
+
+#ifdef GCCE_4
+#warning GCCE_4
+#endif
+
+#ifdef GCCE_4_3
+#warning GCCE_4_3
+#endif
+
+#ifdef GCCE_4_4
+#warning GCCE_4_4
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/toolcheck/toolcheck.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+ <var name="toolcheck"> 
+  <env name="TOOLCHECK1" default="toolcheck1$(DOTEXE)" type="tool" versionCommand="$(TOOLCHECK1)" versionResult="Version 12\.[0-9]{2}\.[0-9]{4}" /> 
+  <env name="TOOLCHECK2" default="toolcheck2$(DOTEXE)" type="tool" versionCommand="$(TOOLCHECK2)" versionResult="toolcheck2$(DOTEXE): command not found" />
+  <env name="TOOLCHECK3" default='mwccsym2$(DOTEXE)' type='tool' versionCommand='$(TOOLCHECK3) -version' versionResult='something you would never see'/>
+  <env name='TOOLCHECK4' default='$(SBS_GNUCPP)' type='tool' versionCommand='$(GNUCPP) --version' versionResult='something you would never see'/>
+  <env name='TOOLCHECK5' default='$(SBS_PYTHON)' type='tool' versionCommand='$(PYTHON) -V' versionResult='something you would never see'/>
+  <env name='TOOLCHECK6' default='$(SBS_HOME)/test/smoke_suite/test_resources/toolcheck/toolcheck6.py' type='tool' versionCommand='$(PYTHON) $(TOOLCHECK6)' versionResult='something toolcheck6 would print out to match tool check result'/>
+ </var>  
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/toolcheck/toolcheck6.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,17 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+print "something toolcheck6 would print out to match tool check result"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+TOOLS
+
+PRJ_MMPFILES
+tool_lib1.mmp
+tool_lib2.mmp
+tool_exe.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools/tool_exe.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			tool_exe.exe
+TARGETTYPE		EXE
+SOURCEPATH		../tools2
+SOURCE			tool_exe_a.cpp
+SOURCE			tool_exe_b.cpp
+USERINCLUDE		../tools2/inc1
+USERINCLUDE		../tools2/inc2
+SYSTEMINCLUDE		../tools2/sys1
+SYSTEMINCLUDE		../tools2/sys2
+STATICLIBRARY		tool_lib1.lib
+STATICLIBRARY		tool_lib2.lib
+#include "../inc/macrotests.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools/tool_lib1.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			tool_lib1.lib
+TARGETTYPE		LIB
+SOURCEPATH		../tools2
+SOURCE			tool_lib1_a.cpp
+SOURCE			tool_lib1_b.cpp
+
+#include "../inc/macrotests.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools/tool_lib2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			tool_lib2.lib
+TARGETTYPE		LIB
+SOURCEPATH		../tools2
+SOURCE			tool_lib2_a.cpp
+SOURCE			tool_lib2_b.cpp
+
+#include "../inc/macrotests.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+TOOLS2
+
+PRJ_MMPFILES
+tool_lib1.mmp
+tool_lib2.mmp
+tool_exe.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/build_spec.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build http://symbian.com/xml/build/1_0.xsd">
+
+    <!-- test tool build specification -->
+
+    <spec name="tool">
+	    <var>
+	        <set name="T2" value="$(SBS_HOME)/test/tools2"/>
+	        <set name="USERINCLUDE" value="$(T2)/inc1 $(T2)/inc2"/>
+	        <set name="SYSTEMINCLUDE" value="$(T2)/sys1 $(T2)/sys2"/>
+		</var>
+
+		<spec name="tool_executable">
+            <interfaceRef ref="Tools.EXE"/>
+	        <var>
+	            <set name="TARGET" value="tool_exe"/>
+	            <set name="TARGETTYPE" value="EXE"/>
+	            <append name="SOURCE" value="$(T2)/tool_exe_a.cpp"/>
+	            <append name="SOURCE" value="$(T2)/tool_exe_b.cpp"/>
+	            <append name="STATICLIBRARY" value="tool_lib1"/>
+	            <append name="STATICLIBRARY" value="tool_lib2"/>
+			</var>
+		</spec>
+
+		<spec name="tool_library_1">
+            <interfaceRef ref="Tools.LIB"/>
+	        <var>
+	            <set name="TARGET" value="libtool_lib1"/>
+	            <set name="TARGETTYPE" value="LIB"/>
+	            <append name="SOURCE" value="$(T2)/tool_lib1_a.cpp"/>
+	            <append name="SOURCE" value="$(T2)/tool_lib1_b.cpp"/>
+			</var>
+		</spec>
+
+		<spec name="tool_library_2">
+            <interfaceRef ref="Tools.LIB"/>
+	        <var>
+	            <set name="TARGET" value="libtool_lib2"/>
+	            <set name="TARGETTYPE" value="LIB"/>
+	            <append name="SOURCE" value="$(T2)/tool_lib2_a.cpp"/>
+	            <append name="SOURCE" value="$(T2)/tool_lib2_b.cpp"/>
+			</var>
+		</spec>
+    </spec>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/BLD.INF	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Cross compilation of win32 tools on Linux 
+* 
+*/
+
+PRJ_PLATFORMS
+TOOLS2
+
+PRJ_MMPFILES
+PDRTRAN.MMP
+platmacros.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/PDRTRAN.MMP	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* pdrtran.exe for windows and pdrtran for linux
+*/
+
+TARGET			pdrtran
+TARGETTYPE		exe
+
+SOURCEPATH		./src
+SOURCE			LEXICAL.CPP PDRREADR.CPP PDRRECRD.CPP PDRTRAN.CPP
+SOURCE			READER.CPP RECORD.CPP STRNG.CPP
+
+SYSTEMINCLUDE		/epoc32/include 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/TEST.PD	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,594 @@
+! PCL5.PD
+! Printer driver file for HP laser printers
+
+Resources Pcl5Resources
+    Reset               "<27>E"
+    SetPageSize            "<27>&l%dA"
+!<27>&l
+! 0o - Portrait
+! 0e - top margin to zero
+! 0C - VMI to zero
+!<27>9 - clear horizontal margins
+!<27>(0N - ISO 8859-1 Latin 1 character set
+    PreAmble            "<27>&l0o0e0C<27>9<27>(0N"
+    PostAmble           "<27>E"
+    BoldOn              "<27>(s3B"
+    BoldOff             "<27>(s0B"
+    ItalicOn            "<27>(s1S"
+    ItalicOff           "<27>(s0S"
+    UnderlineOn         "<27>&d0D"
+    UnderlineOff        "<27>&d@"
+    NewPage             "<12>"
+    Portrait            "<27>&l0o0E<27>9"
+    Landscape           "<27>&l1o0E<27>9"
+    SetXPos             "<27>*p%dX"
+    SetYPos             "<27>*p%dY"
+    BitmapStart         "<27>*t300R<27>*r%df1A"  ! resolution 300 dots per inch
+    ScanLine            "<27>*b%dm%dW"			  ! compression method coded in first %d
+    BitmapEnd           "<27>*rC"
+EndResources
+
+Translates Telephone
+    5:35  ! must ensure width of 5 = width of 35
+    156:"<27>R<3><35><27>R<0>"
+EndTranslates
+
+FontInfo Courier10 
+    MaxNormalCharWidth 25
+    Ascent 33	  ! improvised values throughout
+    CodeSection 0:255
+        0:25
+    EndCodeSection
+EndFontInfo
+
+FontInfo Courier12 
+    MaxNormalCharWidth 30
+    Ascent 40
+    CodeSection 0:255
+        0:30
+    EndCodeSection
+EndFontInfo
+
+FontInfo LinePrinter9 
+    MaxNormalCharWidth 18
+    Ascent 28
+    CodeSection 0:255
+        0:18
+    EndCodeSection
+EndFontInfo
+
+FontInfo CgTimesStd
+    MaxNormalCharWidth 188
+    Ascent 167
+    CodeSection 0:255
+      0:207   1:207    2:207    3:207    4:207
+      5:104  ! telephone character must be the same as # (35)
+      6:207
+      7:69   ! non-breaking hyphen must be the same as hyphen (45)
+      8:207
+      9:61   ! tab must be the same as space (32)
+     10:207   11:150   12:150   13:104
+     14:69   ! potential hyphen must be the same as hyphen (45)
+     15:61   ! non-breaking space must be the same as space (32)
+     16:150
+     17:150   18:150   19:108   20:104   21:104   22:207   23:150   24:150
+     25:150   26:150   27:150   28:184   29:150   30:150   31:150   32:61
+     33:69    34:96    35:104   36:104   37:184   38:161   39:69    40:69
+     41:69    42:104   43:184   44:69    45:69    46:69    47:69    48:104
+     49:104   50:104   51:104   52:104   53:104   54:104   55:104   56:104
+     57:104   58:69    59:69    60:207   61:184   62:207   63:92    64:184
+!    A        B        C        D        E        F        G        H
+     65:150   66:131   67:142   68:154   69:131   70:123   71:150   72:154
+!    I        J        K        L        M        N        O        P
+     73:69    74:81    75:146   76:131   77:188   78:154   79:150   80:119
+!    Q        R        S        T        U        V        W        X
+     81:150   82:138   83:111   84:131   85:154   86:150   87:196   88:150
+!    Y        Z
+     89:150   90:134   91:69    92:69    93:69    94:104   95:104   96:104
+!    a        b        c        d        e        f        g        h
+     97:92    98:104   99:92   100:104   101:92   102:69  103:104  104:104
+!    i        j        k        l        m        n        o        p
+    105:58   106:58   107:104  108:58   109:161  110:104  111:104  112:104
+!    q        r        s        t        u        v        w        x
+    113:104  114:77   115:81   116:58   117:104  118:104  119:150  120:104
+!    y        z
+    121:104  122:92   123:92   124:104  125:92   126:104  127:207  128:142
+    129:104  130:92   131:92   132:92   133:92   134:92   135:92   136:92
+    137:92   138:92   139:58   140:58   141:58   142:150  143:150  144:131
+    145:138  146:184  147:104  148:104  149:104  150:104  151:104  152:104
+    153:150  154:154  155:104  156:104  157:154  158:182  159:104  160:92
+    161:58   162:104  163:104  164:104  165:154  166:104  167:104  168:92
+    169:104  170:184  171:184  172:184  173:69   174:85   175:85   176:207
+    177:207  178:207  179:207  180:207  181:150  182:150  183:150  184:105
+    185:207  186:207  187:207  188:207  189:105  190:104  191:207  192:207
+    193:207  194:207  195:207  196:207  197:207  198:92   199:150  200:207
+    201:207  202:207  203:207  204:207  205:207  206:207  207:104  208:104
+    209:154  210:129  211:129  212:129  213:58   214:70   215:70   216:70
+    217:207  218:207  219:207  220:207  221:104  222:70   223:207  224:152
+    225:104  226:152  227:152  228:104  229:152  230:115  231:106  232:122
+    233:154  234:154  235:154  236:104  237:150  238:105  239:104  240:72
+    241:184  242:104  243:183  244:104  245:104  246:184  247:104  248:104
+    249:104  250:1    251:73   252:73   253:73   254:104  255:104
+    EndCodeSection
+EndFontInfo
+
+FontInfo CgTimesItalic
+    MaxNormalCharWidth 170
+    Ascent 167
+    CodeSection 0:255
+      0:207
+      1:207    2:207    3:207    4:207
+      5:104  ! telephone character must be the same as # (35)
+      6:207
+      7:69   ! non-breaking hyphen must be the same as hyphen (45)
+      8:207
+      9:61   ! tab must be the same as space (32)
+     10:207   11:150   12:150   13:104
+     14:69   ! potential hyphen must be the same as hyphen (45)
+     15:61   ! non-breaking space must be the same as space (32)
+     16:150
+     17:150   18:150   19:103   20:104   21:104   22:207   23:150   24:150
+     25:150   26:150   27:150   28:184   29:150   30:150   31:150   32:61
+     33:69    34:100   35:104   36:104   37:184   38:161   39:69    40:69
+     41:69    42:104   43:184   44:69    45:69    46:69    47:69    48:104
+     49:104   50:104   51:104   52:104   53:104   54:104   55:104   56:104
+     57:104   58:69    59:69    60:207   61:184   62:207   63:104   64:184
+     65:127   66:127   67:138   68:150   69:127   70:119   71:150   72:150
+     73:69    74:92    75:138   76:115   77:170   78:138   79:150   80:127
+     81:150   82:127   83:104   84:115   85:150   86:127   87:170   88:127
+     89:115   90:115   91:69    92:69    93:69    94:104   95:104   96:104
+     97:104   98:104   99:92   100:104  101:92   102:58   103:104  104:104
+    105:58   106:58   107:92   108:58   109:150  110:104  111:104  112:104
+    113:104  114:81   115:81   116:58   117:104  118:92   119:138  120:92
+    121:92   122:81   123:92   124:104  125:92   126:104  127:207  128:138
+    129:104  130:92   131:104  132:104  133:104  134:104  135:92   136:92
+    137:92   138:92   139:58   140:58   141:58   142:127  143:127  144:127
+    145:138  146:184  147:104  148:104  149:104  150:104  151:104  152:92
+    153:150  154:150  155:104  156:104  157:151  158:183  159:104  160:104
+    161:58   162:104  163:104  164:104  165:138  166:104  167:104  168:104
+    169:104  170:184  171:184  172:184  173:69   174:96   175:96   176:207
+    177:207  178:207  179:207  180:207  181:127  182:127  183:127  184:105
+    185:207  186:207  187:207  188:207  189:105  190:105  191:207  192:207
+    193:207  194:207  195:207  196:207  197:207  198:104  199:127  200:207
+    201:207  202:207  203:207  204:207  205:207  206:207  207:104  208:104
+    209:148  210:127  211:127  212:127  213:58   214:70   215:70   216:70
+    217:207  218:207  219:207  220:207  221:104  222:70   223:207  224:152
+    225:104  226:152  227:152  228:104  229:152  230:115  231:106  232:126
+    233:150  234:150  235:150  236:92   237:115  238:105  239:104  240:72
+    241:184  242:104  243:182  244:104  245:104  246:184  247:104  248:104
+    249:104  250:2    251:73   252:73   253:73   254:104  255:104
+    EndCodeSection
+EndFontInfo
+
+FontInfo CgTimesBold
+    MaxNormalCharWidth 196
+    Ascent 167
+    CodeSection 0:255
+      0:207
+      1:207    2:207    3:207    4:207
+      5:104  ! telephone character must be the same as # (35)
+      6:207
+      7:69   ! non-breaking hyphen must be the same as hyphen (45)
+      8:207
+      9:61   ! tab must be the same as space (32)
+     10:207   11:150   12:150   13:104
+     14:69   ! potential hyphen must be the same as hyphen (45)
+     15:61   ! non-breaking space must be the same as space (32)
+     16:150
+     17:150   18:150   19:119   20:104   21:104   22:207   23:150   24:150
+     25:150   26:150   27:150   28:184   29:150   30:150   31:150   32:61
+     33:69    34:96    35:104   36:104   37:184   38:169   39:69    40:69
+     41:69    42:104   43:184   44:69    45:69    46:69    47:69    48:104
+     49:104   50:104   51:104   52:104   53:104   54:104   55:104   56:104
+     57:104   58:69    59:69    60:207   61:184   62:207   63:104   64:184
+     65:150   66:138   67:150   68:150   69:138   70:127   71:161   72:161
+     73:81    74:100   75:161   76:138   77:196   78:150   79:161   80:127
+     81:161   82:150   83:115   84:138   85:150   86:150   87:207   88:150
+     89:150   90:138   91:69    92:69    93:69    94:104   95:104   96:104
+     97:104   98:115   99:92   100:115  101:92   102:73   103:104  104:115
+    105:58   106:69   107:115  108:58   109:171  110:115  111:104  112:115
+    113:115  114:92   115:81   116:69   117:115  118:104  119:150  120:104
+    121:104  122:92   123:104  124:104  125:104  126:104  127:207  128:150
+    129:115  130:92   131:104  132:104  133:104  134:104  135:92   136:92
+    137:92   138:92   139:58   140:58   141:58   142:150  143:150  144:138
+    145:150  146:215  147:104  148:104  149:104  150:115  151:115  152:104
+    153:161  154:150  155:104  156:104  157:163  158:182  159:104  160:104
+    161:58   162:104  163:115  164:115  165:150  166:104  167:104  168:104
+    169:104  170:184  171:184  172:184  173:69   174:88   175:88   176:207
+    177:207  178:207  179:207  180:207  181:150  182:150  183:150  184:105
+    185:207  186:207  187:207  188:207  189:105  190:104  191:207  192:207
+    193:207  194:207  195:207  196:207  197:207  198:104  199:150  200:207
+    201:207  202:207  203:207  204:207  205:207  206:207  207:104  208:104
+    209:148  210:137  211:137  212:137  213:58   214:80   215:80   216:80
+    217:207  218:207  219:207  220:207  221:104  222:80   223:207  224:162
+    225:115  226:162  227:162  228:104  229:162  230:115  231:116  232:126
+    233:150  234:150  235:150  236:104  237:150  238:105  239:104  240:72
+    241:184  242:104  243:183  244:104  245:104  246:184  247:104  248:104
+    249:104  250:23   251:73   252:73   253:73   254:104  255:104
+    EndCodeSection
+EndFontInfo
+
+FontInfo CgTimesBoldItalic
+    MaxNormalCharWidth 184
+    Ascent 167
+    CodeSection 0:255
+      0:207
+      1:207    2:207    3:207    4:207
+      5:104  ! telephone character must be the same as # (35)
+      6:207
+      7:69   ! non-breaking hyphen must be the same as hyphen (45)
+      8:207
+      9:61   ! tab must be the same as space (32)
+     10:207   11:150   12:150   13:104
+     14:69   ! potential hyphen must be the same as hyphen (45)
+     15:61   ! non-breaking space must be the same as space (32)
+     16:150
+     17:150   18:150   19:131   20:104   21:104   22:207   23:150   24:150
+     25:150   26:150   27:150   28:184   29:150   30:150   31:150   32:61
+     33:81    34:108   35:104   36:104   37:184   38:161   39:69    40:69
+     41:69    42:104   43:184   44:69    45:69    46:69    47:69    48:104
+     49:104   50:104   51:104   52:104   53:104   54:104   55:104   56:104
+     57:104   58:69    59:69    60:207   61:184   62:207   63:104   64:184
+     65:138   66:138   67:138   68:150   69:138   70:127   71:150   72:161
+     73:81    74:104   75:138   76:127   77:184   78:150   79:150   80:127
+     81:146   82:138   83:115   84:127   85:150   86:138   87:184   88:138
+     89:127   90:127   91:69    92:69    93:69    94:104   95:104   96:104
+     97:104   98:104   99:92   100:104  101:92   102:73   103:104  104:115
+    105:58   106:58   107:104  108:58   109:161  110:115  111:104  112:104
+    113:104  114:81   115:81   116:58   117:115  118:92   119:138  120:104
+    121:92   122:81   123:104  124:104  125:104  126:104  127:207  128:138
+    129:115  130:92   131:104  132:104  133:104  134:104  135:92   136:92
+    137:92   138:92   139:58   140:58   141:58   142:138  143:138  144:138
+    145:146  146:192  147:104  148:104  149:104  150:115  151:115  152:92
+    153:150  154:150  155:104  156:104  157:151  158:184  159:104  160:104
+    161:58   162:104  163:115  164:115  165:150  166:104  167:104  168:104
+    169:104  170:184  171:184  172:184  173:81   174:92   175:92   176:207
+    177:207  178:207  179:207  180:207  181:138  182:138  183:138  184:105
+    185:207  186:207  187:207  188:207  189:105  190:105  191:207  192:207
+    193:207  194:207  195:207  196:207  197:207  198:104  199:138  200:207
+    201:207  202:207  203:207  204:207  205:207  206:207  207:104  208:104
+    209:148  210:137  211:137  212:137  213:58   214:80   215:80   216:80
+    217:207  218:207  219:207  220:207  221:104  222:80   223:207  224:152
+    225:104  226:152  227:152  228:104  229:152  230:115  231:106  232:126
+    233:150  234:150  235:150  236:90   237:127  238:105  239:104  240:72
+    241:184  242:104  243:183  244:104  245:104  246:184  247:104  248:104
+    249:104  250:18   251:69   252:69   253:69   254:104  255:104
+    EndCodeSection
+EndFontInfo
+
+FontInfo UniversStd
+    MaxNormalCharWidth 188
+    Ascent 167
+    CodeSection 0:255
+      0:207   1:207    2:207    3:207    4:207
+      5:131  ! telephone character must be the same as # (35)
+      6:207
+      7:69   ! non-breaking hyphen must be the same as hyphen (45)
+      8:207
+      9:69   ! tab must be the same as space (32)
+     10:207   11:150   12:150   13:104
+     14:69   ! potential hyphen must be the same as hyphen (45)
+     15:69   ! non-breaking space must be the same as space (32)
+     16:150
+     17:150   18:150   19:110   20:131   21:131   22:207   23:150   24:150
+     25:150   26:150   27:150   28:207   29:150   30:150   31:150   32:69
+     33:69    34:104   35:131   36:131   37:207   38:158   39:69    40:69
+     41:69    42:131   43:207   44:69    45:69    46:69    47:69    48:131
+     49:131   50:131   51:131   52:131   53:131   54:131   55:131   56:131
+     57:131   58:69    59:69    60:207   61:207   62:207   63:108   64:207
+     65:154   66:131   67:146   68:150   69:119   70:115   71:154   72:150
+     73:58    74:115   75:138   76:111   77:188   78:150   79:158   80:123
+     81:161   82:134   83:134   84:131   85:150   86:150   87:207   88:150
+     89:142   90:127   91:69    92:69    93:69    94:131   95:104   96:131
+     97:111   98:119   99:111  100:119  101:111  102:77   103:119  104:119
+    105:50   106:50   107:111  108:50   109:181  110:119  111:119  112:119
+    113:119  114:73   115:104  116:77   117:119  118:115  119:181  120:115
+    121:115  122:100  123:92   124:104  125:92   126:131  127:207  128:146
+    129:119  130:111  131:111  132:111  133:111  134:111  135:111  136:111
+    137:111  138:111  139:50   140:50   141:50   142:154  143:154  144:119
+    145:177  146:204  147:119  148:119  149:119  150:119  151:119  152:115
+    153:158  154:150  155:122  156:131  157:160  158:207  159:131  160:111
+    161:50   162:119  163:119  164:119  165:150  166:85   167:85   168:108
+    169:104  170:207  171:207  172:207  173:69   174:115  175:115  176:207
+    177:207  178:207  179:207  180:207  181:154  182:154  183:154  184:105
+    185:207  186:207  187:207  188:207  189:129  190:129  191:207  192:207
+    193:207  194:207  195:207  196:207  197:207  198:114  199:154  200:207
+    201:207  202:207  203:207  204:207  205:207  206:207  207:128  208:121
+    209:150  210:119  211:119  212:119  213:51   214:58   215:58   216:58
+    217:207  218:207  219:207  220:207  221:105  222:58   223:207  224:158
+    225:127  226:158  227:158  228:119  229:158  230:115  231:119  232:126
+    233:150  234:150  235:150  236:118  237:141  238:129  239:129  240:72
+    241:207  242:106  243:207  244:130  245:130  246:207  247:129  248:131
+    249:129  250:25   251:81   252:81   253:81   254:104  255:104
+    EndCodeSection
+EndFontInfo
+
+FontInfo UniversItalic
+    MaxNormalCharWidth 188
+    Ascent 167
+    CodeSection 0:255
+      0:207
+      1:207    2:207    3:207    4:207
+      5:131  ! telephone character must be the same as # (35)
+      6:207
+      7:69   ! non-breaking hyphen must be the same as hyphen (45)
+      8:207
+      9:69   ! tab must be the same as space (32)
+     10:207   11:150   12:150   13:104
+     14:69   ! potential hyphen must be the same as hyphen (45)
+     15:69   ! non-breaking space must be the same as space (32)
+     16:150
+     17:150   18:150   19:114   20:131   21:131   22:207   23:150   24:150
+     25:150   26:150   27:150   28:207   29:150   30:150   31:150   32:69
+     33:69    34:104   35:131   36:131   37:207   38:158   39:69    40:69
+     41:69    42:131   43:207   44:69    45:69    46:69    47:69    48:131
+     49:131   50:131   51:131   52:131   53:131   54:131   55:131   56:131
+     57:131   58:69    59:69    60:207   61:207   62:207   63:108   64:207
+     65:154   66:131   67:146   68:150   69:119   70:115   71:154   72:150
+     73:58    74:115   75:138   76:111   77:188   78:150   79:158   80:123
+     81:161   82:134   83:134   84:131   85:150   86:150   87:207   88:150
+     89:142   90:127   91:69    92:69    93:69    94:131   95:104   96:131
+     97:111   98:119   99:111  100:119  101:111  102:77   103:119  104:119
+    105:50   106:50   107:111  108:50   109:181  110:119  111:119  112:119
+    113:119  114:73   115:104  116:77   117:119  118:115  119:181  120:115
+    121:115  122:100  123:92   124:104  125:92   126:131  127:207  128:146
+    129:119  130:111  131:111  132:111  133:111  134:111  135:111  136:111
+    137:111  138:111  139:50   140:50   141:50   142:154  143:154  144:119
+    145:177  146:204  147:119  148:119  149:119  150:119  151:119  152:115
+    153:158  154:150  155:122  156:131  157:160  158:207  159:131  160:111
+    161:50   162:119  163:119  164:119  165:150  166:85   167:85   168:108
+    169:104  170:207  171:207  172:207  173:69   174:115  175:115  176:207
+    177:207  178:207  179:207  180:207  181:154  182:154  183:154  184:105
+    185:207  186:207  187:207  188:207  189:129  190:129  191:207  192:207
+    193:207  194:207  195:207  196:207  197:207  198:111  199:154  200:207
+    201:207  202:207  203:207  204:207  205:207  206:207  207:128  208:121
+    209:150  210:119  211:119  212:119  213:51   214:58   215:58   216:58
+    217:207  218:207  219:207  220:207  221:105  222:58   223:207  224:158
+    225:127  226:158  227:158  228:119  229:158  230:115  231:119  232:126
+    233:150  234:150  235:150  236:115  237:142  238:129  239:129  240:72
+    241:207  242:106  243:207  244:130  245:130  246:207  247:129  248:131
+    249:129  250:16   251:81   252:81   253:81   254:104  255:104
+    EndCodeSection
+EndFontInfo
+
+FontInfo UniversBold
+    MaxNormalCharWidth 188
+    Ascent 167
+    CodeSection 0:255
+      0:207
+      1:207    2:207    3:207    4:207
+      5:131  ! telephone character must be the same as # (35)
+      6:207
+      7:69   ! non-breaking hyphen must be the same as hyphen (45)
+      8:207
+      9:69   ! tab must be the same as space (32)
+     10:207   11:150   12:150   13:104
+     14:69   ! potential hyphen must be the same as hyphen (45)
+     15:69   ! non-breaking space must be the same as space (32)
+     16:150
+     17:150   18:150   19:115   20:131   21:131   22:207   23:150   24:150
+     25:150   26:150   27:150   28:207   29:150   30:150   31:150   32:69
+     33:69    34:108   35:131   36:131   37:207   38:158   39:69    40:69
+     41:69    42:131   43:207   44:69    45:69    46:69    47:69    48:131
+     49:131   50:131   51:131   52:131   53:131   54:131   55:131   56:131
+     57:131   58:69    59:69    60:207   61:207   62:207   63:108   64:207
+     65:154   66:131   67:146   68:150   69:119   70:115   71:154   72:150
+     73:58    74:115   75:138   76:111   77:188   78:150   79:158   80:123
+     81:161   82:134   83:134   84:131   85:150   86:150   87:207   88:150
+     89:142   90:127   91:69    92:69    93:69    94:131   95:104   96:131
+     97:111   98:119   99:111  100:119  101:111  102:77   103:119  104:119
+    105:50   106:50   107:111  108:50   109:181  110:119  111:119  112:119
+    113:119  114:73   115:104  116:77   117:119  118:115  119:181  120:115
+    121:115  122:100  123:104  124:104  125:104  126:131  127:207  128:146
+    129:119  130:111  131:111  132:111  133:111  134:111  135:111  136:111
+    137:111  138:111  139:50   140:50   141:50   142:154  143:154  144:119
+    145:177  146:204  147:119  148:119  149:119  150:119  151:119  152:115
+    153:158  154:150  155:122  156:131  157:160  158:207  159:131  160:111
+    161:50   162:119  163:119  164:119  165:150  166:85   167:85   168:108
+    169:104  170:207  171:207  172:207  173:69   174:115  175:115  176:207
+    177:207  178:207  179:207  180:207  181:154  182:154  183:154  184:105
+    185:207  186:207  187:207  188:207  189:129  190:129  191:207  192:207
+    193:207  194:207  195:207  196:207  197:207  198:111  199:154  200:207
+    201:207  202:207  203:207  204:207  205:207  206:207  207:128  208:121
+    209:150  210:119  211:119  212:119  213:51   214:58   215:58   216:58
+    217:207  218:207  219:207  220:207  221:105  222:58   223:207  224:158
+    225:127  226:158  227:158  228:119  229:158  230:123  231:119  232:126
+    233:150  234:150  235:150  236:115  237:142  238:129  239:129  240:72
+    241:207  242:106  243:207  244:130  245:130  246:207  247:129  248:131
+    249:129  250:33   251:81   252:81   253:81   254:104  255:104
+    EndCodeSection
+EndFontInfo
+
+FontInfo UniversBoldItalic
+    MaxNormalCharWidth 188
+    Ascent 167
+    CodeSection 0:255
+      0:207
+      1:207    2:207    3:207    4:207
+      5:131  ! telephone character must be the same as # (35)
+      6:207
+      7:69   ! non-breaking hyphen must be the same as hyphen (45)
+      8:207
+      9:69   ! tab must be the same as space (32)
+     10:207   11:150   12:150   13:104
+     14:69   ! potential hyphen must be the same as hyphen (45)
+     15:69   ! non-breaking space must be the same as space (32)
+     16:150
+     17:150   18:150   19:125   20:131   21:131   22:207   23:150   24:150
+     25:150   26:150   27:150   28:207   29:150   30:150   31:150   32:69
+     33:69    34:111   35:131   36:131   37:207   38:158   39:69    40:69
+     41:69    42:131   43:207   44:69    45:69    46:69    47:69    48:131
+     49:131   50:131   51:131   52:131   53:131   54:131   55:131   56:131
+     57:131   58:69    59:69    60:207   61:207   62:207   63:108   64:207
+     65:154   66:131   67:146   68:150   69:119   70:115   71:154   72:150
+     73:58    74:115   75:138   76:111   77:188   78:150   79:158   80:123
+     81:161   82:134   83:134   84:131   85:150   86:150   87:207   88:150
+     89:142   90:127   91:69    92:69    93:69    94:131   95:104   96:131
+     97:111   98:119   99:111  100:119  101:111  102:77   103:119  104:119
+    105:50   106:50   107:111  108:50   109:181  110:119  111:119  112:119
+    113:119  114:73   115:104  116:77   117:119  118:115  119:181  120:115
+    121:115  122:100  123:104  124:104  125:104  126:131  127:207  128:146
+    129:119  130:111  131:111  132:111  133:111  134:111  135:111  136:111
+    137:111  138:111  139:50   140:50   141:50   142:154  143:154  144:119
+    145:177  146:204  147:119  148:119  149:119  150:119  151:119  152:115
+    153:158  154:150  155:122  156:131  157:160  158:207  159:131  160:111
+    161:50   162:119  163:119  164:119  165:150  166:85   167:85   168:108
+    169:104  170:207  171:207  172:207  173:69   174:115  175:115  176:207
+    177:207  178:207  179:207  180:207  181:154  182:154  183:154  184:105
+    185:207  186:207  187:207  188:207  189:129  190:129  191:207  192:207
+    193:207  194:207  195:207  196:207  197:207  198:111  199:154  200:207
+    201:207  202:207  203:207  204:207  205:207  206:207  207:128  208:121
+    209:150  210:119  211:119  212:119  213:51   214:58   215:58   216:58
+    217:207  218:207  219:207  220:207  221:105  222:58   223:207  224:158
+    225:127  226:158  227:158  228:119  229:158  230:123  231:119  232:126
+    233:150  234:150  235:150  236:115  237:142  238:129  239:129  240:72
+    241:207  242:106  243:207  244:130  245:130  246:207  247:129  248:131
+    249:129  250:37   251:81   252:81   253:81   254:104  255:104
+    EndCodeSection
+EndFontInfo
+
+TypefaceFonts Courier
+    Name "Courier" Serif
+    Translates Telephone
+    FontHeight
+	Height     200
+	Normal     Courier10
+	Bold       Courier10
+	Italic     Courier10
+	BoldItalic Courier10
+	Command    "" !<27>(s0p12h10v3T"
+    EndFontHeight
+    FontHeight
+	Height     240
+	Normal     Courier12
+	Bold       Courier12
+	Italic     Courier12
+	BoldItalic Courier12
+	Command    "" !<27>(s0p10h12v3T"
+    EndFontHeight
+EndTypefaceFonts
+
+TypefaceFonts LinePrinter
+    Name "Lineprinter"
+    Translates Telephone
+    FontHeight
+	Height     170
+	Normal     LinePrinter9
+	Bold       LinePrinter9
+	Italic     LinePrinter9
+	BoldItalic LinePrinter9
+	Command    "<27>(s0p16.67h8.5v0T"
+    EndFontHeight
+EndTypefaceFonts
+
+TypefaceFonts CgTimes
+    Name "CG Times" Proportional Serif
+    Translates Telephone
+    ScalableFontHeight 
+	HeightMin          80    ! min font height 80 twips = 4 point
+	HeightMax          1200  ! max font height 1200 twips ( = 60 point)
+	HeightDelta        20    ! delta font height 20 twips = 1 point
+	Normal             CgTimesStd
+	Bold               CgTimesBold
+	Italic             CgTimesItalic
+	BoldItalic         CgTimesBoldItalic
+	Command            "<27>(s1p%dv4101T"
+    EndScalableFontHeight
+EndTypefaceFonts
+
+TypefaceFonts Univers
+    Name "Univers" Proportional
+    Translates Telephone
+    ScalableFontHeight 
+	HeightMin          80    ! min font height 80 twips = 4 point
+	HeightMax          1200  ! max font height 1200 twips ( = 60 point)
+	HeightDelta        20    ! delta font height 20 twips = 1 point
+	Normal             UniversStd
+	Bold               UniversBold
+	Italic             UniversItalic
+	BoldItalic         UniversBoldItalic
+	Command            "<27>(s1p%dv4148T"
+    EndScalableFontHeight
+EndTypefaceFonts
+
+!ExtraInfo ExtraInfo
+!    "abcdefghijklmnopqrstuvwxyz"
+!    "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+!EndExtraInfo
+
+Model HPLJ3
+    Name "HP LaserJet III" RequiresPrinterPort
+	Uid 1000
+    Flags 0
+    Resources Pcl5Resources
+    KPixelWidth    4800   ! Twips = 300 dots per inch
+    KPixelHeight   4800 
+	PortraitOffset  75 0  ! Pixels
+ 	LandscapeOffset 60 0  
+    MinMarginLeft   50    ! Pixels
+    MinMarginRight  50
+    MinMarginTop    50
+    MinMarginBottom 50
+    DisplayMode   Gray2
+    TypefaceFontss
+        Courier
+        LinePrinter	NotInLandscape
+        CgTimes	    NotInPortrait
+        Univers
+    EndTypefaceFontss
+EndModel
+
+Model HPDJ340
+    Name "HP DeskJet 340" RequiresPrinterPort
+	Uid 1100
+    Flags 3	   !  1 = MoveDownOnly, 2 = LanscapeBandOrientationVertical
+    Resources Pcl5Resources
+    KPixelWidth    4800   ! Twips = 300 dots per inch
+    KPixelHeight   4800 
+	PortraitOffset  75 0  ! Pixels
+ 	LandscapeOffset 60 0  
+    MinMarginLeft    50    ! Pixels
+    MinMarginRight   50
+    MinMarginTop     75
+    MinMarginBottom 200
+    DisplayMode   Gray2
+    TypefaceFontss
+	    Courier
+	    LinePrinter
+		CgTimes
+		Univers
+    EndTypefaceFontss
+EndModel
+
+Model HPDJ660C
+    Name "HP DeskJet 660C" RequiresPrinterPort
+	Uid 1200
+    Flags 3	   !  1 = MoveDownOnly, 2 = LanscapeBandOrientationVertical
+    Resources Pcl5Resources
+    KPixelWidth    4800   ! Twips = 300 dots per inch
+    KPixelHeight   4800 
+	PortraitOffset   75 0  ! Pixels
+ 	LandscapeOffset  60 0  
+    MinMarginLeft    50    ! Pixels
+    MinMarginRight   50
+    MinMarginTop     75
+    MinMarginBottom 175
+    DisplayMode   Gray2
+    TypefaceFontss
+	    Courier
+	    LinePrinter
+		CgTimes
+		Univers
+    EndTypefaceFontss
+!	SpareRecord ExtraInfo
+EndModel
+
+PdrStoreFile
+    PDLName             "test"
+    PDLUid 1
+    Models
+        HPLJ3
+		HPDJ340
+        HPDJ660C
+    EndModels
+EndPdrStoreFile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/platmacros.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET			test_platmacros
+TARGETTYPE		EXE
+SOURCEPATH		./src
+SOURCE			platmacros.cpp
+
+// TOOLS2_WINDOWS activated for cross compilation on Linux
+#ifdef TOOLS2_LINUX
+#warning TOOLS2_LINUX
+#endif
+
+#ifdef TOOLS2_WINDOWS
+#warning TOOLS2_WINDOWS
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/LEXICAL.CPP	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,311 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Header LEXICAL.CPP
+*
+*/
+
+
+#include "LEXICAL.H"
+
+Lexical::Lexical()
+ :	iType(ELexNL), iNumber(0)
+	{
+	iText[0] = '\0';
+	}
+
+Lexical::Lexical(const Lexical& aLex)
+	{
+	iType = aLex.iType;
+	iNumber = aLex.iNumber;
+	strcpy(iText, aLex.iText);
+	}
+
+Lexical& Lexical::operator = (const Lexical& aLex)
+	{
+	iType = aLex.iType;
+	iNumber = aLex.iNumber;
+	strcpy(iText, aLex.iText);
+	return *this;
+	}
+
+int Lexical::CovertStringToHex()
+	{
+	char* curPtr = iText; // Position of current lexical in line
+	int hexDigit;
+	int number = 0;
+
+	while (HexDigit(*curPtr, hexDigit))
+		{
+		number = (16 * number) + hexDigit;
+		curPtr++;
+		}
+	return number;
+	}
+
+int Lexical::HexDigit(char aDigit, int& decimalEquivalent)
+	{
+	boolean validDigit = efalse;
+	if ((aDigit >= '0') && (aDigit <= '9'))
+		{
+		decimalEquivalent = (aDigit - '0');
+		validDigit = etrue;
+		}
+	else if ((aDigit >= 'a') && (aDigit <= 'f'))
+		{
+		decimalEquivalent = 10 + (aDigit - 'a');
+		validDigit = etrue;
+		}
+	else if ((aDigit >= 'A') && (aDigit <= 'F'))
+		{
+		decimalEquivalent = 10 + (aDigit - 'A');
+		validDigit = etrue;
+		}
+	return validDigit;
+	}
+
+ostream& operator << (ostream& out, const Lexical& aLex)
+	{
+	switch (aLex.iType)
+		{
+		case ELexEOF:
+			{
+			out << "EOF";
+			break;
+			}
+		case ELexNL:
+			{
+			out << "NL";
+			break;
+			}
+		case ELexNumber:
+			{
+			out << aLex.iNumber;
+			break;
+			}
+		case ELexOperator:
+			{
+			out << aLex.iText[0];
+			break;
+			}
+		default:
+			{
+			out << aLex.iText;
+			}
+		}	 
+	return out;
+	}
+
+LexAnal::LexAnal(const char* aFilename)
+ :	iFilename(aFilename)
+	{
+	iFin.open(aFilename);
+	iLex.iType = ELexNL;
+	iLineNo = 0;
+	}
+
+Lexical LexAnal::Read() // read next lexical into iLex
+	{
+	if (iLex.iType == ELexNL)
+		{
+		do
+			{
+			GetNextLex();
+			}
+		while (iLex.iType == ELexNL);
+		}
+	else
+		GetNextLex();
+	return iLex;
+	}
+
+Lexical LexAnal::ReadNextLine() // read first lex on next line
+	{
+	GetNextLine();
+	return iLex;
+	}
+
+void LexAnal::Report()
+	{
+	cerr << iFilename.Text() << '(' << iLineNo << "): \n";
+	cerr << iLine << '\n';
+	for	(char* p = iLine; p < iLexPtr; p++)
+		cerr << ' ';
+	cerr << "^\n";
+	}
+
+LexAnal::~LexAnal()
+	{
+	iFin.close();
+	}
+
+void LexAnal::GetNextLex()
+	{
+	char ch;
+	if (iLex.iType == ELexNL)
+		{
+		iFin.getline(iLine, MaxLineLen);
+		// Remove any CR character that appear at the end when
+		// reading a dos file on unix.
+		PurgeLastCR(iLine);
+		iCurPtr = iLine;
+		iLineNo++;
+		}
+
+	while ((*iCurPtr == ' ') || (*iCurPtr == '\t'))
+		iCurPtr++;
+	ch = *iCurPtr;
+	iLexPtr = iCurPtr;
+
+	if ((ch == '\0') && (iFin.eof()))	// finds lexical type
+		iLex = ReadEOF();
+	else if ((ch == '\0') || (ch == '!'))	// ! is a comment
+		iLex = ReadNewLine();
+	else if ((ch == '-') || ((ch >= '0') && (ch <= '9')))
+		iLex = ReadNumber();
+	else if (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_'))
+		iLex = ReadIdent();
+	else if	(ch == '"')
+		iLex = ReadString();
+	else
+		iLex = ReadOperator();	
+	}
+
+void LexAnal::GetNextLine()
+	{
+	iFin.getline(iLine, MaxLineLen);
+	// Remove any CR character that appear at the end when
+	// reading a dos file on unix.
+	PurgeLastCR(iLine);
+	iCurPtr = iLine;
+	iLineNo++;
+
+	char ch;
+	while ((*iCurPtr == ' ') || (*iCurPtr == '\t'))
+		iCurPtr++;
+	ch = *iCurPtr;
+	iLexPtr = iCurPtr;
+
+	if ((ch == '\0') && (iFin.eof()))	// finds lexical type
+		iLex = ReadEOF();
+	else if ((ch == '\0') || (ch == '!'))
+		iLex = ReadNewLine();
+	else if ((ch == '-') || ((ch >= '0') && (ch <= '9')))
+		iLex=ReadNumber();
+	else if (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_'))
+		iLex = ReadIdent();
+	else if	(ch == '"')
+		iLex = ReadString();
+	else
+		iLex = ReadOperator();	
+	}
+
+void LexAnal::PurgeLastCR(char *aLine)
+	{
+	int len = strlen(aLine) - 1;
+	if (len >= 0 && aLine[len] == '\r')
+		{
+		aLine[len] = '\0';
+		}
+	}
+
+Lexical LexAnal::ReadEOF()
+	{
+	Lexical lex;
+	lex.iType = ELexEOF;
+	return lex;
+	}
+
+Lexical LexAnal::ReadNewLine()
+	{
+	Lexical lex;
+	lex.iType = ELexNL;
+	while (*iCurPtr != '\0')
+		iCurPtr++;
+	return lex;
+	}
+
+Lexical LexAnal::ReadNumber()
+	{
+	Lexical lex;
+	char ch;
+	boolean negative = efalse;
+	lex.iType = ELexNumber;
+	if (*iCurPtr == '-')
+		{
+		negative = etrue;
+		iCurPtr++;
+		}
+	ch = *iCurPtr;
+	while ((ch >= '0') && (ch <= '9'))
+		{
+		if (negative)
+			lex.iNumber = (10 * lex.iNumber) - (*iCurPtr - '0');
+		else
+			lex.iNumber=(10 * lex.iNumber) + (*iCurPtr - '0');
+		iCurPtr++;
+		ch = *iCurPtr;
+		}
+	return lex;
+	}
+
+
+Lexical LexAnal::ReadIdent()
+	{
+	Lexical lex;
+	char ch;
+	lex.iType = ELexIdent;
+	do
+		{
+		iCurPtr++;
+		ch = *iCurPtr;
+		}
+	while (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_') || ((ch >= '0') && (ch <= '9')));
+	strncpy(lex.iText, iLexPtr, iCurPtr - iLexPtr);
+	lex.iText[iCurPtr - iLexPtr] = '\0';
+	return lex;
+	}
+
+Lexical LexAnal::ReadString()
+	{
+	Lexical lex;
+	char ch;
+	lex.iType = ELexString;
+	iCurPtr++;
+	ch = *iCurPtr;
+	while ((ch != '"') && (*iCurPtr != '\0'))
+		{
+		iCurPtr++;
+		ch = *iCurPtr;
+		}
+	strncpy(lex.iText, iLexPtr + 1, iCurPtr - (iLexPtr + 1));
+	lex.iText[iCurPtr - (iLexPtr + 1)] = '\0';
+	if (ch == '"')
+		iCurPtr++;	// finds position after last double quotes 
+	else
+		{
+		cerr << "Warning: missing quotes\n";
+		Report();
+		}
+	return lex;
+	}
+
+Lexical LexAnal::ReadOperator()
+	{
+	Lexical lex;
+	lex.iType = ELexOperator;
+	lex.iText[0] = *iCurPtr;
+	iCurPtr++;
+	return lex;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRREADR.CPP	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,1009 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Header PDRREADR.CPP
+*
+*/
+
+
+#include "PDRREADR.H"
+
+const int NumResources=34;
+
+String IdentResource[NumResources] =
+	{
+	"Reset",
+	"SetPageSize",
+	"PreAmble",
+	"PostAmble",
+	"SetTextColor",	//  !!
+	"BoldOn",
+	"BoldOff",
+	"ItalicOn",
+	"ItalicOff",
+	"UnderlineOn",
+	"UnderlineOff",
+	"StrikethroughOn",
+	"StrikethroughOff",
+	"NewPage",
+	"Portrait",
+	"Landscape",
+	"SetXPos",
+	"SetYPos",
+	"IncrementXPos",
+	"IncrementYPos",
+	"CarriageReturn",
+	"SetGraphicsColor",	//  !!
+	"BitmapStart",
+	"BitmapEnd",
+	"ScanLine",
+	"EndScanLine",	//  !!
+	"Resource1",
+	"Resource2",
+	"Resource3",
+	"Resource4",
+	"Resource5",
+	"Resource6",
+	"Resource7",
+	"Resource8"
+	};
+
+const int NumDisplayModeValues = 11;
+
+String IdentDisplayModeValue[NumDisplayModeValues] =
+	{
+	"None",
+	"Gray2",
+	"Gray4",
+	"Gray16",
+	"Gray256",
+	"Color16",
+	"Color256",
+	"Color64K",
+	"Color16M",
+	"Rgb",
+	"Color4K"
+	};
+
+EXPORT_C PdrReader::PdrReader()
+ :	Reader(),
+	iPdrModelStore(),
+	iPdrStoreFile(NULL),
+	iResources(NULL),
+	iTranslates(NULL),
+	iCodeSection(NULL),
+	iFontInfo(NULL),
+	iIndex(Normal),
+	iFontHeight(NULL),
+	iTypefaceFonts(NULL),
+	iModel(NULL)
+	{
+	}
+
+EXPORT_C boolean PdrReader::Read(const String& aFilename)
+	{
+	boolean state = Open(aFilename);
+
+	while (!_EOF() && state)
+		{
+		if (IdentComp(IdentResources))
+			state = ReadResources();
+		else if (IdentComp(IdentTranslates))
+			state = ReadTranslates();
+		else if (IdentComp(IdentFontInfo))
+			state = ReadFontInfo();
+		else if (IdentComp(IdentTypefaceFonts))
+			state = ReadTypefaceFonts();
+//		else if (IdentComp(IdentExtraInfo))
+//			state = ReadExtraInfo();
+		else if (IdentComp(IdentModel))
+			state = ReadModel();
+		else if (IdentComp(IdentPdrStoreFile))
+			state = ReadPdrStoreFile();
+		else
+			{
+			Error("Resource identifier expected");
+			state = efalse;
+			}
+		if (state)
+			state = NewLine();
+		}
+	return state;
+	}
+
+EXPORT_C PdrReader::~PdrReader()
+	{
+	}
+
+boolean PdrReader::ReadResources()
+	{
+	boolean state = etrue;
+	iResources = PdrResources::New();
+	state = IdentCopy(iResources->iLabel);
+	if (state)
+		state = NewLine();
+	while (!IdentComp(IdentEndResources) && !_EOF() && state)
+		{
+   	    int i; // DEF102183: Graphics tools fail to build using MS VC8.
+		for (i = 0; (i < NumResources) && !IdentComp(IdentResource[i]); i++)
+			{	//	Tries to match resources identifier
+			}
+		if (i < NumResources)
+			{
+			PdrResource *resource = PdrResource::New();
+			state = Command(resource->iString);
+			resource->iId = i;
+			if (state)
+				{
+				iResources->AddResource(resource);
+				state = NewLine();
+				}
+			else
+				resource->Delete();
+			}
+		else
+			{
+			state = efalse;
+			Error("Resources identifier expected");
+			}
+		}
+	if (state)
+		{
+		iPdrModelStore.AddResources(iResources);
+		cout << "Resources read\n";
+		}
+	else 
+		iResources->Delete();
+	return state;
+	}
+
+boolean PdrReader::ReadTranslates()
+	{
+	int num;
+	boolean state = etrue;
+	iTranslates = PdrTranslates::New();
+	state = IdentCopy(iTranslates->iLabel);
+	if (state)
+		state = NewLine();
+	while (!IdentComp(IdentEndTranslates) && !_EOF() && state)
+		{
+		if (iLex->iType == ELexNumber)
+			{
+			PdrTranslation *translation = PdrTranslation::New();
+			Number(num);
+			translation->iFrom = uint16(num);
+			char ch;
+			state = Operator(ch);
+			if (state)
+				{
+				state = (ch == ':');
+				if (state)
+					{
+					if (iLex->iType == ELexNumber)
+						{
+						state = Number(num);
+						translation->iTo += char(num);
+						}
+					else 
+						{
+						state = Command(translation->iTo);
+						}
+					if (state)
+						state = NewLine();
+					}
+				else
+					{
+					Error("Operator ':' expected");
+					}
+				}
+			if (state)
+				iTranslates->AddTranslation(translation);
+			else
+				translation->Delete();
+			}
+		}
+	if (state)
+		{
+		iPdrModelStore.AddTranslates(iTranslates);
+		cout << "Translates read\n";
+		}
+	else 
+		iTranslates->Delete();
+	return state;
+	}
+
+boolean PdrReader::ReadCodeSection(int aCode)
+	{
+	boolean state = etrue;
+	int code;
+	int num;
+	iCodeSection = WidthsCodeSection::New();
+	char ch = 0;
+	state = Number(num);
+	if ((num<aCode) && state)
+		{
+		Error("CodeSection out of sequence");
+		state = efalse;
+		}
+	if (state)
+		{
+		iCodeSection->iStart = uint16(num);
+		state = Operator(ch);
+		if (state)
+			state = (ch == ':');
+		if (state)
+			{
+			state = Number(num);
+			iCodeSection->iEnd = uint16(num);
+			state = NewLine();
+			}
+		else
+			{
+			state = efalse;
+			Error("Operator ':' expected");
+			}
+		}
+	else
+		state = efalse;
+	while (!IdentComp(IdentEndCodeSection) && !_EOF() && state)
+		{
+		if (iLex->iType != ELexNL)
+			{
+			state = Number(code);
+			if ((code != iCodeSection->iStart + iCodeSection->NumWidths()) && state)
+				{
+				state = efalse;
+				Error("Width out of sequence");
+				}
+			if (state)
+				state = Operator(ch);
+			if (state)
+				state = (ch == ':');
+			if (state)
+				{
+				Width *width = Width::New();
+				if (Number(num))
+					{
+					width->iWidthInPixels = (uint16) num;
+					iCodeSection->AddWidth(width);
+					}
+				else
+					{
+					state = efalse;
+					width->Delete();
+					}
+				}
+			}
+		else
+			state = NewLine();
+		}
+	if (state)
+		{
+		num = ((iCodeSection->iEnd + 1) - iCodeSection->iStart);
+		if ((num != iCodeSection->NumWidths()) && (iCodeSection->NumWidths() != 1))
+			{
+			Error("Wrong number of widths in codesection");
+			state = efalse;
+			}
+		}
+	if (state)
+		{
+		iFontInfo->AddCodeSection(iCodeSection);
+//		cout << "Codesection read\n";
+		}
+	else 
+		iCodeSection->Delete();
+	return state;
+	}
+
+boolean PdrReader::ReadFontInfo()
+	{
+	boolean state = etrue;
+	iFontInfo = FontInfo::New();
+	int num;
+	state = IdentCopy(iFontInfo->iLabel);
+	if (state)
+		state = NewLine();
+	while (!IdentComp(IdentEndFontInfo) && !_EOF() && state)
+		{
+		if (iLex->iType == ELexIdent)
+			{
+			if (IdentComp(IdentCodeSection))
+				{
+				int code = 0,size = iFontInfo->NumCodeSections();
+				if (size)
+					code = iFontInfo->CodeSectionList(size - 1)->iEnd + 1;
+				state = ReadCodeSection(code);
+				}
+			else if (IdentComp(IdentAscent))
+				{
+				if (Number(num))
+					iFontInfo->iAscentInPixels = uint16(num);
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentMaxNormalCharWidth))
+				{
+				state = Number(num);
+				if (state)
+					iFontInfo->iMaxNormalCharWidthInPixels = uint16(num);
+				}
+			else
+				{
+				Error("Unrecognised fontinfo identifier");
+				state = efalse;
+				}
+			}
+		else
+			{
+			Error("Fontinfo identifier expected");
+			state = efalse;
+			}
+		if (state)
+			state = NewLine();
+		}	  
+	if (state)
+		{
+		iFontInfo->iMaxCharWidthInPixels = 0;
+		for (int i = 0; i < iFontInfo->NumCodeSections(); i++)
+			{
+			WidthsCodeSection* codesection = iFontInfo->CodeSectionList(i);
+			for (int j = 0; j < codesection->NumWidths(); j++)
+				{
+				int width = codesection->WidthList(j)->iWidthInPixels;
+				if (width > iFontInfo->iMaxCharWidthInPixels)
+					iFontInfo->iMaxCharWidthInPixels = (uint16) width;
+				}
+			}
+		}
+	if (state)
+		{
+		iPdrModelStore.AddFontInfo(iFontInfo);
+		cout << "Fontinfo read\n";
+		}
+	else
+		iFontInfo->Delete();
+	return state;
+	}
+
+boolean PdrReader::ReadStyle()
+	{
+	boolean state = etrue;
+	Record *fontinfo;
+	PdrStyle *style;
+	String label;
+	if (!iTypefaceFonts->iIsScalable)
+		style = &iFontHeight->iStyle[iIndex];
+	else
+		style = &iTypefaceFonts->iScalableFontHeight.iStyle[iIndex];
+	style->iIsAvailable = etrue;
+	state = IdentCopy(label);
+	if (state)
+		{
+		fontinfo = iPdrModelStore.FindFontInfo(label);
+		if (fontinfo)
+			style->iFontInfo = fontinfo;
+		else
+			{
+			Error("Fontinfo not found");
+			state = efalse;
+			}
+		}
+	return state;
+	}
+
+boolean PdrReader::ReadFontHeight()
+	{
+	boolean state = etrue;
+	int num;
+	if (iTypefaceFonts->iIsScalable == etrue)
+		{
+		state = efalse;
+		Error("Scalablefontheight already defined");
+		}
+	else
+		iFontHeight = PdrFontHeight::New();
+	if (state)
+		state = NewLine();
+
+	while (!IdentComp(IdentEndFontHeight) && !_EOF() && state)
+		{
+		if (iLex->iType == ELexIdent)
+			{
+			if (IdentComp(IdentHeight))
+				{
+				if (Number(num))
+					iFontHeight->iHeightInTwips = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentWidthScale))
+				{
+				if (Number(num))
+					iFontHeight->iWidthScale = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentNormal))
+				{
+				iIndex = Normal;
+				state = ReadStyle();
+				}
+			else if (IdentComp(IdentBold))
+				{
+				iIndex = Bold;
+				state = ReadStyle();
+				}
+			else if (IdentComp(IdentItalic))
+				{
+				iIndex = Italic;
+				state = ReadStyle();
+				}
+			else if (IdentComp(IdentBoldItalic))
+				{
+				iIndex = BoldItalic;
+				state = ReadStyle();
+				}
+			else if (IdentComp(IdentCommand))
+				{
+				state = Command(iFontHeight->iCommandString);
+				}
+			else
+				{
+				Error("Unrecognised fontheight identifier");
+				state = efalse;
+				}
+			}
+		else
+			{
+			Error("Fontheight identifier expected");
+			state = efalse;
+			}
+		if (state)
+			state = NewLine();
+		}
+	if (state)
+		{
+		iTypefaceFonts->AddFontHeight(iFontHeight);
+		cout << "Fontheight read\n";
+		}
+	else
+		iFontHeight->Delete();
+	return state;
+	}
+
+boolean PdrReader::ReadScalableFontHeight()
+	{
+	boolean state = etrue;
+	int num;
+	if (iTypefaceFonts->NumFontHeights())
+		{
+		state = efalse;
+		Error("Non-scalable fontheights already defined");
+		}
+	else if (iTypefaceFonts->iIsScalable == etrue)
+		{
+		state = efalse;
+		Error("Scalablefontheight already defined");
+		}
+	iTypefaceFonts->iIsScalable=etrue;
+	if (state)
+		state = NewLine();
+
+	while (!IdentComp(IdentEndScalableFontHeight) && !_EOF() && state)
+		{
+		if (iLex->iType == ELexIdent)
+			{
+			if (IdentComp(IdentHeightMin))
+				{
+				if (Number(num))
+					iTypefaceFonts->iScalableFontHeight.iHeightMinInTwips = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentHeightMax))
+				{
+				if (Number(num))
+					iTypefaceFonts->iScalableFontHeight.iHeightMaxInTwips = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentHeightDelta))
+				{
+				if (Number(num))
+					iTypefaceFonts->iScalableFontHeight.iHeightDeltaInTwips = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentNormal))
+				{
+				iIndex = Normal;
+				state = ReadStyle();
+				}
+			else if (IdentComp(IdentBold))
+				{
+				iIndex = Bold;
+				state = ReadStyle();
+				}
+			else if (IdentComp(IdentItalic))
+				{
+				iIndex = Italic;
+				state = ReadStyle();
+				}
+			else if (IdentComp(IdentBoldItalic))
+				{
+				iIndex = BoldItalic;
+				state = ReadStyle();
+				}
+			else if (IdentComp(IdentCommand))
+				{
+				state = Command(iTypefaceFonts->iScalableFontHeight.iCommandString);
+				}
+			else
+				{
+				Error("Unrecognised scalablefontheight identifier");
+				state = efalse;
+				}
+			}
+		else
+			{
+			Error("Scalablefontheight identifier expected");
+			state = efalse;
+			}
+		if (state)
+			state = NewLine();
+		}	  
+	if (state)
+		{
+		cout << "Scalablefontheight read\n";
+		}
+	else
+		{
+		if (!iTypefaceFonts->iIsScalable)
+			iFontHeight->Delete();
+		}
+	return state;
+	}
+
+boolean PdrReader::ReadTypefaceFonts()
+	{
+	boolean state = etrue;
+	Record* translates;
+	String label;
+	iTypefaceFonts = TypefaceFonts::New();
+	state = IdentCopy(iTypefaceFonts->iLabel);
+	if (state)
+		state = NewLine();
+	while (!IdentComp(IdentEndTypefaceFonts) && !_EOF() && state)
+		{
+		if (iLex->iType == ELexIdent)
+			{
+			if (IdentComp(IdentTypefaceName))
+				{
+				if (StringCopy(iTypefaceFonts->iTypeface.iName))
+					while (iLex->iType != ELexNL)
+					{	if (IdentComp(IdentProportional))
+							iTypefaceFonts->iTypeface.iFlags = boolean(iTypefaceFonts->iTypeface.iFlags | Proportional);
+						else if (IdentComp(IdentSerif))
+							iTypefaceFonts->iTypeface.iFlags = boolean(iTypefaceFonts->iTypeface.iFlags | Serif);
+						else if (IdentComp(IdentSymbol))
+							iTypefaceFonts->iTypeface.iFlags = boolean(iTypefaceFonts->iTypeface.iFlags | Symbol);
+						else
+							{ 
+							Error("Typefacefonts identifier or newline expected");
+							state = efalse;
+							}
+					}
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentTypefaceTranslates))
+				{
+				state = IdentCopy(label);
+				if (state)
+					{
+					translates = iPdrModelStore.FindTranslates(label);
+					if (translates)
+						iTypefaceFonts->iTranslates = translates;
+					else
+						{
+						Error("Translates not found");
+						state = efalse;
+						}
+					}
+				}
+			else if (IdentComp(IdentFontHeight))
+				{
+				state = ReadFontHeight();
+				}
+			else if (IdentComp(IdentScalableFontHeight))
+				{
+				state = ReadScalableFontHeight();
+				}
+			else
+				{
+				Error("Unrecognised typefacefonts identifier");
+				state = efalse;
+				}
+			}
+		else
+			{
+			Error("Typefacefonts identifier expected");
+			state = efalse;
+			}
+		if (state)
+			state = NewLine();
+		}	  
+	if (state)
+		{
+		iPdrModelStore.AddTypefaceFonts(iTypefaceFonts);
+		cout << "Typefacefonts read\n";
+		}
+	else
+		iTypefaceFonts->Delete();
+	return state;
+	}
+
+boolean PdrReader::ReadModel()
+	{
+	boolean state = etrue;
+	int num;
+	iModel = PrinterModelHeader::New();
+	Record* resources;
+//	Record* extrainfo;
+	String label;
+	state = IdentCopy(iModel->iLabel);
+	if (state)
+		state = NewLine();
+	while (!IdentComp(IdentEndModel) && !_EOF() && state)
+		{
+		if (iLex->iType == ELexIdent)
+			{
+			if	(IdentComp(IdentModelName))
+				{
+				if (StringCopy(iModel->iEntry.iName))
+					while (iLex->iType != ELexNL)
+						{
+						if (IdentComp(IdentRequiresPrinterPort))
+							iModel->iEntry.iRequiresPrinterPort = etrue;
+						else
+							{
+							Error("Model identifier or newline expected");
+							state = efalse;
+							}
+						}
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentModelUid))
+				state = Number(iModel->iEntry.iUid);
+			else if (IdentComp(IdentModelFlags))
+				{
+				state = Number(num);
+				iModel->iInfo.iFlags = num;
+				}
+			else if (IdentComp(IdentModelResources))
+				{
+				state = IdentCopy(label);
+				if (state)
+					{
+					resources = iPdrModelStore.FindResources(label);
+					if (resources)
+						iModel->iInfo.iResources = resources;
+					else
+						{
+						Error("Resources not found");
+						state = efalse;
+						}
+					}
+				}
+/*			else if (IdentComp(IdentSpareRecord))
+				{
+				state = IdentCopy(label);
+				if (state)
+					{
+					extrainfo = iPdrModelStore.FindExtraInfo(label);
+					if (extrainfo)
+						iModel->iInfo.iSpareRecord = extrainfo;
+					else
+						{
+						Error("Spare record not found");
+						state = efalse;
+						}
+					}
+				}
+*/
+			else if (IdentComp(IdentKPixelWidth))
+				{
+				if (Number(num))
+					iModel->iInfo.iKPixelWidthInTwips = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentKPixelHeight))
+				{
+				if (Number(num))
+					iModel->iInfo.iKPixelHeightInTwips = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentPortraitOffset))
+				{
+				if (Number(num))
+					{
+					iModel->iInfo.iPortraitOffsetInPixels.iX = num;
+					if (Number(num))
+						iModel->iInfo.iPortraitOffsetInPixels.iY = num;
+					else
+						state = efalse;
+					}
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentLandscapeOffset))
+				{
+				if (Number(num))
+					{
+					iModel->iInfo.iLandscapeOffsetInPixels.iX = num;
+					if (Number(num))
+						iModel->iInfo.iLandscapeOffsetInPixels.iY = num;
+					else
+						state = efalse;
+					}
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentMinMarginLeft))
+				{
+				if (Number(num))
+					iModel->iInfo.iMinMarginsInPixels.iLeft = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentMinMarginRight))
+				{
+				if (Number(num))
+					iModel->iInfo.iMinMarginsInPixels.iRight = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentMinMarginTop))
+				{
+				if (Number(num))
+					iModel->iInfo.iMinMarginsInPixels.iTop = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentMinMarginBottom))
+				{
+				if (Number(num))
+					iModel->iInfo.iMinMarginsInPixels.iBottom = num;
+				else
+					state = efalse;
+				}
+			else if (IdentComp(IdentDisplayMode))
+				{
+        	    int i; // DEF102183: Graphics tools fail to build using MS VC8.
+				for (i = 0; (i < NumDisplayModeValues) && !IdentComp(IdentDisplayModeValue[i]); i++)
+					{	// Tries to match display mode identifier
+					}
+				if (i < NumDisplayModeValues)
+					{
+					iModel->iInfo.iDisplayMode = i;
+					}
+				else
+					{
+					state = efalse;
+					Error("Display mode identifier expected");
+					}
+				}
+			else if (IdentComp(IdentTypefaceFontss))
+				{
+				state = NewLine();
+				while (!IdentComp(IdentEndTypefaceFontss) && !_EOF() && state)
+					{
+					TypefaceFontsEntry* typefacefontsentry = NULL;
+					if (iLex->iType == ELexIdent)
+						{
+						state = IdentCopy(label);
+						Record* typefacefonts = iPdrModelStore.FindTypefaceFonts(label);
+						if (typefacefonts)
+							{
+							typefacefontsentry = TypefaceFontsEntry::New(typefacefonts);
+							state = etrue;
+							}
+						else
+							{
+							Error("Typefacefonts not found");
+							state = efalse;
+							}
+						}
+					if (state)
+						{
+						while ((iLex->iType != ELexNL) && !_EOF() && state)
+							{
+							if (IdentComp(IdentNotInPortrait))
+								{
+								typefacefontsentry->iNotInPortrait = etrue;
+								}
+							else if (IdentComp(IdentNotInLandscape))
+								{
+								typefacefontsentry->iNotInLandscape = etrue;
+								}
+							else
+								{
+								Error("Typefacefontsentry identifier or newline expected");
+								state = efalse;
+								}
+							}
+						if (state)
+							iModel->iInfo.AddTypefaceFontsEntry(typefacefontsentry);
+						else
+							typefacefontsentry->Delete();
+						}
+					if (state)
+						state = NewLine();
+					}
+				}
+			else
+				{
+				Error("unrecognised model identifier");
+				state = efalse;
+				}
+			}
+		else
+			{
+			Error("Model identifier expected");
+			state = efalse;
+			}
+		if (state)
+			state = NewLine();
+		}
+	if (state)
+		{
+		iPdrModelStore.AddModel(iModel);
+		cout << "Model read\n";
+		}
+	else
+		iModel->Delete();
+	return state;
+	}
+
+boolean PdrReader::ReadPdrStoreFile()
+	{
+	boolean state = etrue;
+	if (iPdrStoreFile)
+		{
+		state = efalse;
+		Error("Pdrstorefile already read");
+		}
+	else
+		{
+		iPdrStoreFile = PdrStoreFile::New();
+		String label;
+		Record* model;
+		state = NewLine();
+		while (!IdentComp(IdentEndPdrStoreFile) && !_EOF() && state)
+			{
+			if (IdentComp(IdentPDLName))
+				{
+				state = StringCopy(iPdrStoreFile->iPDLName);
+				}
+			else if (IdentComp(IdentPDLUid))
+				{
+				state = Number(iPdrStoreFile->iPDLUid);
+				}
+			else if (IdentComp(IdentModels))
+				{
+				state = NewLine();
+				while (!IdentComp(IdentEndModels) && !_EOF() && state)
+					{
+					state = IdentCopy(label);
+					if (state)
+						{
+						model = iPdrModelStore.FindModel(label);
+						if (model)
+							{
+							iPdrStoreFile->AddModel((PrinterModelHeader*)model);
+							}
+						else
+							{
+							Error("model not found");
+							state = efalse;
+							}
+						}
+					if (state)
+						state = NewLine();
+					}
+				}
+			else
+				{
+				Error("Pdrstorefile identifier expected");
+				state = efalse;
+				}
+			if (state)
+				state = NewLine();
+			}
+		if (state)
+			{
+			iPdrModelStore.AddPdrStoreFile(iPdrStoreFile);
+			cout << "Pdrstorefile read\n";
+			}	
+		else
+			iPdrStoreFile->Delete();
+		}
+	return state;
+	}
+
+EXPORT_C boolean PdrReader::Store(const String& aFilename)
+	{
+	boolean state = etrue;
+	if (!iPdrStoreFile)
+		{
+		state = efalse;
+		Error("No pdrstore file record");
+		}
+	else
+		state = iPdrModelStore.Store(aFilename);
+	return state;
+	}
+
+boolean PdrReader::Command(String& aCommand)
+	{
+	boolean state = etrue;
+	String string;
+	state = StringCopy(string);
+	int length = string.Length();
+	for (int i = 0; i < length; i++)
+		{
+		char ch = string[i];
+		if (ch == '<')	// Read control character
+			{
+			ch = 0;
+			for (i = i + 1; (i < length) && (string[i] != '>'); i++)
+				ch = char((ch * 10) + (string[i] - '0'));
+			}
+		aCommand += ch;
+		}
+	return state;
+	}
+/*
+boolean PdrReader::ReadExtraInfo()
+	{
+	boolean state = etrue;
+	String label;
+	PdrExtraInfo* extrainfo = new PdrExtraInfo();
+	state = IdentCopy(extrainfo->iLabel);
+	if (state)
+		state = NewLine();
+	while (!IdentComp(IdentEndExtraInfo) && !_EOF() && state)
+		{
+		String* string = new String;
+		state = Command(*string);
+		if (state)
+			extrainfo->iInfo.Add(string);
+		else
+			delete string;
+		state = NewLine();
+		}
+	if (state)
+		{
+		iPdrModelStore.AddExtraInfo(extrainfo);
+		cout << "Extra info read\n";
+		}
+	else
+		delete extrainfo;
+	return state;
+	}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRRECRD.CPP	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,785 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Header PDRRECRD.CPP
+*
+*/
+
+
+#include "PDRRECRD.H"
+
+EXPORT_C PdrResource* PdrResource::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+	{
+	return new PdrResource();
+	}
+
+EXPORT_C void PdrResource::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void PdrResource::Externalize(ostream& out)
+	{
+	uint8 id = (uint8) iId;
+	out.write((char*) &id, sizeof(id));
+	iString.Externalize(out);
+	}
+
+EXPORT_C PdrResources* PdrResources::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+	{
+	return new PdrResources();
+	}
+
+EXPORT_C void PdrResources::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void PdrResources::Externalize(ostream& out)
+	{
+	iStreamId = out.tellp();
+	iPdrResourceList.Externalize(out);
+	}
+
+EXPORT_C void PdrResources::AddResource(PdrResource* aResource)
+/** Adds a printer resource to the object.
+
+@param aResource Printer resource. */
+	{
+	iPdrResourceList.Add(aResource);
+	}
+
+PdrResources::~PdrResources()
+/** Default destructor. */
+	{
+	iPdrResourceList.Destroy();
+	}
+
+EXPORT_C PdrTranslation* PdrTranslation::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+	{
+	return new PdrTranslation();
+	}
+
+EXPORT_C void PdrTranslation::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void PdrTranslation::Externalize(ostream& out)
+	{
+	out.write((char*) &iFrom, sizeof(iFrom));
+	iTo.Externalize(out);
+	}
+
+EXPORT_C PdrTranslates* PdrTranslates::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+	{
+	return new PdrTranslates();
+	}
+
+EXPORT_C void PdrTranslates::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void PdrTranslates::Externalize(ostream& out)
+	{
+	iStreamId = out.tellp();
+	iPdrTranslationList.Externalize(out);
+	}
+
+EXPORT_C void PdrTranslates::AddTranslation(PdrTranslation* aTranslation)
+/** Adds a printer translation to the list.
+
+@param aTranslation Reference to a translation. */
+	{
+	iPdrTranslationList.Add(aTranslation);
+	}
+
+PdrTranslates::~PdrTranslates()
+/** This function is internal, and is not intended for use. */
+	{
+	iPdrTranslationList.Destroy();
+	}
+
+EXPORT_C Width* Width::New()
+/** Creates a new instance of this object.
+
+@return Reference to a new object. */
+	{
+	return new Width();
+	}
+
+EXPORT_C void Width::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void Width::Externalize(ostream& out)
+	{
+	out.write ((char*) &iWidthInPixels, sizeof(iWidthInPixels));
+	}
+
+WidthsCodeSection::WidthsCodeSection()
+ :	iWidthList()
+/** This function is internal only, and is not intended for use. */
+	{
+	}
+
+EXPORT_C WidthsCodeSection* WidthsCodeSection::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+	{
+	return new WidthsCodeSection();
+	}
+	
+EXPORT_C void WidthsCodeSection::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void WidthsCodeSection::Externalize(ostream& out)
+	{
+	out.write((char*) &iStart, sizeof(iStart));
+	out.write((char*) &iEnd, sizeof(iEnd));
+	iWidthList.Externalize(out);
+	}
+	
+EXPORT_C void WidthsCodeSection::AddWidth(Width* aWidth)
+/** Adds a new font width to the list.
+
+@param aWidth Font width. */
+	{
+	iWidthList.Add(aWidth);
+	}
+
+EXPORT_C Width* WidthsCodeSection::WidthList(int i)
+/** Returns a font width from the list at the position specified.
+
+@param i Position of font width in list.
+@return Reference to a font width. */
+	{
+	return iWidthList[i];
+	}
+
+EXPORT_C int WidthsCodeSection::NumWidths()
+/** Returns the number of font widths in the list.
+
+@return Number of widths. */
+	{
+	return iWidthList.Size();
+	}
+
+WidthsCodeSection::~WidthsCodeSection()
+/** Default destructor. */
+	{
+	iWidthList.Destroy();
+	}
+
+EXPORT_C FontInfo* FontInfo::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new instance of this class. */
+	{
+	return new FontInfo();
+	}
+
+EXPORT_C void FontInfo::Delete()
+/** Deletes the current FontInfo object. */
+	{
+	delete this;
+	}
+
+void FontInfo::Externalize(ostream& out)
+	{
+	iStreamId = out.tellp();
+	out.write((char*) &iAscentInPixels, sizeof(iAscentInPixels));
+	out.write((char*) &iMaxCharWidthInPixels, sizeof(iMaxCharWidthInPixels));
+	out.write((char*) &iMaxNormalCharWidthInPixels, sizeof(iMaxNormalCharWidthInPixels));
+	iCodeSectionList.Externalize(out);
+	}
+
+EXPORT_C void FontInfo::AddCodeSection(WidthsCodeSection* aCodeSection)
+/** Adds a section of information about the font to an internally-stored array.
+
+@param aCodeSection Font information. */
+	{
+	iCodeSectionList.Add(aCodeSection);
+	}	
+
+EXPORT_C WidthsCodeSection* FontInfo::CodeSectionList(int i)
+/** Returns a section of font information from a specified position in the internally-stored 
+array.
+
+@param i Postion of information in the array.
+@return Reference to section of font information. */
+	{
+	return iCodeSectionList[i];
+	}
+
+EXPORT_C int FontInfo::NumCodeSections()
+/** Returns the number of sections of font information in the internally-stored 
+array.
+
+@return Current number of font information sections. */
+	{
+	return iCodeSectionList.Size();
+	}
+
+FontInfo::~FontInfo()
+/** This function is internal, and not intended for use. */
+	{
+	iCodeSectionList.Destroy();
+	}
+
+EXPORT_C PdrStyle* PdrStyle::New()
+/** Creates a new instance of this class
+
+@return Reference to a new object. */
+	{
+	return new PdrStyle();
+	}
+
+EXPORT_C void PdrStyle::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void PdrStyle::Externalize(ostream& out)
+	{
+	out.write((char*) &iIsAvailable, sizeof(iIsAvailable));
+	streamoff streamid = 0;
+	if (iIsAvailable)
+		streamid = iFontInfo->iStreamId;
+	::ExternalizeStreamOff(out, streamid);
+	}
+
+PdrStyle::PdrStyle()
+ :	iIsAvailable(efalse)
+/** Default constructor. */
+	{
+	}
+
+EXPORT_C PdrFontHeight* PdrFontHeight::New()
+/** Returns a new instance of this class.
+
+@return Reference to new object. */
+	{
+	return new PdrFontHeight();
+	}
+
+EXPORT_C void PdrFontHeight::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void PdrFontHeight::Externalize(ostream& out)
+	{
+	iCommandString.Externalize(out);
+	out.write((char*) &iHeightInTwips, sizeof(iHeightInTwips));
+	out.write((char*) &iWidthScale, sizeof(iWidthScale));
+	for (int style = Normal;style <= BoldItalic; style++)
+		iStyle[style].Externalize(out);
+	}
+
+PdrFontHeight::PdrFontHeight():
+	iWidthScale(1)
+/** Default constructor. */
+	{
+	}
+
+PdrScalableFontHeight::PdrScalableFontHeight()
+/** Default constructor. */
+	{
+	}
+
+void PdrScalableFontHeight::Externalize(ostream& out)
+	{
+	iCommandString.Externalize(out);
+	out.write((char*) &iHeightMinInTwips, sizeof(iHeightMinInTwips));
+	out.write((char*) &iHeightMaxInTwips, sizeof(iHeightMaxInTwips));
+	out.write((char*) &iHeightDeltaInTwips, sizeof(iHeightDeltaInTwips));
+	for (int style = Normal; style <= BoldItalic; style++)
+		iStyle[style].Externalize(out);
+	}
+
+EXPORT_C TypefaceFonts* TypefaceFonts::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+	{
+	return new TypefaceFonts();
+	}
+
+EXPORT_C void TypefaceFonts::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void TypefaceFonts::Externalize(ostream& out)
+	{
+	iStreamId = out.tellp();
+	iTypeface.Externalize(out);
+	out.write((char*) &iIsScalable, sizeof(iIsScalable));
+	if (iIsScalable)
+		iScalableFontHeight.Externalize(out);
+	else
+		iFontHeightList.Externalize(out);
+	::ExternalizeStreamOff(out, iTranslates->iStreamId);
+	}
+
+EXPORT_C void TypefaceFonts::AddFontHeight(PdrFontHeight* aFontHeight)
+	{
+	iFontHeightList.Add(aFontHeight);
+	}
+
+EXPORT_C int TypefaceFonts::NumFontHeights()
+/** Returns the number of font height descriptions currently held in the list.
+
+@return Number of descriptions. */
+	{
+	return iFontHeightList.Size();
+	}
+
+PdrFontHeight* TypefaceFonts::FontHeightList(int i)
+/** Returns the font height description from the position specified in the list.
+
+@param i Position of description.
+@return Font height description. */
+	{
+	return iFontHeightList[i];
+	}
+
+TypefaceFonts::TypefaceFonts():
+	iIsScalable(efalse)
+/** This function is internal only, and is not intended for use. */
+	{
+	}
+
+TypefaceFonts::~TypefaceFonts()
+/** This function is internal only, and is not intended for use. */
+	{
+	iFontHeightList.Destroy();
+	}
+
+EXPORT_C TypefaceFontsEntry* TypefaceFontsEntry::New(Record* aTypefaceFonts)
+	{
+	return new TypefaceFontsEntry(aTypefaceFonts);
+	}
+
+EXPORT_C void TypefaceFontsEntry::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+	
+void TypefaceFontsEntry::Externalize(ostream& out)
+	{
+	::ExternalizeStreamOff(out, iTypefaceFonts->iStreamId);
+	out.write((char*) &iNotInPortrait, sizeof(iNotInPortrait));
+	out.write((char*) &iNotInLandscape, sizeof(iNotInLandscape));
+	}
+
+TypefaceFontsEntry::TypefaceFontsEntry(Record* aTypefaceFonts)
+ :	iTypefaceFonts(aTypefaceFonts), iNotInPortrait(efalse), iNotInLandscape(efalse)
+	{
+	}
+
+TypefaceFontsEntry::~TypefaceFontsEntry()
+/** Default destructor. */
+	{
+	}
+
+void Margins::Externalize(ostream& out)
+	{
+	out.write((char*) &iLeft, sizeof(iLeft));
+	out.write((char*) &iRight, sizeof(iRight));
+	out.write((char*) &iTop, sizeof(iTop));
+	out.write((char*) &iBottom, sizeof(iBottom));
+	}
+
+/*
+PdrExtraInfo::~PdrExtraInfo()
+	{
+	iInfo.Destroy();
+	}
+
+void PdrExtraInfo::Externalize(ostream& out)
+	{
+	iInfo.Externalize(out);
+	}
+*/
+
+void PdrModelInfo::Externalize(ostream& out)
+	{
+	iStreamId=out.tellp();
+	out.write((char*) &KPdrtranVersion, sizeof(KPdrtranVersion));
+	out.write((char*) &iFlags, sizeof(iFlags));
+	out.write((char*) &iKPixelWidthInTwips, sizeof(iKPixelWidthInTwips));
+	out.write((char*) &iKPixelHeightInTwips, sizeof(iKPixelHeightInTwips));
+	iPortraitOffsetInPixels.Externalize(out);
+	iLandscapeOffsetInPixels.Externalize(out);
+	iMinMarginsInPixels.Externalize(out);
+	out.write((char*) &iDisplayMode, sizeof(iDisplayMode));
+	iTypefaceFontsEntryList.Externalize(out);
+	::ExternalizeStreamOff(out, iResources->iStreamId);
+	streamoff streamid = 0;
+	if (iSpareRecord)
+		streamid = iSpareRecord->iStreamId;
+	::ExternalizeStreamOff(out, streamid);
+	}
+ 
+EXPORT_C void PdrModelInfo::AddTypefaceFontsEntry(TypefaceFontsEntry* aTypefaceFontsEntry)
+/** Adds an entry containing information about typeface fonts to an internally-stored 
+array.
+
+@param aTypefaceFontsEntry Typeface font information. */
+	{
+	iTypefaceFontsEntryList.Add(aTypefaceFontsEntry);
+	}
+
+int PdrModelInfo::NumTypefaceFontsEntries()
+/** Returns the number of entries containing information about typeface fonts in 
+the internally-stored array.
+
+@return Number of entries. */
+	{
+	return iTypefaceFontsEntryList.Size();
+	}
+
+TypefaceFontsEntry* PdrModelInfo::TypefaceFontsEntryList(int i)
+/** Returns the typeface font entry stored the internal array from the position 
+specified.
+
+@param i Position in array.
+@return Typeface font entry. */
+	{
+	return iTypefaceFontsEntryList[i];
+	}
+
+PdrModelInfo::PdrModelInfo()
+ :	iStreamId(0),
+	iFlags(0),
+	iKPixelWidthInTwips(0),
+	iKPixelHeightInTwips(0),
+	iPortraitOffsetInPixels(),
+	iLandscapeOffsetInPixels(),
+	iMinMarginsInPixels(),
+	iDisplayMode(0),
+	iTypefaceFontsEntryList(),
+	iResources(NULL),
+	iSpareRecord(NULL)	// !! Not used yet
+/** Default constructor. */
+	{
+	}
+
+PdrModelInfo::~PdrModelInfo()
+/** Default destructor. */
+	{
+	iTypefaceFontsEntryList.Destroy();
+	}
+
+PrinterModelEntry::PrinterModelEntry()
+ :	iName(), iRequiresPrinterPort(efalse), iUid(KNullUid)
+/** Default constructor. */
+	{
+	}
+
+void PrinterModelEntry::Externalize(ostream& out)
+	{
+	iName.Externalize(out);
+	out.write((char*) &iRequiresPrinterPort, sizeof(iRequiresPrinterPort));
+	out.write((char*) &iUid, sizeof(iUid));
+	}
+
+EXPORT_C PrinterModelHeader* PrinterModelHeader::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+	{
+	return new PrinterModelHeader();
+	}
+
+EXPORT_C void PrinterModelHeader::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+void PrinterModelHeader::Externalize(ostream& out)
+	{
+	iEntry.Externalize(out);
+	::ExternalizeStreamOff(out, iInfo.iStreamId);
+	}
+
+void PrinterModelHeader::ExternalizeData(ostream& out)
+	{
+	iInfo.Externalize(out);
+	}
+
+boolean PrinterModelHeader::IsPdrModel()
+/** Determines whether printer information is available for this printer model.
+
+@return ETrue: printer description is available. */
+	{
+	return iInfo.NumTypefaceFontsEntries() || iInfo.iResources;
+	}
+
+EXPORT_C PdrStoreFile* PdrStoreFile::New()
+/** Creates a new instance of this class.
+
+@return Reference to a new object. */
+	{
+	return new PdrStoreFile();
+	}
+
+EXPORT_C void PdrStoreFile::Delete()
+/** Deletes the current object. */
+	{
+	delete this;
+	}
+
+EXPORT_C void PdrStoreFile::AddModel(PrinterModelHeader* aModel)
+/** Adds a printer model.
+
+@param aModel Printer model. */
+	{
+	iModelList.Add(aModel);
+	if (aModel->IsPdrModel())
+		{
+		for (int i = 0; i < aModel->iInfo.NumTypefaceFontsEntries(); i++)
+			AddTypefaceFonts((TypefaceFonts*) aModel->iInfo.TypefaceFontsEntryList(i)->iTypefaceFonts);
+		iResourcesList.Add(aModel->iInfo.iResources);
+//		if (aModel->iInfo.iSpareRecord)
+//			iExtraInfoList.Add(aModel->iInfo.iSpareRecord);
+		}
+	}
+
+void PdrStoreFile::Externalize(ostream& out)
+	{
+	ExternalizeHeader(out);
+	ExternalizeComponents(out);
+	}
+
+void PdrStoreFile::ExternalizeHeader(ostream& out)
+	{
+	out.write((char*) &KStoreWriteOnceLayoutUid, sizeof(KStoreWriteOnceLayoutUid));
+	out.write((char*) &KPdrStoreFileUid, sizeof(KPdrStoreFileUid));
+	out.write((char*) &KNullUid, sizeof(KNullUid));
+	out.write((char*) &KPdrStoreFileChecksum, sizeof(KPdrStoreFileChecksum));
+	::ExternalizeStreamOff(out, iStreamId);
+	iStreamId = out.tellp();
+	iPDLName.Externalize(out);
+	out.write((char*) &iPDLUid, sizeof(iPDLUid));
+	iModelList.Externalize(out);
+	}
+
+void PdrStoreFile::AddTypefaceFonts(TypefaceFonts* aTypefaceFonts)
+	{
+	iTypefaceFontsList.Add(aTypefaceFonts);
+	iTranslatesList.Add(aTypefaceFonts->iTranslates);
+	if (aTypefaceFonts->iIsScalable)
+		{
+		for (int style = Normal; style <= BoldItalic; style++)
+			{
+			if (aTypefaceFonts->iScalableFontHeight.iStyle[style].iIsAvailable)
+				iFontInfoList.Add(aTypefaceFonts->iScalableFontHeight.iStyle[style].iFontInfo);
+			}
+		}
+	else
+		{
+		for (int j = 0; j < aTypefaceFonts->NumFontHeights(); j++)
+			{
+			PdrFontHeight* fontheight = aTypefaceFonts->FontHeightList(j);
+			for (int style = Normal; style <= BoldItalic; style++)
+				{
+				if (fontheight->iStyle[style].iIsAvailable)
+					iFontInfoList.Add(fontheight->iStyle[style].iFontInfo);
+				}
+			}
+		}
+	}
+
+void PdrStoreFile::ExternalizeComponents(ostream& out)
+	{
+	for (int i = 0; i < iModelList.Size(); i++)
+		{
+		PrinterModelHeader* model = (PrinterModelHeader*) iModelList[i];
+		if (model->IsPdrModel())
+			model->ExternalizeData(out);
+		}
+	iTypefaceFontsList.Externalize(out);
+	iFontInfoList.Externalize(out);
+	iResourcesList.Externalize(out);
+	iTranslatesList.Externalize(out);
+//	iExtraInfoList.Externalize(out);
+	}
+
+PdrStoreFile::PdrStoreFile()
+ :	Record(),
+	iPDLName(),
+	iPDLUid(KNullUid),
+	iModelList(),
+	iTypefaceFontsList(),
+	iFontInfoList(),
+	iResourcesList(),
+	iTranslatesList()
+/** This function is internal only, and is not intended for use. */
+	{
+	}
+
+EXPORT_C boolean PdrModelStore::Store(const String& aFilename)
+/** Externalizes printer information from the store to the specfied external file.
+
+@param aFilename Filename.
+@return ETrue: store successful. */
+	{
+	boolean state = efalse;
+	ofstream fout;
+	String string = aFilename;
+	fout.open(string.Text(), ios::binary);
+	if (!fout.fail())
+		{
+		iPdrStoreFile->Externalize(fout);
+		fout.close();
+		fout.open(string.Text(), ios::binary | ios::trunc);
+		iPdrStoreFile->Externalize(fout);
+		fout.close();
+		state = etrue;
+		}
+	return state;
+	}
+
+EXPORT_C void PdrModelStore::AddPdrStoreFile(PdrStoreFile* aPdrStoreFile)
+	{
+	iPdrStoreFile = aPdrStoreFile;
+	}
+
+EXPORT_C void PdrModelStore::AddModel(PrinterModelHeader *aModel)
+/** Adds a printer model to the store.
+
+@param aModel Printer model. */
+	{
+	iModelList.Add(aModel);
+	}
+
+EXPORT_C Record *PdrModelStore::FindModel(String& aLabel)
+	{
+	return iModelList.LabelToRecord(aLabel);
+	}
+
+EXPORT_C void PdrModelStore::AddTypefaceFonts(TypefaceFonts *aTypefaceFonts)
+/** Adds typeface information to the store.
+
+@param aTypefaceFonts Typeface fonts. */
+	{
+	iTypefaceFontsList.Add(aTypefaceFonts);
+	}
+
+EXPORT_C Record *PdrModelStore::FindTypefaceFonts(String& aLabel)
+	{
+	return iTypefaceFontsList.LabelToRecord(aLabel);
+	}
+
+EXPORT_C void PdrModelStore::AddFontInfo(FontInfo *aFontInfo)
+/** Adds font information to the store.
+
+@param aFontInfo Font information. */
+	{
+	iFontInfoList.Add(aFontInfo);
+	}
+
+EXPORT_C Record *PdrModelStore::FindFontInfo(String& aLabel)
+	{
+	return iFontInfoList.LabelToRecord(aLabel);
+	}
+
+EXPORT_C void PdrModelStore::AddResources(PdrResources *aResources)
+	{
+	iResourcesList.Add(aResources);
+	}
+
+EXPORT_C Record *PdrModelStore::FindResources(String& aLabel)
+	{
+	return iResourcesList.LabelToRecord(aLabel);
+	}
+
+EXPORT_C void PdrModelStore::AddTranslates(PdrTranslates *aTranslates)
+/** Adds printer translations to the store.
+
+@param aTranslates Translation list. */
+	{
+	iTranslatesList.Add(aTranslates);
+	}
+
+EXPORT_C Record *PdrModelStore::FindTranslates(String& aLabel)
+	{
+	return iTranslatesList.LabelToRecord(aLabel); 
+	}
+
+	/*
+void PdrModelStore::AddExtraInfo(PdrExtraInfo *aInfo)
+	{
+	iExtraInfoList.Add(aInfo);
+	}
+
+Record* PdrModelStore::FindExtraInfo(String& aLabel)
+	{
+	return iExtraInfoList.LabelToRecord(aLabel);
+	}
+*/
+
+PdrModelStore::PdrModelStore()
+ :	iPdrStoreFile(NULL),
+	iModelList(),
+	iTypefaceFontsList(),
+	iFontInfoList(),
+	iResourcesList()//,
+//	iExtraInfoList()
+/** Default constructor. */
+	{
+	}
+
+PdrModelStore::~PdrModelStore()
+/** Default destructor. */
+	{
+	delete iPdrStoreFile;
+	iModelList.Destroy();
+	iTypefaceFontsList.Destroy();
+	iFontInfoList.Destroy();
+	iResourcesList.Destroy();
+	iTranslatesList.Destroy();
+//	iExtraInfoList.Destroy();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/PDRTRAN.CPP	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Header PDRTRAN.CPP
+*
+*/
+
+
+#include "PDRREADR.H"
+
+bool OutputUnicode = false;
+
+// Input and output filenames entered in command line
+int main(int argc, char *argv[])  
+	{
+	cout << "\nPDRTRAN V";
+	cout << KPdrtranVersion << "\n";
+	cout << "Copyright (c) 1998-2004 Symbian Software Ltd.\n";
+
+	if(argc!=3)
+		{
+		cout << "Usage:	PDRTRAN srcfile [srcfile2 ..] destfile\n";
+		cout << "where srcfile is the file containing printer models,\n";
+		cout << "typeface information and character width tables, and\n";
+		cout << "destfile is the pdr store file.\n";
+		return -1;
+		}
+	
+	PdrReader reader;
+
+	for (int i = 1; i < argc - 1; i++)
+		{
+		if (!reader.Read(argv[i]))
+			{
+			cerr << "Problem encountered in file " << argv[i] << "\n";
+			return -1;
+			}
+		}
+	if (!reader.Store(argv[argc - 1]))
+		{
+		cerr << "Problem writing pdr file " << argv[argc - 1] << "\n";
+		return -1;
+		}
+	cout << argv[argc-1] << " created\n";
+	return 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/READER.CPP	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Header READER.CPP
+*
+*/
+
+
+#include "READER.H"
+
+Reader::Reader()
+	{
+	iLexAnal = NULL;
+	}
+
+boolean Reader::Open(const String& aFilename)
+	{
+	boolean state;
+	String string = aFilename;
+	if (iLexAnal != NULL)
+		delete iLexAnal;
+	iLexAnal = new LexAnal(string.Text());
+
+	if (iLexAnal)
+		{
+		state = etrue;
+		iLex =& (iLexAnal->iLex);
+		iLexAnal->Read();	// reads first lexical
+		}
+	else
+		state = efalse;
+
+	return state;
+	}
+
+Reader::~Reader()
+	{
+	if (iLexAnal != NULL)
+		delete iLexAnal;
+	}
+
+boolean Reader::_EOF()
+	{
+	return ((iLex->iType) == ELexEOF);
+	}
+
+boolean Reader::NewLine()
+	{
+	boolean state;
+	if (iLex->iType == ELexNL)
+		{
+		iLexAnal->Read();
+		state = etrue;
+		}
+	else
+		{
+		Error(String("Newline expected"));
+		state = efalse;
+		}
+	return state;
+	}
+
+boolean Reader::Number(int& aNumber)
+	{
+	boolean state;
+	if (iLex->iType == ELexNumber)
+		{
+		aNumber = iLex->iNumber;
+		iLexAnal->Read();
+		state = etrue;
+		}
+	else
+		{
+		Error(String("Number expected"));
+		state = efalse;
+		}
+	return state;
+	}
+
+boolean Reader::IdentComp(const String& aIdent)
+	{
+	boolean state;
+	if (iLex->iType == ELexIdent)
+		{
+		if (aIdent == iLex->iText)
+			{
+			iLexAnal->Read();
+			state = etrue;
+			}
+		else
+			state = efalse;
+		}
+	else
+		{
+		state = efalse;
+		}
+	return state;
+	}
+
+boolean Reader::IdentCopy(String& aIdent)
+	{
+	boolean state;
+	if (iLex->iType == ELexIdent)
+		{
+		aIdent = iLex->iText;
+		iLexAnal->Read();
+		state = etrue;
+		}
+	else
+		{
+		Error(String("Identifier expected"));
+		state = efalse;
+		}
+	return state;
+	}
+
+boolean Reader::StringCopy(String& aString)
+	{
+	boolean state;
+	if (iLex->iType == ELexString)
+		{
+		aString = iLex->iText;
+		iLexAnal->Read();
+		state = etrue;
+		}
+	else
+		{
+		Error(String("String expected"));
+		state = efalse;
+		}
+	return state;
+	}
+
+boolean Reader::Operator(char& aCh)
+	{
+	boolean state;
+	if (iLex->iType == ELexOperator)
+		{
+		aCh = iLex->iText[0];
+		iLexAnal->Read();
+		state = etrue;
+		}
+	else
+		{
+		Error(String("Operator expected"));
+		state = efalse;
+		}
+	return state;
+	}
+
+EXPORT_C void Reader::Error(const String& aString)
+	{
+	cerr << "Error: " << aString;
+	iLexAnal->Report();
+	while ((iLex->iType != ELexNL) && (iLex->iType != ELexEOF))
+		iLexAnal->Read();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/RECORD.CPP	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Header RECORD.CPP
+*
+*/
+
+
+#include "RECORD.H"
+
+EXPORT_C Record::Record()
+ :	iLabel(), iStreamId(0)
+	{
+	}
+
+void RecordList::ExternalizeIds(ostream& out)
+	{
+	int32 i;
+	int32 size = Size();
+	out.write((char*) &size, sizeof(size));
+	for (i = 0; i < size; i++)
+		{
+		::ExternalizeStreamOff(out, (*this)[i]->iStreamId);
+		}
+	}
+
+void RecordList::Externalize(ostream& out)
+	{
+	int32 size = Size();
+	out.write ((char*) &size, sizeof(size));
+	for (int i = 0; i < size; i++)
+		(*this)[i]->Externalize(out);
+	}
+
+void RecordList::ExternalizeComponents(ostream& out)
+	{
+	int32 size = Size();
+	for (int i = 0; i < size; i++)
+		(*this)[i]->ExternalizeComponents(out);
+	}
+
+EXPORT_C void RecordList::Add(Record* aRecord)
+	{
+	if (!LabelToRecord(aRecord->iLabel))
+		List<Record*>::Add(aRecord);
+	}
+
+EXPORT_C Record *RecordList::LabelToRecord(const String& aLabel)
+	{
+	int32 size = Size();
+	Record *record=NULL;
+	if (aLabel.Length())
+		for (int i = 0; i < size; i++)
+			if ((*this)[i]->iLabel == aLabel)
+				record = (*this)[i];
+	return record;
+	}
+
+EXPORT_C void RecordList::Destroy()
+	{
+	List<Record*>::Destroy();
+	}
+
+EXPORT_C RecordList::~RecordList()
+	{
+	}
+
+EXPORT_C Typeface::Typeface()
+ :	iName(), iFlags(0)
+	{
+	}
+
+void Typeface::Externalize(ostream& out)
+	{
+	iName.Externalize(out);
+	out.put((char) iFlags);
+	}
+
+void Point::Externalize(ostream& out)
+	{
+	out.write((char*) &iX, sizeof(iX));
+	out.write((char*) &iY, sizeof(iY));
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/STRNG.CPP	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Header STRNG.CPP
+*
+*/
+
+
+#include "STRNG.H"
+
+extern bool OutputUnicode;
+
+ostream& operator << (ostream& out, const String& aString)
+	{
+	for (int i = 0; i < aString.iLength; i++)
+		out << aString.iText[i];
+	out << '\n';
+	return out;
+	}
+
+EXPORT_C void String::Externalize(ostream& out)
+	{
+	if (OutputUnicode)
+		{
+		// Convert the string to Unicode, allowing #NNNN (each N is a hex digit)
+		// to represent an arbitrary Unicode character. Other values are just
+		// extended, so don't use codepage 1252 values in the range 128..159.
+		unsigned short* buffer = new unsigned short[iLength];
+		int i = 0;
+		int j = 0;
+		while (i < iLength)
+			{
+			if (iText[i] == '#')
+				{
+				i++;
+				char hex[5];
+				hex[0] = iText[i++];
+				hex[1] = iText[i++];
+				hex[2] = iText[i++];
+				hex[3] = iText[i++];
+				hex[4] = 0;
+				buffer[j++] = (unsigned short)strtoul(hex, NULL, 16);
+				}
+			else
+				{
+				buffer[j] = iText[i];
+				buffer[j] &= 0xFF;
+				i++;
+				j++;
+				}
+			}
+		int unicode_characters = j;
+		int32 length = (unicode_characters << 1);	// 16-bit data
+		if (length < 0x80)
+			{
+			unsigned char len = (unsigned char)(length << 1);
+			out.write((char*)&len, sizeof(len));
+			}
+		else if (length < 0x4000)
+			{
+			uint16 len = (uint16)((length << 2) + 1);
+			out.write((char*)&len, sizeof(len));
+			}
+		else
+			{
+			// assert len<0x20000000 ?
+			uint32 len = (uint32)((length << 3) + 3);
+			out.write((char*)&len, sizeof(len));
+			}
+		// Output Unicode characters using the Standard Compression Scheme for Unicode.
+		// To save the bother of doing this properly, use a degenerate form whereby each
+		// Unicode character is output as itself. 0x0F selects Unicode mode and 0xF0 quotes
+		// characters that would conflict with other tags.
+		out << (unsigned char)0x0F;
+
+		for (i = 0; i < unicode_characters; i++)
+			{
+			unsigned char hi = (unsigned char)(buffer[i] >> 8);
+			unsigned char lo = (unsigned char)buffer[i];
+			if ((hi >= 0xe0) && (hi <= 0xf2))
+				out << 0xf0;
+			out << hi;
+			out << lo;
+			}
+
+		delete [] buffer;
+		}
+	else
+		{
+		int32 length = (iLength << 1) + 1;	// 8-bit data
+		if (length < 0x80)
+			{
+			unsigned char len = (unsigned char)(length << 1);
+			out.write((char*)&len, sizeof(len));
+			}
+		else if (length < 0x4000)
+			{
+			uint16 len = (uint16)((length << 2) + 1);
+			out.write((char*)&len, sizeof(len));
+			}
+		else
+			{
+			// assert len<0x20000000 ?
+			uint32 len = (uint32)((length << 3) + 3);
+			out.write((char*)&len, sizeof(len));
+			}
+		out.write(iText, iLength);
+		}
+	}
+
+EXPORT_C int String::CreateText(const int aLength)
+	{
+	if (aLength != iLength)
+		{
+		char* text = new char[aLength + 1];
+		if (text)
+			{
+			iLength = aLength;
+			iText = text;
+			}
+		else
+			{
+			iLength = 0;
+			delete [] iText;
+			iText = NULL;
+			}
+		}
+	return iLength;
+	}
+
+EXPORT_C void String::DeleteText(char* aText) const
+	{
+	if (aText != iText)
+		delete [] aText;
+	}
+
+EXPORT_C String::~String()
+	{
+	delete [] iText;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/cross/src/platmacros.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+int main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/header_abc.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// a header in the same directory as the source files
+
+const int A = 1;
+const int B = 2;
+const int C = 3;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/inc1/header_def.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// a header in a different directory to the source files
+
+const int D = 4;
+const int E = 5;
+const int F = 6;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/inc2/header_ghi.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// a header in a different directory to the source files
+
+const int G = 7;
+const int H = 8;
+const int I = 9;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/sys1/header_jkl.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// a header in a different directory to the source files
+
+const int J = 10;
+const int K = 11;
+const int L = 12;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/sys2/header_mno.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// a header in a different directory to the source files
+
+const int M = 13;
+const int N = 14;
+const int O = 15;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_exe.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			tool_exe.exe
+TARGETTYPE		EXE
+SOURCE			tool_exe_a.cpp
+SOURCE			tool_exe_b.cpp
+USERINCLUDE		./inc1
+USERINCLUDE		./inc2
+SYSTEMINCLUDE	./sys1
+SYSTEMINCLUDE	./sys2
+STATICLIBRARY	tool_lib1
+STATICLIBRARY	tool_lib2
+#include "../inc/macrotests.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_exe_a.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// the product HRH file
+#ifdef __PRODUCT_INCLUDE__
+#include __PRODUCT_INCLUDE__
+#endif
+
+// in the current directory
+#include "header_abc.h"
+
+// USERINCLUDES
+#include "header_def.h"
+#include "header_ghi.h"
+
+// SYSTEMINCLUDES
+#include <header_jkl.h>
+#include <header_mno.h>
+
+int tool_exe_b(int);
+int tool_lib1_a(int);
+int tool_lib1_b(int);
+int tool_lib2_a(int);
+int tool_lib2_b(int);
+
+
+#include "../inc/macrotests.h"
+
+int main(int argc, char *argv[])
+{
+    // use all the functions
+
+	int a = tool_lib1_a(argc) + tool_lib2_a(argc);
+	int b = tool_lib1_b(argc) + tool_lib2_b(argc);
+
+	// defined in the headers
+	int caps = A + B + C + D + E + F + G + H + I + J + K + L + M + N + O;
+
+	return tool_exe_b(a + b + caps);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_exe_b.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+int tool_exe_b(int input)
+{
+	return input * input;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib1.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			libtool_lib1.a
+TARGETTYPE		LIB
+SOURCE			tool_lib1_a.cpp
+SOURCE			tool_lib1_b.cpp
+
+#include "../inc/macrotests.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib1_a.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "../inc/macrotests.h"
+
+int tool_lib1_a(int input)
+{
+	return input + 1;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib1_b.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+int tool_lib1_b(int input)
+{
+	return input + 2;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			libtool_lib2.a
+TARGETTYPE		LIB
+SOURCE			tool_lib2_a.cpp
+SOURCE			tool_lib2_b.cpp
+
+#include "../inc/macrotests.mmh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib2_a.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+int tool_lib2_a(int input)
+{
+	return input - 1;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/tool_lib2_b.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+int tool_lib2_b(int input)
+{
+	return input - 2;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/autorun1.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// trace compiler runs as the userinclude path matches
+
+TARGET			test
+TARGETTYPE		EXE
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+
+SYSTEMINCLUDE		/epoc32/include
+
+USERINCLUDE		../traces_autorun1
+
+SOURCE			test.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/autorun2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// trace compiler does not run as userinclude path does not match
+
+TARGET			test
+TARGETTYPE		EXE
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib
+
+SYSTEMINCLUDE		/epoc32/include
+
+USERINCLUDE		./tracesnotmatch
+
+SOURCE			test.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/autorun3.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+// trace compiler does NOT run as there is neither UID2 nor UID3
+ 
+TARGET			test
+TARGETTYPE		EXE
+
+LIBRARY			euser.lib
+
+SYSTEMINCLUDE		/epoc32/include
+
+userinclude		../traces
+
+SOURCE			test.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+autorun1.mmp
+autorun2.mmp
+autorun3.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_autorun/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+TInt E32Main()
+{
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/HelloWorld.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+============================================================================
+ Name		: HelloWorld.mmp
+ Author	  : 
+ Copyright   : Your copyright notice
+ Description : This is the project specification file for HelloWorld.
+============================================================================
+*/
+
+TARGET		HelloWorld.exe
+TARGETTYPE	exe
+UID		0 0xE78A5AA3
+
+USERINCLUDE	..\inc  
+USERINCLUDE	..\traces
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\platform
+
+SOURCEPATH	..\src
+SOURCE		HelloWorld.cpp
+
+LIBRARY		euser.lib
+
+featurevariant
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+/*
+============================================================================
+ Name		: bld.inf
+ Author	  : 
+ Copyright   : Your copyright notice
+ Description : This file provides the information required for building the
+				whole of a HelloWorld.
+============================================================================
+*/
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+HelloWorld.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/inc/HelloWorld.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+ ============================================================================
+ Name		: HelloWorld.h
+ Author	  : 
+ Copyright   : Your copyright notice
+ Description : Exe header file
+ ============================================================================
+ */
+
+#ifndef __HELLOWORLD_H__
+#define __HELLOWORLD_H__
+
+//  Include Files
+
+#include <e32base.h>
+
+//  Function Prototypes
+
+GLDEF_C TInt E32Main();
+
+#endif  // __HELLOWORLD_H__
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/src/HelloWorld.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,86 @@
+/*
+ ============================================================================
+ Name		: HelloWorld.cpp
+ Author	  : 
+ Copyright   : Your copyright notice
+ Description : Exe source file
+ ============================================================================
+ */
+
+//  Include Files  
+
+#include "HelloWorld.h"
+#include <e32base.h>
+#include <e32std.h>
+#include <e32cons.h>
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "HelloWorldTraces.h"
+#endif
+			// Console
+
+//  Constants
+
+_LIT(KTextConsoleTitle, "Console");
+_LIT(KTextFailed, " failed, leave code = %d");
+_LIT(KTextPressAnyKey, " [press any key]\n");
+
+//  Global Variables
+
+LOCAL_D CConsoleBase* console; // write all messages to this
+
+
+//  Local Functions
+
+LOCAL_C void MainL()
+    {
+    //
+    // add your program code here, example code below
+    //
+    console->Write(_L("Hello, world!\n"));
+    }
+
+LOCAL_C void DoStartL()
+    {
+    // Create active scheduler (to run active objects)
+    CActiveScheduler* scheduler = new (ELeave) CActiveScheduler();
+    CleanupStack::PushL(scheduler);
+    CActiveScheduler::Install(scheduler);
+
+    MainL();
+    OstTrace0( TRACE_NORMAL, _DOSTARTL, "Hello World" );
+    
+
+    // Delete active scheduler
+    CleanupStack::PopAndDestroy(scheduler);
+    }
+
+//  Global Functions
+
+GLDEF_C TInt E32Main()
+    {
+    // Create cleanup stack
+    __UHEAP_MARK;
+    CTrapCleanup* cleanup = CTrapCleanup::New();
+
+    // Create output console
+    TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize(
+            KConsFullScreen, KConsFullScreen)));
+    if (createError)
+        return createError;
+
+    // Run application code inside TRAP harness, wait keypress when terminated
+    TRAPD(mainError, DoStartL());
+    if (mainError)
+        console->Printf(KTextFailed, mainError);
+    console->Printf(KTextPressAnyKey);
+    console->Getch();
+    
+    
+
+    delete console;
+    delete cleanup;
+    __UHEAP_MARKEND;
+    return KErrNone;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/OstTraceDefinitions.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/CommonFramework.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#ifndef __CommonFramework_H
+#define __CommonFramework_H
+
+#include <e32base.h>
+#include <e32cons.h>
+
+_LIT(KTxtEPOC32EX,"EXAMPLES");
+_LIT(KTxtExampleCode,"Symbian OS Example Code");
+_LIT(KFormatFailed,"failed: leave code=%d");
+_LIT(KTxtOK,"ok");
+_LIT(KTxtPressAnyKey," [press any key]");
+
+// public
+LOCAL_D CConsoleBase* console; // write all your messages to this
+LOCAL_C void doExampleL(); // code this function for the real example
+
+// private
+LOCAL_C void callExampleL(); // initialize with cleanup stack, then do example
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error,callExampleL()); // more initialization, then do example
+	__ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0; // and return
+    }
+
+LOCAL_C void callExampleL() // initialize and call example code under cleanup stack
+    {
+	console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));
+	CleanupStack::PushL(console);
+	TRAPD(error,doExampleL()); // perform example function
+	if (error)
+		console->Printf(KFormatFailed, error);
+	else
+		console->Printf(KTxtOK);
+	console->Printf(KTxtPressAnyKey);
+	console->Getch(); // get and ignore character
+	CleanupStack::PopAndDestroy(); // close console
+    }
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/TCSTATICDLLWINS.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,4 @@
+EXPORTS
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 1 NONAME ; ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z
+	?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; ?ShowMessage@CMessenger@@QAEXXZ
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW
+
+PRJ_MMPFILES
+
+tcwinsStaticDLL.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This program creates a dll.
+*
+*/
+
+
+#include "tcwinsStaticDLL.h"
+#include <e32uid.h>
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "tcwinsStaticDLLTraces.h"
+#endif
+
+
+// construct/destruct
+
+
+extern "C" void __ARM_switch8();
+
+void sbs_test()
+	{
+	__ARM_switch8();
+	}
+
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	OstTrace0( TRACE_API, CMESSENGER_NEWL, "CMessenger::NewLC()" );
+	OstTrace0( TRACE_NORMAL, DUP1_CMESSENGER_NEWL, "CMessenger::NewLC()" );  
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+	{
+	OstTrace0( TRACE_API, DUP1_CMESSENGER_CMESSENGER, "CMessenger::~CMessenger()" );
+	OstTrace0( TRACE_NORMAL, DUP2_CMESSENGER_CMESSENGER, "CMessenger::~CMessenger()" );  
+	delete iString;
+	}
+
+EXPORT_C void CMessenger::ShowMessage()
+	{
+	_LIT(KFormat1,"%S\n");
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+ 
+
+#include <e32cons.h>
+
+
+class CMessenger : public CBase
+  	{
+public:
+		// Construction
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+		// Destructor - virtual and class not intended
+		// for derivation, so not exported
+	~CMessenger();
+		// general functions - exported
+	IMPORT_C void ShowMessage();
+private:
+		// C++ constructor - not exported;
+		// implicitly called from NewLC()
+	CMessenger(CConsoleBase& aConsole);
+		// 2nd phase construction, called by NewLC()
+	void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+	CConsoleBase& iConsole; // Use the console (but not owned)
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+	};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET        tcwinsstaticdll.dll
+TARGETTYPE    dll
+
+UID             0xE800004C
+CAPABILITY   All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        tcwinsStaticDLL.cpp
+SOURCE        tcwinsfiletwo.cpp
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/platform
+USERINCLUDE traces
+
+LIBRARY       euser.lib
+
+#if defined(WINS)
+    deffile ./TCSTATICDLLWINS.def
+#endif
+nostrictdef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsfiletwo.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This program creates a dll.
+*
+*/
+
+
+#include "tcwinsfiletwo.h"
+#include <e32uid.h>
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "tcwinsfiletwoTraces.h"
+#endif
+
+
+// construct/destruct
+
+
+extern "C" void __ARM_switch8();
+
+EXPORT_C CMessenger2* CMessenger2::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	OstTrace0( TRACE_NORMAL, DUP1_CMESSENGER2_NEWL, "CMessenger2::NewLC()" );  
+	CMessenger2* self=new (ELeave) CMessenger2(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger2::~CMessenger2() // destruct - virtual, so no export
+	{
+	OstTrace0( TRACE_API, DUP1_CMESSENGER2_CMESSENGER2, "CMessenger2::~CMessenger2()" );
+	delete iString;
+	}
+
+EXPORT_C void CMessenger2::ShowMessage()
+	{
+	_LIT(KFormat1,"%S\n");
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger2::CMessenger2(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger2::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsfiletwo.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+ 
+
+#include <e32cons.h>
+
+
+class CMessenger2 : public CBase
+  	{
+public:
+		// Construction
+	IMPORT_C static CMessenger2* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+		// Destructor - virtual and class not intended
+		// for derivation, so not exported
+	~CMessenger2();
+		// general functions - exported
+	IMPORT_C void ShowMessage();
+private:
+		// C++ constructor - not exported;
+		// implicitly called from NewLC()
+	CMessenger2(CConsoleBase& aConsole);
+		// 2nd phase construction, called by NewLC()
+	void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+	CConsoleBase& iConsole; // Use the console (but not owned)
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+	};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/traces/OstTraceDefinitions.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW
+
+PRJ_MMPFILES
+win32resourcedll.mmp
Binary file sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/epoc32.ico has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/gui.rc	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,79 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include <windows.h>
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.K.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+EPOC_ICON               ICON    DISCARDABLE     "epoc32.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Cursor
+//
+
+OVERKEY                 CURSOR  DISCARDABLE     "hand.cur"
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""afxres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+#endif    // English (U.K.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
Binary file sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/hand.cur has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/resource.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+ //{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by gui.rc
+//
+#define EPOC_ICON                       102
+#define OVERKEY                         104
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        105
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1000
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/win32resource/win32resourcedll.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "../CreateStaticDLL.mmp"
+
+START WINS
+WIN32_RESOURCE gui.rc
+END
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+PRJ_PLATFORMS
+ARMV5 WINSCW 
+
+PRJ_MMPFILES
+tc_variants.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/group/tc_variants.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+
+TARGET			tc_variants
+TARGETTYPE		EXE
+
+UID			0x100039ce 0x10000004
+LIBRARY			euser.lib
+SYSTEMINCLUDE		/epoc32/include
+SYSTEMINCLUDE		/epoc32/include/platform
+
+SOURCEPATH		../src
+SOURCE			tc_main.cpp
+#if defined(MACRO_TC_A)
+SOURCE			tc_a.cpp
+#endif
+#if defined(MACRO_TC_B)
+SOURCE			tc_b.cpp
+#endif
+#if defined(MACRO_TC_C)
+SOURCE			tc_c.cpp
+#endif
+
+USERINCLUDE		../traces
+
+featurevariant
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/hrh/var1.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,4 @@
+#include <variant/Symbian_OS.hrh>
+
+#define MACRO_TC_A
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/hrh/var2.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,4 @@
+#include <variant/Symbian_OS.hrh>
+
+#define MACRO_TC_B
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/hrh/var3.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,4 @@
+#include <variant/Symbian_OS.hrh>
+
+#define MACRO_TC_C
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/src/tc_a.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "tc_aTraces.h"
+#endif
+
+#include "e32def.h"
+
+TInt tc_a()
+{
+	OstTrace0( TRACE_NORMAL, PLACE2, "source tc_a" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/src/tc_b.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "tc_bTraces.h"
+#endif
+
+#include "e32def.h"
+
+TInt tc_b()
+{
+	OstTrace0( TRACE_NORMAL, PLACE3, "source tc_b" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/src/tc_c.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "tc_cTraces.h"
+#endif
+
+#include "e32def.h"
+
+TInt tc_c()
+{
+	OstTrace0( TRACE_NORMAL, PLACE4, "source tc_c" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/src/tc_main.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "tc_mainTraces.h"
+#endif
+
+#include "e32def.h"
+
+char test[] = "source tc_main";
+
+TInt E32Main()
+{
+	OstTrace0( TRACE_NORMAL, PLACE1, "source tc_main" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/OstTraceDefinitions.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/variants.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+	<var name="feature_variant_base">
+		<set name='USE_TRACE_COMPILER' value='1' />       
+		<set name='FEATURELISTFILES' value='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/list.txt'/>
+		<env name='JAVA_HOME' default='C:/APPS/jdk_1.6.0_11' type='path'/>
+		<env name='SBS_JAVATC' default='$(JAVA_HOME)/bin/java' type='tool' versionCommand='$(SBS_JAVATC) -version' versionResult='version \"1\.[5-9]' />
+	</var>
+
+	<var name="phone1" extends="feature_variant_base">
+		<set name='FEATUREVARIANTNAME' value='.phone1'/>
+		<set name='VARIANT_HRH' value='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/hrh/var1.hrh'/> 
+	</var>
+
+	<var name="phone2" extends="feature_variant_base">
+		<set name='FEATUREVARIANTNAME' value='.phone2'/> 
+		<set name='VARIANT_HRH' value='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/hrh/var2.hrh'/> 
+	</var>
+
+	<var name="phone3" extends="feature_variant_base">
+		<set name='FEATUREVARIANTNAME' value='.phone3'/> 
+		<set name='VARIANT_HRH' value='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/hrh/var3.hrh'/> 
+	</var>
+
+</build>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+PRJ_PLATFORMS
+ARMV5
+ 
+PRJ_MMPFILES
+mum.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+
+TARGET			child1
+TARGETTYPE		EXE
+
+UID			0x100039ce 0x11100001
+LIBRARY			euser.lib
+SYSTEMINCLUDE		/epoc32/include
+SYSTEMINCLUDE		/epoc32/include/platform
+
+SOURCEPATH		../src
+SOURCE			child1.cpp
+SOURCE			common.cpp
+
+USERINCLUDE		../traces/traces_child1_exe
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+
+TARGET			child2
+TARGETTYPE		EXE
+
+UID			0x100039ce 0x11100002
+LIBRARY			euser.lib
+SYSTEMINCLUDE		/epoc32/include
+SYSTEMINCLUDE		/epoc32/include/platform
+
+SOURCEPATH		../src
+SOURCE			child2.cpp
+SOURCE			common.cpp
+
+USERINCLUDE		../traces/traces_child2_exe
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,14 @@
+TARGET			child3
+TARGETTYPE		EXE
+
+UID			0x100039ce 0x11100002
+LIBRARY			euser.lib
+SYSTEMINCLUDE		/epoc32/include
+SYSTEMINCLUDE		/epoc32/include/platform
+
+SOURCEPATH		../src
+SOURCE			child3.cpp
+SOURCE			common.cpp
+
+USERINCLUDE		../traces/traces_child3_exe
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/mum.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,20 @@
+
+#include <var.hrh>
+  
+targettype		None
+
+#ifdef CHILD1
+  #include "child1.mmp"
+  #warning "Child 1 selected"
+#endif
+#ifdef CHILD2
+  #include "child2.mmp"
+  #warning "Child 2 selected"
+#endif
+#ifdef CHILD3
+  #include "child3.mmp"
+  #warning "Child 3 selected"
+#endif
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/src/child1.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "child1Traces.h"
+#endif
+
+#include "e32def.h"
+
+char test[] = "Child 1";
+
+TInt E32Main()
+{
+	OstTrace0( TRACE_NORMAL, PLACE1, "Child 1" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/src/child2.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "child2Traces.h"
+#endif
+
+#include "e32def.h"
+
+TInt E32Main()
+{
+	OstTrace0( TRACE_NORMAL, PLACE2, "Child 2" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/src/child3.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,14 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "child3Traces.h"
+#endif
+
+#include "e32def.h"
+
+
+TInt E32Main()
+{
+	OstTrace0( TRACE_NORMAL, PLACE3, "Child 3" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/src/common.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,14 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "commonTraces.h"
+#endif
+
+#include "e32def.h"
+
+
+TInt common()
+{
+	OstTrace0( TRACE_NORMAL, PLACE0, "Common file shared by all mmp files" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child1_exe/OstTraceDefinitions.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/OstTraceDefinitions.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/OstTraceDefinitions.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/use_tc.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+	<!-- test trace compiler -->
+	<var name="tc_var_base">
+		<set name='USE_TRACE_COMPILER' value='1' />
+		<env name='JAVA_HOME' default='' type='path'/>
+		<env name='SBS_JAVATC' default='$(JAVA_HOME)/bin/java' type='tool' versionCommand='$(SBS_JAVATC) -version' versionResult='version \"1\.[5-9]' />
+	</var>
+	<var name="tc_var1" extends="tc_var_base">
+		<prepend name='SYSTEMINCLUDE' value='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/var1' />
+	</var>
+	<var name="tc_var2" extends="tc_var_base">
+		<prepend name='SYSTEMINCLUDE' value='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/var2' />
+	</var>
+	<var name="tc_var3" extends="tc_var_base">
+		<prepend name='SYSTEMINCLUDE' value='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/var3' />
+	</var>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/var1/var.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+
+#define CHILD1
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/var2/var.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+
+#define CHILD2
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/var3/var.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+
+#define CHILD3
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/eabi/testTCu.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+EXPORTS
+	_ZN11CWlanHwInit13GetHwInitDataEPPKhRjS2_S3_ @ 1 NONAME
+	_ZN11CWlanHwInit13GetHwTestDataEjR5TDes8 @ 2 NONAME
+	_ZN11CWlanHwInit13GetMacAddressER8TMacAddr @ 3 NONAME
+	_ZN11CWlanHwInit13SetHwTestDataEjR6TDesC8 @ 4 NONAME
+	_ZN11CWlanHwInit17GetHwTestInitDataEPPKhRjS2_S3_ @ 5 NONAME
+	_ZN11CWlanHwInit4NewLEv @ 6 NONAME
+	_ZN11CWlanHwInitD0Ev @ 7 NONAME
+	_ZN11CWlanHwInitD1Ev @ 8 NONAME
+	_ZN11CWlanHwInitD2Ev @ 9 NONAME
+	_ZThn4_N11CWlanHwInit13GetHwInitDataEPPKhRjS2_S3_ @ 10 NONAME ; #<thunk>#
+	_ZThn4_N11CWlanHwInit13GetHwTestDataEjR5TDes8 @ 11 NONAME ; #<thunk>#
+	_ZThn4_N11CWlanHwInit13GetMacAddressER8TMacAddr @ 12 NONAME ; #<thunk>#
+	_ZThn4_N11CWlanHwInit13SetHwTestDataEjR6TDesC8 @ 13 NONAME ; #<thunk>#
+	_ZThn4_N11CWlanHwInit17GetHwTestInitDataEPPKhRjS2_S3_ @ 14 NONAME ; #<thunk>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+/*
+*  You need tracecompiler to run this test.
+*/
+
+PRJ_PLATFORMS
+ARMV5
+
+PRJ_MMPFILES
+testTC.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+/*
+*  You need tracecompiler to run this test.
+*/
+
+PRJ_PLATFORMS
+ARMV5
+
+PRJ_MMPFILES
+test.TC.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/test.TC.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET          testTC.dll
+TARGETTYPE      dll
+UID             0x1000008d
+
+CAPABILITY      all
+
+DEFFILE         ../eabi/
+
+SOURCEPATH      ../src 
+SOURCE          wlanhwinit.cpp
+SOURCE          wlanhwinitmain.cpp
+SOURCE          wlanhwinitpermparser.cpp
+
+USERINCLUDE     ../inc
+USERINCLUDE     ../traces
+OS_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/libc
+SYSTEMINCLUDE   /epoc32/include/internal
+SYSTEMINCLUDE   /epoc32/include/platform
+
+LIBRARY         euser.lib
+LIBRARY		iscapi.lib
+LIBRARY         isimessage.lib
+LIBRARY		efsrv.lib
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/testTC.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET          testTC.dll
+TARGETTYPE      dll
+UID             0x1000008d
+
+CAPABILITY      all
+
+DEFFILE         ../eabi/
+
+SOURCEPATH      ../src 
+SOURCE          wlanhwinit.cpp
+SOURCE          wlanhwinitmain.cpp
+SOURCE          wlanhwinitpermparser.cpp
+
+USERINCLUDE     ../inc
+USERINCLUDE     ../traces
+OS_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/libc
+SYSTEMINCLUDE   /epoc32/include/internal
+SYSTEMINCLUDE   /epoc32/include/platform
+
+LIBRARY         euser.lib
+LIBRARY		iscapi.lib
+LIBRARY         isimessage.lib
+LIBRARY		efsrv.lib
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/bcmnvmem.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,135 @@
+/*
+ * Broadcom implementation of Nokia WLAN Hardware Abstraction layer
+ *
+ * Copyright (C) 2008, Broadcom Corporation
+ * All Rights Reserved.
+ * 
+ * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
+ * the contents of this file may not be disclosed to third parties, copied
+ * or duplicated in any form, in whole or in part, without the prior
+ * written permission of Broadcom Corporation.
+ *
+ * $Id: bcmnvmem.h,v 1.2.2.4.4.1 2008/09/08 22:53:16 Exp $
+ */
+
+#ifndef BCMNVMEM_H
+#define BCMNVMEM_H
+
+#include <wlanwhanamespace.h>
+
+// Values larger than 8 bits are stored in little-endian format
+// Total size: 320 bytes
+
+NAMESPACE_BEGIN_WHA
+
+#define BCM_NVMEM_MAGIC1                (TUint8)'N'     // 78
+#define BCM_NVMEM_MAGIC2                (TUint8)'V'     // 86
+#define BCM_NVMEM_MAGIC3                (TUint8)'M'     // 77
+#define BCM_NVMEM_VERSION               3
+
+#define BCM_NVMEM_FLAG_VERIFY           0x00000001
+
+#ifndef BCM_NVMEM_PACKED
+#define BCM_NVMEM_PACKED                // For packed-ness testing only
+#endif
+
+struct SNvMem {
+    TUint8      magic1;
+    TUint8      magic2;
+    TUint8      magic3;
+    TUint8      version;
+
+    // Broadcom WHA section
+    TUint32     whaflags;
+    TUint8      whaspiclklo;
+    TUint8      whaspiclkhi;
+    TUint8      whamac[6];
+
+    // Broadcom device section
+    TUint16     xtalfreq;
+    TUint16     manfid;
+    TUint16     prodid;
+    TUint16     sromrev;
+    TUint16     vendid;
+    TUint16     devid;
+    TUint16     boardtype;
+    TUint16     boardrev;
+    TUint32     boardflags;
+    TUint32     boardflags2;
+    TUint16     opo;
+    TUint16     pa0b0;
+    TUint16     pa0b1;
+    TUint16     pa0b2;
+    TUint16     pa0b3;
+    TUint16     pa0b4;
+    TUint16     pa0b5;
+    TUint16     pa0b6;
+    TUint16     pa0b7;
+    TUint16     pa0b8;
+    TUint8      rssismf2g;
+    TUint8      rssismc2g;
+    TUint8      rssisav2g;
+    TUint8      rssismf2g_low0;
+    TUint8      rssismc2g_low1;
+    TUint8      rssisav2g_low2;
+    TUint8      rssismf2g_hi1;
+    TUint8      rssismc2g_hi2;
+    TUint8      rssisav2g_hi3;
+    TUint8      pa0itssit;
+    TUint8      tri2g;
+    TUint8      rxpo2g;
+    TUint16     pa0maxpwr;
+    TUint16     aa2g;
+    TUint16     ag0;
+    TUint16     cctl;
+    TUint32     boardnum;
+    TUint8      bxa2g;
+    TUint8      _pad2[43];
+
+    // Bob WLAN NW Memory device section (based on Draft 0.3)
+    TUint8      PL_2G_hdb;              /* Table 1 */
+    TUint8      PL_5G_hdb;
+    TUint16     rfq_2G;
+    TUint16     rfq_4G;
+    TUint16     rfq_5G_l;
+    TUint16     rfq_5G_m;
+    TUint16     rfq_5G_h;
+    TUint16     pd_2G;
+    TUint16     pd_4G;
+    TUint16     pd_5G_l;
+    TUint16     pd_5G_m;
+    TUint16     pd_5G_h;
+    TUint8      txg_2G;
+    TUint8      txg_4G;
+    TUint8      txg_5G_l;
+    TUint8      txg_5G_m;
+    TUint8      txg_5G_h;
+    TUint8      P2G_PL1_hdb[9];         /* Table 2a (bumped to 9 entries for 11n) */
+    TUint8      P2G_PL2_hdb[9];
+    TUint8      P2G_PL3_hdb[9];
+    TUint8      P2G_PL4_hdb[9];
+    TUint8      P5G_PL1_hdb[8];         /* Table 2b */
+    TUint8      P5G_PL2_hdb[8];
+    TUint8      P5G_PL3_hdb[8];
+    TUint8      P5G_PL4_hdb[8];
+    TUint8      cga_cck_2G[14];         /* Table 4 */
+    TUint8      cga_ofdm_2G[13];
+    TUint8      cga_j_4G[4];
+    TUint8      cga_j_5G[3];
+    TUint8      cga_5G_l[8];
+    TUint8      cga_5G_m[4];
+    TUint8      cga_5G_u1[11];
+    TUint8      cga_5G_u11[4];
+    TUint8      pab_2G[6];              /* Table 5 */
+    TUint8      pab_5G[6];
+    TUint8      rssi_adj_2G;            /* Table 6 */
+    TUint8      rssi_adj_j_5G;
+    TUint8      rssi_adj_5G_l;
+    TUint8      rssi_adj_5G_m;
+    TUint8      rssi_adj_5G_h;
+    TUint8      _pad3[19];
+} BCM_NVMEM_PACKED;
+
+NAMESPACE_END_WHA
+
+#endif  // BCMNVMEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/gendebug.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,157 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*     Contains methods for debug traces both in user space and kernel.
+*
+*/
+
+
+// @todo andreh - this file isn't needed in project, 
+//                cause belongs to wlaneng and is already exported there
+
+#ifndef GENDEBUG_H
+#define GENDEBUG_H
+
+#ifndef __KERNEL_MODE__
+#include <e32svr.h>
+#endif
+
+/** @file gendebug.h
+    @brief Common helper file for debugging. 
+
+    The file contains methods for adding traces and hardcoded breakpoint.
+
+    @page page1 A documentation for general helper module for doing debugging and tracing.
+
+    @subsection subsec1 This subsection describes the usage of hardcoded breakpoints.
+
+    Hardcoded breakpoints are usefull for allowing the execution to stop in right places
+    without bringing the OS down like using general assertions would do. Hardcoded breakpoints
+    must be used together with debugger. The hardcoded breakpoints are used by inserting
+    macro _DBG_MUST_BREAK into source code.
+
+    @note This feature has not been implemented yet.
+
+    @subsection subsec2 This subsection describes the usage of trace utilities.
+
+    Tracing is the most important way of doing HW level debugging (after looking the source of course).
+    Most of times users don't have access to debuggers and doing debugging in the field can be greatly
+    improved if there are great variety of configurable traces available.
+
+    In order to use the macro in kernel space, ALWAYS_KERNEL must be defined in the MMP-file of the module.
+
+    To use static tracing the module using these utilities must have defined DEBUG_LEVEL (this is integer constant) in
+    MMP-file. This constant defines the bit-mask for the set of traces, which are put into code at the compile time. See
+    the macro definitions for details.
+
+    The other way to do tracing is to use run-time tracing, which requires from user to put class member variable iDbgLevel
+    into their class. This variable is used the same way as the static flag by using bit-mask to define enabled traces. See
+    the macro definitions for details.
+*/
+
+/// @todo Implement this after checking the ARM manual
+#if defined(_DEBUG)
+#define _DBG_MUST_BREAK
+#else
+#define _DBG_MUST_BREAK
+#endif
+
+/** Critical trace-level is used when system is about to down very soon because of critical error. 
+    In most cases this trace level can be replaced by using assert with trace but in some cases
+    more information can be provided by using this debug level
+*/
+#define CRIT_LEVEL              0x00000001
+
+/** Serious trace-level is used when something bad and unexpected has happened but system might be
+    able to recover. In another words, software is not going to bring system forcefully down but
+    that's exactly what might happen due to an error.
+*/
+#define SERIOUS_LEVEL           0x00000002
+
+/* Error level is used to trace various errors, which are due to legal errors in normal operation. */
+#define ERROR_LEVEL             0x00000004
+
+/* Warning level is used to trace various warning, which are due to abnormal behaviour. */
+#define WARNING_LEVEL           0x00000008
+
+/* Info level is used to trace all general information. */
+#define INFO_LEVEL              0x00000010
+
+/* User definable trace level. This comment and definition should be replaced by the real usage. */
+#define USER_DEFINED_1          0x000010000
+/* User definable trace level. This comment and definition should be replaced by the real usage. */
+#define USER_DEFINED_2          0x000020000
+/* User definable trace level. This comment and definition should be replaced by the real usage. */
+#define USER_DEFINED_3          0x000040000
+/* User definable trace level. This comment and definition should be replaced by the real usage. */
+#define USER_DEFINED_4          0x000080000
+/* User definable trace level. This comment and definition should be replaced by the real usage. */
+#define USER_DEFINED_5          0x000100000
+/* User definable trace level. This comment and definition should be replaced by the real usage. */
+#define USER_DEFINED_6          0x000200000
+/* User definable trace level. This comment and definition should be replaced by the real usage. */
+#define USER_DEFINED_7          0x000400000
+/* User definable trace level. This comment and definition should be replaced by the real usage. */
+#define USER_DEFINED_8          0x000800000
+
+#define DEVICE_1_MASK           0x0000f000
+#define DEVICE_2_MASK           0x000f0000
+#define DEVICE_3_MASK           0x00f00000
+#define DEVICE_4_MASK           0x0f000000
+
+// Override debug-level definition for your own in MMP file
+#ifndef DEBUG_LEVEL
+#define DEBUG_LEVEL 0x000000FF
+#endif
+
+/// @todo find the right macro for debug builds
+
+#pragma warning(disable : 4127)    // conditional expression is constant
+
+#if defined(_DEBUG) || defined(TRACES)
+
+// Do not directly use this macro
+//lint -emacro({717}, UtilDump)   do while(0)
+//lint -emacro({774}, UtilDump)   conditional expression is constant
+#define UtilDump(PFUNCTION,SRCLEVEL,TRGLEVEL,STRING) \
+        do { \
+            TUint32 _level = (TRGLEVEL); \
+            if (SRCLEVEL & _level) { \
+            PFUNCTION STRING; \
+            } \
+        } while (0)
+
+#ifdef __KERNEL_MODE__
+	#define TraceDump(LEVEL,STRING) UtilDump(Kern::Printf,DEBUG_LEVEL,LEVEL,STRING)
+	#define RTraceDump(LEVEL,STRING) UtilDump(Kern::Printf,iDbgLevel,LEVEL,STRING)
+#else
+	#define TraceDump(LEVEL,STRING) UtilDump(RDebug::Print,DEBUG_LEVEL,LEVEL,STRING)
+	#define RTraceDump(LEVEL,STRING) UtilDump(RDebug::Print,iDbgLevel,LEVEL,STRING)
+#endif
+
+#else  // it is release mode
+//lint -emacro({717}, TraceDump) do while(0)
+#define TraceDump(LEVEL,STRING) do {} while (0)
+//lint -emacro({717}, RTraceDump) do while(0)
+#define RTraceDump(LEVEL,STRING) do {} while (0)
+
+#endif // _DEBUG
+
+
+
+
+#endif // GENDEBUG_H
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/lmac_firmware.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,8466 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/* Binary image file name: init_lmac.dat */
+
+const unsigned int normal_firmware[] = {
+0x19171513,0x00000001,0x00000140,0x034d564e,0x00000000,0xa1003030,
+0x5544332f,0x02d09600,0x00030492,0x432f14e4,0x002104b9,0x00000000,
+0x00000000,0x17cc0000,0xfebbfa3a,0xfa3a17cc,0x1737febb,0xfea3fa48,
+0x0a030d0a,0x0b0a030d,0xf65e3e03,0x0002005a,0x000000ff,0x00000800,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x098a1d1e,
+0x14501360,0x164415a4,0x04000400,0x04000400,0x50500400,0x08505050,
+0x00030707,0xfefefefe,0x00000000,0x00000000,0xfafafa00,0xfafafafa,
+0xf2f2fafa,0xf2f2f2f2,0x07f2f2f2,0xfe000307,0x00fefefe,0xfe000000,
+0xfafefefe,0xfafafafa,0xf2fafafa,0xf2f2f2f2,0x00f2f2f2,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x20202428,0x24002020,0x20202020,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000002,
+0x00031658,0x00000000,0x00000971,0x0000081d,0x0000081d,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x0000081d,
+0x0000081d,0x0000081d,0x0000081d,0x0000081d,0x0000081d,0x0000081d,
+0x0000081d,0x0000081d,0x0000081d,0x0000081d,0x0000081d,0x0000081d,
+0x0000081d,0x0000081d,0x0000081d,0x47004803,0x00000000,0x53485244,
+0x00000000,0x00000971,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000961,
+0x00000919,0x000005fd,0x0000487d,0x0001d3d1,0x00004f69,0x0001de8d,
+0x00004e0d,0x0000b841,0x0000b5c9,0x000099b1,0x0000b979,0x0001c2f5,
+0x00013d05,0x00013d15,0x00013d21,0x00013d35,0x00013d49,0x00014755,
+0x0000096d,0x0000096d,0x0000096d,0x0000096d,0x0000096d,0x0000096d,
+0x0000096d,0x1e0091a1,0x1e002bc5,0x1e003759,0x1e006861,0x1e005aa5,
+0x1e000d35,0x1e000f51,0x1e0060a9,0x1e005d75,0x1e00004d,0x1e00705d,
+0x1e0002cd,0x1e007d85,0x1e00614d,0x1e0062ed,0x1e0004f5,0x1e004461,
+0x1e000749,0x1e003161,0x1e0032a1,0x1e0046e9,0x1e0044d1,0x1e0001a5,
+0x1e007e7d,0x1e0091d5,0x1e006221,0x1e00578d,0x1e005075,0x1e005a11,
+0x1e0040b9,0x1e004b1d,0x1e000ff1,0x1e003039,0x1e004a11,0x1e008099,
+0x1e006331,0x1e005fd5,0x1e005c41,0x0001fccd,0x1e0037cd,0x1e002fc9,
+0x1e001bfd,0x1e005939,0x1e004449,0x1e005195,0x1e0058c1,0x1e004c7d,
+0x1e004249,0x1e003e21,0x1e007e8d,0x1e005cdd,0x0001f861,0x1e0009e1,
+0x0001f8f1,0x1e007415,0x1e0052a5,0x1e00234d,0x1e006fcd,0x1e008025,
+0x1e00458d,0x0001ecf1,0x1e007e59,0x1e002431,0x1e007d55,0x1e0069c9,
+0x1e0045c1,0x1e0040a9,0x1e007b0d,0x1e001d55,0x1e0047d5,0x1e005c25,
+0x1e0021dd,0x1e004719,0x1e001af5,0x1e005d41,0x1e000a85,0x1e002851,
+0x1e005201,0x1e004d05,0x1e000f9d,0x1e006611,0x1e004041,0x1e003505,
+0x0001fcdd,0x1e0044d9,0x1e006b05,0x1e005a49,0x1e0006c1,0x1e000b4d,
+0x1e000109,0x1e005ec1,0x1e00629d,0x1e00a17d,0x1e0040f9,0x1e006b6d,
+0x1e001015,0x1e000949,0x0001fcc9,0x1e007559,0x1e0059d5,0x1e003981,
+0x1e00348d,0x1e007d5d,0x1e003e11,0x1e009f8d,0x1e003f65,0x1e0072c5,
+0x1e001271,0x1e005e9d,0x1e009275,0x1e005e51,0x1e000611,0x1e001edd,
+0x1e001e39,0x1e002d3d,0x1e006ded,0x1e000f61,0x1e000e89,0x1e002489,
+0x1e006abd,0x1e005c15,0x1e004569,0x1e000e79,0x1e0061f9,0x1e005da1,
+0x1e000c6d,0x1e003075,0x1e004b35,0x1e0005d9,0x1e0057b1,0x1e00917d,
+0x1e005959,0x1e0036f9,0x1e0062d1,0x0001e73d,0x1e001d25,0x1e004865,
+0x1e004075,0x1e000e11,0x1e001f01,0x1e001cf1,0x1e0024dd,0x1e005ddd,
+0x1e005a21,0x00000020,0x0000001f,0x00000050,0x00000001,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x681a4b03,0xf8c22300,
+0xf8d23644,0x47703644,0x000003e8,0x46c04770,0x6801b537,0xf1a14605,
+0x2b0f0310,0xf000d802,0xe026f90b,0x4c1368c3,0x686a9300,0x481268ab,
+0x69eb47a0,0x93006929,0x69ab696a,0x47a0480f,0x6a296aeb,0x6a6a9300,
+0x480d6aab,0x6beb47a0,0x93006b29,0x6bab6b6a,0x47a0480a,0x480a6ceb,
+0x6c299300,0x6cab6c6a,0xf24047a0,0xf00010e3,0xbd3efa69,0x1e004461,
+0x000203de,0x0002040f,0x00020441,0x00020473,0x000204a5,0xf04fb510,
+0xf0004000,0xbd10fa15,0xf04fb510,0xf0004000,0xbd10f9f1,0xf001b510,
+0xbd10fbdd,0xb5104b10,0xf8d2681a,0xf0133644,0xd0187f00,0x4c0d2340,
+0x3608f8c2,0x3608f8d2,0xff96f7ff,0xb1636823,0x47984b09,0x681b4b09,
+0x0300ebc3,0x42986820,0x1ac0d903,0x47984b06,0xf000e001,0xbd10f8d1,
+0x000003e8,0x000003bc,0x1e005aa5,0x000003b8,0x1e005cdd,0x41f0e92d,
+0x783b4f19,0x4e19b9b3,0xb9997831,0x4d194b18,0xd0071b5c,0x46224628,
+0xf924f001,0x46214628,0x47984b15,0x48164b15,0x47984621,0x703b2301,
+0xe0177033,0x783e4f13,0x4b13b9a6,0x1b5c4d13,0x4631d008,0x46224628,
+0xf90cf001,0x46214628,0x47984b09,0x480e4b09,0x47984621,0x701e4b02,
+0x703b2301,0x81f0e8bd,0x00023af6,0x00023af5,0x00028c76,0x00023c5c,
+0x1e005829,0x1e004461,0x000204e3,0x00023af4,0x00031654,0x00028c78,
+0x00020515,0x46c04770,0x48094b08,0xebc04909,0x4b090003,0xebc14a09,
+0x4b090103,0xebc2b510,0x4c080203,0x5300f44f,0xbd1047a0,0x00022d98,
+0x00000000,0x00022d98,0x00023af4,0x00023af4,0x00023c5c,0x1e005ac1,
+0x4603b510,0x4622460c,0x48034619,0x47984b03,0xf0004620,0xbd10f9a7,
+0x000206c4,0x1e004461,0xf7ffb510,0xbd10ff4f,0x4604b510,0xff44f7ff,
+0xf7ff4620,0x4620fefb,0xfff2f7ff,0x46c0e7fb,0xb5104b03,0x4b036818,
+0xf0016819,0xbd10f8df,0x00023afc,0x000003e8,0xb5704b09,0xf0006818,
+0x4b08fadf,0x681c4605,0x68e3e007,0xd003421d,0xb10b6863,0x479868a0,
+0x2c006824,0xbd70d1f5,0x00023afc,0x00023b08,0x4b07b570,0x681c4605,
+0x4620e005,0x4b054629,0xb1104798,0x2c006b24,0x4620d1f7,0x46c0bd70,
+0x00023b00,0x1e004041,0x4c08b510,0x70232300,0x47984b07,0xb9437823,
+0x681b4b06,0x6858b11b,0x47984b05,0xf7ffe001,0xbd10fea3,0x000003e4,
+0x1e005905,0x000003f4,0x1e005cdd,0x4605b570,0x6a83b1b8,0x6ac3b1ab,
+0x6283b90b,0xf100e006,0x6a690010,0x462b4a07,0x47a04c07,0xb10b68ab,
+0x47984628,0x3030f895,0xd1022b01,0x4b034628,0xbd704798,0x000006e1,
+0x1e005959,0x1e005a11,0xb5702901,0x6850d941,0x220a2100,0x47984b22,
+0x46044b22,0x4290681a,0x4921d91e,0xb10b684b,0xe7fb4619,0x0504ebc2,
+0xe012460c,0x6080f44f,0x4b1c2100,0x60604798,0xd0262800,0x6280f44f,
+0xf0012100,0x4a15f80f,0x68136864,0x33013d01,0x2d006013,0xe018d1ea,
+0x4b11d217,0x0502ebc4,0xe00a6858,0x4c0e6843,0x60633d01,0x47984b0e,
+0x68604a0a,0x3b016813,0xb10d6013,0xd1f12800,0x681a4b06,0x4b06b90a,
+0x4b04605a,0x68194807,0x47984b07,0x46c0bd70,0x1e004195,0x00023b04,
+0x00023b10,0x1e00578d,0x1e0057b1,0x000206eb,0x1e004461,0x40998983,
+0x5cc86883,0x46c04770,0xb2d28983,0x68834099,0x477054ca,0xf8d0b510,
+0xe00440a0,0x48036821,0x47984b03,0x2c0068e4,0xbd10d1f8,0x00020fa1,
+0x1e004461,0x4b01b510,0xbd104798,0x1e005ee5,0xb5004668,0xf3ef6982,
+0x21038305,0xd10d428b,0x68194b17,0x4b176019,0xd0074219,0x68194b16,
+0x4b166019,0xd0014219,0x61823202,0x30206941,0x3820b407,0xb4024661,
+0xb4f0b084,0xb40ec80e,0xb402c802,0x69c13810,0xf3efb402,0xb4028103,
+0xb4026981,0x8105f3ef,0x4809b402,0x29006801,0x4668d0fe,0xf802f000,
+0xbd00b014,0x00004708,0xe000ed2c,0x40000000,0xe000ed28,0x00008080,
+0x00000940,0x4208490a,0xb662d002,0x400843c9,0x42084908,0xb661d002,
+0x400843c9,0x40084906,0xd0032800,0x680a4905,0x600a4302,0x00004770,
+0x80000000,0x40000000,0x0000ffff,0xe000e100,0x4208490a,0xb672d002,
+0x400843c9,0x42084908,0xb671d002,0x400843c9,0x40084906,0xd0042800,
+0x680a4905,0x400243c0,0x4770600a,0x80000000,0x40000000,0x0000ffff,
+0xe000e180,0x68094902,0x58882290,0x00004770,0x00000948,0x68094902,
+0x5088229c,0x00004770,0x00000948,0xbbadbadd,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x68114a02,0x1c086010,0x00004770,
+0x00000940,0x60084901,0x0000e7fe,0x00000938,0xe7f74670,0x68014873,
+0x400f4f73,0xd132423f,0x46982300,0x4a71469a,0x2118400a,0x497040ca,
+0x4c705843,0x4d70401c,0xd10442ac,0x4d6f4680,0x46a91945,0x4d6ee00e,
+0xd10b42ac,0x4d6b4682,0x46ab1945,0x1c1d240f,0x4c6a4023,0x0a2d4025,
+0x469c432b,0x45982300,0x459ad001,0x4b66d104,0x3a0118c0,0xe005d1dc,
+0x42004650,0x4640d002,0xd1294200,0x21fce7fe,0x680a5841,0x4013230f,
+0xd0f12b0f,0xd0012b01,0xe7f63104,0x4b5b3108,0x4c5b4013,0xd10642a3,
+0xf8dcf000,0xf0004680,0x4681f8e5,0x4c57e7e9,0xd1e642a3,0x681b1f0b,
+0x40234c55,0x40e32418,0xf000469c,0x4682f8cb,0xf8d4f000,0xe7d84683,
+0x22214950,0x4a415042,0x5889494f,0x421923ff,0x6851d022,0x42194b4d,
+0x6811d01e,0x40194b4c,0x24036ad3,0x4c4b4023,0x240342a1,0xe013d000,
+0xd01142a3,0x4c474b48,0xd00042a1,0x4947e00c,0x42195889,0x4946d008,
+0x40195889,0xd1fa4299,0x69114b37,0xd0fc4219,0x423f4649,0x2398d104,
+0x241058cb,0xe00140e3,0x58cb4b3e,0x4023241c,0xd0012b00,0xf8a4f000,
+0x493b4640,0x46486008,0x6008493a,0x600f493a,0x46514660,0x588a2200,
+0x21f01c13,0x091b400b,0xd3072803,0x49351c16,0x2114400e,0x2e0040ce,
+0x3b01d000,0x400a210f,0x2401320e,0x1c254094,0x2803435d,0x2e00d306,
+0x3e01d004,0x2401360e,0x192d40b4,0xd0fe2d00,0x600d4929,0x46ad3d04,
+0x43ec9d00,0x41dd2310,0xd10942ac,0x00a40c24,0x602c4d24,0x1b1b466b,
+0x602b4d23,0x469d3b04,0x49234822,0xc0042200,0xd8fc4281,0xff60f01b,
+0x0000e7fe,0x18000000,0xf0000000,0x0f000000,0x00000ffc,0x00008ff0,
+0x000082a0,0x00000f00,0x000080e0,0x00007000,0x00001000,0x000fff00,
+0x00082a00,0x00080e00,0xff000000,0x000001e0,0x00000604,0x00380000,
+0x0000ffff,0x00004329,0x00000400,0x00000618,0x0000060c,0x00000408,
+0x00000948,0x0000094c,0x00000944,0x00f00000,0x00022d98,0x00022da0,
+0x00022d9c,0x00023af4,0x00023c5c,0x220f6808,0x40023104,0xd1f92a05,
+0x40104a01,0x000046f7,0xfffff000,0x220f6808,0x40023104,0xd1f92a05,
+0x42102280,0x4a01d0f6,0x46f74010,0xfffff000,0x0000e7fe,0x47706cc0,
+0x6642b510,0xf8d06683,0xf8d02080,0x9c02308c,0x0382eb03,0x3080f8d3,
+0x660165c4,0xbd106583,0x308cf8d0,0x31c0f8d3,0x0fe8f8d3,0x46c04770,
+0x308cf8d0,0x2080f8d0,0x0382eb03,0x0080f8d3,0x46c04770,0x0080f8d0,
+0x46c04770,0xf3c06980,0x477060c0,0x30fff04f,0x46c04770,0xf0006bc0,
+0x28030003,0x2000bf14,0x47702001,0xb5706fc3,0xf8d04604,0xb1135080,
+0x0d1b051b,0x480cb123,0x3181f240,0xfcbcf7ff,0xf7ff4620,0x4601ffd1,
+0x46022000,0xf8d4e009,0xeb03308c,0xf8d30382,0x428b3080,0x3001bf08,
+0x42aa3201,0xbd70d1f3,0x0002070c,0x4604b510,0xffa0f7ff,0x46204601,
+0xfdecf000,0x46c0bd10,0x4604b510,0x2200b330,0x108cf8d4,0x3022f851,
+0x2300b113,0x3022f841,0x2a103201,0xf8d4d1f4,0xf893308c,0x1e4a12c4,
+0xf8832901,0xd10922c4,0x7232f44f,0x6ce04b08,0x108cf8d4,0x4b074798,
+0x601a2200,0x429c4b06,0x6ce0d004,0x22904621,0x47984b01,0x46c0bd10,
+0x1e005c15,0x00023b30,0x00023b3c,0xf000b510,0xbd10f9bd,0xf000b510,
+0xbd10f9bb,0xf000b510,0xbd10fba1,0xf000b510,0xbd10faed,0x9c04b513,
+0xf0009400,0xbd1cfa7d,0x4604b573,0xf7ff460d,0x462aff4d,0x46204601,
+0xfe68f000,0x2b146963,0x266ddd23,0x200ae003,0x47984b12,0x21003e0a,
+0x460b2210,0x91004620,0xffe0f7ff,0xbf142d00,0x5380f44f,0xf4002300,
+0x42985080,0x2e09d001,0x2d00d1e9,0xf44fbf14,0x23005380,0xd0044298,
+0xf6404805,0xf7ff5183,0xf44ffc23,0x4b01707a,0xbd7c4798,0x1e005d75,
+0x0002070c,0xb5132b02,0x4611460c,0xb902d00c,0x4a09b154,0x6813b113,
+0xe004401c,0xea446812,0xea230302,0x40210402,0x22649100,0x46232100,
+0xffa8f7ff,0x46c0bd1c,0x00023b2c,0xb5132b02,0x4611460c,0xb902d00c,
+0x4a09b154,0x6813b113,0xe004401c,0xea446812,0xea230302,0x40210402,
+0x22689100,0x46232100,0xff8cf7ff,0x46c0bd1c,0x00023b2c,0xb5132b02,
+0x4611460c,0xb902d00c,0x4a09b154,0x6813b113,0xe004401c,0xea446812,
+0xea230302,0x40210402,0x226c9100,0x46232100,0xff70f7ff,0x46c0bd1c,
+0x00023b2c,0xf000b510,0xbd10f907,0xf000b510,0xbd10f985,0xf000b510,
+0xbd10f9b7,0xf000b510,0xbd10f95f,0x4b06b510,0x47984604,0x4601280f,
+0x2000d901,0x4620e002,0xf952f000,0x46c0bd10,0x0001cd15,0x41f0e92d,
+0x5080f8d0,0x2d0f4604,0x4617460e,0x480dd904,0x6106f640,0xfb98f7ff,
+0xf44f4620,0x22006100,0xffdcf7ff,0xf8c02300,0x33053658,0x665cf8c0,
+0xf8c04629,0xf8c03658,0x4620765c,0xffcaf7ff,0x81f0e8bd,0x0002070c,
+0x41f0e92d,0x5080f8d0,0x2d0f4604,0x4617460e,0x4812d904,0x51e9f640,
+0xfb72f7ff,0xf44f4620,0x22006100,0xffb6f7ff,0xf8c02300,0xf8d03658,
+0x4629365c,0xf0436033,0xf8c00301,0x2305365c,0x3658f8c0,0x365cf8d0,
+0xf043603b,0xf8c04300,0x4620365c,0xff9af7ff,0x81f0e8bd,0x0002070c,
+0x41f0e92d,0x5080f8d0,0x2d0f4604,0x4617460e,0x480dd904,0x51d2f640,
+0xfb42f7ff,0xf44f4620,0x22006100,0xff86f7ff,0xf8c02300,0xf8d03650,
+0x46293654,0x0306ea23,0xf8c0433b,0x46203654,0xff74f7ff,0x81f0e8bd,
+0x0002070c,0xf2446b02,0x429a3319,0x4605b573,0xd11b460e,0xb9cc6b44,
+0x2302b1d9,0x46219300,0x33fff04f,0x72f0f44f,0xfebcf7ff,0xf6404622,
+0x4628011a,0xff5af7ff,0x21014628,0xfeaef7ff,0xf44f4628,0x46226100,
+0xff50f7ff,0xbf082e01,0x46282602,0xf2402100,0xf04f6234,0x960033ff,
+0xfea0f7ff,0x46c0bd7c,0xb5104b03,0xfb03681b,0xf7fff101,0xbd10ffc7,
+0x00023b38,0xf000b510,0xbd10f821,0xf000b510,0xbd10f813,0x47706808,
+0x4770600a,0xb5106fc1,0x6170f501,0xf7ff31fc,0xf648fff5,0xea0073f0,
+0x09180303,0x46c0bd10,0xb5106fc1,0x6170f501,0xf7ff3118,0xf000ffe7,
+0xbd10003f,0xb5106fc1,0x6170f501,0xf7ff31fc,0xf400ffdd,0xf00043e0,
+0xea40000f,0xbd102013,0xb5106fc1,0x6170f501,0xf7ff3198,0x4b04ffcf,
+0x0303ea00,0x3f80f5b3,0x2000bf14,0xbd102001,0x00010007,0x47702000,
+0x46c04770,0x0303f000,0xb5102b03,0xd1054604,0xf2404813,0xf7ff41cf,
+0xe014fa9b,0xf020b913,0xe01c00ff,0xd10c2b01,0x6f00f410,0x480cd004,
+0x41d6f240,0xfa8cf7ff,0x607ef424,0x001ff020,0x2b02e00d,0x2000d001,
+0xf410e009,0xd0046f00,0xf2404803,0xf7ff41d9,0x0c20fa7b,0xbd100400,
+0x00020754,0x460cb570,0x108cf8d0,0xeb014605,0xf8d30384,0xf85121c0,
+0xb9533024,0x2024f841,0x0513b112,0xb1230d1b,0xf2404804,0xf7ff2161,
+0xf8d5fa5f,0xf853308c,0xbd700024,0x00020754,0x3084f8d0,0x4299b570,
+0x460d4604,0x2000d301,0x6e83e010,0x6dc0b13b,0xb1204798,0xf2404806,
+0xf7ff214b,0x4620fa45,0xf7ff4629,0xf8c4ffcb,0x67e05080,0x46c0bd70,
+0x00020754,0xe92d6fc3,0xf50341f0,0xea326870,0x46060301,0x4617460d,
+0x4814d004,0x113bf240,0xfa2af7ff,0x637ef425,0x031ff023,0x480fb123,
+0x719ef44f,0xfa20f7ff,0xb17fb905,0x049cf108,0x46304621,0xff32f7ff,
+0x4305ea6f,0x0203ea00,0x46304621,0x4207ea42,0xff2af7ff,0xf1084630,
+0xf7ff019c,0x0c00ff23,0x81f0e8bd,0x00020754,0xe92d6fc3,0xf50341f0,
+0xea326870,0x46060301,0x4617460d,0x480fd004,0x1121f240,0xf9f4f7ff,
+0xb17fb905,0x0498f108,0x46304621,0xff06f7ff,0x4305ea6f,0x0203ea00,
+0x46304621,0x4207ea42,0xfefef7ff,0xf1084630,0xf7ff0198,0x0c00fef7,
+0x81f0e8bd,0x00020754,0x47f0e92d,0x4680290f,0x4615460c,0xf8dd469a,
+0xd9049020,0xf44f482e,0xf7ff71b6,0xf5b5f9c9,0xd3045f80,0xf240482a,
+0xf7ff116d,0xea6ff9c1,0xea19070a,0xd0040f07,0xf44f4825,0xf7ff71b7,
+0xf8d8f9b7,0xf852208c,0xb9733024,0x0384eb02,0x31c0f8d3,0x3024f842,
+0x051bb113,0xb1230d1b,0xf240481b,0xf7ff1177,0xf8d8f9a3,0xf853308c,
+0x192e4024,0x4816d104,0x119bf240,0xf998f7ff,0x0f00f1ba,0xf1b9d102,
+0xd0150f00,0x6f70f5b5,0x4631d30c,0xf7ff4640,0xea00fea5,0x46310207,
+0xea424640,0xf7ff0209,0xe008fe9f,0x403b592b,0x0309ea43,0xe007512b,
+0x6f70f5b5,0x4640d304,0xf7ff4631,0xe000fe8f,0xe8bd6830,0x46c087f0,
+0x00020754,0xe92d6fc3,0x460541f3,0xb1134688,0x0d1b051b,0x4850b123,
+0x31edf240,0xf960f7ff,0x46286feb,0x6670f503,0x0498f106,0xf7ff4621,
+0xf010fe71,0xf0400f01,0x4628808c,0xf7ff4621,0xf410fe69,0xd0783f80,
+0x46284621,0xfe62f7ff,0xf0404621,0x46280202,0xfe5ef7ff,0x46284621,
+0xfe58f7ff,0x90014b3d,0x47982001,0xe0034f3c,0x4b3a200a,0x3f0a4798,
+0x049cf106,0x46214628,0xfe48f7ff,0x0f04f010,0x2f09d001,0x4621d1f0,
+0xf7ff4628,0x4628fe3f,0x01f8f106,0xfe3af7ff,0x0f80f010,0xf106d023,
+0x46210490,0xf7ff4628,0x4621fe31,0x7200f040,0xf7ff4628,0x4621fe2d,
+0xf7ff4628,0x4b25fe27,0x20019001,0x4c244798,0x200ae003,0x47984b21,
+0x46283c0a,0x0190f106,0xfe18f7ff,0x7fc0f010,0x2c09d001,0xf106d1f1,
+0xea4f0498,0xf0424208,0x46281203,0xf7ff4621,0x4621fe0b,0xf7ff4628,
+0x4b14fe05,0x200a9001,0x46284798,0x01f8f106,0xfdfcf7ff,0x0f80f010,
+0xf106d00b,0x46210490,0xf7ff4628,0x4621fdf3,0x7200f020,0xf7ff4628,
+0xea4ffdef,0x46284208,0x0198f106,0x0203f042,0xfde6f7ff,0x4b032001,
+0xe8bd4798,0x46c081fc,0x00020754,0x1e005d75,0x000186a9,0xe92d6fc3,
+0x460647f3,0x4614468a,0x051bb113,0xb1230d1b,0xf2404830,0xf7ff412a,
+0xf8d6f8af,0xea44807c,0x4621040a,0x6570f508,0x0403f044,0x0798f105,
+0xea4f4630,0xf7ff4904,0xf049ff31,0x46300201,0xf7ff4639,0x4639fdb5,
+0xf7ff4630,0x359cfdaf,0x4c219001,0x47a02001,0x46294630,0xfda6f7ff,
+0x0f01f010,0x4630d004,0x22004629,0xfda0f7ff,0x6579f508,0x46294630,
+0xfd98f7ff,0x9b019001,0x2fc0f413,0x4629d009,0xf7ff4630,0x4629fd8f,
+0x22c0f420,0xf7ff4630,0x464afd8b,0x46394630,0xfd86f7ff,0x46304639,
+0xfd80f7ff,0x20019001,0xf04a47a0,0x46300201,0x04124639,0xfd78f7ff,
+0x46394630,0xfd72f7ff,0x20019001,0xe8bd47a0,0x46c087fc,0x00020754,
+0x1e005d75,0x60c26042,0x60816001,0x46c04770,0xf04fb500,0xe00a0e00,
+0x3000f81e,0xb2db18d3,0xf80e4293,0xd2043000,0x0e01f10e,0x458e2201,
+0xbd00dbf2,0x1e53b510,0x18891884,0xf814e009,0xf8112d01,0x42820d01,
+0xebc0d002,0xe0040002,0xf1b33b01,0xd1f23fff,0xbd102000,0xe92d4b10,
+0x468841f0,0xbf142800,0x46194601,0x4b0e480d,0x47984617,0x462c2500,
+0x480ce00a,0x1008f815,0x47b03401,0xd1022c10,0x47b04809,0x35012400,
+0x4e0542bd,0x4806dbf1,0xe8bd47b0,0x46c081f0,0x0002196b,0x0002075e,
+0x1e004461,0x00020767,0x00021250,0xb533b40e,0x4605ab05,0x2b04f853,
+0x68696800,0x93014c0a,0xf1b047a0,0xd0033fff,0x4298686b,0xb910da00,
+0x606b2300,0x1a1be004,0x682b606b,0x602b181b,0x403ce8bd,0x4770b003,
+0x1e004249,0x7842b530,0x7803b087,0x78829200,0x9201460d,0x4c0678c2,
+0x79029202,0x79429203,0x92044608,0x4a032112,0x462847a0,0xbd30b007,
+0x1e003fc9,0x0002098e,0x4604b570,0xb1e9460e,0x4b0f4608,0x46054798,
+0xe00fb1c0,0x46314620,0x4b0c462a,0xb9284798,0x2b3d5d63,0x1c63d102,
+0xe00c1958,0x3b01f814,0xd1fb2b00,0x7823b114,0xd1eb2b00,0xf0014630,
+0xe000ff6d,0xbd702000,0x1e0040a9,0x1e00d671,0xf7ffb510,0xb118ffd5,
+0x460a2100,0x47984b01,0x46c0bd10,0x1e0037cd,0x47f0e92d,0x230c4698,
+0x1303fb02,0x4681689d,0x4617460e,0x240ce012,0x6404fb07,0x4629686b,
+0x230060a3,0x4648606b,0x46424b0c,0x8a234798,0x3b0168a5,0x88f38223,
+0x80f33b01,0xd1ea2d00,0xfb07230c,0x8a236403,0x4805b123,0x7194f44f,
+0xff5ef7fe,0xe8bd60e5,0x46c087f0,0x1e005c41,0x00020783,0x41f0e92d,
+0x460c4607,0x25004616,0x462ae006,0x46214638,0xf7ff4633,0x3501ffc1,
+0x429d8823,0x88e3dbf5,0x4803b123,0x71e9f44f,0xff3ef7fe,0x81f0e8bd,
+0x00020783,0xb5002a07,0xf010d90f,0xd10c0f03,0x460bb909,0xb2cbe004,
+0x2303ea43,0x4303ea43,0x2a033a04,0x3b04f840,0x4613d8fa,0x0e00f04f,
+0xf80ee004,0x3b011000,0x0e01f10e,0xd1f82b00,0xbd001880,0xb5002a03,
+0xd90c4684,0x0f03f011,0xf01cd109,0xd1060f03,0x3b04f851,0x2a033a04,
+0x3b04f840,0xf04fd8f8,0xe0060e00,0x3001f81e,0xf80e3a01,0xf10e3000,
+0x2a000e01,0x4660d1f6,0x46c0bd00,0xb5706943,0xdc012b14,0xe0042541,
+0x6a0b4a0a,0xea036812,0x4c090502,0x2c04f854,0xf854b132,0xea153c08,
+0xd0010103,0x47906820,0x340c4b04,0xd1f1429c,0x46c0bd70,0x00023c0c,
+0x00023bd8,0x00023c14,0x460eb573,0xf89d2400,0x46151018,0x469e4684,
+0x20014622,0xf302fa10,0x0f0eea13,0xf8c5d004,0xf8d52620,0x431c3624,
+0x2a1f3201,0x4623d1f1,0xb13cb149,0x46319000,0x462a4660,0xffe0f7ff,
+0x0300ea44,0x4620461c,0x46c0bd7c,0x4605b570,0xf9d0f7ff,0x46062100,
+0xf7ff4628,0x4604faef,0x4807b920,0x1111f640,0xfea2f7fe,0x46314628,
+0x460cf8d4,0xfae2f7ff,0x2080f3c4,0x46c0bd70,0x000209c5,0xe92d6983,
+0xf01341f0,0x46065f80,0x483ed104,0x0152f640,0xfe8af7fe,0xf7ff4630,
+0x2100f9a9,0x46304607,0xfac8f7ff,0xb9204605,0xf6404836,0xf7fe0157,
+0x2301fe7b,0x3650f8c5,0x3654f8d5,0xf0234c32,0xf8c50304,0xf8d53654,
+0xf0433654,0xf8c50304,0xe0033654,0x4b2d200a,0x3c0a4798,0xf0136aeb,
+0xd1010f08,0xd1f52c09,0xf0136aeb,0xd1040f08,0xf6404824,0xf7fe01b1,
+0x2000fe57,0xf8c56aea,0xf8d50658,0xf3c2365c,0xf0231247,0x21014360,
+0x7342ea43,0x365cf8c5,0x1658f8c5,0x365cf8d5,0x040ff002,0x0301f023,
+0x03d4ea43,0x365cf8c5,0x0650f8c5,0x3654f8d5,0x4340f023,0x7382ea43,
+0x3654f8c5,0x1650f8c5,0x3654f8d5,0x0303f023,0x0394ea43,0x3654f8c5,
+0x0650f8c5,0x3654f8d5,0xf0434630,0xf8c55300,0xf8c53654,0xf8d51650,
+0x46393654,0x0304f023,0x3654f8c5,0xfa5af7ff,0x81f0e8bd,0x000209c5,
+0x00989689,0x1e005d75,0x4616b570,0x460d6b42,0x2312f240,0x490d2000,
+0xbf8c2a01,0x2412461c,0xfe42f7ff,0x2100b120,0x4b09460a,0x46044798,
+0x49082000,0xfe38f7ff,0x4807b908,0x2100e003,0x4b03460a,0x602c4798,
+0xbd706030,0x000209ce,0x1e0037cd,0x000209d3,0x003ff63e,0x43f0e92d,
+0xb0856983,0x5f80f013,0x460c4607,0xd1044690,0xf6404831,0xf7fe0115,
+0x4638fdd3,0xf8fef7ff,0x28004606,0x4638d155,0xf8ecf7ff,0x46814631,
+0xf7ff4638,0x4605fa0b,0x4827b920,0x6102f44f,0xfdbef7fe,0x46212301,
+0x462a9300,0x6380f44f,0xf7ff4638,0xaa02fedd,0xa9034604,0x96034638,
+0xf7ff9602,0x9b03ffa1,0x0203ea24,0x0f00f1b8,0xf8d5d023,0xf44f3618,
+0xf443707a,0x43136380,0x3618f8c5,0x47984b15,0x24a1f643,0x200ae003,
+0x47984b12,0xf8d53c0a,0xf413360c,0xd1016f80,0xd1f42c09,0x360cf8d5,
+0x6f80f413,0x480ad10d,0x013ff640,0xfd84f7fe,0xf8d5e007,0xf4423618,
+0xea236280,0xf8c50302,0x46383618,0xf7ff4649,0xb005f9bd,0x83f0e8bd,
+0x000209c5,0x1e005d75,0x30b4f890,0xf8d0b1a3,0xb10b30c0,0xe0024618,
+0x00c4f8d0,0x6803b160,0x6300f443,0x68036003,0x6f00f413,0xf423d004,
+0x60036300,0xe0002001,0x47702000,0x4604b510,0xffe2f7ff,0x2301b110,
+0x3140f8c4,0x46c0bd10,0x477020a4,0xf890b510,0xb10b30b4,0xe0004903,
+0x22904903,0xfe26f7ff,0x46c0bd10,0x000209e4,0x00020a74,0x4604b570,
+0xf7ff460e,0x2100f833,0x460a4605,0xf7ff4620,0xf410f96d,0xd00f5f80,
+0xf7ff4620,0xb108f84f,0xe00a2040,0x46314628,0x47984b04,0x4804b920,
+0x01c3f640,0xfd1cf7fe,0xbd702020,0x1e004569,0x00020b04,0x4604b570,
+0xe004460d,0x00acf8d4,0x4b052201,0x46294798,0x4b044620,0x46014798,
+0xd1f32800,0x46c0bd70,0x1e005c41,0x1e004d89,0x4604b570,0xe004460d,
+0x00acf8d4,0x4b052201,0x46294798,0x4b044620,0x46014798,0xd1f32800,
+0x46c0bd70,0x1e005c41,0x1e004e11,0x4604b510,0xf8d4e004,0x220000ac,
+0x47984b04,0x46202101,0x47984b03,0x28004601,0xbd10d1f3,0x1e005c41,
+0x1e005195,0x4b08b510,0x46084604,0x47984907,0xf104b910,0xe0050090,
+0xf44f4805,0xf7fe6190,0x2000fcc7,0x46c0bd10,0x1e004041,0x00020b0d,
+0x00020b04,0x4770bf30,0x69c06942,0x40186a13,0x47706210,0x22006943,
+0x6a9b629a,0x47706182,0x694369c2,0x629a6182,0x46c04770,0x30fcf8d0,
+0xf8904319,0xf8c03177,0xb1e310fc,0x0f04f011,0xf890d005,0xea413178,
+0xf8c06303,0xf8d030fc,0x694230fc,0x0f0af013,0xf443bf1c,0xf8c02380,
+0xf8d030fc,0x64d330fc,0xf8c02300,0xf88030fc,0x33083177,0x47706453,
+0x43f7e92d,0x6028f89d,0x4680460f,0x21004699,0x5dcbe002,0x3101b113,
+0xd1fa4291,0xb1135c7b,0x0001f06f,0xb15ee075,0x1c4c1d4b,0xd9024293,
+0x000df06f,0xa801e06d,0x22041939,0xfd4af7ff,0x46201d3c,0x4d354934,
+0xb92847a8,0xd04d2e00,0x2b0f9b01,0xe043d858,0x49314620,0xb90847a8,
+0xe03c3001,0x492f4620,0xb90847a8,0xe0363002,0x492d4620,0xb99847a8,
+0x3003b90e,0x9a01e037,0xd02b2a00,0x300cf8d8,0xf0136bdb,0xd13e0f04,
+0xd8392a07,0x40932301,0x0f83f013,0xe033d11e,0x49224620,0xb90847a8,
+0xe0183004,0x49204620,0xb90847a8,0xe0123005,0x491e4620,0xb90847a8,
+0xe00c3006,0x491c4620,0xb90847a8,0xe0063007,0x491a4620,0xb9d047a8,
+0xe0003008,0xb1362003,0xeb089b01,0xf8c20280,0xe00b3194,0xeb084630,
+0xf5010180,0x463871ca,0xf7ff2204,0x2304fceb,0x3000f8c9,0xe0042000,
+0x001cf06f,0xf06fe001,0xe8bd0016,0x46c083fe,0x00020b7c,0x1e004041,
+0x00020b89,0x00020b95,0x00020ba1,0x00020ba8,0x00020bb1,0x00020bb8,
+0x00020bc3,0x00020bcf,0xb5106a03,0xb9234604,0xf2404805,0xf7fe415f,
+0x4620fbdb,0xff1cf7ff,0x43036a23,0xbd106223,0x00020bd6,0x4604b570,
+0xff12f7ff,0xb1804605,0x3175f894,0x4807b923,0x4135f240,0xfbc4f7fe,
+0xb1236a23,0xf2404803,0xf7fe4137,0x6225fbbd,0xbd702001,0x00020bd6,
+0x4b0ab570,0x460d4604,0xb9184798,0x214d4808,0xfbaef7fe,0x68e26923,
+0x429318eb,0x4804d903,0xf7fe214e,0x82a5fba5,0x46c0bd70,0x1e005ec1,
+0x00020bd6,0x4b0bb570,0x460d4604,0xb9184798,0x21434809,0xfb94f7fe,
+0x429d8aa3,0x4806d903,0xf7fe2144,0x6920fb8d,0x19408aa3,0x61201b5b,
+0xbd7082a3,0x1e005ec1,0x00020bd6,0x4b0cb570,0x460d4604,0xb9184798,
+0x2139480a,0xfb78f7fe,0x68a26923,0x42931b5b,0x4806d203,0xf7fe213a,
+0x6920fb6f,0x1b408aa3,0x612018eb,0xbd7082a3,0x1e005ec1,0x00020bd6,
+0x4604b570,0xe00f2500,0xf8d4b16d,0x42ab30f8,0x4817d104,0x61f8f44f,
+0xfb56f7fe,0x462968a0,0x4b142201,0x46354798,0x21006a60,0x47986ac3,
+0x28004606,0xb1d5d1e8,0x20f4f8d4,0xf8d4b172,0x429330f8,0x480ad104,
+0x71d7f240,0xfb3cf7fe,0xf8d468a0,0x220110f4,0x47984b06,0x30f8f8d4,
+0x50f4f8c4,0xd10242ab,0xf8c42300,0xbd7030f8,0x00020bd6,0x1e005c41,
+0x41f0e92d,0x27004605,0xf895e055,0xb12331b9,0x31b8f895,0x4620b10b,
+0x4b3be00a,0x463168a8,0xf8d54798,0x681b30f0,0xd9064298,0x0028f105,
+0x46322100,0x47984b35,0x6a68e04a,0x47986e03,0xf8956a68,0xf8d04105,
+0x47983084,0xf8851824,0x69344106,0x71a32300,0x3178f895,0x72234631,
+0x3106f895,0xf8852201,0xb2db3107,0xf8d57263,0x6a6831c4,0xf8c53301,
+0x6a0331c4,0xb9d04798,0x10f8f8d5,0x29007963,0xf013d033,0xd0300f0f,
+0x78237862,0x2302ea43,0x091b330f,0x690a0a1a,0x2300bf18,0xf8957193,
+0x72133178,0x2301e021,0x31b8f885,0xf8d5461f,0x681b30f0,0xf105b143,
+0x46200428,0x4b122100,0x46064798,0xd19c2800,0x696ab117,0x64532304,
+0x2b0c8deb,0x6928d903,0xf88cf001,0x2b07e00d,0x6928d80b,0xf888f001,
+0xf895e007,0xf8c531b9,0x2b0060f8,0x2701d1d7,0xe8bde7d9,0x46c081f0,
+0x1e003f55,0x1e003a4d,0x1e003ac5,0xf8d0b570,0x461531a4,0x46048dc2,
+0x468e429a,0x2d02d30c,0x6880d10a,0x22014b0c,0xf8d44798,0x200031a8,
+0xf8c43301,0xe00e31a8,0xf1042100,0x46720028,0x47984b06,0xd1022d02,
+0x31a0f8d4,0x4620b913,0xff52f7ff,0xbd702001,0x1e005c41,0x1e0039cd,
+0x4ff0e92d,0xb0876a43,0x460e4607,0xf8d09201,0xb9238008,0xf2404856,
+0xf7fe6139,0x2400fa65,0x94039404,0xa174f897,0x0f00f1ba,0x6933d117,
+0xf00368b2,0xf1050501,0x1a9b0b0c,0xd225455b,0x9014f8b6,0xf240484a,
+0xf7fe614e,0xf109fa4d,0x4640010c,0x4b471949,0x46044798,0x4640b930,
+0x22014631,0x47984b44,0xe07d4620,0xf7ff4659,0x6931fe9d,0x6920464a,
+0xfb1cf7ff,0x46316833,0x46406023,0x4b3c4652,0x46264798,0x2101b145,
+0xf7ff4630,0x6930fea7,0x22012100,0xfaeaf7ff,0x4630210c,0xfe9ef7ff,
+0x46404b34,0xf8d64631,0x47989010,0xf8ad68fb,0xf8d30016,0xf1baa034,
+0xd1240f02,0xf0136bdb,0xd0200f04,0x31baf897,0xd11c2b01,0x46404631,
+0x47984b29,0x3016f8bd,0x330f8a84,0xf0234605,0xa905030f,0x46524648,
+0x3014f8ad,0xfadef7ff,0x3014f8bd,0x18e44628,0x3016f8bd,0xb2a11ae4,
+0xfe36f7ff,0x4648e005,0x0116f10d,0xf7ff2202,0xf8bdfacd,0xa9063016,
+0xf82143db,0x22023d02,0x0002f109,0xfac2f7ff,0xa9039a01,0xf8970213,
+0xf4032104,0x43136370,0x630bea43,0xf1092208,0x93030004,0xfab2f7ff,
+0x46314638,0xf7ff9a01,0xb128ff29,0x3104f897,0x33012001,0x3104f887,
+0xe8bdb007,0x46c08ff0,0x00020bd6,0x1e005c25,0x1e005c41,0x1e003e11,
+0x1e003e21,0x2200b510,0xff3af7ff,0x46c0bd10,0x690bb510,0xf002791a,
+0x2a6002f0,0x2201bf14,0xf7ff2202,0xbd10ff2d,0xb5708dc3,0xbb4b4605,
+0x211c6880,0x47984b14,0xb3184606,0xf7ff210c,0x6a68fddb,0x47986e03,
+0xf8956a68,0xf8d04105,0x47983084,0x210c1824,0x4106f885,0xf7ff4630,
+0x4628fde5,0x22014631,0xff0af7ff,0xf8d5b928,0x330131cc,0x31ccf8c5,
+0xf8d5e004,0x330131c8,0x31c8f8c5,0x46c0bd70,0x1e005c25,0xf890b510,
+0xb90b3178,0xffc8f7ff,0x46c0bd10,0x3ffff1b2,0xd101b510,0xe00723ff,
+0xd0002a02,0xf082b90a,0x23010202,0xb2db4093,0xf8902901,0xd1012178,
+0xe0014313,0x0303ea22,0x3178f880,0xffacf7ff,0x46c0bd10,0x4604b570,
+0x25006a40,0x47986c83,0x68836a60,0x6a604798,0x47986e43,0x21016a60,
+0x47986a83,0x460a2100,0xf7fe68e0,0x68e0fcd3,0xfcccf7fe,0x10f4f8d4,
+0x5105f884,0x5104f884,0x50fcf8c4,0x68a0b129,0x4b052201,0xf8c44798,
+0xf8c450f4,0x622550f8,0x5174f884,0x46c0bd70,0x1e005c41,0xe92d68c2,
+0x6b5341f3,0x2b024604,0x690e460d,0x6bd3d112,0x0f04f013,0xf890d00e,
+0x2b0131ba,0x8833d10a,0xb29b4628,0xb29b009b,0x8a898033,0x39180089,
+0xfd46f7ff,0x46282108,0xfd5cf7ff,0x0f03f016,0x487fd004,0x61a6f240,
+0xf8f2f7fe,0xb2998873,0x020ff011,0xf011d021,0xd0040f01,0x3154f8d4,
+0xf8c43301,0xf0113154,0xd0040f02,0x3158f8d4,0xf8c43301,0xf0113158,
+0xd0040f04,0x315cf8d4,0xf8c43301,0xf011315c,0xf0000f08,0xf8d4808c,
+0x33013160,0x3160f8c4,0x8aabe085,0xd8082b03,0x3144f8d4,0x330168a0,
+0x3144f8c4,0x4b654629,0x2202e0c3,0xf10d6929,0xf7ff0006,0x6929f99f,
+0x31022202,0xf7ffa801,0x68e2f999,0x2b026b53,0x6bd3d129,0x0f04f013,
+0xf894d025,0x2b0131ba,0x8833d121,0x2006f8bd,0x429ab29b,0xf8d4d004,
+0x33013148,0x3148f8c4,0x3004f8bd,0x43db6928,0xfe83fa1f,0xf10e8801,
+0xf64f020f,0xea0273f0,0x42990303,0xfa1fd107,0xf8a0f38e,0x8033e000,
+0xf8ad8833,0x88333006,0x1006f8bd,0x428bb29b,0x43cbd106,0xf8bd041b,
+0x0c1b2004,0xd015429a,0xb29b8833,0xd004428b,0x3148f8d4,0xf8c43301,
+0x43cb3148,0xf8bd041b,0x0c1b2004,0xd022429a,0x314cf8d4,0xf8c43301,
+0xe01c314c,0x46282104,0xfcc0f7ff,0x2b078aab,0x692bd915,0x78de2108,
+0xf8934628,0x781f8001,0xfcb4f7ff,0xd8042e0b,0xf240482b,0xf7fe710c,
+0xf1a6f84b,0xb2d9030c,0x428b8aab,0x68a0d203,0x22004629,0x4628e77f,
+0xfca0f7ff,0x3105f894,0xd006429f,0x3150f8d4,0x7105f884,0xf8c43301,
+0xf8943150,0xf0083105,0x3301060f,0x3105f884,0x31b9f894,0xf018b1e3,
+0xd1010f40,0xd1172e01,0x31b4f8d4,0x2e013301,0x31b4f8c4,0xf8d4d105,
+0x330131bc,0x31bcf8c4,0xf8d4e004,0x330131c0,0x31c0f8c4,0xf8842300,
+0x462031b8,0xfce4f7ff,0x6920b926,0xf0004629,0xe00bfe2d,0xd1042e02,
+0x46296920,0xfe2cf000,0x68a0e004,0x46294b03,0x47982200,0x81fce8bd,
+0x00020bd6,0x1e005c41,0x4605b570,0x6c836a40,0xe0024798,0xf7ff4628,
+0x6a68fed1,0x47986dc3,0x28004601,0x6a68d1f6,0x47986e43,0x6c436a68,
+0x6a684798,0x47986e03,0xf8956a68,0xf8d04105,0x47983084,0xf8851824,
+0x46284106,0xfe30f7ff,0x46c0bd70,0xf8d0b5f0,0xb0e521a4,0x2101460d,
+0x18524606,0x46684c3c,0x47a0af32,0x21014638,0x47a02210,0xf7ff4630,
+0x6a70fc57,0xf8c62400,0x688340f8,0xb1ad4798,0x20f4f8d6,0x4638b192,
+0x4b324621,0xf8c64798,0xe00b40f4,0x20cef8bd,0x30ccf8bd,0xbf2c429a,
+0xa8324668,0x21004b2b,0x47984622,0x21016a70,0x47986ac3,0x28004604,
+0xe00ed1ec,0x88c24668,0x429a8883,0x2100d204,0x4b224622,0xe0044798,
+0x462168b0,0x4b202201,0xf1064798,0x46280528,0x4b1e2100,0x46044798,
+0xd1e72800,0x68436a70,0xe0064798,0x4630690b,0xf002795a,0xf7ff020f,
+0x2100fcd5,0x4b15a832,0x46014798,0xd1f12800,0x8df2e014,0x31a4f8d6,
+0xd90a429a,0x68b04b0e,0x22014621,0xf8d64798,0x330131a8,0x31a8f8c6,
+0x4628e004,0x46222100,0x47984b06,0x21004668,0x47984b06,0x28004604,
+0xb065d1e3,0x46c0bdf0,0x1e003bcd,0x1e0039cd,0x1e005c41,0x1e003ac5,
+0x4605b570,0x68436a40,0x6a684798,0x47986c43,0x6e036a68,0x6a684798,
+0x4105f895,0x3084f8d0,0x18244798,0xf8856a68,0x49264106,0x47986f03,
+0x1180f8d5,0x00f0f8c5,0xf8d5b1c9,0x23022184,0x0202ea81,0xf7fe68e8,
+0xf8d5fb05,0x23021180,0x460a68e8,0xfb1af7fe,0xf8852300,0xf895317c,
+0xb123317b,0xf44f4818,0xf7fd713d,0xf895ff0d,0xb10b3176,0xe0004b15,
+0x68ea4b15,0x6b5361eb,0xd8052b01,0xf0136bd3,0xd0010f04,0xe0002301,
+0xf8852300,0x696a31b9,0xf8852301,0xf8853175,0xf04f3177,0xf8c27380,
+0xf1033100,0x4628437f,0x317af885,0xfa38f7ff,0x21084628,0xfa3af7ff,
+0x46c0bd70,0x00020b0d,0x00020bd6,0xc701ff0f,0x0701ff0f,0x41f0e92d,
+0xb9204605,0xf2404894,0xf7fd3129,0x6a2cfed1,0xf0142600,0x622e4780,
+0x4628d007,0xfd7ef7ff,0xf7ff4628,0x4634ff81,0x2c00e14a,0x696bda2f,
+0xf013685b,0xd0180604,0x3174f895,0x4628b933,0xf7ff4639,0x4628fee7,
+0xfebef7ff,0xf8856928,0xf0007174,0x696afc87,0x68134628,0xf0432102,
+0x60130304,0xf9faf7ff,0x2301e011,0x3174f885,0xf0006928,0x4628fc79,
+0xf7ff4631,0x4628fecb,0xfea2f7ff,0x6813696a,0x0304f023,0xf8956013,
+0xb10e6174,0xe1132400,0x0f01f014,0x4628d007,0xf7ff2101,0x4628feb7,
+0xf7ff2101,0xf014f9d7,0xd0090f02,0xf8852301,0xf8d53177,0xb11b30fc,
+0x46314628,0xf9caf7ff,0x7f80f414,0xf8d5d004,0x33013164,0x3164f8c5,
+0x7f00f414,0xf8d5d01d,0xf8d53168,0x330120f4,0x3168f8c5,0xf8d5b18a,
+0x429330f8,0x4858d104,0x7165f44f,0xfe58f7fd,0x68a84b56,0x10f4f8d5,
+0x47982201,0xf8c52300,0x462830f4,0xf7ff2100,0xf014fe7d,0xd0047f00,
+0x316cf8d5,0xf8c53301,0xf014316c,0xd0046f80,0x3170f8d5,0xf8c53301,
+0x48493170,0x0000ea04,0x4604b908,0xf414e0b4,0xd06e4f7c,0x6080f414,
+0x4607d102,0xe00b4606,0x6d036a68,0x1e074798,0x2701bf18,0x6a436a68,
+0x1e064798,0x2601bf18,0x6f00f414,0x6a68d00b,0x47986d03,0xbf182800,
+0x6a682701,0x47986a43,0xbf182800,0xf4142601,0xd00b5f80,0x6d036a68,
+0x28004798,0x2701bf18,0x6a436a68,0x28004798,0x2601bf18,0x5f00f414,
+0xf8d5d004,0x33013138,0x3138f8c5,0x4f80f414,0xf8d5d009,0x2701313c,
+0xf8c53301,0xf8d5313c,0xf8d5313c,0xf4143138,0xd01a4f00,0x3140f8d5,
+0x20f4f8d5,0xf8c53301,0xb18a3140,0x30f8f8d5,0xd1044293,0xf2404818,
+0xf7fd41b9,0x4b17fdd9,0xf8d568a8,0x220110f4,0x23004798,0x30f4f8c5,
+0xb90f2601,0xe008b90e,0x4628b126,0xf7ff2100,0xb117fdf9,0xf7ff4628,
+0xf014fdcf,0xd0027f80,0xf7ff4628,0xf414fa59,0xd1133390,0xe033461e,
+0x36014628,0xfc9af7ff,0xd10c2e08,0xf4436a2b,0x622b3380,0x46c0e00d,
+0x00020bd6,0x1e005c41,0x0101fc00,0x6a682600,0x47986dc3,0x28004601,
+0x6a68d1e6,0x47986e03,0xf8956a68,0xf8d04105,0x47983084,0x2107f895,
+0xb2e31824,0xf8854293,0xd0094106,0x3105f895,0x0302ebc3,0x2b02b2db,
+0x4628d802,0xfbe4f7ff,0xbf942e07,0x24012400,0xb12b8deb,0x31a0f8d5,
+0x4628b913,0xfa50f7ff,0xe8bd4620,0x46c081f0,0xb5702901,0xdd074605,
+0xf8c02300,0xf8c031b4,0xf8c031bc,0xe02331c0,0xf8d54c12,0x8de921a4,
+0x47a04811,0x11a8f8d5,0x47a04810,0x31c0f8d5,0x21bcf8d5,0x11b4f8d5,
+0x47a0480d,0x113cf8d5,0x47a0480c,0x1106f895,0x2107f895,0x47a0480a,
+0xf8d5480a,0xf8d511c4,0xf8d521c8,0x47a031cc,0x46c0bd70,0x1e004461,
+0x00020be1,0x00020bf7,0x00020c0a,0x00020c35,0x00020c51,0x00020c7a,
+0x30fff04f,0x46c04770,0xb5106a83,0xf0006998,0xbd10fbaf,0x4604b510,
+0xf7ff6880,0xb158fe4b,0xf1042100,0x460a001c,0x47984b05,0x4805b938,
+0xf7fd2154,0xe002fd19,0xf7ff68a0,0xbd10f865,0x1e005a21,0x00020d06,
+0x6a84b510,0xb91b68a3,0x21684807,0xfd08f7fd,0xf7ff68a0,0xb128f933,
+0xf7ff68a0,0x4620f84b,0xffd4f7ff,0x46c0bd10,0x00020d06,0xb5106a83,
+0xf0006998,0xbd10fb7f,0xb5106a8b,0x46116998,0xfb44f000,0x46c0bd10,
+0x6844b510,0xf7ff68a0,0x4620f903,0xffbaf7ff,0x46c0bd10,0x4b06b510,
+0x47984604,0x4805b918,0xf7fd2175,0x8ae0fcd9,0x1000f3c0,0x46c0bd10,
+0x1e005ec1,0x00020d41,0x4b0cb570,0x460c4606,0xb9184798,0x215c480a,
+0xfcc6f7fd,0x0507f004,0xd00342a5,0x215d4806,0xfcbef7fd,0xf0238af3,
+0xea450307,0x82f30303,0x46c0bd70,0x1e005ec1,0x00020d41,0x4b06b510,
+0x47984604,0x4805b918,0xf7fd2155,0x8ae0fca9,0x0007f000,0x46c0bd10,
+0x1e005ec1,0x00020d41,0x4b0bb570,0x460d4604,0xb9184798,0x21434809,
+0xfc96f7fd,0x429d8aa3,0x4806d903,0xf7fd2144,0x6920fc8f,0x19408aa3,
+0x61201b5b,0xbd7082a3,0x1e005ec1,0x00020d41,0xe92d8a8b,0x2b0341f0,
+0x6880460c,0x690dd934,0x091b782b,0xd12f2b01,0x460878ab,0xf0034f1a,
+0x47b8060f,0x4819b918,0xf7fd218f,0x8ae3fc6d,0x621ff64f,0x0202ea03,
+0xb11682e2,0x1346ea42,0x786982e3,0xf0014620,0xf7ff0107,0x782bff8d,
+0x0f08f013,0x4620d00a,0xb91847b8,0x216b480b,0xfc52f7fd,0xf0438ae3,
+0x82e30308,0x21044620,0xffaaf7ff,0xe0042000,0x22004621,0x47984b04,
+0xe8bd2001,0x46c081f0,0x1e005ec1,0x00020d41,0x1e005c41,0x688a690b,
+0x41f0e92d,0x2b031a9b,0x6887460c,0xf8b1dc37,0x46388014,0x0104f108,
+0x47984b39,0xb9304605,0x46384621,0x4b372201,0x462c4798,0x4620e065,
+0xff6cf7ff,0x46284601,0xff4af7ff,0xf7ff4620,0x4b31ff35,0x46284606,
+0xb9184798,0x217c482f,0xfc0ef7fd,0xb1168aeb,0x0310f043,0xf023e001,
+0x69280310,0x82eb6921,0x30044642,0xfce6f7fe,0x46384621,0x4b232201,
+0x462c4798,0x4608e016,0x47984b21,0x4821b918,0xf7fd2139,0x6923fbf1,
+0x3b0468a2,0xd2034293,0x213a481c,0xfbe8f7fd,0x3b046923,0x8aa36123,
+0x82a33304,0x23106925,0x4620702b,0xfefaf7ff,0x782bb118,0x0304f043,
+0x4620702b,0xff22f7ff,0x70684f0f,0x78ae4620,0xb91847b8,0x2187480d,
+0xfbcaf7fd,0x46208ae3,0x1343f3c3,0x0303ea46,0x47b870ab,0x4807b918,
+0xf7fd21ab,0x8b63fbbd,0x462070eb,0x81f0e8bd,0x1e005c25,0x1e005c41,
+0x1e005ec1,0x00020d41,0xb5104601,0x4b022234,0x47986880,0x46c0bd10,
+0x1e005c15,0x4ff0e92d,0x4688690e,0x7014f8b8,0xb08d68b2,0x2f0f2100,
+0x46826835,0x910b9204,0x9106d803,0x91079105,0x6874e01b,0x041b0c23,
+0xb16b940b,0x04230c1a,0x42970c1b,0xd206930b,0x040df06f,0x9106910b,
+0x91079105,0x4614e0b3,0xf5b0980b,0xd9075f00,0x930b2300,0x93059306,
+0xf06f9307,0xe0a60417,0xbf284284,0x90074620,0x2100b160,0x47984b85,
+0xb1089005,0xe0089006,0xf06f9b05,0x930b041a,0xe0949306,0x92059a07,
+0xb14c9206,0x0210f1a7,0xf1069805,0x42940110,0x4622bf38,0xfc3af7fe,
+0x429d4b79,0x462ed001,0x2c07e00a,0x9b05d9d5,0x685e9a04,0x0202f042,
+0x93053308,0x92043c08,0x19754d72,0x7f99f5b5,0x4635bf88,0x7f83f5b5,
+0xd804d035,0xd0412d02,0xd0102dfd,0xf240e044,0x429d1307,0x3304d01c,
+0xd13d429d,0x0000f8da,0x4a672100,0x737af44f,0x47a04c66,0x9a05e032,
+0x0000f8da,0x78537891,0xea410409,0x78132103,0x43192400,0xea4178d3,
+0xf0006103,0xe046f8f3,0x495d9805,0x4b5d2204,0x46074798,0x2301b9e0,
+0x0004f8da,0x93009905,0x463b4622,0x9805e00b,0x22044955,0x47984b55,
+0x9000b970,0xf8da9905,0x9a0b0004,0xf7feab0b,0xe003fe73,0x0000f8da,
+0xf8def000,0xe0224604,0x93092300,0x9b04930a,0xf013a90a,0xd00a0202,
+0x9300ab09,0x0000f8da,0x9a052301,0x93029101,0x46234631,0xab0be008,
+0x92029300,0x0000f8da,0x9b0b9a05,0x46319101,0xf8d2f000,0xb1084604,
+0x930b9b0a,0x46414635,0x0008f8da,0x4b3a2200,0xf8dd4798,0xf240b02c,
+0x2c007343,0x465fbf0c,0xf1072700,0x429a022c,0x46b8bf94,0x68e3f44f,
+0x0008f8da,0x012cf108,0x47984b30,0xb9204606,0x2153482f,0xfaacf7fd,
+0x4b2ee073,0x091cf108,0xb9184798,0x214d482a,0xfaa2f7fd,0x68f26933,
+0x4293444b,0x4826d903,0xf7fd214e,0xf8a6fa99,0x46309014,0xf7ff210c,
+0x9a04fdf3,0x0c136930,0xf8c06005,0x041bb004,0xf043b10c,0x60830301,
+0x60c49b05,0xf1b8b163,0xd0090f00,0x30104642,0xf7fe4619,0x9a05fb63,
+0x0707ebc8,0x92054442,0xe03546b0,0x7344f240,0xbf34429f,0x461d463d,
+0x0008f8da,0x4b0d4629,0x46044798,0xf8dab9e0,0x46310008,0x4b082201,
+0xe02a4798,0x1e00578d,0xfffeda3e,0x001bebe0,0x000031c5,0x1e005a65,
+0x00020d4a,0x1e0040b9,0x1e005c41,0x1e005c25,0x00020d41,0x1e005ec1,
+0x99056900,0xf7fe462a,0x9b05fb2d,0x4000f8c8,0x9305195b,0x46a01b7f,
+0xb10a9a05,0xd1c52f00,0x0004f8da,0xf7ff4631,0x9b06f885,0x4619b12b,
+0x0008f8da,0x4b029a07,0xb00d4798,0x8ff0e8bd,0x1e005c15,0x46c04770,
+0x46c04770,0x46c04770,0x46c04770,0x6880b510,0xff26f7fd,0x46c0bd10,
+0xb5106803,0x21016898,0xfeecf7fd,0x46c0bd10,0xb5106c03,0xb9234604,
+0xf44f4806,0xf7fd7193,0x6c20fa0b,0x685b6a03,0xb9104798,0xf8842301,
+0xbd103045,0x00020d4f,0x41ffe92d,0x6c034698,0x460f4604,0xf89d4615,
+0xb91b6030,0x2132480c,0xf9f2f7fd,0x0f03f015,0x4809d003,0xf7fd2134,
+0x6c20f9eb,0x6a029b0a,0x9b0b9300,0x93019602,0x46396954,0x4643462a,
+0xb00447a0,0x81f0e8bd,0x00020d4f,0x68c0b510,0xfe30f7ff,0x46c0bd10,
+0xb5704b11,0x4604681b,0x460d4298,0x480fd003,0xf7fd21b1,0x68e0f9c9,
+0xf7ff4629,0xb988fd41,0x4b0b4629,0x47986860,0x46026c21,0x6be06a0b,
+0x479868db,0x6aa3b118,0x62a33301,0x6923e002,0x61233301,0x46c0bd70,
+0x00023c58,0x00020d4f,0x1e005cb1,0xb5704b13,0x4604681b,0x460d4298,
+0x4811d003,0xf7fd2196,0x4629f99f,0x68604b0f,0x46014798,0xf7ff68e0,
+0x4605fd5d,0x6820b178,0xf7fe4629,0xb138ffe5,0x69e28aab,0x696318d2,
+0x330161e2,0xe0026163,0x33016ae3,0x200062e3,0x46c0bd70,0x00023c58,
+0x00020d4f,0x1e005c9d,0x6800b510,0xf80af7ff,0x46c0bd10,0x6800b510,
+0xf80cf7ff,0x46c0bd10,0x00408900,0x46c04770,0xb5108983,0xfbb2460c,
+0xfb03f1f3,0x02092311,0x03fff003,0x4300f043,0x417ff401,0x2200430b,
+0xe00061a3,0x69a03201,0xda032800,0x429a4b07,0xe008d1f8,0x429a4b06,
+0xf010d805,0xd1025f80,0x7040f3c0,0xf04fe001,0xbd1030ff,0x00989680,
+0x0098967f,0xb5708903,0x460d429a,0xd3034614,0x21df4807,0xf938f7fd,
+0x4805b91d,0xf7fd21e0,0x0063f933,0x6300f503,0xb2805ae8,0x46c0bd70,
+0x00020d5e,0x4ff0e92d,0xb0874607,0x91016800,0x461d4614,0xfc42f7fd,
+0x46832100,0xf7fd6838,0x4681fd61,0x4828b920,0x21ddf240,0xf914f7fd,
+0xf7ff4638,0x4621ffa1,0x462a4682,0xf7fea802,0x2600f8bd,0xf016e02d,
+0xd1040f03,0x491fa802,0xf7fe0072,0x9b01f90b,0x4638b933,0x46324649,
+0xffb8f7ff,0xe0164604,0xea4f2400,0x46251806,0x46494638,0x0208eb05,
+0xff82f7ff,0x3ffff1b0,0xf64fd102,0xe00674ff,0xf305fa10,0x43233501,
+0xb29c2d10,0xa802d1ec,0x4622490d,0xf8e6f7fe,0xebb63601,0xd3ce0f5a,
+0x490aa802,0xf8def7fe,0x46596838,0xfd16f7fd,0x98049b02,0x0003ebc0,
+0xe8bdb007,0x46c08ff0,0x00020d5e,0x00020d67,0x00020d70,0x00021250,
+0xe92d6943,0x2b1441f0,0xf3404605,0xf7fd8083,0x4606fbe5,0xd17d2800,
+0xf7fd4628,0x2800fc0b,0x4c3ed078,0x46312224,0xf7fe4620,0x4628f96f,
+0xf7fd6025,0x69abfba3,0xf3c36060,0x2b0143c2,0x2b05d002,0xe065d009,
+0x0320f04f,0xf04f8163,0x81a30340,0x0380f04f,0xf04fe007,0x81630360,
+0x0340f04f,0xf44f81a3,0x462873c0,0xf7fd8123,0x2100fba9,0x46284607,
+0xfcc8f7fd,0xb9184606,0x21ce4827,0xf87cf7fd,0x4a246933,0x68136113,
+0x2b15695b,0x2b18d003,0x2b1bd001,0x4b1fd103,0x621a220c,0x2b17e005,
+0x2b18d001,0x2314dd01,0x4c1a6213,0x6a228923,0x692382e3,0xf4131d11,
+0x82a17f80,0x4620d008,0xf7ff4631,0xf3c0ff17,0x82e0100f,0xe0008320,
+0x4c108321,0x83638923,0xf4136923,0xd00a7f00,0x46206a22,0x32014631,
+0xff04f7ff,0x100ff3c0,0x83a08360,0x8b23e001,0x4c0683a3,0x89234628,
+0x83e34639,0xfc7ef7fd,0xe0004620,0xe8bd2000,0x46c081f0,0x00023c28,
+0x00020d5e,0x41f0e92d,0x46804b13,0xe01e681e,0x68f468b3,0x18e74640,
+0x47984b10,0xe0104605,0x46414620,0x4b0e462a,0xb9304798,0x2b3d5d63,
+0x1c63d103,0xd10d1958,0xf814e008,0x2b003b01,0x42bcd1fb,0x7823d202,
+0xd1e92b00,0x2e006836,0x4630d1de,0x81f0e8bd,0x00023c4c,0x1e0040a9,
+0x1e00d671,0x4ff0e92d,0x9301b0d1,0x03e6f640,0x4604429a,0x92024689,
+0xf06fbf88,0xf2000003,0xf01481f5,0xf0400f03,0x68218259,0x407ff401,
+0xf401060b,0xea43027f,0xea432300,0xea432312,0x93486311,0xf4016861,
+0x060b407f,0x027ff401,0x2300ea43,0x2312ea43,0x6311ea43,0x68a19349,
+0x407ff401,0xf401060b,0xea43027f,0xea432300,0xea432312,0x934a6311,
+0xf40268e2,0x0e13017f,0x2311ea43,0x6302ea43,0x427ff402,0x2302ea43,
+0x4ad1934b,0xf10d9b48,0x40530c10,0x3000f8cc,0x4ace9b49,0xe344f8df,
+0xf8cc4053,0x9b4a3004,0x4ecc4acb,0xf8cc4053,0x9b4b3008,0xf50d4aca,
+0x40537a94,0x7b96f50d,0x300cf8cc,0x25004667,0x08a0f10d,0x68b8687b,
+0x405868fa,0x100ef855,0x40484050,0x027ff400,0xf4000c12,0x0a1b437f,
+0x5cf45cb1,0x03fff000,0x04095cf2,0xea410e00,0x43112104,0xf8555c32,
+0xea41300c,0xea816102,0xea830303,0xea8343f1,0x613b2371,0x3008f845,
+0x37043504,0xd1d52d80,0x0f03f019,0x81c2f040,0x1000f8d9,0x407ff401,
+0xf401060b,0xea43027f,0xea432300,0xea432312,0x93486311,0x1004f8d9,
+0x407ff401,0xf401060b,0xea43027f,0xea432300,0xea432312,0x93496311,
+0x1008f8d9,0x407ff401,0xf401060b,0xea43027f,0xea432300,0xea432312,
+0x934a6311,0x100cf8d9,0x007ff401,0xea430e0b,0xf4012310,0xea43427f,
+0xea432302,0x934b6301,0x09009802,0xf0009003,0x9f01809a,0x0900f04f,
+0x46659b48,0x3000f8cc,0xf04f9a49,0xf8cc0e00,0xf8da2004,0xf8cc3000,
+0xf8db3008,0xf8cc2000,0x686b200c,0x68ea68a8,0x1008f85e,0x40504058,
+0xf4004048,0x0c12027f,0x437ff400,0x5cb10a1b,0xf0005cf4,0x5cf203ff,
+0x0e000409,0x2104ea41,0x5c324311,0x300cf85e,0x6102ea41,0x0303ea81,
+0x73b1ea83,0x53b1ea83,0x33b1ea83,0x2331ea83,0x0e04f10e,0x3504612b,
+0x0f80f1be,0x9827d1d1,0x9a259b26,0x90489349,0x2000f8ca,0x0e029b24,
+0x3000f8cb,0x0c039949,0x2130f88d,0x3131f88d,0x0e0b0a02,0x0133f88d,
+0xf88d984a,0x0a0b3134,0x2132f88d,0x3136f88d,0x0e030c0a,0x1137f88d,
+0xf88d994b,0x0a033138,0x2135f88d,0x313af88d,0x0e0b0c02,0x2139f88d,
+0x313cf88d,0x0a0b0c0a,0x0f03f017,0x013bf88d,0x213df88d,0x313ef88d,
+0x113ff88d,0x80b5f040,0x683b9a4c,0x603b4053,0x687a9b4d,0x607a405a,
+0x68bb9a4e,0x60bb4053,0x9b4f68fa,0x60fa405a,0xf1099a03,0x37100901,
+0xf47f4591,0x9c01af6d,0x18e40113,0x98029401,0x0e0ff010,0x8091f000,
+0x46659b48,0x3000f8cc,0x27009a49,0x2004f8cc,0x3000f8da,0x3008f8cc,
+0x2000f8db,0x200cf8cc,0x68a8686b,0xf85768ea,0x40581008,0x40484050,
+0x027ff400,0xf4000c12,0x0a1b437f,0x5cf45cb1,0x03fff000,0x04095cf2,
+0xea410e00,0x43112104,0xf8575c32,0xea41300c,0xea816102,0xea830303,
+0xea8373b1,0xea8353b1,0xea8333b1,0x37042331,0x3504612b,0xd1d32f80,
+0x9b269827,0x93499a25,0xf8ca9048,0x9b242000,0xf8cb0e02,0x99493000,
+0xf88d0c03,0xf88d2130,0x0a023131,0xf88d0e0b,0x984a0133,0x3134f88d,
+0xf88d0a0b,0xf88d2132,0x0c0a3136,0xf88d0e03,0x994b1137,0x3138f88d,
+0xf88d0a03,0xf88d2135,0x0c02313a,0xf88d0e0b,0xf88d2139,0x0c0a313c,
+0xf88d0a0b,0xf88d113f,0xf88d013b,0xf88d213d,0x2100313e,0x46c0e00c,
+0xa3b1bac6,0x56aa3350,0x677d9197,0x00020df8,0xb27022dc,0x00020d78,
+0xf5019a01,0x5c8b7098,0x2000f81d,0x4053466c,0x548b9a01,0x45713101,
+0x2000d1f2,0xe8bdb051,0xf89d8ff0,0x783b2130,0x703b4053,0x3131f89d,
+0x405a787a,0xf89d707a,0x78bb2132,0x70bb4053,0x3133f89d,0x405a78fa,
+0xf89d70fa,0x793b2134,0x713b4053,0x3135f89d,0x405a797a,0xf89d717a,
+0x79bb2136,0x71bb4053,0x3137f89d,0x405a79fa,0xf89d71fa,0x7a3b2138,
+0x723b4053,0x3139f89d,0x405a7a7a,0xf89d727a,0x7abb213a,0x72bb4053,
+0x313bf89d,0x405a7afa,0xf89d72fa,0x7b3b213c,0x733b4053,0x313df89d,
+0x405a7b7a,0xf89d737a,0x7bbb213e,0x73bb4053,0xf89d7bfa,0x405a313f,
+0xe70973fa,0x24004648,0x7843af48,0x1009f814,0x041b78c2,0x6301ea43,
+0x43137881,0x2301ea43,0x340451e3,0x2c103004,0xe661d1ef,0x25004620,
+0x7843af48,0x78c25d29,0xea43041b,0x78816301,0xea434313,0x51eb2301,
+0x30043504,0xd1f02d10,0x46c0e5c7,0x4ff0e92d,0x9202b0d5,0x18d29301,
+0x3c01f812,0xf812468c,0xf6401c02,0xea4302e6,0x42912101,0xf8dd4604,
+0x9103a178,0xf06fbf88,0xf2000002,0xf014826a,0xf0400f03,0x682183d2,
+0x407ff401,0xf401060b,0xea43027f,0xea432300,0xea432312,0x93506311,
+0xf4016861,0x060b407f,0x027ff401,0x2300ea43,0x2312ea43,0x6311ea43,
+0x68a19351,0x407ff401,0xf401060b,0xea43027f,0xea432300,0xea432312,
+0x93526311,0xf40168e1,0x060b407f,0x2300ea43,0x027ff401,0x2312ea43,
+0x6311ea43,0x4ab19353,0xf10d9b50,0x40530810,0x3000f8c8,0x4aae9b51,
+0xe2c4f8df,0xf8c84053,0x9b523004,0x4eac4aab,0xf8c84053,0x9b533008,
+0x46474aaa,0xf8c84053,0x2500300c,0x09a0f10d,0x68b8687b,0x405868fa,
+0x100ef855,0x40484050,0x027ff400,0xf4000c12,0x0a1b437f,0x5cf45cb1,
+0x03fff000,0x04095cf2,0xea410e00,0x43112104,0xf8555c32,0xea413008,
+0xea816102,0xea830303,0xea8343f1,0x613b2371,0x3009f845,0x37043504,
+0xd1d52d80,0x0f03f01c,0x833af040,0x1000f8dc,0x407ff401,0xf401060b,
+0xea43027f,0xea432300,0xea432312,0x93506311,0x1004f8dc,0x407ff401,
+0xf401060b,0xea43027f,0xea432300,0xea432312,0x93516311,0x1008f8dc,
+0x407ff401,0xf401060b,0xea43027f,0xea432300,0xea432312,0x93526311,
+0x100cf8dc,0x407ff401,0xea43060b,0xf4012300,0xea43027f,0xea432312,
+0x93536311,0x46459b50,0x3000f8c8,0x27009a51,0x2004f8c8,0xf8c89b52,
+0x9a533008,0x200cf8c8,0x68a8686b,0xf85768ea,0x40581009,0x40484050,
+0x027ff400,0xf4000c12,0x0a1b437f,0x5cf45cb1,0x03fff000,0x04095cf2,
+0xea410e00,0x43112104,0xf8575c32,0xea413008,0xea816102,0xea830303,
+0xea8373b1,0xea8353b1,0xea8333b1,0x37042331,0x3504612b,0xd1d32f80,
+0x99029b27,0x9b26934c,0x1b11ea5f,0x9b25934d,0x9b24934e,0xf000934f,
+0x9f018093,0x0c00f04f,0x0f03f017,0x8299f040,0xf4016839,0x060b407f,
+0x027ff401,0x2300ea43,0x2312ea43,0xea439a4c,0x405a6311,0x68799250,
+0x407ff401,0xf401060b,0xea43027f,0xea432300,0x9a4d2312,0x6311ea43,
+0x9251405a,0xf40168b9,0x060b407f,0x027ff401,0x2300ea43,0x2312ea43,
+0xea439a4e,0x405a6311,0x68f99252,0xf4019a4f,0x021b437f,0x6311ea43,
+0x6301ea43,0x017ff401,0x2311ea43,0x9253405a,0x37109b50,0x3000f8c8,
+0x46459a51,0x2004f8c8,0xf04f9b52,0xf8c80e00,0x9a533008,0x200cf8c8,
+0x68a8686b,0xf85e68ea,0x40581009,0x40484050,0x027ff400,0xf4000c12,
+0x0a1b437f,0x5cf45cb1,0x03fff000,0x04095cf2,0xea410e00,0x43112104,
+0xf85e5c32,0xea413008,0xea816102,0xea830303,0xea8373b1,0xea8353b1,
+0xea8333b1,0xf10e2331,0x612b0e04,0xf1be3504,0xd1d10f80,0x9a269b27,
+0x924d934c,0x9a249b25,0x0c01f10c,0x934e45dc,0xf47f924f,0x9a01af75,
+0x130bea4f,0x920118d2,0xf0139b02,0xf040040f,0xe00b8160,0xa3b1bac6,
+0x56aa3350,0x677d9197,0x00020df8,0xb27022dc,0x00020d78,0xea5f9903,
+0xf0001c11,0x27008090,0x0f03f01a,0x81d4f040,0x1000f8da,0x407ff401,
+0xf401060b,0xea43027f,0xea432300,0x9a4c2312,0x6311ea43,0x9250405a,
+0x1004f8da,0x407ff401,0xf401060b,0xea43027f,0xea432300,0x9a4d2312,
+0x6311ea43,0x9251405a,0x1008f8da,0x407ff401,0xf401060b,0xea43027f,
+0xea432300,0x9a4e2312,0x6311ea43,0x9252405a,0x100cf8da,0x407ff401,
+0xf401060b,0xea43027f,0xea432300,0x9a4f2312,0x6311ea43,0x9253405a,
+0xf10a9b50,0xf8c80a10,0x9a513000,0xf8c84645,0x9b522004,0x0e00f04f,
+0x3008f8c8,0xf8c89a53,0x686b200c,0x68ea68a8,0x1009f85e,0x40504058,
+0xf4004048,0x0c12027f,0x437ff400,0x5cb10a1b,0xf0005cf4,0x5cf203ff,
+0x0e000409,0x2104ea41,0x5c324311,0x3008f85e,0x6102ea41,0x0303ea81,
+0x73b1ea83,0x53b1ea83,0x33b1ea83,0x2331ea83,0x0e04f10e,0x3504612b,
+0x0f80f1be,0x9b27d1d1,0x934c9a26,0x9b25924d,0x37019a24,0x934e45bc,
+0xf47f924f,0x9a03af71,0x0b0ff012,0x994cd12c,0x0004f10a,0xf88a0e0b,
+0x0c0a3000,0xf88a0a0b,0xf88a2001,0xf88a3002,0x994d1003,0x0e0b1d04,
+0x3004f88a,0x0a0b0c0a,0x70837042,0x994e70c1,0x71030e0b,0x0a0b0c0a,
+0x70a37062,0x994f70e1,0x0e0b1d20,0x0c0a7123,0x70420a0b,0x70c17083,
+0xb0552000,0x8ff0e8bd,0x4628ad48,0x465a4651,0xfbd8f7fd,0x000beb05,
+0xf1cb2100,0xf7fd0210,0x9948fbb1,0xf4014645,0x060b407f,0x027ff401,
+0x2300ea43,0x2312ea43,0xea439a4c,0x99496311,0xf4014053,0x9350407f,
+0xf401060b,0xea43027f,0xea432300,0x9a4d2312,0x6311ea43,0x4053994a,
+0x407ff401,0x060b9351,0x027ff401,0x2300ea43,0x2312ea43,0xea439a4e,
+0x994b6311,0x93524053,0x407ff401,0xf401060b,0xea43027f,0xea432300,
+0x9a4f2312,0x6311ea43,0x9a504053,0xf8c89353,0x9b512000,0xf8c82700,
+0x9a523004,0x2008f8c8,0xf8c89b53,0x686b300c,0x68ea68a8,0x1009f857,
+0x40504058,0xf4004048,0x0c12027f,0x437ff400,0x5cb10a1b,0xf0005cf4,
+0x5cf203ff,0x0e000409,0x2104ea41,0x5c324311,0x3008f857,0x6102ea41,
+0x0303ea81,0x73b1ea83,0x53b1ea83,0x33b1ea83,0x2331ea83,0x612b3704,
+0x2f803504,0x9b27d1d3,0x934c9a26,0x9b25924d,0x44da9a24,0x924f934e,
+0xad48e745,0x99014628,0xf7fd4622,0x1928fb4b,0xf1c42100,0xf7fd0210,
+0x9948fb25,0xf4014645,0x060b407f,0x027ff401,0x2300ea43,0x2312ea43,
+0xea439a4c,0x99496311,0xf4014053,0x9350407f,0xf401060b,0xea43027f,
+0xea432300,0x9a4d2312,0x6311ea43,0x4053994a,0x407ff401,0x060b9351,
+0x027ff401,0x2300ea43,0x2312ea43,0xea439a4e,0x994b6311,0x93524053,
+0x007ff401,0xf4010e0b,0xea43427f,0xea432310,0x9a4f2302,0x6301ea43,
+0x9a504053,0xf8c89353,0x9b512000,0xf8c82700,0x9a523004,0x2008f8c8,
+0xf8c89b53,0x686b300c,0x68ea68a8,0x1009f857,0x40504058,0xf4004048,
+0x0c12027f,0x437ff400,0x5cb10a1b,0xf0005cf4,0x5cf203ff,0x0e000409,
+0x2104ea41,0x5c324311,0x3008f857,0x6102ea41,0x0303ea81,0x73b1ea83,
+0x53b1ea83,0x33b1ea83,0x2331ea83,0x612b3704,0x2f803504,0x9b27d1d3,
+0x934c9a26,0x9b25924d,0x934e9a24,0xe621924f,0x46212400,0x7ea0f50d,
+0x0089ad4c,0x000aeb01,0x200af811,0x784178c3,0x6302ea43,0xea437882,
+0xf8554301,0xea431024,0x404b2302,0x3024f84e,0x2c043401,0xd1e84621,
+0x2400e64e,0xf50d4621,0xad4c7ea0,0x19c80089,0x78c35dca,0xea437841,
+0x78826302,0x4301ea43,0x1024f855,0x2302ea43,0xf84e404b,0x34013024,
+0x46212c04,0xe587d1ea,0x46212400,0x7ea0f50d,0xeb010089,0xf811000c,
+0x78c3200c,0xea437841,0x78826302,0x4301ea43,0x2302ea43,0x3024f84e,
+0x2c043401,0xd1eb4621,0x2500e4e4,0xf50d4629,0x00897ea0,0x5d0a1908,
+0x784178c3,0x6302ea43,0xea437882,0xea434301,0xf84e2302,0x35013025,
+0x46292d04,0xe44ad1ed,0x4ff0e92d,0xf10db09b,0x461c0826,0x460f4606,
+0x21004615,0x46402222,0xfa30f7fd,0x78227863,0x2003ea42,0x010cf000,
+0xd0042908,0x0001f06f,0xe8bdb01b,0xf4108ff0,0xd0f74f80,0x0380f000,
+0xbf0c2b00,0x2202461a,0x92079206,0x7240f400,0x212abf0c,0xf5b2212c,
+0xbf147f40,0x0900f04f,0x0901f04f,0x0f00f1b9,0x46cabf0c,0x0a06f04f,
+0x0b01eb0a,0x0210f10b,0xd2d742aa,0x738ff24c,0x0303ea00,0x3026f88d,
+0x0a1b1d21,0xa80a220c,0x3027f88d,0xfa12f7fd,0xf10d7da3,0xf0030036,
+0xf88d030f,0xf1043034,0x0a1b0110,0xf88d2206,0xf7fd3035,0xf1b9fa03,
+0xd15e0f00,0x0918f104,0x2b009b06,0xf10dd161,0x92050242,0x0c43f10d,
+0x0e44f10d,0x0145f10d,0xeb099b07,0xf8120203,0xeb02300a,0x9a05000a,
+0x0901f04f,0x78427013,0x2000f88c,0x0c05ebcb,0x0210f1ac,0xf88e0a13,
+0x700a3000,0xf88d7883,0xab123057,0x9a039303,0x0302ebc9,0x0209eb00,
+0xf1097891,0xf1b90901,0x73d90f10,0xeb04d1f3,0x46300a0b,0xf10ca912,
+0x46530210,0xf8def7ff,0xf47f2800,0x1964af77,0x4621ad16,0x4628464a,
+0xf9b8f7fd,0x46389b06,0x0220f103,0x4643a912,0xa000f8cd,0xfb4af7ff,
+0xf47f2800,0x4620af63,0x464a4629,0x47984b10,0xbf182800,0x0002f06f,
+0xf104e75a,0xa80f0918,0x22064649,0xf99af7fd,0xf819e79a,0xeb0a300a,
+0xf88d0204,0x7e533042,0x0c45f10d,0x3043f88d,0x0e46f10d,0xf10dab11,
+0x93050147,0x46c0e794,0x1e00d671,0x4ff0e92d,0xf10db095,0x461c071e,
+0x460e4680,0x21004615,0x46382222,0xf956f7fd,0x78227863,0x2003ea42,
+0x010cf000,0xd0042908,0x30fff04f,0xe8bdb015,0xf4108ff0,0xd0f74f80,
+0x0380f000,0xbf0c2b00,0x2202461a,0x92059204,0x7240f400,0x212abf0c,
+0xf5b2212c,0xbf147f40,0x0900f04f,0x0901f04f,0x0f00f1b9,0x46cabf0c,
+0x0a06f04f,0x0b01eb0a,0xd2d945ab,0x738ff24c,0x0303ea00,0x301ef88d,
+0x0a1b1d21,0xa808220c,0x301ff88d,0xf93af7fd,0xf10d7da3,0xf003002e,
+0xf88d030f,0xf104302c,0x0a1b0110,0xf88d2206,0xf7fd302d,0xf1b9f92b,
+0xd1460f00,0x0918f104,0x2b009b04,0xf10dd149,0x9203023a,0x0c3bf10d,
+0xf10da80f,0x9b05013d,0x0505ebcb,0x0203eb09,0x300af812,0x0e0aeb02,
+0xf10d9a03,0x70130940,0x2001f89e,0xf88c0a2b,0x70032000,0xf89e700d,
+0x20013002,0x304ff88d,0x0200eb0e,0x0309ebc0,0x30017891,0x73d92810,
+0x9b04d1f6,0xf103445c,0x46300220,0x463b4649,0xf7ff9400,0x2800fa8b,
+0xaf7ef47f,0x46494640,0x0210f105,0xf7ff4623,0x2800f801,0xaf76f43f,
+0xf104e772,0xa80d0918,0x22064649,0xf8daf7fd,0xf819e7b2,0xeb0a300a,
+0xf88d0204,0x7e53303a,0x0c3df10d,0x303bf88d,0x003ef10d,0xf10dab0f,
+0x9303013f,0x46c0e7ab,0x47702000,0x47706880,0xb5106883,0xb1206b58,
+0x699b6a03,0x4798b10b,0x4803e004,0x3172f240,0xffcef7fb,0x46c0bd10,
+0x00020ef8,0xb5106803,0xb9234604,0xf44f4807,0xf7fb71e2,0x68e3ffc1,
+0x4804b923,0x71e2f44f,0xffbaf7fb,0x686068e3,0xbd104798,0x00020ef8,
+0x6803b510,0x7c584604,0x6860b118,0xf0062101,0x6823f97d,0xb1837c5b,
+0x2100b160,0x0038f104,0x4b06460a,0xb9404798,0xf2404805,0xf7fb219b,
+0xe002ff9b,0xf0006860,0xbd10fe81,0x1e005a21,0x00020ef8,0x6a84b513,
+0x0107f10d,0xf0026860,0xb128f9e9,0x3007f89d,0x4620b113,0xffd0f7ff,
+0x46c0bd1c,0x6840b510,0xfe68f000,0x46c0bd10,0x6a83b507,0x92002200,
+0x21026858,0xf0074613,0xbd0ef931,0x47ffe92d,0xf46f4699,0x440b4309,
+0x46174688,0x468a6a85,0xd80a2b0a,0xf003e8df,0x2c29130d,0x64615c57,
+0x00200667,0x08a2f04f,0x2000e074,0x3afff04f,0x2200e071,0xf8cd9700,
+0x92029004,0x2301e005,0xf8cd9700,0x93029004,0x92032200,0x49386868,
+0xf0074613,0xe05ef867,0x97002200,0x9004f8cd,0x92039202,0x49336868,
+0xf240e7f2,0xe02d53dc,0x7c5b682b,0x6868b113,0x47984b2f,0x2400682a,
+0x33e0f8d2,0x612b62ac,0x33a4f8d2,0x616b62ec,0x33e4f8d2,0x61ab4638,
+0x33a8f8d2,0x0110f105,0xf8d261eb,0x622b33e8,0x33b0f8d2,0xf8d2626b,
+0xf1b93570,0xbf340f24,0x2224464a,0xf7fc632b,0x4620fff5,0x682be027,
+0x3022f893,0xe021603b,0x683b682a,0x3022f882,0xf04fe01c,0xe0190809,
+0x080af04f,0x682ae016,0x24002306,0xf3f3fb99,0xf8c24626,0xe0083114,
+0xfb042206,0x19f11002,0xf7fc3052,0x3401ffd3,0x68293606,0x3114f8d1,
+0xd3f1429c,0x45d02000,0x2300d007,0x68689300,0x463a4641,0xf007464b,
+0xb004f899,0x87f0e8bd,0x00020f01,0x00020f0f,0x0001d585,0x6a8cb510,
+0x68234611,0x4b056c98,0x68624798,0x43ecf243,0x58d04601,0xf9faf00c,
+0x46c0bd10,0x1e005c9d,0xe92d6883,0x460641f0,0x69106b5f,0x89824615,
+0xd04a2f00,0x036cf648,0xd026429a,0xf0136afb,0xd0220f01,0xb3027b72,
+0x0f01f012,0x7803d005,0x0f01f013,0x2301d101,0xf012e011,0xd00e0302,
+0x78427803,0x401a7901,0x40137883,0x401a78c2,0x40117943,0x2bff400b,
+0x2300bf14,0x461a2301,0x6833b91b,0x6c984629,0x6833e028,0x6c984629,
+0x47984b14,0x46044b14,0x5027f895,0xb9184798,0x21b34812,0xfe7cf7fb,
+0xb26b8b62,0x02fff022,0x83634313,0x68b06a3b,0x463968db,0x47984622,
+0x4620b170,0x47984b0a,0x4808e00a,0x3131f240,0xfe66f7fb,0x46296833,
+0x463a6c98,0x47984b05,0x81f0e8bd,0x1e005cb1,0x1e005ec1,0x00020ef8,
+0x1e005e51,0x1e005c41,0x4a06b507,0x92006803,0x46084a05,0x681a9201,
+0x4b054904,0xfe52f7fc,0x46c0bd0e,0x00020fb1,0x00020f59,0x00020f8d,
+0x00020fa5,0x6803b510,0xb1137c5b,0xf0026840,0xbd10fe3d,0x6a80b510,
+0xfff4f7ff,0xbd102000,0x6803b510,0x7c5c6842,0x2400b10c,0x4b08e00e,
+0xb11b781b,0xf0024610,0xe007fb6d,0x43ecf243,0xf02158d0,0x4604fbd9,
+0xfdacf7fb,0xbd104620,0x00023af6,0x6840b510,0xfb0ef000,0x46c0bd10,
+0x6840b510,0xfa98f001,0x46c0bd10,0x4b09b510,0x78194604,0x2238b969,
+0x0038f100,0xfec6f7fc,0x63e44b05,0x46206423,0xfbccf020,0xf0216860,
+0xbd10f835,0x00023af6,0x00004a19,0x6844b510,0x7c5b6823,0x6860b12b,
+0xf86cf002,0xf7ff4620,0xbd10fe33,0x03fff000,0xea400a00,0x47702003,
+0xf4004602,0x0600437f,0x2003ea40,0x037ff402,0x2013ea40,0x6012ea40,
+0x46c04770,0x78007843,0x2003ea40,0x46c04770,0x78434602,0x04007880,
+0x2003ea40,0x43187813,0xea4078d3,0x47706003,0x3d68f890,0xf8d0bb0b,
+0x789b37f8,0xf890b9eb,0xb9d33d5f,0x13dcf243,0xb9b358c3,0x3d5cf890,
+0xf890b99b,0xb9833d62,0x43abf243,0xb9635cc3,0x381df890,0xf641b94b,
+0x58c3030c,0xf890b92b,0x1e183d65,0x2001bf18,0x2001e000,0x46c04770,
+0x47702000,0x43ecf243,0xf89358c3,0x4770021d,0xf890b510,0xb31b3d5e,
+0x3d5df890,0xf890bb03,0xb1eb3023,0x3024f890,0xf243b1d3,0x5ac353d2,
+0xf243b163,0x58c253c8,0x5352f5a3,0xea023b41,0xb11b0303,0x2390f642,
+0xb14b5cc3,0x3d67f890,0xf890b133,0xf1d33d3c,0xbf380301,0xe0002300,
+0xb2dc2300,0x3d68f890,0xf8d0bb23,0x789b37f8,0xf890bb03,0xb9eb3d5f,
+0x13dcf243,0xb9cb58c3,0x3d5cf890,0xf890b9b3,0xb99b3d62,0x43abf243,
+0xb97b5cc3,0x381df890,0xf641b963,0x58c3030c,0xf890b943,0xb92b3d65,
+0x37c8f8d0,0xbf181e19,0xe0002101,0xf8d02101,0xf8d3380c,0xf3c00120,
+0x429c6340,0x2200bf14,0xb1242201,0xf010b119,0xbf086380,0x4610461a,
+0x46c0bd10,0x47702001,0xf6422200,0xb5104314,0x2dbcf8c0,0x460454c2,
+0xfff4f7ff,0x0d11f884,0x46c0bd10,0xd9022902,0x001cf06f,0xb139e00e,
+0x3848f8d0,0x4299685b,0xf06fd002,0xe005000c,0xbf181e0b,0xf8802301,
+0x20003cfc,0x46c04770,0x0df2f8b0,0x46c04770,0x41f0e92d,0x549af500,
+0x46072600,0x46353410,0xb1136823,0x47986860,0x35011836,0x2d083414,
+0xf8d7d1f6,0xf9b22844,0xf9b23024,0x18c00026,0x3028f9b2,0xf9b218c0,
+0x18c0302a,0xe8bd1830,0x46c081f0,0xf44169d1,0x61d17100,0x180cf8d0,
+0x1180f8d1,0x6293185b,0x46c04770,0x03f3f248,0xd1014299,0xe0052001,
+0x1337f248,0xbf144299,0x20012000,0x46c04770,0x468cb530,0x461d4604,
+0x460ab10a,0xf8d0e027,0x7b0b1848,0xf642b19b,0x5cc333dc,0xf01cb17b,
+0xd1096f00,0x037ff00c,0xd0082b02,0xd0062b04,0xd0042b0b,0xd0022b16,
+0x20b6f891,0xf01ce00f,0xf00c6f00,0xd0060e7f,0x23144a1a,0x2303fb0e,
+0x18cb7c5b,0xeb01e001,0xf893030e,0xf3cc20a0,0x3b042302,0xf4222b01,
+0xd80f60e0,0x6f00f012,0xf002d109,0x2b02037f,0x2b04d008,0x2b0bd006,
+0x2b16d004,0xf440d002,0xe00160a0,0x2005ea40,0x6f00f010,0x4a08d10d,
+0x037ff000,0x2b0056d3,0xf8d4da07,0xf4202848,0xf8925360,0xea432045,
+0xbd3020c2,0x1e00c744,0x1e00c634,0x380cf8d0,0x72a0f503,0xf0136813,
+0xd1fb0f08,0x0302f04f,0x47708013,0x46c04770,0x46c04770,0xf241b570,
+0xf24134ef,0x5d4335f0,0x46065d02,0x2203ea42,0x0301f011,0x2320bf18,
+0x0260f022,0x0102f011,0x2140bf18,0x43194313,0x0a095501,0x7c435541,
+0xf7ffb12b,0x4630ffdf,0xf7ff2101,0xbd70ffdd,0x30fff04f,0x46c04770,
+0xb5102a2f,0xd8024696,0x000df06f,0xf8b0e02d,0x600b3826,0x3828f8b0,
+0xf8d0604b,0x681c3848,0x8a227ca3,0xea43071b,0x68823302,0x6b53608b,
+0x0f3bf1be,0x684360cb,0x6a53610b,0x6a93614b,0xf8b0618b,0x61cb3384,
+0x382cf8d0,0x4b07624b,0x6853620b,0x6b13628b,0xd90562cb,0x630b6823,
+0x634b6863,0x638b68e3,0xbd102000,0x04da0000,0x46c04770,0x46c04770,
+0x43a9f243,0xb94256c2,0x54c23b01,0x41a0f243,0x50c23b04,0xb1035c43,
+0x47705442,0xe92d6b43,0x469641f0,0x2507f3c2,0xf002460e,0xf3ce027f,
+0xb18317c0,0x2d03b17f,0x2a20d840,0xf8b0d107,0xf4033324,0xf5b36340,
+0xd1376f40,0x2a07e009,0x2503d907,0x4b1be016,0x047ff002,0x2b00571b,
+0x2d01da02,0xe00cd82a,0xd0052c02,0xd0032c04,0xd0012c0b,0xd1212c16,
+0x2b026873,0xb9edd11e,0xb125e005,0x4319f642,0x2b015cc3,0x4611d016,
+0xf042b10f,0xea416100,0xf41e25c5,0xbf180f00,0x0500f445,0x4629b12a,
+0x23016872,0x47a04c06,0xf045b120,0x20004300,0xe00163f3,0x001cf06f,
+0x81f0e8bd,0x1e00c634,0x0001d375,0x0810f8d0,0x46c04770,0xb18b6b43,
+0xf8802901,0xd005103c,0x3ffff1b1,0xf890d106,0xb11b3b98,0x52a1f500,
+0xe0022301,0x52a1f500,0x70132300,0x46c04770,0xb17b69c3,0x5c9a4b08,
+0x5c9a4b08,0x02c2eb00,0x3658f8d2,0xf8c23301,0xf8d23658,0x18cb365c,
+0x365cf8c2,0x46c04770,0x000238e6,0x00021010,0xb5102806,0xd9014614,
+0xe0082000,0xf8134b04,0xeb032020,0x885b0380,0x2001700a,0xbd108023,
+0x00020ff4,0x3848f8d0,0x47706858,0x3848f8d0,0x47706818,0x3848f8d0,
+0x280cf8d0,0x1134f8a3,0xf8c24b02,0xf8c23160,0x47701164,0x00020003,
+0xb1a9b510,0x1328f8d0,0xe00d2200,0xf8931883,0xf003332c,0x2b02037f,
+0x2b04d005,0x2b0bd003,0x2b16d001,0x3201d104,0xd1ef428a,0xe000211f,
+0xf7ff210f,0xbd10ffd7,0x3848f8d0,0x280cf8d0,0x1136f8a3,0xf8c24b02,
+0xf8c23160,0x47701164,0x00020004,0x0830f8d0,0x40c6f3c0,0x47700240,
+0x3844f8d0,0xb12b7a1b,0x380cf8d0,0x1d04f8c0,0x112cf8c3,0x46c04770,
+0x0381eb00,0x4604b570,0x0778f8d3,0x6983460d,0xb1484798,0x380cf8d4,
+0x2150f8d3,0x40ab2301,0xbf144213,0x20012000,0x46c0bd70,0x2101b510,
+0xffe6f7ff,0x46c0bd10,0x375cf8d0,0x4770711a,0xf243b510,0x5cc343d9,
+0xe045f891,0xf642b93b,0x5cc34319,0xd0022b01,0x2044f891,0x2200e000,
+0xf8814596,0xd0022045,0xf7ff6889,0x2000ffe5,0x46c0bd10,0x380cf8d0,
+0x0180f8d3,0xf8d36008,0x60133184,0x46c04770,0x460cb513,0xa901466a,
+0xfff0f7ff,0x0c139a01,0x041b0412,0xea440c12,0x42940003,0xf5a0bf88,
+0xbd1c3080,0x0f01f011,0x460cb570,0xf8d04616,0xd004580c,0xf24b4808,
+0xf7fb519f,0x08a3fa95,0x3380f443,0x0f02f014,0x3160f8c5,0xf8a5bf14,
+0xf8a56166,0xbd706164,0x00021040,0x0f01f011,0x41f0e92d,0x460e4680,
+0x461d4617,0x480dd004,0x51e4f24b,0xfa78f7fb,0x0f01f015,0x4809d004,
+0x51e5f24b,0xfa70f7fb,0xdd082d00,0x19a12400,0x463a4640,0xf7ff3402,
+0x42acffc5,0xe8bddbf7,0x46c081f0,0x00021040,0x0f01f011,0x41f0e92d,
+0x460f4680,0x461d4616,0x480fd004,0x51b5f24b,0xfa52f7fb,0x0f01f015,
+0x480bd004,0x51b6f24b,0xfa4af7fb,0xdd0c2d00,0x19332400,0x785b5da2,
+0x464019e1,0x2203ea42,0xf7ff3402,0x42acff9b,0xe8bddbf3,0x46c081f0,
+0x00021040,0x2208b573,0x460d4606,0x49074668,0xfb14f7fc,0xf83d2400,
+0x5b621004,0x34024630,0xff84f7ff,0xd1f62c08,0x46c0bd7c,0x0002186c,
+0x460cb570,0xbf0c2a00,0x21b421a4,0x46062c64,0x46184615,0xf06fd902,
+0xe016001c,0x4622b90c,0xf1c4e004,0x011b0364,0xf2f4fb93,0x4630b118,
+0xf7ffb292,0xb125ff63,0x635cf243,0x52f42000,0xf243e003,0x52f4635e,
+0xbd704628,0x41f0e92d,0x460c4606,0x0725f101,0xe00d2500,0xf893192b,
+0x5d7a3026,0x71b0f505,0x2203eb02,0xb2924630,0xff44f7ff,0xb29d1cab,
+0x2024f894,0xd3ed4295,0x21484630,0xff3af7ff,0x81f0e8bd,0xf890b510,
+0xf8904d6b,0x21b62d6a,0x2204ea42,0xff2ef7ff,0x46c0bd10,0x41f0e92d,
+0x22004616,0x4607460d,0x1018f99d,0x469862f2,0xf8d0b133,0xeb022844,
+0x8c930245,0x849318cb,0xd1092d04,0x21a86933,0x404cf893,0x204df893,
+0x2202ea44,0xff0ef7ff,0x0385eb07,0x0778f8d3,0x6a034631,0x47984642,
+0x81f0e8bd,0xf890b510,0xf8d02023,0x2a00380c,0x2202bf0c,0xf8a322fa,
+0x21962612,0xfef6f7ff,0x46c0bd10,0xf8d0b510,0xb131380c,0x2207f240,
+0x2684f8a3,0x22092110,0xf240e005,0xf8a32212,0x21102684,0xf7ff2214,
+0xbd10fee1,0x0f01f011,0x460cb570,0x580cf8d0,0x4809d004,0x518cf24b,
+0xf976f7fb,0xf44308a3,0xf8c53380,0xf0143160,0xbf140f02,0x3166f8b5,
+0x3164f8b5,0xbd70b298,0x00021040,0xb510680b,0x460c2b34,0x2192d80b,
+0xffdcf7ff,0xb2800040,0x6823b128,0x0343eb00,0x60232001,0x2000e000,
+0x46c0bd10,0x2154b510,0xf7ff4604,0xf243ffcb,0x58e3137c,0xf0134602,
+0xd0056f00,0x33e4f241,0xf0035ce3,0xe00f0303,0x037ff003,0xd0082b02,
+0xd0062b04,0xd0042b0b,0x0016f1b3,0x2001bf18,0x2000e000,0x0303f000,
+0x0003f002,0xbf144298,0x20012000,0x46c0bd10,0xf642b570,0x2154431a,
+0x5ac44605,0xff9ef7ff,0x7070f420,0x21544304,0xb2a24628,0xfe76f7ff,
+0x46c0bd70,0x3d08f8d0,0x4604b510,0x4807b923,0x31b7f24b,0xf90cf7fb,
+0x2d08f8d4,0x380cf8d4,0x2d04f8c4,0x212cf8c3,0x46c0bd10,0x00021040,
+0xb570290e,0x460e4604,0xdd074615,0x2b046843,0x480fd004,0x5144f64a,
+0xf8f2f7fb,0xf8d4786b,0x782c080c,0xea4478a9,0x78eb2403,0xea41792a,
+0x796b2103,0x2203ea42,0x0320f046,0xf8a0b29b,0xf8a03420,0xf8a04422,
+0xf8a01422,0xbd702422,0x00021040,0x5354f500,0x42993334,0x460ab510,
+0x2103d103,0xf7ff32d4,0xbd10ffcb,0x2103b510,0xf7ff4a01,0xbd10ffc5,
+0x00021016,0xb5706843,0x460e2b04,0xf8d04614,0xd804580c,0xf64a4814,
+0xf7fb5127,0x2e31f8b5,0x4811d904,0x5128f64a,0xf8aef7fb,0x78e178a2,
+0x04127823,0xea427860,0x431a6201,0x2200ea42,0x79207963,0x2003ea40,
+0xf4430073,0x33012180,0x2380f443,0x1160f8c5,0x2164f8c5,0x3160f8c5,
+0x0164f8a5,0x46c0bd70,0x00021040,0x3088f8d0,0x4219b570,0x460d4604,
+0x480ad104,0x41e4f64a,0xf882f7fb,0x3088f8d4,0x0305ea23,0x3088f8c4,
+0xf8d4b93b,0xf0133084,0xd1026f80,0x4b024620,0xbd704798,0x00021040,
+0x0001d459,0x0381eb00,0x4604b570,0x0778f8d3,0xb108460d,0x47986943,
+0x17c1f894,0x2301b159,0xea2140ab,0xf8840303,0xb92337c1,0x60e8f504,
+0xf7ff2108,0xbd70ffc7,0x43cdb570,0x4604422a,0xd0044616,0xf64a4809,
+0xf7fb41aa,0xf8d4f849,0xea0527c4,0xea430302,0x42910106,0xf8c4d005,
+0xf50417c4,0x4b0260e8,0xbd704798,0x00021040,0x0001d459,0xf8d0b570,
+0x4606580c,0x4120f8d5,0x0f04f014,0x4823d004,0x6177f24b,0xf828f7fb,
+0x0f01f014,0x481fd004,0x6178f24b,0xf820f7fb,0x0f02f014,0x481bd104,
+0x6179f24b,0xf818f7fb,0x46302101,0xf7ff460a,0x2301ffbf,0x3128f8c5,
+0x4120f8d5,0x0f04f014,0x4812d004,0x6186f24b,0xf806f7fb,0x0f01f014,
+0x480ed104,0x6187f24b,0xfffef7fa,0x0f02f014,0x480ad104,0x6188f24b,
+0xfff6f7fa,0x3128f8d5,0x0f01f013,0x4805d004,0x618bf24b,0xffecf7fa,
+0x60e8f506,0xf7ff2104,0xbd70ff59,0x00021040,0x380cf8d0,0xf8d3b510,
+0xf0233120,0xf8904280,0xf4223023,0xb11b22c0,0x4280f042,0x3200f442,
+0x30e4f8d1,0x0f40f013,0xf891d007,0xb1133046,0x6200f042,0xf022e001,
+0xf04f6200,0xf7ff31ff,0xbd10ff6f,0xb5107c03,0xf890b12b,0xb9133d50,
+0x7280f04f,0x2200e000,0x71a0f04f,0xff60f7ff,0x46c0bd10,0xf8d0b510,
+0xf0333d3c,0xbf1a02ff,0x1180f44f,0xf44f460a,0xf7ff1180,0xbd10ff51,
+0xb5102300,0x3d3df880,0xf7ff4604,0xf44fffeb,0x46203100,0xf7ff460a,
+0xbd10ff43,0x41f3e92d,0x461d4616,0x46042208,0x4668460f,0xf8dd4930,
+0xf7fc8020,0xea35f86f,0xd0040206,0xf64a482d,0xf7fa4163,0x2f03ff81,
+0x482ad904,0x4164f64a,0xff7af7fa,0x0f03f1b8,0xe8dfd80d,0x0502f008,
+0xf8d40208,0xe00c1848,0x613cf504,0xf504e009,0x31046128,0x481fe005,
+0x4175f64a,0xff64f7fa,0xb1f1e01f,0x0c47ea4f,0x0201eb0c,0x0070f8b2,
+0x0306ea20,0x0e05ea43,0x3844f8d4,0xe070f8a2,0xb1737a1b,0xd00c4586,
+0x3848f8d4,0xd1084299,0xeb0caa02,0x46200302,0x1c08f833,0xf7ff4672,
+0xf1b8fca1,0xd1100f03,0x0147eb04,0x3af4f8b1,0xb29243f2,0x0303ea02,
+0xf8a1432b,0xf8b13af4,0x401a3c30,0xf8a1432a,0xe8bd2c30,0x46c081fc,
+0x00021874,0x00021040,0x3814f8d0,0x2b03b513,0xd112460c,0xf990b151,
+0xf44f3326,0x21027202,0xbf0c2b00,0x46132308,0xe0049100,0x91002102,
+0x7202f44f,0xf7ff4623,0xbd1cff79,0x4602b507,0xb159468e,0xf8802300,
+0x33013d44,0x3d43f880,0x33022280,0x21029300,0xe0064613,0xf8822303,
+0x93001d43,0x22802102,0xf7ff4673,0xbd0eff5f,0x7c43b570,0x460d4604,
+0x480ab123,0x0168f24a,0xfeeaf7fa,0xf06fb115,0xe00a0001,0x338cf8d4,
+0xf0132203,0xf8c40080,0xbf1c2814,0xf8c44628,0xbd702814,0x00021040,
+0x4ff7e92d,0x0a1cf101,0xf89a9201,0x46804008,0xd0402c00,0xd8072c40,
+0xfb04230c,0xf6420303,0x589b4248,0xd12f2b00,0xf249481c,0xf7fa01f5,
+0xe029febf,0x0b0cf04f,0x860bfb04,0x5530f506,0x786b3550,0xb12346a1,
+0xf2494814,0xf7fa01fa,0xf642feaf,0x59f34748,0x4810b923,0x01fbf249,
+0xfea6f7fa,0x706b2301,0x434cf642,0x59f458f2,0x46409901,0xfb0947a0,
+0x2200810b,0x4350f642,0x51f2782c,0x54ca706a,0xb2db1e63,0xd9d12b3f,
+0xf88a2300,0xe8bd3008,0x46c08ffe,0x00021040,0x4615b570,0x5230f500,
+0x3254469c,0x0e01f04f,0xb1a46814,0x0301f10e,0xfe83fa5f,0xf1be320c,
+0xd1f50f41,0x3460f8d0,0x01d6f249,0xf8c03301,0x480e3460,0xfe6cf7fa,
+0x30fff04f,0x220ce014,0x0202fb0e,0x4348f642,0x330450d1,0xf50250d5,
+0x33505330,0xf10c705c,0x7a01001c,0x4350f642,0xf88054d1,0x4620e008,
+0x46c0bd70,0x00021040,0xb5102301,0xf8804604,0xf7ff3d3d,0x4620fe97,
+0xfcf4f7ff,0x4806b920,0x711af648,0xfe40f7fa,0xf44f4620,0x22003100,
+0xfde6f7ff,0x46c0bd10,0x00021040,0x41f0e92d,0x460e4607,0x2828f8b7,
+0x3321f244,0xd011429a,0x429a3b0e,0x3307d00e,0xd00b429a,0x429a3310,
+0x3b14d008,0xd005429a,0x429a3307,0x2500bf14,0xe0002501,0xf44f2501,
+0xfb05739e,0xf8d47403,0x2a012a88,0x1e73d106,0x2b01b2db,0xf884d80e,
+0xe00e2b98,0xd0042a02,0xf647480c,0xf7fa619c,0x2e01fe03,0xf884d102,
+0xe0026b98,0xf8842300,0xf1b53b98,0xd0c53fff,0x33e5f241,0x463854fe,
+0x103cf997,0xfa66f7ff,0x81f0e8bd,0x00021040,0x47f0e92d,0x46054c27,
+0x4827b924,0x614af647,0xfde2f7fa,0xf8d47923,0xf0039000,0x2700087f,
+0x4b20e03b,0x791b18fb,0x007ff003,0x3848f8d5,0x027ff000,0xf893189b,
+0xf00010a0,0x29006400,0x4641bf08,0x6f00f011,0x4a18d108,0x037ff001,
+0x2b0056d3,0xf44fda02,0xe00172e0,0x7200f44f,0x4b12b934,0x2b00561b,
+0xf44fda02,0xe00176f0,0x7608f44f,0x37014b0d,0x5c1c5c59,0x010ff001,
+0x0141eb02,0xf7ff4628,0xf004fc25,0x4602040f,0x0144eb06,0xf7ff4628,
+0x454ffafd,0xe8bdd1c1,0x46c087f0,0x1e00c5e4,0x00021040,0x1e00c634,
+0xb5106843,0x46042b02,0x4805d804,0x2184f646,0xfd8af7fa,0x280cf8d4,
+0x61932300,0x46c0bd10,0x00021040,0xb5102300,0x3d82f880,0x3d7ef8b0,
+0xf8a04604,0x68433d80,0xd8042b02,0xf6464805,0xf7fa217d,0xf8d4fd71,
+0xf44f280c,0x61935320,0x46c0bd10,0x00021040,0xf8d0b510,0x00494844,
+0x8ca3190c,0x1a9b1809,0xf8b084a3,0xf8b13dc0,0x43132dc2,0x3dc0f8a0,
+0x3024f9b4,0xda042b00,0xf6464802,0xf7fa01c1,0xbd10fd4f,0x00021040,
+0x47f3e92d,0x7a0c4698,0x46077a4b,0xa80cf8d0,0x460d4608,0x2403ea44,
+0xf7fe4616,0x9001ff71,0xf7fe1d28,0xf89dff6d,0x90009028,0xbf142c00,
+0xf44f4625,0xb9766580,0x3d5cf897,0x4641b15b,0x4633464a,0x46384c11,
+0xa90147a0,0x46324603,0x4c0f4668,0x9c0147a0,0x46224628,0x4b0d9900,
+0x1a244798,0xf897b936,0xb11b3d5c,0x2b140a83,0x1824bf88,0x02aa4b08,
+0x189b18c3,0xf3f2fbb3,0x4303fb02,0x318cf8ca,0x87fce8bd,0x0001dac5,
+0x0001d425,0x0001d17d,0x00018fff,0x4777e92d,0x680cf8d0,0x46084680,
+0xf7fe460d,0x4682ff29,0xf7fe1d28,0x7a6bff25,0xf04f7a2c,0xea545180,
+0xbf082403,0x6480f44f,0x460a4681,0x04244640,0xfc8ef7ff,0xa180f8c6,
+0x9184f8c6,0x4188f8c6,0x46402400,0x22014629,0x94004623,0xff88f7ff,
+0xf04f4640,0x46225180,0xfc7af7ff,0x877ee8bd,0xf642b570,0x5cc44316,
+0x2c014605,0x2c03d906,0x4810d011,0x616df644,0xfcbef7fa,0xf642b924,
+0xf04f431a,0xe00a0240,0xd1042c01,0x431af642,0x0280f04f,0xf642e003,
+0xf04f431a,0x52ea0200,0xb12b7c6b,0x431af642,0x46285ae9,0x47984b02,
+0x46c0bd70,0x00021040,0x0001d4fd,0xf890b510,0x46043d11,0x4814b923,
+0x01c7f642,0xfc94f7fa,0x3024f894,0xf8d4b9f3,0x789b37f8,0xf243b9d3,
+0x58e313dc,0xf8b4b9b3,0xb99b3d12,0x3d14f8d4,0xf243b983,0x58e353f8,
+0xf243b963,0x58e353fc,0xf894b943,0xb92b3d1a,0xf1d37ce3,0xbf380001,
+0xe0002000,0xbd102000,0x00021040,0xb5702901,0x460d4604,0x480fd904,
+0x5149f641,0xfc64f7fa,0x31eff241,0x30f0f241,0x5c225c63,0x2302ea43,
+0x7340f423,0x2305ea43,0x5463b29b,0x54230a1b,0xb1337c63,0xf7fe4620,
+0x4620fff5,0xf7fe2101,0xbd70fff3,0x00021040,0xb5103901,0xd828290e,
+0xf001e8df,0x120f0b08,0x27272727,0x1b181527,0x0024211e,0x33dcf642,
+0xf642e001,0x54c233dd,0xf642e01c,0xe7fa33de,0x33dff642,0xf642e7f7,
+0xe7f433e0,0x33e1f642,0xf642e7f1,0xe7ee33e2,0x33e3f642,0xf642e7eb,
+0xe7e833e4,0x33e5f642,0x4803e7e5,0x510ff641,0xfc16f7fa,0x46c0bd10,
+0x00021040,0xf8d0b570,0xf8904328,0x2200532c,0x1883e009,0x132cf893,
+0x0f80f011,0xf001d002,0xe004057f,0x42a23201,0xf005d1f3,0x6b43057f,
+0xf015b173,0xd10b6f00,0xf0054a10,0x56d3037f,0xda052b00,0x3848f8d0,
+0x3045f893,0x25c3ea45,0x2324f8b0,0xf4024629,0xf5b24270,0xbf145f00,
+0x22022201,0x4c062301,0xb92047a0,0xf44f4805,0xf7fa51d4,0x4628fbd9,
+0x46c0bd70,0x1e00c634,0x0001d375,0x00021040,0xb5702910,0x460c4605,
+0x4804d904,0x115af641,0xfbc6f7fa,0x13dcf243,0xbd7050ec,0x00021040,
+0xb510301c,0xb11c6904,0x88c38822,0xd004429a,0xf2404803,0xf7fa11a7,
+0x4620fbb3,0x46c0bd10,0x00021040,0x7c43b570,0xb1234604,0xf24b4818,
+0xf7fa7166,0xf894fba5,0xb14d5d10,0x3710f8d4,0xf8d4b323,0x21003848,
+0xf00d6818,0xe01dfff1,0x3848f8d4,0x68184629,0xffeaf00d,0x3848f8d4,
+0x68184629,0x47984b0b,0x0310f641,0xb13358e3,0xf04f68a0,0x462a31ff,
+0xf7fa462b,0xf8d4ff9f,0x46293844,0x68a0721d,0xff1cf7fa,0x46c0bd70,
+0x00021040,0x0001ea19,0xf8d0b570,0x46053844,0xb9087a18,0xe0124606,
+0x380cf8d5,0xf8d52400,0xf8c36d04,0xf8d3412c,0x2001312c,0x47984b05,
+0x3d00f8d5,0x4d04f8c5,0xbf1842a3,0x46304626,0x46c0bd70,0x1e005d75,
+0xf8d0b570,0x46043844,0x460e7a1b,0xd0482b00,0xf8d0bb29,0x2021380c,
+0x21e0f8d3,0x25a1f643,0x0202f042,0x21e0f8c3,0x47984b21,0x200ae003,
+0x47984b1f,0xf8d43d0a,0xf8d2280c,0xf41331e0,0xd1013f00,0xd1f22d09,
+0x31e0f8d2,0x3f00f413,0x4818d127,0x31ecf64a,0xfb26f7fa,0x6883e021,
+0xb9b369db,0x380cf8d0,0x31e0f8d3,0x0f12f013,0xf643d00f,0xe00325a1,
+0x4b0d200a,0x3d0a4798,0x380cf8d4,0x31e0f8d3,0x3f00f413,0x2d09d101,
+0xf8d4d1f2,0xf8d2280c,0xf02331e0,0xf8c20302,0xf1d631e0,0xbf380301,
+0xf8842300,0xbd70381d,0x1e005d75,0x00021040,0x4b10b570,0x20284605,
+0xf8b54798,0xf1033824,0xe0030409,0x4b0b200a,0x3c0a4798,0x46282140,
+0xf964f7ff,0xd1012804,0xd8f32c09,0x46282140,0xf95cf7ff,0xd1042804,
+0xf64a4803,0xf7fa319b,0xbd70fad7,0x1e005d75,0x00021040,0x37c8f8d0,
+0x4219b570,0x460d4604,0x480ed004,0x41d2f64a,0xfac6f7fa,0x17c8f8d4,
+0xf8d4b921,0xf01337c4,0xd0046f80,0x0301ea45,0x37c8f8c4,0xf504e008,
+0xf8c460e8,0x4b0457c8,0x46204798,0xffb8f7ff,0x46c0bd70,0x00021040,
+0x0001d459,0xf8d0b570,0x2104580c,0xf7ff4606,0xf8d5ffd1,0xf1b44120,
+0xd03d3fff,0x0f04f014,0x482cd004,0x6121f24b,0xfa96f7fa,0x0f02f014,
+0x4828d104,0x6122f24b,0xfa8ef7fa,0x0f01f014,0x4824d104,0x6123f24b,
+0xfa86f7fa,0x3128f8d5,0x3ffff1b3,0xf013d020,0xd0040f01,0xf24b481d,
+0xf7fa612b,0x4630fa79,0x22002101,0xfa20f7ff,0xe0034c19,0x4b19200a,
+0x3c0a4798,0x3128f8d5,0x0f01f013,0x2c09d101,0xf8d5d1f4,0xf8d53128,
+0xf1b44120,0xd1043fff,0x073cf8d6,0xfc1ef7fe,0xf014e017,0xd0040f04,
+0xf24b480a,0xf7fa6143,0xf014fa53,0xd1040f02,0xf24b4806,0xf7fa6144,
+0xf014fa4b,0xd0040f01,0xf24b4802,0xf7fa6145,0xbd70fa43,0x00021040,
+0x00014441,0x1e005d75,0xf8d0b570,0x46043848,0x460d7b1b,0x4817b923,
+0x41ecf640,0xfa30f7fa,0x33cbf642,0xf1b356e3,0xd0033fff,0xbf142b01,
+0x25012500,0x31c7f642,0x42ab5c63,0xf8b4d018,0xf64f3352,0xea0332ff,
+0xb2eb0202,0xf8a45465,0xb11b2352,0x6380f442,0x3352f8a4,0xf7ff4620,
+0x4620ff65,0xf7ff4629,0x4620f875,0xf9d2f7ff,0x46c0bd70,0x00021040,
+0x408b2301,0xf890b570,0xb2dc27c1,0x0302ea04,0x460542a3,0xd010460e,
+0x2108b912,0xff22f7ff,0x37c1f895,0x0303ea44,0x37c1f885,0x0386eb05,
+0x0778f8d3,0x6903b108,0xbd704798,0xf10db573,0x460d0602,0x21004604,
+0x22064630,0xfaa2f7fb,0x4620b175,0xf7ff2101,0x4620ffd3,0xf7ff2103,
+0x4620ffcf,0x46322100,0xf8cef7ff,0xe0142301,0x3dcef894,0x4620b91b,
+0xf7ff2101,0x4620f957,0xf7ff2103,0x4620f953,0xf1044629,0xf7ff024c,
+0xf8d4f8bb,0xb16b37cc,0xf8c42300,0xf8d437cc,0xf40337c4,0xf5b323c0,
+0xd0033f00,0x60e8f504,0x47984b01,0x46c0bd7c,0x0001d459,0xb5102101,
+0x1dcef880,0xff9cf7ff,0x46c0bd10,0xf890b570,0x46043d5e,0xf890b31b,
+0xbb033d5d,0x3023f890,0xf890b1eb,0xb1d33024,0x53d2f243,0xb1635ac3,
+0x53c8f243,0xf5a358c2,0x3b415352,0x0303ea02,0xf642b11b,0x5cc32390,
+0xf894b14b,0xb1333d67,0x3d3cf894,0x0301f1d3,0x2300bf38,0x2300e000,
+0xb322b2da,0x3d68f894,0xf8d4bb0b,0x789b37f8,0xf894b9eb,0xb9d33d5f,
+0x13dcf243,0xb9b358e3,0x3d5cf894,0xf894b99b,0xb9833d62,0x43abf243,
+0xb9635ce3,0x381df894,0xf641b94b,0x58e3030c,0xf894b92b,0x3b003d65,
+0x2301bf18,0x2301e000,0xf8d4b2dd,0x0652380c,0x6120f8d3,0xf042b10d,
+0x46206280,0x61c0f04f,0xf8eaf7ff,0xf006b13d,0xf1b363c0,0xd1027f00,
+0xf7ff4620,0xbd70fe3d,0xe92d69cb,0xf01347f0,0x46040f04,0x4691460d,
+0x482dd104,0x0132f648,0xf926f7fa,0x4628692f,0x306ff897,0x206ef897,
+0x2803ea42,0x304cf897,0x0607f003,0xfd58f7ff,0x6000f8c9,0x460569e3,
+0xf894b303,0xb1eb3d5e,0xd81b2e03,0xf8904a1f,0x5d923183,0xf0134113,
+0xd0130f01,0x0381f3c8,0xd10f2b02,0x0f80f018,0xf243d00c,0x5ca342ab,
+0x3301b923,0x462054a3,0xff58f7ff,0xf043686b,0x606b6300,0x3844f8d4,
+0x0386eb03,0x681b68db,0xd80c2b02,0x0346eb04,0x2dc2f8b3,0x3dc0f8b4,
+0x000ff06f,0x0302ea23,0x3dc0f8a4,0x793be00a,0x0381f3c3,0xd0042b02,
+0x33b4f8d4,0xf8c43301,0x200033b4,0x87f0e8bd,0x00021040,0x00021010,
+0x41f0e92d,0x681cf890,0xb9164604,0x4b162101,0xf8d44798,0x7a1d3844,
+0x68a0b955,0x462a4629,0xfc58f7fa,0x6180f44f,0x460a4620,0xf860f7ff,
+0x380cf8d4,0x7158f8d3,0x68a0b91d,0xf7fa4629,0xb91efc4d,0x46314620,
+0x47984b07,0x3710f8d4,0x3f80f417,0xf043bf14,0xf0230302,0xf8c40302,
+0xe8bd3710,0x46c081f0,0x0001d47d,0xf243b570,0x5cc25314,0xbb124604,
+0x5354f500,0x4610781d,0x1823e006,0x5201f243,0x4299569b,0x3001dd02,
+0xd1f642a8,0x520cf243,0x42985ca3,0xf243d00f,0x58e543fc,0xb15554a0,
+0x33182201,0x3b0454e2,0xf8d458e1,0x462a073c,0x4c012300,0xbd7047a0,
+0x1e0061f9,0x4604b570,0x481d460e,0x51adf64a,0xf862f7fa,0xb9336b63,
+0xd0042e14,0xf64a4818,0xf7fa51af,0xf894f859,0xb91d581d,0x46294620,
+0xfcfef7ff,0x3848f8d4,0x6818b271,0xfcfaf00d,0x3844f8d4,0xb9237a1b,
+0xf64a480d,0xf7fa51b8,0xf8d4f843,0x68a13848,0xf00e6818,0xf8d4f9a1,
+0x68183848,0xf89ef020,0x0848f8d4,0x30784631,0xfbbaf012,0x4620b91d,
+0xf7ff2102,0xbd70fcd9,0x00021040,0x0f03f011,0x460cb5f7,0x461f4615,
+0xd0046986,0xf64a4816,0xf7fa5168,0xf015f81d,0xd0040f03,0xf64a4812,
+0xf7fa5169,0x0c23f815,0xb123041b,0xf64a480e,0xf7fa516a,0xf8c6f80d,
+0xf8d64130,0xf4033120,0xe00e3480,0x4639a801,0xf7fb2204,0xb11cf8e7,
+0xf7fe9801,0x9001fa1d,0x37049b01,0x3134f8c6,0x2d003d04,0xbdfedcee,
+0x00021040,0x4614b570,0x460b3203,0xf44f4605,0xf500618d,0xf02260e8,
+0x69860203,0xffbaf7ff,0x3f80f5b4,0x4808db04,0x51e4f64a,0xffdcf7f9,
+0x211a4628,0xf7feb2a2,0xf8d6fd35,0xf0433124,0xf8c60302,0xbd703124,
+0x00021040,0x4614b570,0x460b3203,0x21684605,0x60e8f500,0x0203f022,
+0xf7ff6986,0xf5b4ff97,0xdb043f80,0xf64a4808,0xf7f951d6,0x4628ffb9,
+0xb2a22118,0xfd12f7fe,0x3124f8d6,0x0301f043,0x3124f8c6,0x46c0bd70,
+0x00021040,0x41f0e92d,0x460e4605,0xf8d04617,0xb12b480c,0xffd2f7ff,
+0x46314628,0xe00c463a,0x3124f8d4,0x0f01f013,0xf7ffd102,0xe00cffc7,
+0x3124f8d4,0x0f02f013,0xf7ffd102,0xe004ff9b,0xf64a4803,0xf7f951fb,
+0xe8bdff87,0x46c081f0,0x00021040,0xf8d0b570,0xb19557d0,0x22006884,
+0x46294613,0xf7fa4620,0x4629fb95,0x2300462a,0xf7fa4620,0x2200fb73,
+0x46294620,0xf7fa4613,0xbd70fb51,0x41f0e92d,0xf8d0461d,0x46043848,
+0x460e6818,0xf0114690,0xf8d4fda3,0x46293848,0x46326818,0xfc1cf00d,
+0x3848f8d4,0x31fff04f,0x22006818,0xfe2cf00e,0x46414620,0xfd66f7ff,
+0x81f0e8bd,0x4605b570,0xf8d0460c,0xf8d5073c,0x4b0a1d38,0xb17c4798,
+0x3d5ef895,0xf895b163,0xb14b3de0,0x2d69f895,0xf8d5b132,0xf8d5073c,
+0x23011d38,0x47a04c02,0x46c0bd70,0x1e006221,0x1e0061f9,0xf890b510,
+0x46043d0d,0x2001b90b,0xf8d0e012,0xf0133394,0xd0040f04,0xf6424807,
+0xf7f911ad,0x2300ff19,0x3d0df884,0x073cf8d4,0x1d34f8d4,0x47984b02,
+0x46c0bd10,0x00021040,0x1e006221,0x4b0cb570,0x460c4606,0xb9184798,
+0x215c480a,0xff00f7f9,0x0507f004,0xd00342a5,0x215d4806,0xfef8f7f9,
+0xf0238af3,0xea450307,0x82f30303,0x46c0bd70,0x1e005ec1,0x00021040,
+0x4b06b510,0x47984604,0x4805b918,0xf7f92155,0x8ae0fee3,0x0007f000,
+0x46c0bd10,0x1e005ec1,0x00021040,0x4b0ab570,0x460d4604,0xb9184798,
+0x214d4808,0xfed0f7f9,0x68e26923,0x429318eb,0x4804d903,0xf7f9214e,
+0x82a5fec7,0x46c0bd70,0x1e005ec1,0x00021040,0x4b0bb570,0x460d4604,
+0xb9184798,0x21434809,0xfeb6f7f9,0x429d8aa3,0x4806d903,0xf7f92144,
+0x6920feaf,0x19408aa3,0x61201b5b,0xbd7082a3,0x1e005ec1,0x00021040,
+0x4b0cb570,0x460d4604,0xb9184798,0x2139480a,0xfe9af7f9,0x68a26923,
+0x42931b5b,0x4806d203,0xf7f9213a,0x6920fe91,0x1b408aa3,0x612018eb,
+0xbd7082a3,0x1e005ec1,0x00021040,0x7c43b530,0x4605b085,0xb11b460c,
+0xf06fb111,0xe09d0004,0xd9022c03,0x0001f06f,0xf8d5e098,0x3b023814,
+0xd9042b01,0xf24a484a,0xf7f90111,0x2c03fe6d,0xf8d5d107,0x2b023814,
+0x2400d101,0x2402e012,0xb17ce000,0x3814f8d5,0xd1042b02,0x3388f8d5,
+0x0f01f013,0x2b03e005,0xf8d5d104,0xf0133834,0xd0715f00,0x4810f8c5,
+0x2100a802,0xf7fa2208,0xf8bdff11,0x2c003008,0xf043d03f,0xf8ad0310,
+0xf8d53008,0x2b023814,0x3830f8d5,0xf023d120,0xf8c55300,0xf8d53830,
+0xf4133388,0xf8bd4f80,0xd008300a,0x7380f443,0x300af8ad,0xf8c52330,
+0x232037d0,0xf423e009,0xf8ad7380,0xf44f300a,0xf8c573c0,0xf44f37d0,
+0xf8c57380,0xe00937d4,0x5300f043,0x3830f8c5,0x300cf8bd,0x5380f423,
+0x300cf8ad,0x300af8bd,0xbf0c2c02,0x7300f443,0x7300f423,0x300af8ad,
+0xf023e009,0xf8ad0310,0xf8d53008,0xf0233830,0xf8c55300,0x24023830,
+0x3008f8bd,0x21004628,0x94002210,0xfe5ef7fe,0x300af8bd,0x21014628,
+0x7240f44f,0xf7fe9400,0x4628fe55,0x300cf8bd,0xf2414621,0x94001208,
+0xfe4cf7fe,0xe0012000,0x0002f06f,0xbd30b005,0x00021040,0x41f0e92d,
+0x680cf8d0,0xf8d64604,0xf1b22128,0xd1013fff,0xe0282700,0xf8d0b111,
+0xe0013d04,0x3d08f8d0,0x0702ea13,0xf8d4d01f,0x2500380c,0x512cf8c3,
+0x0f80f417,0x312cf8d3,0x5d04f8c4,0x2301d00a,0xf8844629,0x46203d44,
+0xff2cf7ff,0x46294620,0xfea0f7fe,0x4f00f417,0xf44fbf18,0xf8c63380,
+0xbf187128,0x46386233,0x81f0e8bd,0x41f0e92d,0x700b2300,0x46047c43,
+0xb1ab460d,0x3d04f8d0,0x2101b193,0xffbaf7ff,0xb1684606,0x702f2701,
+0x3d00f8d4,0x4806b123,0x511df24b,0xfd88f7f9,0xf8c44638,0xe0006d00,
+0xe8bd2000,0x46c081f0,0x00021040,0x3d00f8d0,0x4604b510,0x480ab923,
+0x41eaf24b,0xfd74f7f9,0x46202100,0xff96f7ff,0x3ffff1b0,0x3001d101,
+0xf8d4e005,0x43033d00,0x3d00f8c4,0xbd102001,0x00021040,0xf6422100,
+0x50c17358,0x503cf500,0x305cb510,0x7200f44f,0xfe1cf7fa,0x46c0bd10,
+0x3848f8d0,0x47f0e92d,0x05a0f103,0x4680226d,0x4628460c,0xf7fa2100,
+0x2200fe0d,0x18a3e00a,0xf013791b,0xd0040f80,0x037ff003,0xbf982b6c,
+0x320154eb,0x429a6823,0x2700d3f1,0x463e46b9,0x18b3e039,0x407cf893,
+0xd9042c6c,0xf647481d,0xf7f951d9,0x5d2bfd29,0xf0041928,0xb14b6100,
+0xd1262900,0xf0044a18,0x56d3037f,0xda202b00,0xe01f46a1,0x4a14b939,
+0x037ff004,0x2b0056d3,0x464bda01,0x463be000,0xb99b7003,0x4a0eb971,
+0x037ff004,0x2b0056d3,0x2c2fda08,0x2330d901,0x2c17e005,0x230cbf94,
+0xe0002318,0x70034623,0x4627e000,0xf8d83601,0x6f932848,0xd3c0429e,
+0x87f0e8bd,0x00021040,0x1e00c634,0x4ff7e92d,0x46074c29,0xb9244689,
+0xf6474828,0xf7f961ca,0xf8d7fce3,0xf8d43848,0x685ba000,0x0800f04f,
+0xbf142b01,0x0b0af04f,0x0b10f04f,0x4b1ee038,0x44434638,0x4b1e791d,
+0x057ff005,0x47984629,0x46064c1c,0x46384629,0xf10d464a,0x47a00302,
+0x22004629,0x4c18464b,0x47a04638,0x3003f89d,0x2002f89d,0xeb02b284,
+0x46382203,0x010af106,0xf7feb292,0xf89dfa0f,0xf89d3005,0x46382004,
+0x2203eb02,0x010cf106,0x445cb292,0xfa02f7fe,0xf1064638,0xb2a20110,
+0xf9fcf7fe,0x0801f108,0xd1c445d0,0x8ffee8bd,0x1e00c5e4,0x00021040,
+0x0001d839,0x0001dce1,0x0001d299,0x43f0e92d,0x3844f8d0,0x7a1bb089,
+0x46894605,0xf0002b00,0xb1098098,0xf9d6f7ff,0xf8d52100,0xf885280c,
+0xf8b21d87,0xf5053688,0x051b6658,0x36180d1b,0x3688f8a2,0x21004688,
+0x46682220,0xfd32f7fa,0xf3c37833,0x2c031441,0x483fd904,0x213af242,
+0xfc62f7f9,0xf0137833,0xd0060f10,0x40a32301,0x2d87f895,0xf8854313,
+0x78f23d87,0xea4378b3,0x015b2302,0xeb05b29b,0xf8ad0244,0xf8a23000,
+0x78333d88,0x000ff003,0xb29b1e43,0xf8ad2b0e,0xd8410008,0x22017871,
+0x030ff001,0xfa120909,0x408af303,0x3a013b01,0xf8adb29b,0xf8d52004,
+0xf8ad280c,0xf8ad3002,0xf8b23006,0x4013265a,0x300af8ad,0xf8ad181b,
+0x4b20300c,0x5d1b4628,0x015f2400,0x7112f507,0xf7fe3106,0xf440fa9b,
+0xf8ad7080,0xf507000e,0x19097110,0x2004f83d,0x34024628,0xf96ef7fe,
+0xd1f42c20,0x380cf8d5,0x2688f8b3,0xea42b292,0xb2923208,0x2688f8a3,
+0x2008f8bd,0x269cf8a3,0x0801f108,0x0f04f1b8,0x3604d001,0xf8d5e787,
+0xf8b2280c,0x051b3688,0xf8a20d1b,0xf1b93688,0xd0020f00,0xf7fe4628,
+0xb009fbb5,0x83f0e8bd,0x00021040,0x00021024,0xb5706b43,0x46052400,
+0x4dcef880,0xd0702b00,0x3848f8d0,0xf00d6818,0xf400f88b,0xf5b06040,
+0xd1666f40,0x3848f8d5,0x56a2f505,0xf00d6818,0xb2c0f87f,0x28023634,
+0x4620d801,0xf8d5e009,0x68183848,0xf874f00d,0x3802b2c0,0xfb902308,
+0xf8d5f0f3,0x5c343848,0xf00d6818,0xb2c0f869,0xd8012802,0xe0142001,
+0x3848f8d5,0xf00d6818,0x4a2ef85f,0x3802b2c0,0x0202ea00,0xda052a00,
+0xea6f3a01,0xea6f7242,0x32017252,0xfa132301,0x4004f002,0xf8d5d12a,
+0x68183848,0xf848f00d,0x28ddb2c0,0x4620d901,0xf8d5e007,0x68183848,
+0xf83ef00d,0x3002b2c0,0xf8d510c0,0x5c343848,0xf00d6818,0xb2c0f835,
+0xd90128dd,0xe0092301,0x3848f8d5,0xf00d6818,0x3002f82b,0x0007f000,
+0x40832301,0xd1014223,0xe0002401,0xb2e42400,0xf8d5e016,0x68183848,
+0xf81af00d,0x00c4f3c0,0xf2411828,0x5cc44374,0x3848f8d5,0xf00d6818,
+0xf000f80f,0x41040007,0x0401f084,0x0401f004,0x4628b11c,0xf7fe2101,
+0xbd70fae1,0x80000007,0xf890b570,0x46053024,0xf8d0b1eb,0xf8b03848,
+0x68184324,0xfff4f00c,0xd1144284,0x5154f505,0x31344628,0xfa62f7fe,
+0x3326f995,0x4628b11b,0xfb8ef7fe,0xf243e013,0x5ceb5338,0x4628b17b,
+0xfcdaf7fe,0x4628e00b,0xfa5cf7fe,0xf44f2300,0xf8853100,0x46283d3d,
+0xf7fe460a,0x4628fac9,0xfb68f7fe,0xf7fe4628,0xbd70fb55,0xf011b570,
+0x460c6500,0x007ff001,0x4a10d009,0xfb002314,0x7c1b2303,0x2107f3c1,
+0x2303ea41,0x4b0ce011,0xb2804798,0xf1b3b203,0xd1053fff,0xf6454809,
+0xf7f901de,0x4628faf9,0x021bb203,0x0302f043,0xf3c4b29b,0xea4320c2,
+0xbd7000c0,0x1e00c744,0x0001ed4d,0x00021040,0x460db570,0x46042154,
+0xf960f7fe,0x6f00f015,0xf241d005,0x5ce333e4,0x0303f003,0xf005e00e,
+0x2b02037f,0x2b04d008,0x2b0bd006,0xf1b3d004,0xbf180216,0xe0002201,
+0x46132200,0x0203f020,0x0202ea43,0x21544620,0xf7feb292,0x4629f81f,
+0xf7ff4620,0x21b0ffa7,0x46204602,0xf816f7fe,0x46c0bd70,0x4605b570,
+0xf7f96880,0xb340feeb,0x3714f895,0xd0242b01,0x3848f8d5,0x68182101,
+0x47984b11,0x3848f8d5,0x68182101,0xfef8f00c,0xf8d52401,0xf885280c,
+0xf8d24714,0x462831e0,0x0320f023,0x31e0f8c2,0xfa5cf7fe,0x46214628,
+0xfb44f7ff,0x46214628,0x47984b04,0x746c2000,0xf04fe001,0xbd7030ff,
+0x0001ea19,0x0001de2d,0x4604b510,0xf7f96880,0xb320feb5,0x3714f894,
+0x4620b30b,0xf7ff2100,0x2100fb29,0x46204b0e,0x46204798,0xffc2f7fe,
+0x280cf8d4,0xf8d22100,0xf04331e0,0xf8c20320,0xf8d431e0,0x68183848,
+0xfeb6f00c,0x3848f8d4,0x68182100,0x47984b03,0xf8842300,0xbd103714,
+0x0001de2d,0x0001ea19,0x3710f8d0,0x4605b570,0xf7ffb113,0xe029ffc9,
+0xf7f96880,0xb328fe7f,0x3714f895,0xd0212b01,0x3848f8d5,0x68182101,
+0x47984b0f,0x3848f8d5,0x68182101,0xfe8cf00c,0xf8d52401,0xf885280c,
+0xf8d24714,0x462831e0,0x0320f023,0x31e0f8c2,0xf9f0f7fe,0x46214628,
+0xfad8f7ff,0x46214628,0x47984b02,0x46c0bd70,0x0001ea19,0x0001de2d,
+0xf890b570,0x46043d11,0x2710f8d0,0xb322b943,0x0304f022,0x3710f8c0,
+0xf7ffb9fb,0xe01cfadf,0x0304f082,0x0680f3c3,0xfd64f7fe,0xbf181e45,
+0xb12e2501,0xf894b98d,0xf8843d18,0xe00c3d1a,0xb155b95e,0x3710f8d4,
+0xf0234620,0xf8c40304,0xf7ff3710,0xf884ff9d,0xbd705d18,0x7c43b570,
+0xb30b4605,0x3718f890,0xf890b1f3,0xb1713d6c,0xf8d5b1d3,0x4b0d1d1c,
+0x073cf8d0,0x23004798,0x3d6cf885,0x47984b0a,0x0d70f8c5,0xb95be00c,
+0xf8d03301,0xf8d5073c,0xf44f1d1c,0x4c05727a,0x230147a0,0x3d6cf885,
+0x46c0bd70,0x1e006221,0x1e005aa5,0x1e0061f9,0xf880b510,0xb1211de0,
+0x3d63f890,0xbf181e19,0xf7ff2101,0xbd10ffc7,0xb5706a81,0x7f00f411,
+0xd01e4604,0x7100f421,0xb9316281,0x073cf8d0,0x32fff04f,0xf9c4f7fd,
+0xf890e013,0xb183303f,0x03fff021,0x2507b96b,0x40ab2301,0xea136aa2,
+0xd1040102,0x073cf8d4,0xf7fd462a,0x3d01f9b1,0xbd70d2f2,0x2207b510,
+0x47984b01,0x46c0bd10,0x0001fa51,0x4ff7e92d,0xb004f8d1,0xf02b4699,
+0x688b7446,0x24b8f424,0x460d4607,0x604c9300,0x2a004692,0x80b5f000,
+0x21cff891,0x81cef891,0x92014650,0xfb96f7fd,0x01d0f8a5,0x3002f89a,
+0xf8854606,0xf44431d2,0x606b3380,0x302ef897,0xf444b17b,0x606b23a0,
+0x3244f895,0xf8d5b973,0x2b0430f4,0xb94bd000,0x46384b66,0x22064629,
+0x4b65e003,0x46294638,0x47982206,0x46382204,0x4b614629,0xf3c64798,
+0x2a010281,0x2a03d006,0xb942d009,0xf8852301,0xe00131ce,0x21cef885,
+0x21cff885,0x2300e004,0x31cef885,0x31cff885,0x31cef895,0xd0024543,
+0x0801f04f,0xf895e007,0x9a0131cf,0x0802ebb3,0xf04fbf18,0xf4160801,
+0xd0037f40,0xf043686b,0x606b4380,0x0f20f016,0x68abd003,0x0301f043,
+0xf01660ab,0xd0030f40,0xf04368ab,0x60ab0302,0xf0039b00,0x68ab0203,
+0x0303f003,0xbf18429a,0x0801f04f,0x0f10f016,0x686bd103,0x1380f443,
+0xf416606b,0xd0034f80,0xf043686b,0x606b7300,0x0402f006,0x0f00f1b9,
+0xf507d03c,0x300950a0,0x22164649,0xf9caf7fa,0xf899b11c,0xf0033001,
+0xf8990404,0xf0133001,0xd0030f08,0xf043686b,0x606b7380,0x0002f109,
+0xfb00f7fd,0x0008f010,0xf8b7d00f,0xf6413324,0xf4030210,0xf6404370,
+0xf5b34108,0xbf085f80,0xf241460a,0x52fa33ea,0xf241e010,0x52f833ea,
+0x4c1de00c,0x47a02204,0x46294638,0x47a02206,0x46294638,0x47a02205,
+0x465446d0,0xf3cb686b,0xf4034200,0xf3c33180,0x429a4300,0xf897d011,
+0xb9733023,0x7086f505,0xb1293001,0x0103f10a,0xf7fa2210,0xe002f97f,
+0xf7fa2210,0xf04ff95b,0xb1340801,0xf41b686b,0xf4432f00,0x606b2300,
+0xf1b8d002,0xd0030f00,0x46294638,0xffbcf014,0x8ffee8bd,0x0001fa51,
+0x0001f9d5,0x4ff7e92d,0x9decf8b0,0xfb09230c,0xf503f303,0xf500635f,
+0x18c3665e,0x360c4607,0x0804f103,0x0a00f04f,0xe01f9101,0x46594b14,
+0x47984630,0xf7fe4604,0x9b01fca3,0xd0084298,0x46594630,0x4b0f4622,
+0xbf082d00,0x47984625,0x6cb8e004,0x22014621,0x47984b0b,0x3c0cf858,
+0xd1e342ab,0x0a01f10a,0x080cf1a8,0x0309ebca,0xf10345ca,0xd0013bff,
+0xe7ef2500,0x8ffee8bd,0x1e003ac5,0x1e0039cd,0x1e005c41,0xf243b570,
+0x594315dc,0x2b004604,0xf8d0d033,0x788307f8,0x2104b113,0xfb76f014,
+0x2b065963,0x2b08d005,0x2b09d003,0x2b0ad001,0xf243d106,0x58e113d4,
+0x073cf8d4,0x47984b0f,0x51baf504,0x311c4620,0xff46f014,0x210cb110,
+0xfe8ef014,0x5148f504,0x4b093114,0x47984620,0xf7ff4620,0x2100fe59,
+0x13d8f243,0x50e14620,0xfc32f7fe,0xf7fe4620,0xbd70fe61,0x1e006221,
+0x0001dec9,0x7c43b510,0xb9134604,0x0003f06f,0x6880e045,0xfc2af7f9,
+0xd03e2800,0x3714f894,0xd03a2b00,0x07f8f8d4,0xf0142104,0x4620fb2f,
+0xffa8f7ff,0x5339f243,0xb14b5ce3,0x5154f504,0x31344620,0xf8baf008,
+0x607af44f,0x47984b14,0x21004620,0xf886f7ff,0x4b122100,0x47984620,
+0xf7fe4620,0xf8d4fd1f,0x2100280c,0x31e0f8d2,0x0320f043,0x31e0f8c2,
+0x3848f8d4,0xf00c6818,0xf8d4fc13,0x21003848,0x4b076818,0x23004798,
+0xf8844618,0x74633714,0xf04fe001,0xbd1030ff,0x1e005d75,0x0001de2d,
+0x0001ea19,0xb5702908,0x460e4605,0xb169d00d,0x62b4f241,0x2b025883,
+0x3301d102,0xe01d5083,0xf2412203,0x50c263b0,0x2601e018,0x54acf505,
+0x4628342c,0x4b0a4621,0xf5054798,0x302450a4,0x46214b08,0xf2414798,
+0x58ab62b4,0xd0042b02,0x62b0f241,0x2b0258ab,0x50aed100,0x46c0bd70,
+0x0001dec9,0x0001dc9d,0x4170e92d,0x3848f8d0,0x68184602,0x4688b085,
+0x6805685e,0xf00c6b54,0x23fffc11,0x3c00b2c0,0x2401bf18,0x93012100,
+0x462a9003,0x46334640,0x94029100,0xfb52f011,0xe8bdb005,0x46c08170,
+0x43f0e92d,0xf8954605,0xf5ad1024,0xf8d07d1b,0xb9090848,0xe00d4607,
+0x2324f8b5,0x6328f505,0x4270f402,0x5f00f5b2,0xf44fbf14,0x2200729e,
+0x189f3304,0xb1bc6bfc,0x6f00f014,0x8096f000,0xf8b5b131,0xf4033324,
+0xf5b36340,0xe0066f40,0xf00c6800,0xf400fbdd,0xf5b06040,0xf0406f40,
+0xf4448085,0xe0816480,0xf44f4621,0xa80272da,0xffe0f7f9,0x4621a86f,
+0xf7f92284,0xf505ffdb,0x365c563c,0x46a046a1,0xf8d66830,0xf010c004,
+0xf0006f00,0xd00a0e7f,0xea4fa96f,0x588b028e,0x45434463,0xd90c508b,
+0x46984604,0xa902e009,0x028eea4f,0x4463588b,0x508b4543,0x4698bf84,
+0xf1094674,0x36080901,0x0f40f1b9,0x2c00d1dc,0xf8d5d14c,0x6b693d4c,
+0xbf181e1a,0xf8952201,0xb18b3024,0x4621b909,0xf8b5e008,0xf4033324,
+0xf5b36340,0xbf146f40,0x21012100,0x704af505,0xf9bef011,0xe0314604,
+0x4621b909,0xf241e012,0x5ceb33ef,0x0f02f013,0xf897d00a,0xf0133047,
+0xd1050f08,0x3114f897,0xbf181e18,0xe0002001,0xb2c12000,0x0678f107,
+0xf0114630,0x687bf9a1,0x2b024604,0x7b3ad112,0x33fdb982,0x6b6b9300,
+0x3b004c09,0x2301bf18,0x46309301,0xa9902301,0x9b9047a0,0x18d3aa9a,
+0x4c25f813,0xf50d4620,0xe8bd7d1b,0x46c083f0,0x0001ed85,0x0f02f011,
+0x4605b573,0x4611d01d,0xfdbef014,0xb1c04606,0x3024f895,0xf505b113,
+0xe002704a,0x50bcf505,0x237f3010,0x88f39300,0xf0032200,0x93010301,
+0x01f8f106,0x4c034613,0x462847a0,0xf0144631,0xbd7cfdab,0x0001ed85,
+0x2600b5f0,0xf8d04605,0xf880780c,0xf5006d5d,0xb08b5058,0x22064631,
+0xf7f93008,0x4631ff27,0xf5052206,0xf7f9703d,0xf505ff21,0x463150be,
+0x30322206,0xff1af7f9,0x4320f243,0x462850ee,0x47984b61,0xf7fe4628,
+0x6b6bfba1,0xd0742b00,0x3848f8d5,0xf00c6818,0xf400faf7,0xf5b06040,
+0xd16a6f40,0x3848f8d5,0x54a2f505,0xf00c6818,0xb2c0faeb,0x28023434,
+0x4631d801,0xf8d5e009,0x68183848,0xfae0f00c,0x3802b2c0,0xfb902308,
+0xf8d5f1f3,0x5c643848,0xf00c6818,0xb2c0fad5,0xd8012802,0xe0142001,
+0x3848f8d5,0xf00c6818,0x4a46facb,0x3802b2c0,0x0202ea00,0xda052a00,
+0xea6f3a01,0xea6f7242,0x32017252,0xfa132301,0xea10f002,0xd12d0604,
+0x3848f8d5,0x54a2f505,0xf00c6818,0xb2c0fab1,0x28dd3434,0x4630d901,
+0xf8d5e007,0x68183848,0xfaa6f00c,0x3002b2c0,0xf8d510c0,0x5c243848,
+0xf00c6818,0xb2c0fa9d,0xd90128dd,0xe0092301,0x3848f8d5,0xf00c6818,
+0x3002fa93,0x0007f000,0x40832301,0xd1014023,0xe000461c,0xb2e42401,
+0xf8d5e014,0xf5053848,0x681854a2,0xfa80f00c,0x3848f8d5,0x00c4f3c0,
+0x5c243434,0xf00c6818,0xf000fa77,0x41040007,0x0401f004,0x4628b11c,
+0xf7fe2101,0x4628fbd3,0xfcecf7fd,0x4300f04f,0x3188f8c7,0x4628210f,
+0xfa6cf7fd,0xf2404628,0xf7fd31ff,0xf8d5fa91,0x685b3848,0xd1052b02,
+0x33c7f642,0x5ce94628,0xfc08f7fd,0xf7fd4628,0x4628f9a7,0xfd62f7fd,
+0x46282300,0x93004669,0xf83ef7ff,0xf7fd4628,0xb00bffa3,0x46c0bdf0,
+0x0001e951,0x80000007,0x3324f8b0,0xf403b570,0x460d4370,0xf5b34611,
+0xbf145f80,0x22012200,0xf0144604,0x4606fc93,0xf015b158,0xd10403fe,
+0x3d62f884,0xf7fe4620,0x6873fbd1,0x0300f423,0xbd706073,0x9c04b513,
+0xf2439400,0x590044ec,0xfdeaf008,0x46c0bd1c,0x2400b573,0x4623461a,
+0x460e4605,0xf7ff9400,0x4603ffed,0x4628b120,0x46324902,0xfec8f7fd,
+0x46c0bd7c,0x000078d1,0x9c04b513,0x9c059400,0xf2439401,0x590044ec,
+0xfdd4f008,0x46c0bd1c,0x47f0e92d,0x9909460f,0x46994604,0x0518f101,
+0x31c46c80,0x46904b1f,0x46064798,0xf8d4b928,0x330133c0,0x33c0f8c4,
+0x6903e031,0x0f03f013,0x4819d004,0x6150f248,0xfd22f7f8,0x463021ac,
+0xfe5ef7fe,0x46304629,0xfe40f7fe,0x0a3b6934,0x70632500,0x70a57027,
+0x1d2070e5,0x22064641,0xfdf4f7f9,0x000af104,0x22064649,0xfdeef7f9,
+0x0010f104,0x22069908,0xfde8f7f9,0x75e575a5,0x34189b0a,0x4630601c,
+0xf7fe2107,0x4630fdef,0x87f0e8bd,0x1e005c25,0x00021040,0x4605b570,
+0xb921460e,0xf2484814,0xf7f8610a,0x6ca8fce9,0x01acf106,0x47984b11,
+0xb9284604,0x33c0f8d5,0xf8c53301,0xe01433c0,0xf0136903,0xd0040f03,
+0xf2484809,0xf7f86113,0x21acfcd3,0xf7fe4620,0x4620fe0f,0xf7fe4631,
+0x4620fdf1,0xf7fe2100,0x4620fdbd,0x46c0bd70,0x00021040,0x1e005c25,
+0x47ffe92d,0xa048f8d0,0x46084607,0x4691460e,0xfdcaf7fe,0x68b26933,
+0x1a9b4680,0xd8412bab,0x21ac4650,0x47984b50,0xb9304605,0x33c0f8d7,
+0x33014606,0x33c0f8c7,0x21ace092,0xfde0f7fe,0xd10442ae,0xf2454849,
+0xf7f80185,0xf106fc99,0x7a0b011c,0x001cf105,0x23007203,0x7a4b720b,
+0x72434a43,0x6103690b,0xea0369f3,0x69eb0202,0x61eb4313,0x72837a8b,
+0x4641698b,0x46286183,0xfd74f7fe,0x46306934,0xf7fe210e,0x210efdb9,
+0xf7fe4628,0x6928fdd1,0x220e4621,0xfd56f7f9,0x462e602e,0xf1b86934,
+0xd03c0f00,0x2004f8d9,0xea024b30,0x2b000303,0xf8d7d135,0xb3533dbc,
+0x7b607b23,0x2000ea43,0xfe74f7fc,0x4f01f5b0,0xf10dd021,0x46210502,
+0x4628220c,0xfd36f7f9,0x46302104,0xfda8f7fe,0x220c4629,0xf7f94604,
+0xf44ffd2d,0xf7fc4001,0x7320fe5d,0x200ff3c0,0xea4f7360,0xf4003048,
+0xf7fc4060,0x73a0fe53,0x200ff3c0,0x69fb73e0,0xf897b12b,0xb9111da8,
+0xf7fe4630,0x6934fd23,0x7b607b23,0x2000ea43,0xfe40f7fc,0x53dcf240,
+0xd9114298,0x038ef648,0xd1034298,0xf04369f3,0x61f30310,0x462269f3,
+0x0308f043,0x463861f3,0x46334651,0x47a04c06,0xb0044630,0x87f0e8bd,
+0x1e005c25,0x00021040,0x03804460,0x00010040,0x0001db75,0x2600b573,
+0x6007f88d,0x6006f88d,0x6007f88d,0x3d46f890,0x5430f500,0x34244605,
+0xf89db12b,0xf0433006,0xf88d0301,0x4b123006,0x79a34798,0xd10b4283,
+0x2007f89d,0x429379e3,0xf89dd106,0x7a232006,0xd1014293,0xe0114630,
+0xf89d71a0,0x71e33007,0x3006f89d,0xf6427223,0x5ceb4325,0xdd042b1d,
+0xf2484804,0xf7f85138,0x2001fbcb,0x46c0bd7c,0x0001e0bd,0x00021040,
+0xf890b570,0x46043d5e,0xb133460d,0x0f80f011,0xf8d0d003,0xf01307f8,
+0xf894ff13,0xb1133d5f,0x0f80f015,0xf243d004,0x58e043ec,0xfd1ef009,
+0x46c0bd70,0x4604b573,0xf884460d,0xb3191d5e,0x3d5df890,0xf890bb03,
+0xb1eb3023,0x3024f890,0xf243b1d3,0x5ac353d2,0xf243b163,0x58c253c8,
+0x5352f5a3,0xea023b41,0xb11b0303,0x2390f642,0xb14b5cc3,0x3d67f894,
+0xf894b133,0xf1d33d3c,0xbf380301,0xe0002300,0xf8842300,0x7c633d5f,
+0xd0322b00,0xf7fe4620,0xf894f9d9,0x2b003d5f,0x2680bf14,0xf8942600,
+0xb1f33023,0x3024f894,0xf504b1db,0x31085158,0x784a788b,0x780b431a,
+0x78ca4313,0x790b431a,0x794a4313,0xd008431a,0x33fff04f,0x93002200,
+0x46134620,0xfdeaf7ff,0x4620b918,0xf7ff4631,0x4620ff8b,0xf7fe4629,
+0x4620fc01,0x4b014629,0xbd7c4798,0x0001de2d,0xf890b510,0x46043d53,
+0x4b0db1b3,0xf8944798,0x21003d50,0x18634318,0x532bf503,0x3102881a,
+0x1329f640,0xbf98429a,0x0001f040,0xd1f2290c,0x0301f1d0,0x2300bf38,
+0x3d52f884,0x46c0bd10,0x0001e66d,0x4ff0e92d,0xb0a32400,0x460d4607,
+0xf8dd461e,0xf8dda0c0,0x941fb0c4,0x9204941e,0x4894b922,0x1159f645,
+0xfb0ef7f8,0x2805982e,0x4890d904,0x115af645,0xfb06f7f8,0x2e006929,
+0x2602bf0c,0xf1052603,0x9107021c,0x92159611,0x784b780a,0xea426cb8,
+0x93052303,0x0381f3c3,0xbf082b02,0x930a9c05,0x4623bf14,0x13c0f3c4,
+0x9313b2db,0x4b804629,0x30044798,0xf1ba9009,0xd0030f00,0x300ff99a,
+0x900918c0,0x3830f8d7,0xda212b00,0x0f00f1ba,0xf89ad01e,0x2b023008,
+0xf642d11a,0x5cfb2391,0xf8d7b9b3,0xf8d33dd0,0xf0133094,0xd10f0f08,
+0x3006f89a,0xd80b2b35,0xd9092b03,0xd8072b0b,0x2801982d,0x9909d104,
+0x31089016,0xe0019109,0x92162200,0x46282106,0xfc0ef7fe,0x90082168,
+0xf7fe4628,0x2100fc09,0x46062268,0xfb6ef7f9,0x68239c15,0x6f80f413,
+0x88a4d001,0x9804e02f,0x68424b5c,0x0303ea02,0x9905b313,0x03fcf001,
+0xd11d2b88,0x79139a07,0x0f01f013,0x4628d118,0xfba2f7fe,0x992c9b04,
+0x0040eb03,0x4170f8b0,0x1e43982d,0xd1124299,0xf7fe4628,0x9a04fb95,
+0x0040eb02,0x3170f8b0,0xf8a03301,0xe0063170,0x2b019b0a,0x2400d013,
+0x0910f04f,0x9d0ae004,0xd00c2d01,0x0900f04f,0x9907982c,0x030ff000,
+0x1304ea43,0x758bb29b,0x75cb0a1b,0xf04fe001,0x9a2e0900,0xd1172a04,
+0x204df896,0x74fcf241,0x304cf896,0xea435b38,0xf2482302,0xea030218,
+0x01410202,0x73e0f647,0x0204f042,0x0303ea01,0x431a3001,0xe0175338,
+0x9d2c9c2d,0xf2411e63,0x429d71fa,0xd1015a7a,0x527b1c53,0x992e982c,
+0x030ff000,0x1302ea43,0xf647015b,0xea0372e0,0xf0010202,0x431a0307,
+0x2084f8ad,0x4b229a05,0x02fcf002,0xea0b2a80,0x92190303,0xf049bf08,
+0xb91b0920,0x3848f8d7,0xb03cf8d3,0xea0b491a,0xb1210101,0xb078f8cd,
+0xb07cf8cd,0xf8d7e023,0x6c1a3848,0xea024b14,0xb13b0303,0x79239c07,
+0x0f01f013,0x921ed002,0xe04b921f,0x792b9d07,0x0f01f013,0x980ad108,
+0x2801b130,0x9915d004,0xf013680b,0xd0110f10,0xf8929a04,0xf00330fc,
+0x931e037f,0x2300931f,0xe034930f,0x00021040,0x1e003e11,0x00010040,
+0x0800007f,0x9300ab1e,0x0387f10d,0xf10d9301,0x93020386,0x0382f10d,
+0xf8d79303,0xab1f07f0,0xaa219904,0xff24f010,0x3082f8bd,0x0f01f013,
+0x9c15d004,0xf4436823,0x60235300,0x682b9d15,0x0f10f013,0x9804d005,
+0x30fcf890,0x037ff003,0x992c931e,0x0101f1d1,0x2100bf38,0x68bb910f,
+0xb98b6b5b,0x3008f89a,0xd10d2b02,0xf0129a1f,0xd1096f00,0x037ff002,
+0xd9052b30,0x037ff022,0x0330f043,0x931e931f,0x3848f8d7,0xf8936b7c,
+0x991f5045,0xf0002c00,0xf01181b0,0xf0016f00,0xd004027f,0xd9062a07,
+0xd0042a20,0x4ba1e036,0x2b00569b,0x2900da32,0xf421db30,0xf4201040,
+0xf0115060,0x901f6f00,0x9a04d025,0xf0136853,0xd0064f80,0x3848f8d7,
+0x3046f993,0x3ffff1b3,0xf8d7d005,0xf9933848,0x2b013046,0x4a92d113,
+0x5180f440,0xf0002314,0xfb00007f,0x7c1a2303,0x4319f642,0xeba35cfb,
+0x3b011392,0xea41b2db,0x911f5103,0xea40e002,0x931f23c5,0xf011991e,
+0xf0016f00,0xd004027f,0xd9062a07,0xd0042a20,0x4b80e037,0x2b00569b,
+0x9b1fda33,0xdb302b00,0x1040f421,0x5060f420,0x6f00f011,0xd025901e,
+0x68639c04,0x4f80f013,0xf8d7d006,0xf9933848,0xf1b33046,0xd0053fff,
+0x3848f8d7,0x3046f993,0xd1132b01,0xf4404a70,0x23145180,0x007ff000,
+0x2303fb00,0xf6427c1a,0x5cfb4319,0x1392eba3,0xb2db3b01,0x5103ea41,
+0xe002911e,0x23c5ea40,0xf8d7931e,0x68183848,0xfdb8f00b,0x2828b240,
+0xf8d7d141,0x68183848,0xfdbaf00b,0xf4009b1f,0xf5b07040,0xbf147f00,
+0x24032402,0x6f00f013,0x027ff003,0x2a20d012,0x46a0d102,0xe03f2405,
+0x33eef241,0xf1b356fb,0xd1213fff,0x686b9d04,0x2f00f413,0x46a0d033,
+0xe0312404,0x569b4b4d,0xda022b00,0x33edf241,0x2a02e00e,0x2a04d00a,
+0x2a0bd008,0x2a16d006,0x4848d004,0x2135f645,0xf8d2f7f8,0x33ecf241,
+0xf1b356fb,0xd0163fff,0xb29c46a0,0x9b1fe014,0x0802f04f,0x037ff003,
+0xbf042b20,0x6300f04f,0x9b1e931f,0xf0034644,0x2b20037f,0xf04fbf04,
+0x931e6300,0x46a0e000,0x02219b1f,0x63e0f423,0x0303ea41,0x9b1e931f,
+0x62e0f423,0x6f00f013,0xea41bf14,0xea420302,0x921e2308,0x931e9a1f,
+0x6100f012,0x910ed103,0x9117910d,0xf642e075,0x56fb33e1,0xd1132b03,
+0x98119904,0xf000684b,0xf01300fd,0x90110f40,0x9a13d01b,0x4b22b1ca,
+0x5d1b9c2e,0x0343eb07,0x3d88f8b3,0xe013b18b,0xd1052b02,0x2302f3c2,
+0x2b013b04,0xe008d80c,0xd1092b01,0x20009d11,0x05fdf005,0x900e9511,
+0x2101e004,0xe001910e,0x920e2200,0x68639c04,0x1388f403,0x1f88f5b3,
+0xf642d003,0x5cfb33e3,0x9d11b11b,0x05fdf005,0xf8d79511,0x68183848,
+0xfc0af00b,0xf1b0b240,0xd0133fff,0xd10d2801,0xf0409811,0xb2db0302,
+0xe00b9311,0x1e00c634,0x1e00c744,0x00021040,0x00021010,0xf0019911,
+0x911101fd,0xf0039b1f,0x2b07037f,0x2b20d90c,0x9a04d00a,0x31cef892,
+0xf892b133,0xb11b31cf,0x930d2301,0xe0029317,0x940d2400,0x9d119417,
+0x0302f015,0x2303bf18,0x9a1f9311,0x6f00f012,0xf8d7d003,0x2b013d4c,
+0xf41bd002,0xd0020f00,0x0300f442,0xf8d7e004,0xb9133d4c,0x0300f422,
+0x9a1e931f,0x6f00f012,0xf8d7d006,0x2b013d4c,0xf442d102,0xe0040300,
+0x3d4cf8d7,0xf422b913,0x931e0300,0xf4139b1f,0xd0340f00,0x027ff003,
+0xd9012a07,0xd12e2a20,0x6400f013,0x2000d002,0xe0289011,0xf645488b,
+0xf7f7218d,0x9411ffe9,0xf011e021,0xd0046f00,0xf6454886,0xf7f72195,
+0x9b1effdf,0x6f00f013,0x4882d004,0x2196f645,0xffd6f7f7,0x9a1e9b1f,
+0x63e0f423,0x62e0f422,0x7300f443,0x7200f442,0x921e931f,0x940d940e,
+0x0802f04f,0x990f9417,0xf642b189,0x593a7458,0xeb07991f,0xf64200c2,
+0x50c1735c,0x32019b2d,0xf002b2d9,0xf642023f,0x50c17360,0x981f513a,
+0x6400f010,0xf410d02c,0xf4000f00,0xd01363e0,0x3b040a1b,0xf8df2b01,
+0xf000e1a4,0xd805017f,0xfb012314,0xf8d3e303,0xe01bb00c,0xfb012314,
+0xf8d3e303,0xe015b008,0x3b040a1b,0xf8df2b01,0xf000e17c,0xd805017f,
+0xfb012314,0xf8d3e303,0xe007b004,0xfb012314,0xf853f303,0xe001b00e,
+0x0b7ff000,0x2d029d0a,0xb96dd000,0x23ccf642,0x99095afb,0xdd074299,
+0x79139a07,0x0f01f013,0xbf089b0d,0x930d2301,0x3848f8d7,0xb1517b19,
+0x33dcf642,0xb1335cfb,0x4a47b92c,0x037ff000,0x2b0056d3,0x6b7bdb06,
+0xb304b30b,0x33e1f642,0xb1e356fb,0x2d019d2d,0xf642d909,0x5cfb33dc,
+0x2316b10b,0x2330e000,0x931f931e,0xb171e00f,0x33dcf642,0xb1535cfb,
+0x4a37b94c,0x037ff000,0x980e56d3,0x0023ea30,0x2001bf28,0x9a1e900e,
+0x6f00f012,0xf412d029,0xf4020f00,0xd01163e0,0x3b040a1b,0xf8df2b01,
+0xf002e0b4,0xd804027f,0xfb022314,0x68d9e303,0x2314e01d,0xe303fb02,
+0xe0186899,0x3b040a1b,0xf8df2b01,0xf002e090,0xd804027f,0xfb022314,
+0x6859e303,0x2314e00b,0xf303fb02,0x100ef853,0xf002e005,0xf44f027f,
+0xfb0273fa,0x9a1ff103,0x6f00f012,0xf412d030,0xf4020f00,0xd01163e0,
+0x3b040a1b,0xf8df2b01,0xf002e04c,0xd804027f,0xfb022314,0x68dae303,
+0x2314e024,0xe303fb02,0xe01f689a,0x3b040a1b,0xf8df2b01,0xf002e028,
+0xd804027f,0xfb022314,0x685ae303,0x2314e012,0xf303fb02,0x200ef853,
+0x46c0e00c,0x00021040,0x1e00c634,0x1e00c744,0x027ff002,0x73faf44f,
+0xf203fb02,0xd9044291,0xf645487e,0xf7f721f6,0x991efec3,0x910c4638,
+0x991f2200,0x4c7a2301,0xb92047a0,0xf6454877,0xf7f721f9,0x4638feb5,
+0x2200991e,0x47a02301,0x4872b920,0x21faf645,0xfeaaf7f7,0x9c049b1e,
+0x027ff003,0x6f00f013,0xbf189b1f,0x4200f442,0x017ff003,0x6000f013,
+0x4201ea42,0xbf189b15,0x4200f042,0x6863615a,0x3f80f413,0xf897d02e,
+0x2b003d45,0xf897d02a,0xb33b3d48,0x33e1f642,0x2b0356fb,0xb938d022,
+0xd01f2902,0xd01d2904,0xd01b290b,0xd0192916,0x792b9d07,0x0f01f013,
+0x9819d114,0xd1112888,0x8b2a9915,0xf449680b,0xf4434980,0x600b5380,
+0x739ff64f,0x0303ea02,0x0320f043,0x832b2201,0xe0019210,0x93102300,
+0x991f4638,0x9b089a09,0xf10d4c4a,0x47a00572,0x4638462b,0x9a09991e,
+0x220647a0,0x0036f106,0xf7f84629,0x9b1eff33,0x6f00f013,0xf003d110,
+0x2b02037f,0x2b04d005,0x2b0bd003,0x2b16d001,0x9c09d106,0x2307f3c4,
+0x403af886,0x303bf886,0x682a9d15,0x6f80f412,0x9b1fd01a,0x6f00f013,
+0x9b1ed016,0x6f00f013,0xf1bad012,0xd0030f00,0x3008f89a,0xd10b2b04,
+0xf4429815,0x60036300,0x33e7f241,0x990d5cfb,0xbf182b00,0x910d2101,
+0xf011991f,0xd10a6f00,0xf0014a27,0x56d3037f,0xda042b00,0x78139a08,
+0x030ff003,0x9b08e001,0x9c05781b,0x2ca4930b,0x9d07d010,0xf013792b,
+0xd10b0f01,0xb9589810,0x9a114638,0x4c1b9b2f,0x70a847a0,0x200ff3c0,
+0xe01970e8,0xb15a9a10,0xf6409a11,0x4638132a,0x47a04c15,0x30029b07,
+0x7098b280,0x70d80a00,0x2ca49c05,0x9d07d108,0x78ea78ab,0x2302ea43,
+0x303cf886,0xe0090a1b,0x79039807,0x0f01f013,0x9910d101,0x2300b191,
+0x303cf886,0x303df886,0x46c0e018,0x00021040,0x0001d375,0x0001dce1,
+0x1e00c634,0x0001d929,0x0001d299,0x991e4638,0x9b2f9a11,0x47a04cac,
+0x003cf886,0x200ff3c0,0x003df886,0x68139a15,0x7f00f413,0x8993d00d,
+0x5900f449,0x3042f886,0xf8860a1b,0x89d33043,0x3044f886,0xf8860a1b,
+0x9b2c3045,0xf049b90b,0x9c070908,0x34049d07,0x792b9418,0x0f01f013,
+0x9815d114,0xf4126802,0xd10f5f80,0x3d47f897,0xf012b113,0xd1090f40,
+0x6f80f412,0x9913d104,0xf897b111,0xb90b3d83,0x0901f049,0x2a029a0a,
+0xf897d109,0xb1333d45,0x0f04f1bb,0x9b17d903,0xf449b90b,0xf8d75980,
+0x68183848,0xfa20f00b,0xf4009c16,0xf5b06040,0xbf086f40,0x7980f449,
+0xf449b10c,0xea4f4900,0xf8862319,0x70739000,0x0f00f1ba,0xf642d01a,
+0x5cfb2391,0xf0402b00,0xf8d78481,0xf8d33dd0,0xf0133094,0xf0400f08,
+0xf89a8479,0x2a352006,0x8474f200,0x300cf89a,0x0307f003,0x1202ea43,
+0xbc6df000,0x0a132200,0x70f370b2,0x1d302400,0x22029907,0xfe1af7f8,
+0x71f471b4,0x402cf886,0x402df886,0x0f00f1ba,0xf642d039,0x5cfb2391,
+0xd1342b00,0x3dd0f8d7,0x3094f8d3,0x0008f013,0xf89ad12d,0x2b353006,
+0x9a05d829,0xf4029d07,0xf5b37340,0x9b137f40,0x0118f105,0xf105bf08,
+0xb103011e,0xf89a3102,0x2b023008,0x4632d111,0x0300eb0a,0x30bcf8b3,
+0xf3c37593,0x75d32307,0x32021c83,0x46182b0a,0xf106d1f2,0x22030020,
+0xf99ae003,0xf106200e,0xf7f80016,0x2206fdd7,0x0026f106,0xf7f89918,
+0xf89dfdd1,0x22003084,0x304cf886,0x3085f89d,0x204ef886,0x304df886,
+0x204ff886,0xb10c9c0d,0xe003920e,0x2d009d0e,0x8165f000,0x2200991f,
+0x46384643,0xf80cf7fc,0x46432200,0x991e4683,0xf7fc4638,0x4681f805,
+0x7832980e,0xb1207873,0x2303ea42,0x6300f443,0xea42e003,0xf0432303,
+0xf1060306,0x70330a50,0xf01a0a1b,0x70730f01,0x482ad004,0x4107f645,
+0xfcaef7f7,0x4c28990e,0xbf0c2900,0x0814f04f,0x080ef04f,0x4638ad1b,
+0x46424659,0x47a04653,0x4638462b,0x46424649,0x462947a0,0xf1062206,
+0xf7f8002e,0x9b11fd7b,0xf1069c09,0x25000256,0x93009212,0x990e9401,
+0x9b1f465a,0x95024c17,0x47a04638,0x0058f886,0x200ff3c0,0x0059f886,
+0x99099811,0x91019000,0x9502464a,0x990e4638,0x47a09b1e,0x0034f886,
+0x200ff3c0,0x0035f886,0xf1069a0e,0xb19a005a,0x033bf06f,0x3056f886,
+0x5057f886,0x22069b07,0x010af103,0x46c0e011,0x0001d929,0x00021040,
+0x0001dce1,0x0001d9d5,0x034bf06f,0x3056f886,0x220c9c0e,0x4057f886,
+0xf7f89918,0xf01bfd33,0xd10a6400,0xf00b4ab5,0x56d3037f,0xda042b00,
+0x3000f89a,0x030ff003,0xf896e001,0x9d0b3050,0xea43021b,0x950b0505,
+0x6500f019,0xf419d029,0xf4090f00,0xd01163e0,0x3b040a1b,0xf8df2b01,
+0xf009e2a4,0xd804017f,0xfb012314,0x68d8e303,0x2314e019,0xe303fb01,
+0xe0146898,0x3b040a1b,0xf8df2b01,0xf009e280,0xd804017f,0xfb012314,
+0x6858e303,0x2314e007,0xf303fb01,0x000ef853,0xf009e001,0xb34c007f,
+0x0f00f41b,0x63e0f40b,0x0a1bd011,0x2b013b04,0xe248f8df,0x017ff00b,
+0x2314d804,0xe303fb01,0xe01968da,0xfb012314,0x689ae303,0x0a1be014,
+0x2b013b04,0xe224f8df,0x017ff00b,0x2314d804,0xe303fb01,0xe007685a,
+0xfb012314,0xf853f303,0xe001200e,0x027ff00b,0xd9044290,0xf645487e,
+0xf7f74139,0x980cfbd5,0x6f00f010,0xf410d02a,0xf4000f00,0xd01163e0,
+0x3b040a1b,0xf8df2b01,0xf000e1dc,0xd804017f,0xfb012314,0x68d8e303,
+0x2314e01b,0xe303fb01,0xe0166898,0x3b040a1b,0x2b019a0c,0xe1b4f8df,
+0x017ff002,0x2314d804,0xe303fb01,0xe0086858,0xfb012314,0xf853f303,
+0xe002000e,0xf0039b0c,0xb34d007f,0x0f00f419,0x63e0f409,0x0a1bd011,
+0x2b013b04,0xe17cf8df,0x017ff009,0x2314d804,0xe303fb01,0xe01968da,
+0xfb012314,0x689ae303,0x0a1be014,0x2b013b04,0xe158f8df,0x017ff009,
+0x2314d804,0xe303fb01,0xe007685a,0xfb012314,0xf853f303,0xe001200e,
+0x027ff009,0xd91c4290,0x9030f8cd,0x990ee019,0xf1062206,0xf7f80050,
+0x990efc31,0xf1062210,0xf7f80056,0xf106fc2b,0x990e002e,0xf7f82206,
+0x9c0efc25,0x4034f886,0x4035f886,0x941246a3,0x9d1546a1,0xf413682b,
+0xd00b6f80,0xf0129a1f,0xd0076f00,0x07e8f8d7,0x9b099904,0xfe5cf002,
+0x0033f886,0x0a03980b,0x74f374b0,0xf0139b1e,0xd0046f00,0x33e4f241,
+0x8003f817,0xf003e00e,0x2b02037f,0x2b04d007,0x2b0bd005,0x3b16d003,
+0x2301bf18,0x2300e000,0xf883fa1f,0x6f00f01b,0xf241d004,0x5cfb33e4,
+0xe00e009d,0x037ff00b,0xd0072b02,0xd0052b04,0xd0032b0b,0xbf183b16,
+0xe0002301,0x009b2300,0xf019b29d,0xd0046f00,0x33e4f241,0x011c5cfb,
+0xf009e00e,0x2b02037f,0x2b04d007,0x2b0bd005,0x3b16d003,0x2301bf18,
+0x2300e000,0xb29c011b,0x3848f8d7,0xf00a6818,0xf8d7ffab,0xb2c03848,
+0x6819681b,0xffa6f00a,0x0308ea45,0xea434323,0xb29b2300,0x0a1b7533,
+0x991f7573,0x6f00f011,0xf241d00a,0xf81733e4,0xe0148003,0x1e00c634,
+0x00021040,0x1e00c744,0x037ff001,0xd0072b02,0xd0052b04,0xd0032b0b,
+0xbf183b16,0xe0002301,0xfa1f2300,0x9a11f883,0x0201f012,0xd05e9206,
+0xf0139b0c,0xd1536500,0x037ff003,0xd0042b02,0x4314f642,0x2b0156fb,
+0x9c07d14a,0x78e378a2,0x2303ea52,0x4638d009,0x9b2f462a,0x47a04c91,
+0x70889907,0x200ff3c0,0xf89670c8,0xf896203c,0xea52303d,0xd00b2303,
+0x991e4638,0x9b2f462a,0x47a04c88,0x003cf886,0x200ff3c0,0x003df886,
+0x2a009a12,0x9c12d02b,0x78e37892,0x2303ea52,0x9809d025,0x9001990e,
+0x9b1f465a,0x95004c7e,0x46389502,0x991247a0,0xf3c07088,0x70c8200f,
+0x95009a09,0x95029201,0x990e4638,0x9b1e464a,0xf88647a0,0xf3c00034,
+0xf886200f,0xe0060035,0x33b8f8d7,0x0810f048,0xf8c73301,0xf64233b8,
+0x5afb431a,0xf4034638,0xea487370,0xf3c50503,0x7273230f,0x991f7235,
+0xff40f7fd,0xf3c072b0,0x72f0200f,0x4638991e,0xff38f7fd,0xf3c07330,
+0x7370200f,0xb90b9b0d,0xb17c9c0e,0x46384659,0xff2cf7fd,0xf3c073b0,
+0x73f0200f,0x46384649,0xff24f7fd,0xf3c07430,0x7470200f,0xf011991f,
+0xd0126f00,0x0f10f015,0x9a09d10f,0x46384b53,0xf3c04798,0xf886230f,
+0xf886003e,0xb920303f,0xf645484f,0xf7f7419d,0x991efa1f,0x6f00f011,
+0xf015d012,0xd10f0f10,0x4b489a09,0x47984638,0x230ff3c0,0x0040f886,
+0x3041f886,0x4844b920,0x41a2f645,0xfa08f7f7,0xf011991f,0xd0276f00,
+0x3848f8d7,0x017ff001,0xf00a6818,0xf8d7feb5,0x991f3848,0xf001b2c4,
+0x6818017f,0xfeb4f00a,0xb240b264,0xb2a21a24,0x291fb211,0x221fdd01,
+0xf64fe005,0xf11173e0,0xbfb80f20,0x0292461a,0xf40205ab,0x0d9b427c,
+0x7232431a,0x72720a12,0x686b9d04,0x0f40f013,0x810cf000,0x28009813,
+0x8108f000,0x992e4b27,0x93145c5b,0x0343eb07,0x3d88f8b3,0xf0002b00,
+0x9a1880fd,0xf0137813,0xd0040f01,0xf645481e,0xf7f741bf,0x9c15f9bd,
+0xf4136823,0xf0406f80,0x9d2c80ed,0xf0402d00,0x9c1f80e9,0x46214638,
+0x9b099a11,0x47a84d16,0x98124682,0x4659b1c0,0x4c149a11,0x47a04638,
+0x46054649,0x46389a11,0x991247a0,0x788b78ca,0x2302ea43,0x0803eb05,
+0x2035f896,0x3034f896,0x2302ea43,0xe02a18c0,0xb18a9a10,0x46d09812,
+0x46c0e025,0x0001d929,0x0001d9d5,0x0001d225,0x00021040,0x00021010,
+0x0001d299,0x0001d91d,0x9a114621,0xf8df9b10,0x4638b17c,0x9d1e47d8,
+0x9b099a11,0xeb004629,0x4c57080a,0x47a04638,0x46814629,0x46389a11,
+0x47d89b10,0xfa1f4448,0x71b3f388,0x71f30a1b,0xf886b283,0x0a1b302c,
+0x302df886,0xebca9d14,0xeb070008,0xf8b30345,0x42833d88,0x8086f0c0,
+0xebc09c1f,0xf0140003,0xf0046f00,0xd016017f,0x23144a44,0x2303fb01,
+0xf3c47c1a,0xeb035301,0xf06f1392,0xfb030203,0x3b18f302,0xf8d7181d,
+0xf4043848,0x685b0600,0xd0052b02,0x4b3ae005,0x2b00565b,0xe02fda39,
+0xf4043d06,0xb17e63e0,0x3b040a1b,0xf8df2b01,0xd804e0cc,0xfb012314,
+0x68dbe303,0x2314e014,0xe303fb01,0xe00f689b,0x3b040a1b,0xf8df2b01,
+0xd804e0ac,0xfb012314,0x685be303,0x2314e004,0xf303fb01,0x300ef853,
+0x08ab0098,0xf300fb03,0x43aaf5a3,0xf44f3bf0,0xfbb352fa,0xe010f0f2,
+0x0314f1a0,0x089b004a,0xf302fb03,0x08d83b16,0x9a06e007,0x3860b10a,
+0x38c0e000,0xf300fb01,0x28ff0918,0xf44fd802,0xe0057080,0x23bef642,
+0x42985afb,0x4618bf28,0xb2809c2e,0x0344eb07,0x512bf503,0x4283880b,
+0x8008d00c,0xf7fe4638,0xe007fd8f,0xf89a2200,0x2b0b3008,0xab8ef43f,
+0xbb8df7ff,0xf8bd9d15,0x682b0084,0x0304f043,0xb023602b,0x8ff0e8bd,
+0x0001d299,0x1e00c744,0x1e00c634,0x0001d929,0x41f0e92d,0x4698b088,
+0x460d9b0e,0x93014614,0x9200ab07,0x21089302,0x4623462a,0xf7fe4606,
+0x4607fb67,0x3801b908,0x2401e01a,0xf8d62500,0x95002848,0x94029401,
+0x95049503,0x8014f8cd,0x33c6f642,0x46395cf3,0x46306912,0xfd6ef7fe,
+0x46214630,0x4623463a,0xf7fb9400,0x4628febb,0xe8bdb008,0x46c081f0,
+0x4ff0e92d,0x9000f8d1,0x4606b099,0x92079108,0xf1b9461d,0xd1040f00,
+0xf24848b1,0xf7f77101,0xf8b9f873,0x7c730014,0xb1a3900b,0x3de8f896,
+0xd1352b00,0xf7fc4648,0xf8b6fca7,0x6a823324,0x4370f403,0x5f80f5b3,
+0x2300bf14,0x429a2301,0x69444682,0xf8d6d005,0x330133c4,0x33c4f8c6,
+0x4648e12e,0xf964f7fd,0xf8134b9e,0xf8d6b000,0xea4f3844,0x18cb014b,
+0x2024f9b3,0x36fcf8b6,0xb000f8c5,0xdb0e429a,0x0f03f1bb,0x198bd80b,
+0x2dc2f8b3,0x3dc0f8b6,0x0302ea23,0x3dc0f8a6,0x000ff06f,0xf8d6e12f,
+0xf8d933d0,0x33018010,0x33d0f8c6,0x2000f898,0x3001f898,0x2703ea42,
+0x4280f417,0x8118f040,0xe00d9209,0x30acf8d4,0x3ffff1b3,0x80f4f000,
+0x0383eb04,0x30b0f8d3,0x2b009309,0x80ecf000,0x3844f8d6,0x038beb03,
+0x681b68db,0xd8022b03,0x034beb06,0xf3c7e7c8,0x2d020581,0x2200d001,
+0xf3c7e001,0xf40712c0,0xf5b37340,0xf1087f40,0xbf080418,0x041ef108,
+0x920ab90a,0x4620e006,0xfa1cf7fb,0x0007f000,0x3402900a,0xd0002d02,
+0xf417b9fd,0xd01c4f00,0x0404ebc8,0xad0cb2e4,0x46414622,0xf7f84628,
+0x2104f8c1,0xf7fd4648,0x4622f917,0x0010f8d9,0xf7f84629,0xf8d9f8b7,
+0x047b8010,0xf8880c5b,0x0a1b3000,0x3001f888,0xf8964444,0x25013d5e,
+0x5d82f886,0xf8d6b363,0x4b572d60,0x0303ea02,0x7f00f1b3,0x4630d106,
+0xf7fe2100,0x4630fc0b,0xfa30f7fc,0xb1db69f3,0x0f03f1bb,0x4b4dd818,
+0xf89a980a,0x5c192183,0x5c5b4b4c,0xf012411a,0xd00d0f01,0x42abf243,
+0xb91b5cb3,0x463054b5,0xfdfcf7fc,0x3004f8da,0x6300f043,0x3004f8ca,
+0x29009909,0x2301d02c,0x46309300,0x9a094623,0x1014f8da,0x47a04c3e,
+0x980b9a09,0x300ff992,0x900b1ac0,0x2b027a13,0xf1b0d103,0x910b0108,
+0x2b0be012,0x9a09d110,0xf1029b0b,0xf1020014,0xf1a30124,0x46430210,
+0xfed0f7fa,0x482cb120,0x0107f648,0xff68f7f6,0x990b4648,0xf88af7fd,
+0x3004f8da,0x25009809,0x90042401,0xf3c34649,0x46300380,0x95004652,
+0xf8cd9401,0x9503b008,0xf7fe9505,0x9908fc2f,0x454b680b,0x6cb0d004,
+0x46224649,0x47984b1f,0x980b9a07,0xf8d66014,0x330133a4,0x33a4f8c6,
+0x33a8f8d6,0x69f0181b,0x33a8f8c6,0xd0362800,0x990a4b12,0x5c5a980b,
+0x5c9a4b12,0x02c2eb06,0x3638f8d2,0xf8c23301,0xf8d23638,0x18c3363c,
+0xf8c24628,0xe022363c,0x22009907,0x4630600a,0xf7fb990b,0x6cb0fba9,
+0x22014649,0x47984b07,0x30fff04f,0x46c0e013,0x00021040,0x000238e6,
+0xff0000ff,0x00021010,0x0001e859,0x1e005c41,0x2010f8da,0x2a009209,
+0xaef2f47f,0xb019e6e2,0x8ff0e8bd,0x47f0e92d,0x4604680e,0x4690460f,
+0xb9264699,0xf2454817,0xf7f621c4,0x69f3fef1,0x0f04f013,0x4813d004,
+0x21c5f245,0xfee8f7f6,0xb1357c65,0x46394620,0x464b4642,0xfe5cf7ff,
+0xf8d4e016,0x463133c4,0xf8c43301,0x6ca033c4,0xf8c84b09,0x47985000,
+0x4601462a,0xf7fb4620,0x6ca0fb5b,0x22014631,0x47984b04,0x30fff04f,
+0x87f0e8bd,0x00021040,0x1e003e11,0x1e005c41,0x43ecf243,0x58c0b510,
+0xf8ecf009,0x46c0bd10,0x4a44b5f0,0x7813b097,0x460f4604,0xd17e2b00,
+0x70133301,0x6dc0f8b0,0x69cbe039,0x6f80f413,0xf8d4d006,0xa90307e8,
+0xf0049a15,0xe021f979,0x0f04f013,0xd006ad13,0x46202301,0x9314462a,
+0xfd62f7fc,0x4620e005,0xaa14a903,0xf7ff462b,0xb978ff91,0xe0094605,
+0x93002301,0xf852aa03,0x46202025,0xf7fb9913,0x3501fcb5,0x429d9b14,
+0xe00cdbf2,0x0f10f110,0x4b27d109,0x99154638,0x47989a03,0x3dc0f8b4,
+0xd00a429e,0xb146461e,0x46384631,0x4b21aa15,0x46014798,0x28009003,
+0x69e3d1bb,0x6aa1b983,0xf8b4b371,0x2b0f3df2,0xf421d82a,0x62a17180,
+0xf8d4bb31,0xf04f073c,0xf7fa32ff,0xe01ffe79,0x303ff894,0x2507b1e3,
+0xfa132301,0x6aa0f105,0xd0134201,0x5cea4b10,0xfb02230c,0xf8b34303,
+0x2b0f3dfc,0xea20d80a,0xf0330301,0x62a301ff,0xf8d4d104,0x462a073c,
+0xfe5af7fa,0xd2e33d01,0x22004b02,0xb017701a,0x46c0bdf0,0x00023c54,
+0x1e003a4d,0x1e003d3d,0x0002101c,0x3df0f8b0,0x47f0e92d,0x46062b1f,
+0x46154689,0x4882d804,0x71b3f644,0xfe18f7f6,0x0f00f1b9,0x487ed104,
+0x71b4f644,0xfe10f7f6,0x0f1cf119,0x487ad104,0x71c5f644,0xfe08f7f6,
+0xf506b91d,0x34345454,0x682be0e2,0xd1012b01,0xe0dd68ac,0x5454f506,
+0x35083434,0xf104e00f,0x788b01d4,0x431a784a,0x30d4f894,0x78ca4313,
+0x790b431a,0x794a4313,0xd01d431a,0xf8962500,0xf8d93023,0xb1eb1010,
+0x01d4f104,0x780bb9d5,0x0f01f013,0xf8b6d116,0x46302324,0x4270f402,
+0x5f80f5b2,0x2200bf14,0xf0122201,0x4607fceb,0x6943b110,0xd02c42a3,
+0x33c4f8d6,0xf8c63301,0xe07f33c4,0xf8b6780b,0xf0132324,0xd0080f01,
+0x4370f402,0x5f80f5b3,0x2350bf14,0x58e72354,0xf402e011,0x46304270,
+0x5f80f5b2,0x2200bf14,0xf0122201,0x4607fe47,0xf8d6b928,0x330133c0,
+0x33c0f8c6,0xb125e05e,0xf2454845,0xf7f60127,0x4630fd9f,0x463a4649,
+0xf8daf7fe,0x28004680,0xf8d4d050,0xf2402094,0xea021307,0xb1830303,
+0xf01369c3,0xd10c0f10,0xb953693b,0x30acf8d4,0x3ffff1b3,0xeb04d03d,
+0xf8d30383,0x2b0030b0,0xf894d037,0x2c034058,0x4831d904,0x0140f245,
+0xfd76f7f6,0x031cf108,0x611f725c,0xf013687b,0xd0060340,0xf7fc4640,
+0x4b2afe7f,0x4b2a5c1a,0xeb065c9b,0xf8d30383,0xb1233eb8,0x46394630,
+0xf7fb4642,0x4640f87f,0x91f4f8d7,0x41f8f8d7,0xfe6af7fc,0xf0004b21,
+0x46390507,0x46424620,0x47c85d5b,0x615ef506,0x310c4630,0xfe90f7ff,
+0x46c1e02b,0xb1eb69f3,0xf7fc4648,0x4c15fe55,0x5c234d15,0x5cea4648,
+0x02c2eb06,0x3658f8d2,0xf8c23301,0xf7fc3658,0x5c23fe47,0x5cec4649,
+0xeb066cb0,0x4b0e04c4,0x565cf8d4,0x19404798,0x065cf8c4,0x46496cb0,
+0x4b0a2201,0xe0044798,0x2b007923,0xaf50f43f,0x2000e721,0x87f0e8bd,
+0x00021040,0x000238e6,0x00021010,0x0002101c,0x1e003e11,0x1e005c41,
+0x3df0f8b0,0x41f0e92d,0x46062b1f,0x46144688,0x485cd804,0x7140f644,
+0xfcfef7f6,0x0f00f1b8,0x4858d104,0x7141f644,0xfcf6f7f6,0x4855b124,
+0x7143f644,0xfcf0f7f6,0xf7fc4640,0xb2c4fe01,0x0010f8d8,0x78437802,
+0x2303ea42,0x0281f3c3,0xd1052a02,0x7f40f413,0x2200bf14,0xe0082201,
+0x2200b10a,0xf3c3e005,0x2b091303,0x2200bf14,0x79032201,0xf0131d01,
+0xd00d0f01,0x2324f8b6,0x5384f243,0x4270f402,0x5f80f5b2,0xf44fbf18,
+0x18f35356,0xe025685f,0xf8b6b19a,0x46302324,0x4270f402,0x5f80f5b2,
+0x2200bf14,0xf0122201,0x4607fd4d,0xf8d6b9b0,0x330133c0,0x33c0f8c6,
+0x4630e042,0xfbd8f012,0xb1284607,0x5354f506,0x33346942,0xd005429a,
+0x33c4f8d6,0xf8c63301,0xe03133c4,0x5d1a4b28,0x5c9b4b28,0x0383eb06,
+0x3eb8f8d3,0xf243b91b,0x58f343dc,0x4630b123,0x46424639,0xffaaf7fa,
+0x538cf243,0x2d035cf5,0x481cd904,0x717cf644,0xfc7ef7f6,0x031cf108,
+0x611f725d,0xf0044b1a,0xf8d70407,0x463901f8,0x51f4f8d7,0x5d1b4642,
+0xf50647a8,0x4630615e,0xf7ff310c,0xe01afdb1,0xb19b69f3,0x6cb04b0e,
+0x4b0e5d1a,0x5c9c4641,0x04c4eb06,0x3658f8d4,0x565cf8d4,0xf8c43301,
+0x4b0a3658,0x19404798,0x065cf8c4,0x46416cb0,0x4b072201,0x20004798,
+0x81f0e8bd,0x00021040,0x000238e6,0x00021010,0x0002101c,0x1e003e11,
+0x1e005c41,0x43f0e92d,0x7c434698,0x4606b087,0x4615460f,0x903cf89d,
+0x482db923,0x61bdf248,0xfc2ef7f6,0x482ab925,0x61c0f248,0xfc28f7f6,
+0xf7fc4638,0x2807fd39,0xdd044604,0xf2484824,0xf7f661c3,0x686afc1d,
+0xea024b22,0xb1230303,0xb11369f3,0xf8134b20,0x22018004,0x9a0e9201,
+0x92052300,0x462a4630,0x93004639,0x93049303,0x8008f8cd,0xf8e2f7fe,
+0xf0044b18,0x5c980207,0xf50662fd,0x350c655e,0xdd01280d,0xe000230f,
+0x4c131c43,0x46294630,0x47a0463a,0xb1404604,0x0f00f1b9,0x4630d103,
+0xf7ff4629,0x2001fd31,0x6cb0e00a,0x46394b0b,0x47982201,0x33c0f8d6,
+0x33014620,0x33c0f8c6,0xe8bdb007,0x46c083f0,0x00021040,0x00010040,
+0x000238e6,0x0002101c,0x0001e1ad,0x1e005c41,0x43f7e92d,0x5458f500,
+0x46213408,0xf0124605,0x4606faf3,0xd0312800,0xf4136843,0xd0010700,
+0xe02c2001,0x43ecf243,0xf00658e8,0x4680fc43,0xf04fb320,0x46280901,
+0x9d62f885,0xfa0ef7fc,0x46414628,0x23034632,0x97019700,0xff66f7ff,
+0x4628b160,0x4622490b,0xf7fb4643,0xb928fd15,0x46486873,0x0300f443,
+0xe0086073,0x46282400,0x4d62f885,0xf9f2f7fc,0xe0004620,0xe8bd2000,
+0x46c083fe,0x00007aed,0x4ff0e92d,0x468a4680,0x1048f8d8,0x9102b08b,
+0x302af892,0x8b904617,0x9303b90b,0xf892e002,0x92032022,0x402cf897,
+0xf410b9a4,0xd0116f00,0x683a9b03,0x0143eb0a,0x7dd27d93,0x1160f8b1,
+0x2302ea43,0xd1054299,0x355cf8d8,0xf8c83301,0xe1ff355c,0x3d62f898,
+0x2b80f3c0,0xb9acb1b3,0x0f00f1bb,0xf89ad112,0x6a7a3184,0xf0134113,
+0xd10b0f01,0x5f00f410,0x4640d003,0xff7cf7ff,0xf888e004,0x4640bd62,
+0xf9a4f7fc,0x301cf8d8,0xf243b183,0xf81842ab,0xb15b3002,0x302af897,
+0xf897b143,0xb12b3028,0xf8082300,0x46403002,0xf990f7fc,0xf0138c3b,
+0xf0400404,0xf8da81cb,0xb9233014,0xf246486f,0xf7f6010a,0x8bbbfb21,
+0x1014f8da,0x4380f403,0xb94b637b,0x2094f8d1,0x1307f240,0x0303ea02,
+0xf891b19b,0xb183309c,0x63bc9803,0x90009902,0x46404652,0x4c62463b,
+0xb93047a0,0x43ecf243,0x0003f858,0x22024639,0xf897e17f,0x2c00402c,
+0x811ef040,0xeb0a9903,0x68390041,0x5160f8b0,0x7d8b7dca,0x2302ea43,
+0x3160f8a0,0x7d8a7dcb,0xea429903,0xf0122203,0xea4f000f,0xd14b0381,
+0x050aeb03,0x1120f8d5,0x9802b149,0x4b4d4622,0xf8c54798,0xf8c54120,
+0xf8c54140,0xf1bb4254,0xf0000f00,0x697b80f5,0xf8c54847,0x68fb3120,
+0xf5c36879,0xf8c563e4,0x22083140,0x47984b43,0x3004f8da,0xf023b110,
+0xe0010308,0x0308f043,0x3004f8ca,0x43ecf243,0x2003f858,0x4b3c9803,
+0x4b3c5c19,0xeb025c5b,0x6b130283,0xf243b933,0xf83843e0,0x2b003003,
+0x80caf000,0x464069bb,0x7c597c1a,0x2101ea42,0xffeaf7fa,0xeb0a9903,
+0xf8c30381,0xe0bb0254,0x060aeb03,0x1120f8d6,0xf022b1a1,0xf025020f,
+0x429a030f,0xf005d104,0x3301030f,0xd00f4298,0x46229802,0x47984b21,
+0x4120f8c6,0x4140f8c6,0x4254f8c6,0x3400f8d8,0xf8c83301,0xe1193400,
+0xf8d668ba,0x429a3140,0xf243d8ea,0xf85843ec,0x98032003,0x5c194b18,
+0x5c5b4b18,0x0283eb02,0xb9258e15,0x43e0f243,0x5003f838,0x69bbb345,
+0x7c1a4640,0xea427c59,0xf7fa2101,0xf8d6ffa5,0x1ac03254,0xd31b42a8,
+0xf8d69802,0x46221120,0x47984b06,0x4120f8c6,0x4140f8c6,0x4254f8c6,
+0x46c0e0e8,0x00021040,0x0001ff11,0x1e005c41,0x1e00d668,0x1e00d671,
+0x000238e6,0x00021010,0x68bd9903,0x0681eb0a,0x4120f8d6,0xf8b4462a,
+0x69209014,0x44486879,0xfb10f7f7,0xeb094620,0xf7fc0105,0xf8d6fb4b,
+0x98023140,0xf8c61b5b,0x69793140,0x4b742200,0xf1bb4798,0xd13b0f00,
+0x3120f8d6,0xb140f8c6,0xf8c6617b,0x697bb120,0xb254f8c6,0x8a99691a,
+0x0318f102,0xf1a1607b,0x60bb0318,0x3029f897,0x60f9603a,0xf102b12b,
+0x607b031e,0x031ef1a1,0xf89760bb,0xb143302a,0x9a03687b,0x607b3302,
+0xf88768bb,0x3b022022,0x683a60bb,0x78527813,0x2302ea43,0x6b7b83bb,
+0x6bb9b153,0xf991687b,0x189b200e,0xf991607b,0x68bb200e,0x60bb1a9b,
+0xb1736bbb,0x2b047a1b,0x4640d103,0x4b514639,0x6bbb4798,0x2b0b7a1b,
+0x4640d103,0xf0124639,0xf1bbfba7,0xf0400f00,0x6839808f,0x0622f10d,
+0x22063104,0xf7f74630,0x6839faa5,0x310aad07,0x46282206,0xfa9ef7f7,
+0xf10d6839,0x46200416,0x22063110,0xfa96f7f7,0x3029f897,0x6839b12b,
+0x3118a804,0xf7f72206,0x8bbbfa8d,0x7f80f413,0x7300f403,0x2b00d105,
+0x4623bf14,0x677e462b,0x677ce004,0x673db90b,0xab04e001,0x683b673b,
+0x6bbb66fb,0x7a1bb1a3,0xd0112b01,0xd00f2b03,0x99024640,0x463b4652,
+0xfa6af012,0xf243b940,0xf85843ec,0x46390003,0xf0062203,0xe043fa1b,
+0x781b6f7b,0x0f01f013,0xf8d8d004,0x33013570,0x3570f8c8,0xb1336bbb,
+0x2b027a1b,0x4640d103,0x4b1c4639,0xf8d84798,0x4639370c,0x3020f8ca,
+0x43ecf243,0x0003f858,0xe7de2200,0x301cf8d8,0x6978b1eb,0xfa6cf7fc,
+0x4d144c13,0x69785c23,0xeb085cea,0xf8d202c2,0x33013698,0x3698f8c2,
+0xfa5ef7fc,0x69795c23,0x98025cec,0x04c4eb08,0xf8d44b0b,0x4798569c,
+0xf8c41940,0x9802069c,0x22006979,0x47984b02,0xe8bdb00b,0x46c08ff0,
+0x1e005c41,0x1e008225,0x000238e6,0x00021010,0x1e003e11,0x4ff0e92d,
+0xb0a32400,0x4026f88d,0x402ff88d,0x402cf88d,0x4064f88d,0x9306461d,
+0x46068a9b,0x468a2b21,0x94214690,0x940a940f,0xd95c9207,0x9010f8d5,
+0xa81f2206,0xf7f74649,0xf109f9f1,0x92010206,0x3006f899,0xea437852,
+0xf8ad2302,0xf3c33020,0xf8ad0381,0xf8bd3022,0xf3c33020,0xf8ad1303,
+0xf8bd3024,0x2b023022,0x4888d004,0x51c0f645,0xf8eef7f6,0x3020f8bd,
+0x7340f403,0x7f40f5b3,0x2300bf14,0xf88d2301,0xf8bd302d,0x2b023022,
+0xf8bdbf0a,0x46233024,0x03c0f3c3,0x302ef88d,0x3004f898,0x0303f003,
+0xd1082b02,0x3020f9bd,0xda042b00,0x3024f8bd,0x03c0f3c3,0x2300e000,
+0xf89db2d9,0xf89d002d,0xf88d302e,0x2800102f,0x2222bf0c,0xb1032228,
+0xb1013202,0x9b063204,0x42938a9b,0xf8d6d205,0x33013404,0x3404f8c6,
+0x9901e244,0xf003790b,0x7c330201,0x2030f88d,0xd0452b00,0x3024f896,
+0xb118b103,0xf88d2300,0xe0153034,0x3020f8bd,0x7f80f413,0x3104d001,
+0xf413e005,0xd0017f00,0xe000310a,0x46303110,0xf0052201,0x3800f903,
+0x2001bf18,0x0034f88d,0xf1069801,0x3004014c,0x4b512206,0xb3384798,
+0x3020f8bd,0x7f80f413,0xf89dd105,0xb1133030,0x3034f89d,0xf89db9e3,
+0xb113302d,0x3030f89d,0x7c33b9b3,0xf89db133,0x2b003034,0x81fef000,
+0xe00e2701,0xf6454841,0xf7f66128,0xe1f5f861,0x4630b932,0xf0053104,
+0x2800f8d1,0x81eef000,0x98062700,0xf7fc2106,0x9a01f993,0x0318f102,
+0xf89d9302,0xb113302d,0x031ef102,0x23009302,0x3031f88d,0x302ef89d,
+0x9802b363,0xfa6ef7fa,0x13c0f3c0,0x3031f88d,0xf896b14b,0x2b003d46,
+0x81ccf000,0x69d39a06,0x0340f043,0x4b2961d3,0x0207f000,0x2026f88d,
+0x4b275c9a,0x930a5c9b,0x1300f3c0,0x302cf88d,0x33029b02,0xf89d9302,
+0x2b0f3026,0x3064f88d,0x481cd904,0x6153f645,0xf816f7f6,0x3031f89d,
+0x9806b90b,0x4650e003,0x4b1a9906,0x8a814798,0xf7fc3904,0x9a06f92f,
+0x8a939c02,0x93046912,0x1b1b1aa4,0x46509303,0x4b134629,0x1b004798,
+0xbb1f9005,0x43ecf243,0x990158f0,0xab219a07,0xfe86f005,0xf0402800,
+0xe1ac8185,0x7200f44f,0x7340f403,0xd0114293,0x33f8f8d6,0xf8c63301,
+0xe17733f8,0x00021040,0x1e00d671,0x000238e6,0x00021010,0x1e003e21,
+0x1e003e11,0x3848f8d6,0x68189907,0xfd72f009,0x3848f8d6,0x46214604,
+0xf0096818,0xf105fd43,0xf6420b1c,0x460125d8,0x46305170,0xff2af7fb,
+0xf88bb10c,0xf896400b,0xb17b3023,0x3024f896,0x9901b163,0x5058f506,
+0x310a3008,0x4b9f2206,0xb9184798,0x59714630,0xf8eaf7ff,0x3023f896,
+0xb95fb163,0xb11b9b21,0xf0137b1b,0xd1250f02,0xf44f4897,0xf7f541be,
+0xe01fff9b,0xb9eb9b21,0x2012f898,0x3013f898,0xea429901,0xf3c22203,
+0x463002c7,0x2a0e310a,0x2200bfd4,0xf0122201,0x9021f821,0xf896b950,
+0x2b003023,0x8116f040,0x340cf8d6,0xf8c63301,0xe10f340c,0xf8b39b21,
+0xf8ad20f0,0xb923206c,0xf6454881,0xf7f57118,0xf896ff6f,0xb1433023,
+0x3030f89d,0xb927b92b,0x1394f243,0x330154f7,0xf89d54f7,0x2b003030,
+0xf896d03c,0xb14b3023,0xf1069801,0x3010014c,0x4b722206,0x28004798,
+0x80e8f000,0x1d0c9901,0x786278a3,0x790b401a,0x40137921,0x401a78e2,
+0x40117963,0x2bff400b,0xf896d020,0xb9eb3022,0xe008461d,0xfb052206,
+0x46206102,0x4b633152,0xb1684798,0xf8d63501,0x429d3114,0xf243d3f2,
+0x58f343f0,0x8822b133,0x3333f243,0xd101429a,0xe0002300,0x2b002301,
+0x80b8f040,0x46404b59,0x47984649,0x0014f8cb,0x3030f89d,0xf0402b00,
+0xf0108092,0xd0266f00,0x0f00f410,0x63e0f400,0x0a1bd010,0x2b013b04,
+0xf0004a4f,0xd804007f,0xfb002314,0x68d82303,0x2314e017,0x2303fb00,
+0xe0126898,0x3b040a1b,0x4a472b01,0x007ff000,0x2314d804,0x2303fb00,
+0xe0066858,0xfb002314,0x5898f303,0xf000e001,0x2816007f,0xd80cd03a,
+0xd025280b,0x2802d804,0x2804d016,0xe05ad01a,0xd023280c,0xd0272812,
+0x2830e055,0xd804d03c,0xd02d2818,0xd0312824,0x2860e04d,0x286cd040,
+0x2848d044,0xe046d036,0x35d8f8d6,0xf8c63301,0xe04035d8,0x35dcf8d6,
+0xf8c63301,0xe03a35dc,0x35e0f8d6,0xf8c63301,0xe03435e0,0x35e4f8d6,
+0xf8c63301,0xe02e35e4,0x35e8f8d6,0xf8c63301,0xe02835e8,0x35ecf8d6,
+0xf8c63301,0xe02235ec,0x35f0f8d6,0xf8c63301,0xe01c35f0,0x35f4f8d6,
+0xf8c63301,0xe01635f4,0x35f8f8d6,0xf8c63301,0xe01035f8,0x35fcf8d6,
+0xf8c63301,0xe00a35fc,0x3600f8d6,0xf8c63301,0xe0043600,0x3604f8d6,
+0xf8c63301,0x99213604,0xf413684b,0xd0082f80,0x3030f89d,0xf8d6b92b,
+0xaa0107e8,0xfad6f002,0x4630e03d,0xf7ffaa01,0xe038faeb,0x1e00d671,
+0x00021040,0x0001edf9,0x1e00c744,0xb30369f3,0x3030f89d,0x9806b9eb,
+0xff76f7fb,0x4d164c15,0x98065c23,0xeb065cea,0xf8d202c2,0x33013698,
+0x3698f8c2,0xff68f7fb,0x99065c23,0x46505cec,0x04c4eb06,0xf8d44b0d,
+0x4798569c,0xf8c41940,0x4650069c,0x22009906,0x47984b09,0xf896e007,
+0xf8bd2023,0x2a003020,0xae4cf47f,0xb023e64c,0x8ff0e8bd,0x000238e6,
+0x00021010,0x1e003e11,0x1e005c41,0x4ff0e92d,0x2d00f8d0,0x9105b0a5,
+0x180cf8d0,0xf4122300,0x46070f00,0x92069107,0x3d00f8c0,0x2192d031,
+0xfc98f7fa,0xb2850040,0x4638b35d,0x0108f105,0xfc90f7fa,0xb3204681,
+0xf8d39b07,0xf105a180,0x46210418,0xf7fa4638,0xf105fc85,0x4680011a,
+0xf7fa4638,0x4621fc7f,0x46384606,0xfc7af7fa,0xd1ec4580,0x4306ea48,
+0x020aebc3,0xf2f9fbb2,0xfb093201,0x46383202,0x011cf105,0xf7fab292,
+0x9906fb49,0x1f80f411,0x48bad004,0x4154f246,0xfde2f7f5,0xf0129a06,
+0xd0020f40,0xf7fa4638,0x9b06f975,0x5f00f013,0x82e1f000,0x22009905,
+0xbf0c2900,0x31fff04f,0x91082108,0xe2b59209,0x3174f8d3,0x2086f8ad,
+0x308af8ad,0x4307f3c3,0xf8ad0c12,0xf04f308c,0xf8ad0300,0xb2933088,
+0x0307f003,0x2b056cb9,0x2084f8ad,0x93119110,0x48a0d904,0x61e0f246,
+0xfdaef7f5,0xb086f8bd,0x0360f00b,0xd1062b40,0x3568f8d7,0x331beb03,
+0x3568f8c7,0x9a11e284,0xeb072100,0xf8d30382,0x6ac30778,0x46824798,
+0x9b11b950,0xf2402b05,0x489084f8,0x5162f246,0xfd8ef7f5,0xbcf1f000,
+0x5010f8da,0x786b782a,0x2803ea42,0x204df895,0x304cf895,0x2302ea43,
+0x2084f8bd,0xd004429a,0xf2464884,0xf7f57118,0xf105fd77,0x910c016e,
+0x306ef895,0xf10a784a,0xea43091c,0x920b2202,0x3026f895,0x0f01f013,
+0xf999d018,0xeb073009,0xf8d30383,0xb9244dd0,0xf2464876,0xf7f5712a,
+0xf8b7fd5b,0xf4033324,0xf5b34370,0xbf145f80,0x23012300,0x0383eb04,
+0xe0076d1e,0xf1054638,0xf3c80126,0xf01112c0,0x4606fc61,0xf8cab10e,
+0xf8d9602c,0xf4133000,0xd00f6f80,0x6fc0f418,0x07e8f8d7,0xd104ab20,
+0x46524631,0xfbf8f001,0x4631e004,0xf0024652,0xe211fc07,0xf003782b,
+0x930f0304,0x3086f8bd,0x2203f3c3,0x3813ea5f,0xd005920e,0x33acf8d7,
+0x44433b01,0x33acf8c7,0xb1339b0e,0x33acf8d7,0x3b01990e,0xf8c7185b,
+0x9a0b33ac,0xf4824651,0xf3c36380,0x930d2380,0x4b4d6cb8,0xf8bd4798,
+0xf8971086,0xf3c12d61,0x429a13c0,0x0080f001,0x4638d001,0xf897e00a,
+0xb14b3d5f,0x4638b140,0xf7fd2100,0xf8bdf931,0x46381086,0xf92cf7fd,
+0x2086f8bd,0x13c0f3c2,0x3d61f887,0x3d5ff897,0xf002b14b,0x2b820382,
+0x2300d105,0x3d5ff887,0xf7fb4638,0xf8bdfb3f,0xf00b3086,0xf0130b1c,
+0xd0390f02,0x3000f8d9,0x1300f3c3,0x0401f083,0x3548f8d7,0xf8c73301,
+0xf8d73548,0x3b013568,0xf1b84443,0xf8c70f01,0xdd053568,0x7254f642,
+0x3b0158bb,0x50bb4443,0xb1ab9b0d,0x3578f8d7,0x7254f642,0xf8c73301,
+0x58bb3578,0xf8d7b123,0x33013554,0x3554f8c7,0x2b0158bb,0xf8d7d904,
+0x33013558,0x3558f8c7,0xf0002e00,0xf8d7840e,0x6233370c,0xbc0ff000,
+0x02fef013,0xf8d9d118,0xf4133000,0xd0135f82,0x3548f8d7,0x3301990d,
+0x3548f8c7,0xf8d7b121,0x33013578,0x3578f8c7,0xf0002e00,0xf8d783f1,
+0x4614370c,0xe3f26233,0x0f0cf1bb,0x80b5f000,0x0f10f1bb,0xf8d7d10a,
+0x330135b0,0x35b0f8c7,0x46c0e0ab,0x00021040,0x1e003e11,0x0f14f1bb,
+0x69fbd115,0x4650b133,0xfd7af7fb,0x5c1a4b8d,0x5c9b4b8d,0x02c3eb07,
+0x36d8f8d2,0x33012501,0x36d8f8c2,0x462c2200,0x920a4691,0xf1bbe097,
+0xf0000f04,0xf1bb808a,0xd1080f08,0xf2464883,0xf7f571de,0x2500fc49,
+0x950a462c,0xf1bbe080,0xd07a0f18,0x308cf8bd,0xf8d7b12b,0x330133d8,
+0x33d8f8c7,0xf895e071,0xf0133026,0xd01d0201,0x0f00f1b8,0xf8d7d004,
+0x33013548,0x3548f8c7,0x2b009b0d,0xf897d05b,0x2a002023,0xf8d7d157,
+0x33013578,0x3578f8c7,0x0f00f1b8,0xf8d7d04f,0x4614354c,0xf8c73301,
+0xe049354c,0x3023f897,0x990cb1cb,0xf0137c0b,0xd0140f01,0x2b009b0d,
+0xf8d7d048,0x33013578,0x3578f8c7,0x0f00f1b8,0xf8d7d040,0x2501354c,
+0x462c3301,0xf8c746a9,0x920a354c,0x990fe03b,0xf642b911,0xe00723ce,
+0x23cef642,0x9a0e5afb,0xd004429a,0x23d0f642,0x45985afb,0xf8d7d115,
+0x44433568,0x3568f8c7,0xb91b9b0d,0x462c2501,0xe0084699,0x3550f8d7,
+0x33012501,0x3550f8c7,0xf04f462c,0x950a0900,0xf8d7e015,0x330133bc,
+0x33bcf8c7,0x2400e005,0x0901f04f,0x940a464d,0x2400e009,0x940a2501,
+0xe00446a1,0x21002501,0x46a9462c,0xb176910a,0xf4136873,0xd00a4f80,
+0xf3c29a0b,0x2b020381,0xf8d7d105,0x463107e0,0xf0044652,0x990bf921,
+0x0381f3c1,0xd91d2b01,0xb1deb1e4,0x3086f8bd,0x0f40f013,0xf013d009,
+0xd006031c,0xd0042b14,0xf646482a,0xf7f5014d,0xf642fb97,0x5afc23d2,
+0x5afb3302,0x07f0f8d7,0x93004631,0x4623aa20,0xfe9cf00e,0x99114638,
+0xf7fa2201,0xf243fe1d,0x58f843ec,0x9b0e990f,0x2900ac20,0x2300bf08,
+0x23009301,0x46519302,0x4622465b,0x8000f8cd,0xfc14f005,0x3024f89a,
+0x4638b12b,0xf8bd4651,0xf7fa2086,0xf243fc91,0xf8571898,0x2b003008,
+0xf897d03a,0x2b003023,0xf897d036,0x2b003024,0x9a0cd032,0x5058f507,
+0x30081d11,0x4b082206,0xbb484798,0x0f00f1b9,0xf243d00c,0x54f8139c,
+0x46c0e022,0x000238e6,0x00021010,0x00021040,0x1e00d671,0xb1bb9b0a,
+0x07f0f8d7,0x46224631,0xf87cf00e,0xf243b180,0x5d3b149c,0xb2da3301,
+0xf857553b,0x429a3008,0x4638d906,0x01c7f06f,0xfc6af7fe,0x9004f807,
+0x9810b125,0x22014651,0x47984b79,0xb119990d,0xf6422200,0x50fa7354,
+0x9b089a09,0x429a3201,0xd2079209,0x380cf8d7,0x2170f8d3,0x0f01f012,
+0xad42f47f,0x43ecf243,0x210058f8,0xfa04f005,0x3df2f8b7,0xf507b12b,
+0x4638615e,0xf7fe310c,0x9909fc47,0x42919a08,0xf8d7d305,0xf0433d00,
+0xf8c75300,0x9b063d00,0x0f04f013,0xf8d7d00a,0x99073458,0xf8c73301,
+0xf2433458,0x58f843ec,0xf976f005,0xf0119906,0xd00b0f20,0xf6429b07,
+0xf8d34144,0x587b2124,0x9a074313,0x3124f8c2,0x507b2300,0xf4139b06,
+0xd0046f00,0x33d8f8d7,0xf8c73301,0x990633d8,0x4f00f411,0x80b4f000,
+0x25009a05,0xbf0c2a00,0x3bfff04f,0x0b08f04f,0x46a9462c,0xb90ce008,
+0xe000461d,0xf1096063,0x45d90901,0x461cd207,0x0778f8d7,0x47986dc3,
+0x28004603,0xf8d7d1ef,0x6e030778,0xe0884798,0xf8d5686b,0x93178010,
+0x606b2300,0x4628211e,0xa048f8d7,0xfbdcf7fb,0x300cf898,0x0f04f013,
+0x8aabd006,0xd91b2b01,0x21024628,0xfbd0f7fb,0x300cf898,0xf013692c,
+0x8aae0f01,0x482dd004,0x4149f647,0xfa84f7f5,0xd9092e07,0x79e279a3,
+0x2202ea43,0x300ef898,0x0f01f013,0xe02bd006,0x3404f8d7,0xf8c73301,
+0xe04c3404,0x0081f3c2,0xd0012802,0xd12f2800,0x0110f104,0x784a788b,
+0x431a7c24,0xea4478cb,0x43130202,0x431a790a,0x4313794b,0xf014d002,
+0xd0050f01,0x3414f8d7,0xf8c73301,0xe02e3414,0x356cf8d7,0x28023301,
+0x356cf8c7,0xe00fd009,0x3d46f897,0xf8d7b31b,0x4b0d07e0,0x462a4641,
+0x4638e021,0x46424651,0xf7ff462b,0xe01bf913,0xd80f2801,0x43ecf243,
+0x6cb958f8,0x462b4642,0xfaccf005,0x46c0e010,0x1e005c41,0x00021040,
+0x0001e491,0x3410f8d7,0xf8c73301,0x4b9b3410,0x46294650,0x47982200,
+0x2d009d17,0xaf74f47f,0xd30545d9,0x3d00f8d7,0x4300f443,0x3d00f8c7,
+0xf4119906,0xd0083f80,0x21014638,0xff14f7f9,0xf8d7b118,0xf01007f8,
+0x9a06f995,0x2f80f412,0xf8d7d004,0x68183848,0xff46f008,0xf4139b06,
+0xf0005f00,0xf8df80c6,0x68398254,0x270cf8d7,0x47c04883,0x680cf8d7,
+0xf8d76839,0x4881270c,0xf8d647c0,0xf8d62154,0xf8b63158,0xb2891434,
+0xf8b69116,0xb2891436,0xf8b69115,0xf8b613e8,0xb28993ea,0xb50ef8b6,
+0xf8b69114,0xf8d6a3ee,0xf8b61180,0x91120490,0x17c0f8b6,0x57d0f8b6,
+0x47d2f8b6,0xf8adb280,0xb2891012,0xb2ad9113,0xb2a46839,0x486c9000,
+0x462a47c0,0x99134623,0x47c0486a,0xf989fa1f,0x48699912,0xfa1f47c0,
+0x9b14fb8b,0x9a159916,0xfa8afa1f,0x9000f8cd,0x47c04864,0x46594652,
+0x47c04863,0x380cf8d7,0xf8b34862,0xb28914d0,0xf8d747c0,0x4860380c,
+0x14d2f8b3,0x47c0b289,0x380cf8d7,0xf8b3485d,0xb28914d4,0x217e47c0,
+0xf7fa4638,0x21a2f80b,0x46384604,0xf806f7fa,0x46024621,0x47c04856,
+0x311af241,0xf7f94638,0xf241fffd,0x46053116,0xf7f94638,0xf241fff7,
+0x46043118,0xf7f94638,0x4622fff1,0x46294603,0x47c0484c,0x3126f241,
+0xf7f94638,0x4601ffe7,0x47c04849,0x47c04849,0x0800f04f,0xf8d6e0c3,
+0xab182154,0x310450ca,0xd1f82920,0xab182400,0x484358e1,0x34044d43,
+0x2c2047a8,0x4842d1f7,0x0801f108,0xf1b847a8,0xf0400f08,0x68b980ac,
+0x3321f244,0x429a6b0a,0x6b4bd101,0x483bb123,0x41c9f246,0xf93cf7f5,
+0x35b4f8d7,0x073cf8d7,0xf8c73301,0xf7f935b4,0x9a06fb29,0xda742a00,
+0x380cf8d7,0x61992100,0x3d63f897,0xd16c2b02,0x2d80f8b7,0xd05b2a00,
+0x3d82f897,0xf8b7b133,0xf8873d7e,0xf8a71d82,0xe0513d80,0xf8a71e53,
+0xb29b3d80,0xd14b2b00,0x37f8f8d7,0xb993789b,0xf7f94638,0xb970fc0d,
+0x3d63f897,0xd10a2b02,0x3de0f897,0xf243b13b,0x58fb13dc,0x4638b91b,
+0xf7fc2101,0xf897fd53,0xb13b3d5f,0x0100f04f,0x1d80f8a7,0xf7fa4638,
+0xe036fb5f,0xf7fa4638,0xe032fb6d,0x1e005c41,0x00021046,0x00021086,
+0x000210ba,0x000210f2,0x00021125,0x00021138,0x00021181,0x000211a0,
+0x000211b2,0x000211c4,0x000211d6,0x000211f3,0x00021236,0x0002124b,
+0x00021252,0x1e004461,0x00021250,0x00021040,0x2b02687b,0x4823d804,
+0x21b0f646,0xf8c0f7f5,0x280cf8d7,0x5320f44f,0xf8b76193,0xb12b3df2,
+0x615ef507,0x310c4638,0xf9faf7fe,0xf7f94638,0xb920fb1f,0xf2464817,
+0xf7f541f6,0x9a05f8a9,0xd01e2a01,0x3d00f8d7,0x4812b1db,0x41f9f246,
+0xf89ef7f5,0x2100e015,0x480ee739,0x7108f246,0xf896f7f5,0xbb08f7ff,
+0xf04f4634,0x23000901,0x930a464d,0xf04fe4df,0x21000901,0x910a464d,
+0xf8d7e4ca,0x38000d00,0x2001bf18,0xe8bdb025,0x46c08ff0,0x00021040,
+0x41f0e92d,0x7c434698,0x4606b086,0x4615460f,0x4827b923,0x6177f248,
+0xf86ef7f5,0xf8d6b915,0x691d3848,0xf7fb4638,0x2807f97b,0xdd044604,
+0xf248481f,0xf7f5617e,0x2301f85f,0x93012200,0x92004b1c,0x46305d1b,
+0x9b0c9302,0x93049203,0x462a9b0d,0x46399305,0xf7fc4643,0x4b16fd2b,
+0x0207f004,0x62fd5c98,0x655ef506,0x280d350c,0x230fdd01,0x1c43e000,
+0x46304c10,0x463a4629,0x460447a0,0x4630b128,0xf7fe4629,0x2001f97d,
+0x6cb0e00a,0x46394b0a,0x47982201,0x33c0f8d6,0x33014620,0x33c0f8c6,
+0xe8bdb006,0x46c081f0,0x00021040,0x000238e6,0x0002101c,0x0001e1ad,
+0x1e005c41,0xb087b5f0,0x468e4605,0x7030f8bd,0xb10b461e,0xe002695c,
+0x5454f500,0x23023434,0xab059301,0x93029200,0xf1044628,0x21c003da,
+0xf7fc4672,0x4604fac1,0x9b05b160,0x801f4621,0x23004628,0x93004632,
+0xf7ff9301,0x2800ff79,0x2400bf08,0xb0074620,0x46c0bdf0,0x43f0e92d,
+0x790b4698,0xf013b087,0x46050401,0x4617460e,0xf500d125,0x33085358,
+0x9000f892,0xab059300,0xf1069302,0x21d0020a,0x034cf100,0x8004f8cd,
+0xfa92f7fc,0xb1904606,0x46424639,0xf7f69805,0x9a05f8b1,0x6349ea6f,
+0x6353ea6f,0x46287013,0x46224631,0x94004623,0xf7ff9401,0xb007ff41,
+0x83f0e8bd,0x41f0e92d,0x46104605,0x4616461c,0xf8c6f7fb,0x3df0f8b5,
+0x2b1f4607,0x4820d804,0x7105f644,0xffa8f7f4,0x615ef505,0x46284623,
+0x4632310c,0x47a04c1b,0x6ca8b920,0x22014631,0x47984b19,0xb97369eb,
+0xbb336aab,0x3df2f8b5,0xd9222b1f,0x073cf8d5,0x7380f44f,0xf04f2101,
+0x62ab32ff,0xf895e017,0xb1b3303f,0xfa112101,0x6aacf007,0xd1104220,
+0x5dda4b0c,0xfb02230c,0xf8b35303,0x2b1f3dfc,0xea40d907,0xf8d50304,
+0x62ab073c,0xf7f8463a,0xe8bdff93,0x46c081f0,0x00021040,0x0001e1ad,
+0x1e005c41,0x0002101c,0xf89db5f7,0x460e5020,0x88c94617,0xb165461a,
+0x0f80f011,0x7c43d001,0xf011b98b,0xd0010f40,0xb1637c43,0x7f80f411,
+0xf411e013,0xd0016f00,0xb9237c43,0x6f80f411,0x7c43d009,0x7c43b93b,
+0xbf0c2b00,0x0403f06f,0x0404f06f,0xf411e059,0xd0045f80,0x3844f8d0,
+0x2b007a1b,0x2300d04f,0x4c299301,0x46394630,0x47a0462b,0x28004604,
+0x2d00d147,0x8933d045,0x2b063b01,0x4639d841,0x2204a801,0xf806f7f6,
+0x99018933,0x2b053b02,0xe8dfd837,0x0305f003,0x22070a0c,0xe0222200,
+0xe0092300,0x4300f06f,0x2300e002,0x2300e017,0x33d3ea6f,0x33c3ea6f,
+0xf04388f0,0xf010027f,0xd0010320,0xe0032301,0x0f10f010,0x43d3bf08,
+0xdb114299,0xdc0f4291,0xf04fe013,0xea6f33ff,0xea6f4213,0x88f34202,
+0x0f20f013,0xb119d000,0x03fff042,0xd9044299,0x041cf06f,0xf06fe001,
+0x4620040a,0x46c0bdfe,0x1e003891,0x4ff0e92d,0x4617b089,0x2050f89d,
+0x469a4680,0x468b9207,0x4845b921,0x3176f643,0xfecef7f4,0x2b009b13,
+0x4841da04,0x3178f643,0xfec6f7f4,0xb9529a07,0xb1139b12,0x2a009a13,
+0x483bd16e,0x317bf643,0xfebaf7f4,0xb917e068,0x0f00f1ba,0x4836d00c,
+0x317ef643,0x9b12e006,0x0f03f013,0x4832d004,0x3184f643,0xfea8f7f4,
+0x646ef508,0xf04f3408,0x68250900,0x4658b195,0x4b2c213a,0xb9084798,
+0xe006465e,0xe0041c46,0x4b294631,0xb1204798,0x6828350c,0xd1f72800,
+0xb945e000,0x0901f109,0xf1b93434,0xd1e40f16,0x0416f06f,0xb917e038,
+0xf8dd9f12,0x892ba04c,0x4619b90b,0x9913e003,0xbf182b08,0x9b072104,
+0xb11388aa,0x1c5e0053,0x0056e000,0x23349a12,0x9a139202,0x8303fb09,
+0x9a159203,0x92059104,0xf8cd9700,0xf8d3a004,0xf8d34ef4,0x46290eec,
+0x465b4632,0xf01647a0,0x46040f01,0x4640d00c,0xfb12f7fc,0x3d58f8d8,
+0xf8c83301,0xe0033d58,0x2b049b13,0xe7a3d09b,0xb0094620,0x8ff0e8bd,
+0x00021040,0x1e00411d,0x1e004041,0x43f7e92d,0x46062934,0x4617460d,
+0xf8dd4698,0xd0159028,0x2902dc05,0x2903db0e,0x291bdd10,0x29d6e009,
+0xdc01d00c,0xe00429a3,0xd00729fb,0x130bf240,0xd0034299,0xf1b8b1e7,
+0xdd190f00,0x46294630,0x4643463a,0x9000f8cd,0xfd70f003,0x0f17f110,
+0xd10b4604,0x43ecf243,0x462958f0,0x4643463a,0x9000f8cd,0xfec8f004,
+0xe0184604,0xe009b910,0x0401f06f,0x0325f104,0xd9012b25,0xe0012400,
+0x4708f8c6,0x381cf896,0x68b0b14b,0xf7f52101,0xb120f98d,0xf6434803,
+0xf7f411ff,0x4620fdf1,0x83fee8bd,0x00021040,0x7c43b510,0xf8d0b11b,
+0xf7f8073c,0xbd10ffcf,0x4603b510,0xb1187c40,0x073cf8d3,0xffccf7f8,
+0x46c0bd10,0x2201b530,0x4604b093,0xf004460d,0xb960fc2f,0x46294620,
+0xf0042201,0x2800fc29,0x4831d15f,0x5175f640,0xfdc6f7f4,0x4b2fe059,
+0x46294620,0x0203f10d,0x6b634798,0xd0322b00,0x6340f405,0x6f40f5b3,
+0xf504d12d,0xb2e950a2,0x29023034,0xf5a3d802,0xe0016340,0x10db1e8b,
+0xf8102902,0xd801e003,0xe0042201,0xf0031e8b,0x22010307,0xea12409a,
+0xd001030e,0xe01d2201,0xd80129dd,0x10db1c8b,0x5cc029dd,0x2201d901,
+0x1c8be004,0x0307f003,0x409a2201,0xbf0c4202,0x22012200,0xb2eae00a,
+0x01d2eb04,0x4374f241,0xf0025ccb,0x41130207,0x0201f003,0x46294620,
+0x0303f10d,0xfe0ef7fa,0x23bcf642,0x462052e5,0xfa26f7fb,0xb1236b63,
+0x3d58f8d4,0xf8c43301,0xb0133d58,0x46c0bd30,0x00021040,0x0001e2f1,
+0x5354f500,0x42993334,0x460ab510,0xd1034604,0x32da2100,0xfc58f7f9,
+0xf0004620,0x2000fcc1,0x46c0bd10,0x0a007008,0x47707048,0x78007843,
+0x2003ea40,0x46c04770,0x7d98690b,0xea407ddb,0x09002003,0x46c04770,
+0x4684b500,0x0e00f04f,0x0300f04f,0x3218f8a0,0xfb0e2324,0xf503f303,
+0x44637306,0x22001c99,0xf04f3201,0x2a1033ff,0x3b01f801,0x3301d1f8,
+0x0e01f10e,0x3238f8c0,0x3230f8c0,0x322af8a0,0x322cf8c0,0xf1be3024,
+0xd1dd0f04,0x46c0bd00,0x47702001,0x6804b570,0xf8842600,0x460d602e,
+0x4608b909,0x6b63e00a,0xf7ffb133,0xb118fff1,0xf8844630,0xe001502e,
+0x0016f06f,0x46c0bd70,0x6804b510,0x31f1f241,0xf8905c63,0xf023202d,
+0xf002031f,0x431a0203,0x3027f890,0xf003009b,0x431a031c,0xbd105462,
+0x41f0e92d,0x46154606,0x460c461f,0x4837b921,0x71e2f640,0xfce0f7f4,
+0xf4136863,0xd1042f80,0xf6404832,0xf7f471e3,0x6873fcd7,0xd10418e4,
+0xf640482e,0xf7f471e6,0x7924fccf,0xd0522c00,0xf8d36833,0x2b033814,
+0x2407d101,0x2c07e006,0x4826d904,0x71f9f640,0xfcbef7f4,0x6f00f015,
+0xf415d026,0xf4050f00,0xd01063e0,0x3b040a1b,0x491f2b01,0x027ff005,
+0x2314d804,0x1303fb02,0xe01768d9,0xfb022314,0x68991303,0x0a1be012,
+0x2b013b04,0xf0054916,0xd804027f,0xfb022314,0x68591303,0x2314e006,
+0xf303fb02,0xe0015859,0x017ff005,0x0311f1c4,0x409a2201,0x185b1e53,
+0xf2f2fbb3,0xdd0e42ba,0x0303f1c7,0x2204189b,0xf4f2fb93,0xdd042cff,
+0xf6404804,0xf7f471ff,0xb2e0fc7b,0x2000e000,0x81f0e8bd,0x00021928,
+0x1e00c744,0xb5706843,0x230818cc,0xf8b07163,0x46053218,0x7f7af5b3,
+0x2310d901,0xf8b57163,0xf5b3323c,0xd9017f7a,0x71632310,0x3260f8b5,
+0x7f7af5b3,0x2310d901,0xf8b57163,0xf5b33284,0xd9017f7a,0x71632310,
+0x3028f895,0xbf182bff,0x79637163,0xbf282b14,0x71a32314,0xb92368e3,
+0xf240480e,0xf7f4314b,0x68e3fc3f,0xf44f79a1,0xfbb362c8,0x4299f3f2,
+0x4619bf28,0x71a1b2c9,0x324df895,0xbf28428b,0x71a3460b,0x4803b923,
+0x3156f240,0xfc28f7f4,0x46c0bd70,0x00021928,0xb510301c,0xb11c6904,
+0x88c38822,0xd004429a,0xf2404803,0xf7f411a7,0x4620fc17,0x46c0bd10,
+0x00021928,0x4b0cb570,0x460c4606,0xb9184798,0x215c480a,0xfc08f7f4,
+0x0507f004,0xd00342a5,0x215d4806,0xfc00f7f4,0xf0238af3,0xea450307,
+0x82f30303,0x46c0bd70,0x1e005ec1,0x00021928,0x4b06b510,0x47984604,
+0x4805b918,0xf7f42155,0x8ae0fbeb,0x0007f000,0x46c0bd10,0x1e005ec1,
+0x00021928,0x41f0e92d,0x46802300,0x700b460e,0xf7ffe015,0x78f3ffe5,
+0xd0044298,0xf640480d,0xf7f451be,0x78f4fbd1,0x4b0b6d71,0x0407f004,
+0x523cf8d1,0x0240f8d1,0x5d1b463a,0xf10847a8,0x78f10010,0x47984b05,
+0x28004607,0xe8bdd1e1,0x46c081f0,0x00021928,0x0002101c,0x1e003ac5,
+0x4ff7e92d,0x46164604,0x9101461d,0x485ab921,0x61e6f501,0xfba8f7f4,
+0x4857b926,0x7131f240,0xfba2f7f4,0x2b017833,0x80a1f040,0x990178f3,
+0xfb03220c,0x79891202,0x8bf78c12,0xbf34428a,0x460b4613,0xbfa8429f,
+0x2f00461f,0x808ff000,0xf89478b2,0x429a302f,0x428fd303,0xb92dd006,
+0xf8d4e085,0x19db3084,0x3084f8c4,0x79939a01,0xd10442bb,0x3088f8d4,
+0xf8c419db,0x78f23088,0x8bf16d73,0x0342eb03,0x2170f8b3,0x33018b73,
+0x05121ad2,0x18bb0d12,0xdc6a428b,0x0301ebc2,0x83f31bdb,0x19db78b3,
+0x9b0170b3,0xf10378f1,0x4b320010,0x46824798,0x482fb920,0x716ef240,
+0xfb52f7f4,0xf7ff4650,0x78f3ff5b,0xd0044298,0xf2404829,0xf7f4716f,
+0xf8dafb47,0x6d72301c,0x6380f443,0x301cf8ca,0xf10678f3,0xeb020514,
+0xf8b20243,0xea4f1170,0x1c4b5801,0x5818ea4f,0x090ff001,0x3170f8a2,
+0x04d9ea4f,0x8020f8aa,0xf0015d2b,0xfa430b07,0xf013f30b,0xd0040f01,
+0xf2404815,0xf7f47179,0xeb06fb1f,0x791b0309,0x4811b123,0x717af240,
+0xfb16f7f4,0xfa022201,0x5d2bf20b,0x552b4313,0x6d7178f4,0xf0044b0c,
+0x5d1b0407,0x801af8a6,0x523cf8d1,0x0240f8d1,0x47a84652,0xb29f1e7b,
+0xd19e2f00,0x2000e001,0x2001e000,0x8ffee8bd,0x00021928,0x1e003ac5,
+0x0002101c,0x41f0e92d,0x46067853,0x4614460f,0xd03c2b00,0x8b108b53,
+0x1a1b3301,0x5c03ea4f,0x5c1cea4f,0x020ff000,0xe0042500,0xb29d1c6b,
+0xf0031c53,0x4565020f,0xeb04d00f,0x7d0b01d2,0x0e07f002,0xf30efa43,
+0x0f01f013,0x7d8bd105,0xf30efa43,0x0f01f013,0x182bd0e8,0x0d1b051b,
+0x8be38323,0x83e318eb,0x2301b115,0x304af884,0x46222300,0x46394630,
+0xff02f7ff,0x78638be2,0xd904429a,0xf6404803,0xf7f42133,0xe8bdfaad,
+0x46c081f0,0x00021928,0x41f0e92d,0x5049f892,0x460e4680,0xf8d04614,
+0xb1e577e8,0x463a2100,0x6bd34608,0xd10442a3,0x0280eb07,0x63d32300,
+0x1c4be00a,0x3001b299,0x290a3204,0x482fd1f1,0x2148f640,0xfa88f7f4,
+0x0048f8d8,0x22584621,0x47984b2b,0xf892e04f,0xb9233048,0xf6404827,
+0xf7f4214d,0xf016fa79,0xf8840f02,0xd03c5048,0xf0038b23,0x8c230c0f,
+0x060ff003,0xf104e02c,0xea4f0e16,0xf81e00dc,0xf00c2000,0xfa520107,
+0xf013f301,0xd01b0f01,0x408b2301,0xb2dd43db,0x0305ea02,0x3000f80e,
+0x0e14f104,0x2000f81e,0xf301fa52,0x0f01f013,0xea02d00a,0xf80e0305,
+0xeb043000,0x2300020c,0x78a37113,0x70a33b01,0x0301f10c,0x0c0ff003,
+0xd1d045b4,0x68796d63,0x18594638,0xf7ff4622,0xf8d8ff45,0x462107e8,
+0xf0002200,0xe8bdf807,0x46c081f0,0x00021928,0x1e005c15,0x4ff0e92d,
+0x3048f891,0x4680b085,0x4614460d,0xf0402b00,0x780a80da,0xf0402a01,
+0xf89180d6,0x2b31304c,0x80d1f200,0xd1052b19,0xf8813301,0xf881304c,
+0xe0c8204b,0xb10c8b08,0xe0279003,0x8beb786a,0x010ff000,0x0702ebc3,
+0x36fff04f,0x2308e010,0xf3f3fb91,0x7d9a18eb,0xea014b5c,0x411a0303,
+0x0f01f012,0x4626bf18,0xf0031c4b,0x3401010f,0xdbec42bc,0x3ffff1b6,
+0x2300d103,0x304cf885,0x1c43e0a1,0x051b199b,0x93030d1b,0xf8d86d6b,
+0x189b2004,0x484eb923,0x11f6f640,0xf9d8f7f4,0x3009f898,0xd16f2b00,
+0xa000f8d8,0x9054f8d5,0xb003f895,0x0f00f1ba,0x4845d104,0x11adf241,
+0xf9c6f7f4,0x0f00f1b9,0x4841d104,0x11aef241,0xf9bef7f4,0x3014f8d9,
+0x483db923,0x11aff241,0xf9b6f7f4,0x0f07f1bb,0x4839d904,0x11b0f241,
+0xf9aef7f4,0x6de8f89a,0xd1392e00,0x21144650,0xfcb4f7fb,0x28004607,
+0x6904d032,0x037bf06f,0x70667023,0x70e670a6,0xf1091d20,0x22060119,
+0xfa7cf7f5,0x1014f8d9,0x000af104,0x220631da,0xfa74f7f5,0x330bea4f,
+0xf043b29b,0x74230304,0x0210f104,0x70530a1b,0x46389903,0xb29b010b,
+0x0a1b7093,0x465970d3,0xfd68f7ff,0x46502401,0x464a4639,0x96002303,
+0xf7fd9401,0xbb00fd33,0xf8852301,0xe026304b,0x404bf885,0xf8d8e023,
+0x330130b0,0x30b0f8c8,0x304cf895,0xf8853301,0x2301304c,0x3048f885,
+0x842b9b03,0x3009f898,0xd1102b01,0x0000f8d8,0x462a2102,0xfea8f7ff,
+0xf8d8e009,0x49070000,0x463b462a,0xfac0f7f9,0xd1d92800,0xb005e7db,
+0x8ff0e8bd,0x80000007,0x00021928,0x0000c0ad,0x41f0e92d,0x69d34698,
+0xf4134607,0x460d6f80,0xd1044616,0xf44f483c,0xf7f46127,0x2d00f92d,
+0x686bd070,0x2f80f413,0x687bd06c,0xd10418ec,0xf6404835,0xf7f42176,
+0x4630f91f,0xfd28f7ff,0x0080eb04,0x40d8f8d0,0xd05b2c00,0x2b027823,
+0x6d63d058,0xd00442ab,0xf640482b,0xf7f4217e,0x6932f90b,0x3084f892,
+0x2085f892,0x2302ea43,0x8b230918,0xebc37862,0x051b0300,0x42930d1b,
+0xf000da40,0xf104050f,0xea4f0114,0xf8110ed5,0xf000200e,0xfa520007,
+0xf013f300,0xd1050f01,0xf6404819,0xf7f4218e,0xe02bf8e7,0x3006f898,
+0x0602f013,0x2301d013,0xea224083,0xf8010303,0x1962300e,0x71132300,
+0x463878a3,0x70a33b01,0x6d636879,0x18594622,0xfddcf7ff,0x2201e012,
+0xf8d74082,0xf10430a4,0x33010116,0x30a4f8c7,0x300ef811,0x43134638,
+0x300ef801,0x46214632,0xfe90f7ff,0x81f0e8bd,0x00021928,0x6804b510,
+0x302ef894,0xf890b1d3,0xf003302d,0x2b030303,0x4620d109,0xf64f21ba,
+0xf7f872ff,0x4620fe03,0x220a213c,0x4620e008,0xf44f21ba,0xf7f84200,
+0x4620fdf9,0x2205213c,0xfdf4f7f8,0x46c0bd10,0x4605b537,0x22082100,
+0xf7f54668,0xf105f953,0x2206014c,0xf7f54668,0xf505f96d,0x214860e8,
+0x466b2208,0xf7fa466c,0xbd3ef855,0x47f0e92d,0x461e4614,0x46884607,
+0x21004610,0xf8dd2280,0xf7f59020,0x6931f937,0x60216166,0x780b784a,
+0xea432000,0x83a32302,0xf3c38ba2,0x83e30381,0x1303f3c2,0x790b8423,
+0x7240f402,0x0301f003,0x302cf884,0xf5b28ab3,0xbf147f40,0x22012200,
+0x8be360e3,0xbf0c4282,0x251e2518,0x2b021949,0x8c23bf0a,0xf3c34603,
+0xb2db03c0,0x002ff884,0x2029f884,0xf8846061,0xb1c3302a,0xf7ff6860,
+0xf3c0faed,0xf00013c0,0xf8840207,0x4b1e302d,0x2022f884,0x4b1d5c9a,
+0x1000f3c0,0xf8845c9b,0x62630028,0x33026863,0x1cab6063,0xf899b29d,
+0xf0033004,0x2b020303,0xf9b4d107,0x2b00301c,0x8c23da03,0x03c0f3c3,
+0x2300e000,0xf884b2db,0xb123302b,0x33046863,0x1d2b6063,0x68e3b29d,
+0x1b5b6cb8,0x463160a3,0x47984b09,0x30f0f8b8,0xf8a41b40,0x23003068,
+0xf8c46120,0x63639018,0xe8bd63a3,0x46c087f0,0x000238e6,0x00021010,
+0x1e003e11,0x47f0e92d,0xeb014699,0xf8d30382,0xb0a240f8,0x460f4680,
+0x2c004692,0x4825d143,0x212df240,0xffe0f7f3,0x88e3e040,0x030ff003,
+0x0583eb04,0xb32668ae,0x60ab2300,0x464078a3,0x70a33b01,0xf7ff4631,
+0x88e3fa87,0xd0044283,0xf2404818,0xf7f32136,0x6cabffc7,0x9300ac02,
+0x46334622,0x68394640,0xff40f7ff,0x46404622,0xf7fd6839,0xeb07fc31,
+0xf8d3038a,0xb1ac40f8,0xf8d8e006,0xf8d227e8,0x330130e0,0x30e0f8c2,
+0x71232301,0x330188e3,0x0d1b051b,0xf10980e3,0xfa1f33ff,0xf1b9f983,
+0xd1be0f00,0xe8bdb022,0x46c087f0,0x00021928,0x4ff0e92d,0x0382eb01,
+0x50f8f8d3,0x4681b0a3,0x4693460c,0xd0362d00,0xe02d88eb,0x60b32300,
+0x464878ab,0x70ab3b01,0xf7ff4639,0x88ebfa39,0xd0044283,0xf2404815,
+0xf7f32111,0x6cb3ff79,0x0a08f10d,0x46489300,0x46526821,0xf7ff463b,
+0x2301fef1,0x88eb712b,0x33014648,0x0d1b051b,0x682180eb,0xf7fd4652,
+0xeb04fbdb,0xf8d3038b,0xb14550f8,0x0301f108,0x080ff003,0x0688eb05,
+0x2f0068b7,0xb023d1ca,0x8ff0e8bd,0x00021928,0x41f0e92d,0x46164604,
+0xf8bd461d,0x29000018,0x684bd051,0x2f80f413,0x2884d04d,0x2d03d136,
+0x6863dd44,0x8000f8d4,0xd10418cf,0xf6404823,0xf7f37114,0x7832ff35,
+0xea427873,0x0b1d2303,0xd8332d07,0x0f02f013,0xeb07d130,0xf8d30385,
+0xb35910f8,0x30fcf8d4,0xf8c43301,0x78f330fc,0xea4278b2,0x88cb2203,
+0x1312ebc3,0x0d1b051b,0x6f00f5b3,0x4640d81f,0x462a4639,0xff1ef7ff,
+0x46394640,0xf7ff462a,0xe014ff73,0xd1072894,0xdd0b2d0b,0x30b4f8d4,
+0xf8c43301,0xe00a30b4,0xf6404806,0xf7f351a9,0xe004fefb,0x3104f8d4,
+0xf8c43301,0xe8bd3104,0x46c081f0,0x00021928,0xeb01b570,0xf8d60682,
+0x460530f8,0x6800b30b,0xf7ff2310,0xf8d6fef3,0xb17c40f8,0xb12378a3,
+0xf640480c,0xf7f351d1,0x682bfedb,0x6c984621,0x4b092288,0x23004798,
+0x30f8f8c6,0x3b018eeb,0x86ebb29b,0x682bb92b,0xf8d36ba9,0x4b03073c,
+0xbd704798,0x00021928,0x1e005c15,0x1e006221,0x4ff0e92d,0x469ab089,
+0x3048f8bd,0x4693460e,0xf8bd9305,0x4607904c,0x4828b920,0x1155f241,
+0xfeaef7f3,0x4825b926,0x1156f241,0xfea8f7f3,0xb9236973,0xf2414821,
+0xf7f31157,0xf897fea1,0xb1155de8,0x0018f06f,0x6973e034,0xf1034638,
+0x920002d4,0x92012209,0x9202aa07,0xf10621d0,0x33da0219,0xf94cf7fb,
+0xb9104680,0x001af06f,0x9c07e020,0x70232303,0x70632301,0x1ce14658,
+0xa002f884,0xf92af7ff,0x1d614648,0xf926f7ff,0x1de19805,0xf922f7ff,
+0xf3c94640,0xf7ff0183,0x4638fa5d,0x46324641,0x9500462b,0xf7fe9501,
+0x4628fdeb,0xe8bdb009,0x46c08ff0,0x00021928,0x0282eb01,0x47f0e92d,
+0x40d8f8d2,0x46884606,0x2c004699,0x8082f000,0x70232303,0x3048f894,
+0x461fbb6b,0x0516f104,0x00ccf3c7,0xf0075c2a,0xfa520107,0xf013f301,
+0xd01d0f01,0x408b2301,0xfa5f43db,0xea02fe83,0x542b030e,0x0514f104,
+0xfa525c2a,0xf013f301,0xd0080f01,0x030eea02,0x19e2542b,0x71132300,
+0x3b0178a3,0x463070a3,0x46224641,0xfb32f7ff,0x2f103701,0x78a3d1d2,
+0xf1b9b11b,0xd0490f00,0x8be2e008,0x429a7863,0x4823d004,0x51fdf640,
+0xfe12f7f3,0x6d626873,0x78e318d5,0x0383eb05,0x30d8f8d3,0xd004429c,
+0xf640481b,0xf7f36101,0x78e3fe03,0xeb052700,0xf8c30383,0x683370d8,
+0x0110f105,0x78e26c98,0xf7f42301,0xf894fe6d,0xb9333048,0x46216833,
+0x22586c98,0x47984b0f,0xf896e018,0xeb063030,0x6be90583,0x6833b121,
+0x6c982258,0x47984b09,0x3030f896,0x2b0963ec,0x463bd101,0x3301e001,
+0xf886b2db,0x23013030,0x3049f884,0x87f0e8bd,0x00021928,0x1e005c15,
+0x4ff0e92d,0x4680b087,0x469a4617,0xb040f8bd,0xb921460c,0xf6404843,
+0xf7f37189,0x6823fdbd,0x4840b923,0x718af640,0xfdb6f7f3,0x685b6823,
+0x2f80f413,0x483bd104,0x718bf640,0xfdacf7f3,0xd9042f07,0xf6404837,
+0xf7f3718c,0xf1bafda5,0xd0060f00,0x46214640,0x2300463a,0xff3cf7ff,
+0x4640e004,0x463a4621,0xfea6f7ff,0x6000f8d8,0xb9266825,0xf241482b,
+0xf7f31181,0xb925fd8d,0xf2414828,0xf7f31182,0x696bfd87,0x4825b923,
+0x1183f241,0xfd80f7f3,0xd9042f07,0xf2414821,0xf7f31184,0xf896fd79,
+0x2c004de8,0x696bd132,0xf1034630,0x920002d4,0x92012206,0x9202aa05,
+0xf10521d0,0x33da0219,0xf826f7fb,0xb3084681,0x23039905,0x3b01700b,
+0xea4f704b,0x033b22ca,0x4370f403,0x6200f402,0xf002431a,0x708b03ff,
+0xea4f0a12,0x70ca231b,0xf881714b,0x4639b004,0xf938f7ff,0x46494630,
+0x4623462a,0x94019400,0xfcc6f7fe,0x3108f8d8,0xf8c83301,0xb0073108,
+0x8ff0e8bd,0x00021928,0x4ff0e92d,0x781b461c,0xf003b085,0x2b03037f,
+0x46894605,0x9e0e4690,0x48aad004,0x6156f44f,0xfd26f7f3,0x0f00f1b9,
+0x815df000,0xf3402e01,0x7867814f,0xf0002f01,0xd30380bf,0xf0002f02,
+0xe1458113,0xf3402e08,0x686b8143,0xeb196828,0x90030b03,0x489bd104,
+0x6125f640,0xfd08f7f3,0xf7fe1d60,0x4606ffb7,0xf7fe1de0,0x9002ffb3,
+0xf7fe1ce0,0xf3c0ffaf,0xf1b80883,0x46070f07,0x202ef895,0x8106f200,
+0x3000f994,0xda0c2b00,0x0388eb0b,0x10d8f8d3,0xf0002900,0x780b80fb,
+0xf0402b02,0x465880f7,0x42b2e0ba,0x4613bf34,0xfa1f4633,0x682bfa83,
+0x302ef893,0xeb08b123,0xf8930305,0xb93b32a8,0x980378a3,0x22254649,
+0xa000f8cd,0xe00b9701,0xf3c07caa,0x429a0340,0x78a3d00e,0x98039001,
+0xa000f8cd,0x22264649,0xfdfef7ff,0x30f8f8d5,0xf8c53301,0xe0f230f8,
+0x46594628,0xf7ff4642,0xeb0bfdc3,0xf8d30388,0xb12330f8,0xf640486b,
+0xf7f36161,0x2088fca9,0x4b692100,0x46064798,0x78a3b938,0x46499803,
+0xf8cd2201,0x9701a000,0x2288e7da,0xf7f42100,0xf3c7fd5d,0x7d2a1387,
+0x429ab123,0x4611bf34,0xe0004619,0x98024611,0x023ff007,0x0388eb0b,
+0xf8c32701,0x707160f8,0x09037037,0xf8d580f3,0xea4230f4,0x19db1281,
+0x30f4f8c5,0x0201f022,0x980378a3,0x46499201,0xf8cd2200,0xf7ffa000,
+0xf8d5fdaf,0x19db30f8,0x30f8f8c5,0xb93b8eeb,0x6ba99b03,0x073cf8d3,
+0x463b2264,0x47a04c47,0x33018eeb,0xe09686eb,0xf3402e08,0x686b8089,
+0xa000f8d5,0x0603eb19,0x483ed104,0x619df640,0xfc4ef7f3,0x3000f994,
+0xdb5b2b00,0xf7fe1ce0,0x4680fef9,0xf7fe1d60,0xf3c0fef5,0x29070183,
+0xeb06d850,0xf8d30381,0x2c0040d8,0x7823d04a,0xd1472b02,0x0f00f1b8,
+0x7caad108,0x0340f3c0,0xd103429a,0x1087f3c0,0xd9042810,0x46214630,
+0xf844f7ff,0x7060e036,0xeb0983e0,0xf8b30341,0x70273170,0x0d1b051b,
+0x83a38323,0x051b3b01,0x83630d1b,0x30acf8d5,0x07e8f8da,0xf8c53301,
+0x462130ac,0xf7ff463a,0x4628f9e1,0x46224631,0xf7ff4643,0xe03ef851,
+0xdd312e05,0xeb19686b,0xd1040603,0xf6404813,0xf7f361e4,0xf994fbf9,
+0x2b003000,0x78a2db06,0xea4278e3,0x0b022003,0xd9052a07,0x3104f8d5,
+0xf8c53301,0xe0223104,0x23c0f3c0,0x4628b123,0xf7ff4631,0xe003fcf1,
+0x46314628,0xfd7cf7ff,0x310cf8d5,0xf8c53301,0xe010310c,0x00021928,
+0x1e00578d,0x1e0061f9,0x3104f8d5,0x33016828,0x3104f8c5,0x46224641,
+0xf7fe4633,0xb005fbd7,0x8ff0e8bd,0xe92d6843,0x18cf41f0,0xd1044605,
+0xf240480b,0xf7f3311b,0x2600fbb7,0x4628b2f4,0x46224639,0xfcc0f7ff,
+0x23003601,0x46394628,0xf7ff4622,0x2e08fd49,0xe8bdd1f0,0x46c081f0,
+0x00021928,0x4ff0e92d,0xb0858c13,0x2b089103,0x46174606,0xb022f892,
+0x9000f8d0,0x4648d001,0x9a03e048,0x489fb922,0x41d9f640,0xfb8cf7f3,
+0x68539a03,0x2f80f413,0x489ad104,0x41daf640,0xfb82f7f3,0x0f07f1bb,
+0x4896d904,0x41dcf640,0xfb7af7f3,0x302cf897,0x4892b123,0x41ddf640,
+0xfb72f7f3,0x9a036873,0x0a03eb12,0x488dd104,0x614ef44f,0xfb68f7f3,
+0x038beb0a,0x50f8f8d3,0x69bb6839,0x791bb9cd,0x0303f003,0xd10e2b02,
+0x3c03f811,0x0f08f013,0x2301d009,0x024beb0a,0x3118f882,0x30dcf8d6,
+0xf8c63301,0x990330dc,0x463a4648,0xffc0f7fc,0x791be0f0,0x0303f003,
+0xd1382b02,0x3c03f811,0x0f08f013,0xf8d6d01e,0x330130c4,0x30c4f8c6,
+0x30c8f8d6,0xf8c63301,0xf91130c8,0x2b003c03,0xf8d6da04,0x330130d4,
+0x30d4f8c6,0x3c03f811,0x0330f003,0xd11f2b10,0x30d8f8d6,0xf8c63301,
+0xe01930d8,0x2c04f811,0x3c05f811,0xf8114313,0x431a2c06,0xf8d6d105,
+0x330130c8,0x30c8f8c6,0xf8d6e00a,0x330130cc,0x30ccf8c6,0xf8d6e004,
+0x330130d0,0x30d0f8c6,0x7d9a683b,0xea427ddb,0xf0132303,0xf0400f0f,
+0x091c8092,0xf00488eb,0x429c080f,0x4648d125,0xf7fe6979,0x4284fda9,
+0x484ed004,0x5112f640,0xfaeaf7f3,0x0388eb05,0xb123689b,0xf6404849,
+0xf7f35113,0x4648fae1,0x463a9903,0xff54f7fc,0x712b2301,0x464888eb,
+0x051b3301,0x80eb0d1b,0x465a4651,0xfb38f7ff,0xebc3e078,0x051a0304,
+0x0d127869,0xd203428a,0x0388eb05,0xb913689b,0x6f00f5b2,0x4648d916,
+0xf7fe6979,0x4284fd75,0x4834d004,0x5127f640,0xfab6f7f3,0xf8d94b32,
+0x69790048,0x47982200,0x30e8f8d6,0xf8c63301,0xe05330e8,0xd328428a,
+0x0301f1c1,0xb29b18d3,0x46514648,0xf7ff465a,0xeb0afaad,0xf8d3038b,
+0xb17d50f8,0x0488eb05,0xb12368a3,0xf6404821,0xf7f3513a,0x697bfa91,
+0x69bb60a3,0x78ab64a3,0x70ab3301,0x46514648,0xf7ff465a,0xf8d6faed,
+0x330130f0,0x30f0f8c6,0xeb05e028,0x68a30488,0x4814b123,0x5148f640,
+0xfa76f7f3,0x60a3697b,0x64a369bb,0x330178ab,0xf8d670ab,0x330130e4,
+0x30e4f8c6,0xf8d9e012,0x69790048,0x4b0a2200,0xf8d64798,0x46303104,
+0xf8c63301,0x23013104,0x46519300,0x3b01465a,0xfc8af7ff,0xe8bdb005,
+0x46c08ff0,0x00021928,0x1e005c41,0x47f0e92d,0x68077913,0x460d4680,
+0xf0034616,0xe0230907,0xf41369eb,0xd1046f80,0xf640482f,0xf7f321ce,
+0x692bfa3b,0x781c2201,0x6cb8785b,0x2403ea44,0x30c0f8d8,0x33014629,
+0x30c0f8c8,0x2441f3c4,0x47984b26,0xd0092c03,0x0389eb07,0x0778f8d3,
+0x6ac32100,0x46054798,0xd1d92d00,0x79f379b2,0x2203ea42,0x0f02f012,
+0xf012d02d,0xd1120f40,0xf6404819,0xf7f321e2,0xe00cfa0f,0x4b182001,
+0x1c6b4798,0x2d0bb2dd,0x4813d106,0x21eaf640,0xfa02f7f3,0x2500e01d,
+0x380cf8d7,0x4170f8d3,0x0f01f014,0xf014d0ea,0xd0040f40,0xf640480a,
+0xf7f321ef,0xf014f9f1,0xd1040f20,0xf44f4806,0xf7f3612f,0x4638f9e9,
+0xf9984649,0xf7f8202c,0xe8bdfc7b,0x46c087f0,0x00021928,0x1e005c41,
+0x1e005d75,0x47f3e92d,0x8000f8d0,0x445cf241,0x3004f858,0x68194606,
+0xf00fa801,0xf858f8a5,0x681f3004,0x687be060,0x2f80f413,0x6873d058,
+0x0900f04f,0x46aa18fd,0x20f8f8d5,0xfc89fa5f,0xd0472a00,0xb11b7913,
+0x71132300,0xe04170d3,0x2b007893,0x78d3d03e,0xb2d93301,0x687b70d1,
+0x7f80f413,0x8e72bf14,0x23648eb2,0xf2f3fbb2,0xd32f4291,0x30ecf8d6,
+0x40f8f8d5,0xf8c63301,0xb92c30ec,0xf240481a,0xf7f32152,0xe021f995,
+0xf04f88e0,0x46020e00,0xf0024601,0xeb04030f,0x689b0383,0xbf182b00,
+0xf10e4611,0xfa1f0301,0xf1befe83,0xd0030f10,0x051a1c53,0xe7ec0d12,
+0x0301ebc0,0x0d1b051b,0x46514640,0x33014662,0xf980f7ff,0x0901f109,
+0xf1b93504,0xd1ab0f08,0xf00fa801,0x4607f82f,0xd19c2f00,0x87fce8bd,
+0x00021928,0x6803b537,0x445cf241,0x4605591b,0xa8016819,0xf830f00f,
+0x591b682b,0x68182400,0x6843e00a,0x2f80f413,0x686bd003,0x8adb18c3,
+0xa80118e4,0xf80ef00f,0xd1f22800,0xbd3e4620,0x6803b537,0x445cf241,
+0x4605591b,0xa8016819,0xf812f00f,0x591b682b,0xe00a6819,0xf413684b,
+0xd0022f80,0xf7fe4628,0xa801fcbd,0xfff2f00e,0x29004601,0xbd3ed1f2,
+0x4ff0e92d,0x9309b0a3,0x900c69d3,0x6f80f413,0x920a910b,0xf1026806,
+0xd104071c,0xf64048b3,0xf7f321fe,0x9809f915,0xf0137983,0xd1040f20,
+0xf44f48ae,0xf7f36130,0x990bf90b,0xf0002900,0x684b80a4,0x2f80f413,
+0x809ff000,0x9d0b9a0c,0x18ec6853,0x48a5d104,0x310cf640,0xf8f8f7f3,
+0xf7fe980a,0xb2c0fd01,0x0080eb04,0x20d8f8d0,0xf0002a00,0x7813808a,
+0xf0002b02,0x6d538086,0x4283980b,0x4899d004,0x3115f640,0xf8e0f7f3,
+0xf7fe980a,0x990bfcb9,0xd0044288,0xf6404893,0xf7f33116,0xf8d6f8d5,
+0x9a0b370c,0x62139d09,0xf01379ab,0xd10f0302,0x461d461e,0x2001e028,
+0x47984b8b,0xb2dc1c63,0xd1062c0b,0xf6404887,0xf7f33128,0xe058f8bd,
+0xf8d62400,0xf8d3380c,0xf0155170,0xd0ea0f01,0x0f40f015,0x487fd004,
+0x3131f640,0xf8acf7f3,0x0f20f015,0x487bd104,0x3132f640,0xf8a4f7f3,
+0x380cf8d6,0x6174f8d3,0x980c683b,0x6f80f413,0x8000f8d0,0x4873d104,
+0x3164f640,0xf894f7f3,0x798b9909,0x0f20f013,0x486ed104,0x3166f640,
+0xf88af7f3,0x68539a0b,0x2f80f413,0x980cd021,0x6843990b,0x931c18cb,
+0x4866d104,0x3172f640,0xf87af7f3,0xf7fe980a,0x9a1cfc83,0x990cb2c0,
+0x0380eb02,0xf8d3901d,0x1843b0d8,0x920e7dda,0x930d7fdb,0x0f00f1bb,
+0xf89bd003,0x2b023000,0x980cd105,0x9a09990a,0xfe10f7ff,0xf8dbe32a,
+0x980b3054,0xd0044283,0xf6404852,0xf7f3317e,0x980af853,0xfc2cf7fe,
+0x4288990b,0x484dd004,0x317ff640,0xf848f7f3,0x370cf8d8,0x21009a0b,
+0xa8206213,0xf7f42208,0x9809f905,0xf0037903,0x931b0307,0x79c37982,
+0x2103ea42,0x021cf001,0xf8989213,0xf3c12d61,0x429a13c0,0x0080f001,
+0x4640d001,0xf898e00d,0xb1633d5f,0x4640b158,0xf7fa2100,0x9809fc5d,
+0x79c17983,0xea434640,0xf7fa2101,0x9909fc55,0x09db798b,0x3d61f888,
+0x3d5ff898,0x798bb153,0x0382f003,0xd1052b82,0xf8882300,0x46403d5f,
+0xfe68f7f8,0x799a9b09,0xea4279db,0xf0132303,0xd04f0902,0x0f40f013,
+0x4824d104,0x31adf640,0xfff6f7f2,0x7ac39809,0xea427a82,0x79c32403,
+0xf015091b,0xf88d0f40,0xd0043080,0xf640481b,0xf7f231b1,0xf015ffe5,
+0xd1040f20,0xf6404817,0xf7f231b2,0xf89dffdd,0xf0053080,0xea43021e,
+0xf88d03c2,0x0a2b3080,0x3081f88d,0xf88d0c2b,0x0e2b3082,0xf88d9913,
+0x0a333083,0x3085f88d,0x39180c33,0x2101bf18,0xf88d0924,0xf04f3086,
+0x0e330901,0x91122200,0xf88d941a,0xf88d6084,0xf8cd3087,0x92109044,
+0x46c0e243,0x00021928,0x1e005d75,0x98139d0c,0x30b8f8d5,0xf8c53301,
+0x280030b8,0x80edf000,0xd10b2810,0x35b0f8d8,0x9068f8cd,0xf8c83301,
+0xf8cd35b0,0xf8cd9048,0xe0f99044,0x290c9913,0x80cef040,0x9a1d4b98,
+0x3130f8d3,0x931e4640,0xf8d84b96,0xf81367e8,0xea4fa002,0x31ec014a,
+0xfe00f7f7,0xfb0a2324,0xf8b46403,0xebc3322a,0xb29d0300,0xf0002d00,
+0xf8d680b3,0xf8a43210,0x2b00022a,0x80aff000,0x3844f8d8,0x7214f8d6,
+0xf8136b1b,0xea4f300a,0x45be2e03,0x80a3f240,0x322cf8d4,0x18eb6e71,
+0xf8d42b09,0xf8c42234,0xf240322c,0x1a898095,0xf2f3fbb1,0x3210f8d6,
+0xd905429a,0x3387f241,0xf2404299,0xe00d8089,0x0229f894,0x63e1f44f,
+0xbf342810,0x22104602,0xf503fb02,0x1218f8b4,0xdb0542a9,0xf8c46e73,
+0xf8c4922c,0xe0733234,0x030eebc7,0x4291b29a,0xf501d21c,0xb29b737a,
+0xf8a44293,0x46303218,0xf8a4bf88,0xf7ff2218,0xf8b4fde3,0x981e3218,
+0xebc32164,0xfbb00305,0xfb02f2f1,0xfbb2f203,0xfb02f2f5,0xf8c4f201,
+0xe0482238,0xd9462801,0xd10128ff,0xe000230f,0x21241e43,0xf101fb0a,
+0x3229f884,0x7306f501,0xf8911989,0x18f70229,0xbf282810,0xf44f2010,
+0xfb0063e1,0x9d1ef003,0x2218f8b1,0xfbb52464,0xebc2f3f4,0xfb030200,
+0xfbb3f302,0xfb03f3f0,0x2000f304,0x3238f8c1,0x460409dd,0x18e34b44,
+0x09da685b,0xd90f42aa,0xf44f883b,0xfb0261e1,0x1b52f303,0xf201fb02,
+0xf3f2fbb3,0x183a3301,0xbf282bff,0x709323ff,0x34143001,0xd1e5280f,
+0xf7ff4630,0x2324fd89,0x6303fb0a,0xf8c36e72,0x22002234,0x222cf8c3,
+0x0900f04f,0xf04fe01e,0x21010900,0x9068f8cd,0x9048f8cd,0x91119110,
+0x9b09e147,0x7b5b7b1a,0x2303ea52,0xf8ddd107,0x2501904c,0x9068f8cd,
+0x95119512,0xf8d8e00c,0xf8dd33d8,0x3301904c,0x33d8f8c8,0xf8cd2001,
+0xf8cd9068,0x90119048,0x9040f8cd,0x9a0ae129,0x69d3990a,0xf413311c,
+0x911f6f80,0x481ad104,0x31eef640,0xfe8cf7f2,0x9d0f9b0a,0xf1b56919,
+0x780a3fff,0xea42784b,0x93192303,0x0268f101,0x980ad107,0x1068f891,
+0x911869c3,0x3340f3c3,0x7f139316,0xea437f52,0xea4f2302,0xf8bb1a13,
+0xf89b3018,0xebc32001,0x051b030a,0x42930d1b,0xf8d8db0e,0x990a0048,
+0x4b042201,0xe0d54798,0x1e00c744,0x000238e6,0x00021928,0x1e005c41,
+0x040ff00a,0xf10b08e5,0x5d7b0714,0x0607f00a,0xf0134133,0xd1040f01,
+0xf640488e,0xf7f24109,0xeb0bfe47,0x790a0104,0xf1b9920f,0xd0450f00,
+0xebc0981a,0xb29a030a,0x0d1b0513,0xd83d2b0f,0xeb00a822,0xf81303d3,
+0xf0023c08,0x41130207,0x0f01f013,0x5d7ad032,0xf306fa52,0x0f01f013,
+0x2301d00b,0xea2240b3,0x557b0303,0x710b2300,0x3002f89b,0xf88b3b01,
+0x990f3002,0x43ecf243,0x0003f858,0x91002300,0x93029301,0x9b139a09,
+0xf002990a,0x9a1ffeaf,0xb1237a13,0x990a4640,0xf7f72202,0x4b6cff2d,
+0x0048f8d8,0x2201990a,0x9d154798,0xb2db1c6b,0xe06f9315,0x981f990b,
+0x61019a11,0xd04d2a00,0x980e9b0f,0xda494283,0xf891990c,0xb14b302b,
+0xb13a9a16,0x0204eb0b,0x9d0d7913,0xd20142ab,0xe0047115,0x0204eb0b,
+0x33017913,0xf8bb7113,0x2b0f3046,0x4855d904,0x4144f640,0xfdd4f7f2,
+0x3044f8bb,0x0343eb0b,0xb1238c5b,0xf640484f,0xf7f24145,0xf8bbfdc9,
+0x991d3044,0x0243eb0b,0xf0033301,0xf8ab030f,0xf8bb3044,0xf8a23046,
+0x3301a022,0x3046f8ab,0xf0014b46,0x5c9b0207,0x2b0d980b,0x523cf8d0,
+0x0240f8d0,0x230fdd01,0x3301e000,0x9a0a990b,0xe01b47a8,0xfa142401,
+0xf10bf206,0x5d4b0116,0x554b4313,0xf2439a0e,0xf85843ec,0x990a0003,
+0x92002300,0x93019a09,0xf0029402,0xf8d8fe33,0x990a0048,0x4b304622,
+0x94174798,0x98199d14,0xb2db1c6b,0xf3c09314,0x2b032341,0x991bd01e,
+0x0381eb08,0x0778f8d3,0x6ac32100,0x900a4798,0xf47f2800,0x4823aedc,
+0x4166f640,0xfd70f7f2,0x9d0ae00c,0xf04f2200,0x921833ff,0x92169217,
+0x92149215,0x2d00930f,0xaec9f47f,0xb1209817,0x4659980c,0xf7fe2200,
+0x9912fb31,0x9a10b909,0x9d0fb1c2,0x0301f1d9,0x2300bf38,0x07f0f8d8,
+0x9301b2ea,0x99149b18,0x9a0d9202,0x9d109304,0x91002300,0x93069203,
+0x9a09990b,0x95059b15,0xfde0f00c,0x46409b0c,0xf993991b,0xf7f7202c,
+0x980cffcf,0x465a991c,0xfa40f7fe,0xe8bdb023,0x46c08ff0,0x00021928,
+0x1e005c41,0x0002101c,0x4ff0e92d,0xb000f8d0,0xf8db4607,0xb0c90048,
+0x68089008,0x92049105,0xf7fe9047,0xb2c0f925,0x90092807,0x48a9d904,
+0x010af640,0xfd10f7f2,0x4ba79909,0x5c5b9847,0xf7fe9306,0x9016f8e5,
+0x48a2b920,0x6101f44f,0xfd02f7f2,0x68539a16,0x2f80f413,0x489dd104,
+0x0111f640,0xfcf8f7f2,0x9d16687b,0x931718eb,0x4898d104,0x0114f640,
+0xfceef7f2,0x98179909,0x0381eb00,0x60d8f8d3,0x7fdb19cb,0xb1169321,
+0x2b027833,0xf8d7d10f,0x220130c0,0xf8c73301,0x980830c0,0x99474b8d,
+0x9a054798,0x60132300,0xf000930a,0xf89bbd83,0x2b003de8,0x8563f040,
+0x9d166d73,0xd11542ab,0xf04f2100,0x220230ff,0x910d900b,0x910e910c,
+0x9110910f,0x91139112,0x91189114,0x911b911a,0x911d911c,0x911f911e,
+0xe3f09220,0xf6404877,0xf7f20124,0xe7e3fcad,0xf41369c3,0xd1046f80,
+0xf6404872,0xf7f20129,0x9947fca3,0x8c0d69cb,0x0f04f013,0xd004ab46,
+0x461a4658,0xfb64f7f8,0x4658e004,0xaa45a947,0xfd94f7fb,0x9b0a900a,
+0xd0342b00,0x0f10f113,0xf8d7d10b,0x9d05308c,0xf8c73301,0xf8dd308c,
+0x9b47a03c,0x602b2000,0xf8d7e3c4,0x8bb43090,0x42ac3301,0x3090f8c7,
+0x2308d116,0x010ff004,0xf1f3fb91,0xf0042201,0x409a0307,0x0016f106,
+0x43135c43,0x22005443,0x46314638,0xfa3af7fe,0x051b1c63,0x83b30d1b,
+0xf8dd9905,0x2300a03c,0x9319600b,0xf8dbe39f,0x9a463844,0xeb039808,
+0x68db0382,0x681c9947,0x47984b49,0xf2404284,0x9b4784e2,0xf01369db,
+0xd1040f04,0xf6404841,0xf7f20153,0x9b47fc41,0xf41369db,0xd1046f80,
+0xf640483c,0xf7f20154,0x9b47fc37,0x9010f8d3,0x0268f109,0xf1099215,
+0x7d93026e,0xf1097dd2,0xea430172,0xea4f2302,0xf0081813,0x9311030f,
+0x784a788b,0xf899431a,0x43133072,0x431a78ca,0x4313790b,0xea52794a,
+0xd12a0403,0x3094f8d7,0xf8c73301,0x8bb33094,0xd1144543,0x0307f008,
+0x409a2201,0xf1069d11,0x08e90016,0x43135c43,0x9a0a5443,0x46314638,
+0xf9d4f7fe,0x0301f108,0x0d1b051b,0x980883b3,0x22019947,0x47984b1b,
+0x9805990a,0xa03cf8dd,0x32fff04f,0x920a6001,0x9d11e0ee,0x791b1973,
+0xd1472b00,0x45418bb1,0xebc1d03e,0x051d0308,0xf5b50d2d,0xd8076f00,
+0x78728b33,0x0308ebc3,0x0d1b051b,0xdb064293,0x30a0f8d7,0xf8c73301,
+0x9b0a30a0,0xf8d7e0c2,0xf8dd3098,0x195be028,0x040ff001,0x3098f8c7,
+0x46c0e017,0x00021928,0x000238e6,0x1e005c41,0x1e003f55,0x0307f004,
+0x409a2201,0xf10608e1,0x5c430016,0x0e01f10e,0x54434313,0xf0031c63,
+0x45ae040f,0x4638d1ee,0x22004631,0xf97af7fe,0x0301f108,0x0d1b051b,
+0xe08583b3,0x0046f8b6,0xf8b6b1c0,0xeb061042,0x8c530241,0xd1114543,
+0x84539b0a,0xf0031c4b,0xf8a6030f,0x1e433042,0x2b10b29b,0x3046f8a6,
+0x8433f240,0xf44f48ad,0xe05861f6,0x2042f8b6,0xe0082100,0x0342eb06,
+0x45438c5b,0x1c53d02b,0xf0033101,0x4281020f,0xf000d1f4,0xf002bc17,
+0x2308010f,0xf1f3fb91,0x0307f002,0x409a2201,0x0016f106,0xf04f5c43,
+0x43130500,0xf8d75443,0x3301309c,0x309cf8c7,0x3042f8b6,0x0243eb06,
+0xf0033301,0xf8a6030f,0xf8b63042,0x84553046,0xf8a63b01,0xf8b63046,
+0xeb063042,0x8c5a0343,0xd1d44542,0x46382200,0xf7fe4631,0xf8b6f917,
+0xf04f3042,0xeb060000,0x33010243,0x030ff003,0x3042f8a6,0x3046f8b6,
+0x3b018450,0x2b0fb29b,0x3046f8a6,0x83d9f240,0xf2404880,0xf7f271cf,
+0xe3d2fb27,0x21089a11,0xf1f1fb92,0x0307f008,0x409a2201,0x0016f106,
+0x43135c43,0xe3c25443,0x78728b33,0x0308ebc3,0x0d1b051b,0xdb044293,
+0xf2404872,0xf7f271dc,0x2301fb0b,0xb96cb2dc,0x98084b6f,0x22019947,
+0x9b054798,0x35fff04f,0xa03cf8dd,0x950a601c,0xe2409419,0xeb069811,
+0x7d1b03d0,0x0207f000,0xf0134113,0xd1040f01,0xf6404862,0xf7f20175,
+0x9911faeb,0x18739a21,0x4293791b,0x9b0dd20c,0x2501b913,0xe013950c,
+0xf640485a,0xf7f20178,0x2001fadb,0xe00b900c,0xb911990c,0x920d2201,
+0x4854e006,0x017bf640,0xfacef7f2,0x930d2301,0xf1b59d0b,0xd1083fff,
+0x18339811,0x930b791b,0x69db9b47,0x3340f3c3,0xf899930e,0xf8992001,
+0xf64f3000,0xea4311ff,0xea032302,0x9b470101,0xf41369db,0xd0156200,
+0x2b037833,0xb18ad120,0xd10f2b03,0x78d39a15,0x0308f023,0xf89970d3,
+0xf8992038,0x9d153037,0x2302eb03,0x706bb29b,0x70ab0a1b,0x0a0b2200,
+0x1000f889,0x3001f889,0x2048f889,0x2049f889,0xa03cf8dd,0xe1d12001,
+0xb99a9a0f,0x3056f899,0x7202f441,0x03fcf003,0xd1042bb4,0xf0422301,
+0x931a0204,0x2bc4e00c,0x2501d10a,0x6200f442,0xe005951b,0x6380f441,
+0x72f3f24f,0x0202ea03,0xf8890a13,0xf8892000,0xf8993001,0xf8992038,
+0x99173037,0x2302eb03,0xf64f3303,0xea0372fc,0xf8990202,0x98133033,
+0xeb023301,0x68cb0283,0x42981880,0xd9049013,0xf6404814,0xf7f201c5,
+0x9947fa4f,0x98084b13,0x9a124798,0x18104b12,0x9012b280,0x98089947,
+0x9d0f4798,0x9a474680,0xab259811,0x2025f843,0x791b1833,0x0a01f105,
+0x6ebbb113,0x66bb3301,0x0f01f1ba,0x80bff040,0xb159990c,0x78139a15,
+0xe00b78d2,0x00021928,0x1e005c41,0x1e003e11,0x1e003f55,0x3036f899,
+0x2039f899,0xf00309dc,0x09d5037f,0x93182b20,0x4897d904,0x01e1f640,
+0xfa12f7f2,0x4a95b16d,0x9818b12c,0xfb002314,0x68da2303,0x9918e012,
+0xfb012314,0x689a2303,0x4a8ee00c,0x9818b12c,0xfb002314,0x685a2303,
+0x9918e004,0xfb012314,0x589af303,0x3029f897,0xfb039817,0x68c2f302,
+0x429308db,0x4613bf28,0x93149909,0x5c5a4b82,0x5c9b4b82,0x0343eb0b,
+0x1d88f8b3,0xf241b141,0xf83b33ea,0xb11b3003,0xbf284299,0xe0064619,
+0x33eaf241,0x3003f83b,0xbf182b00,0xb3214619,0x4a74b16d,0x9d18b12c,
+0xfb052314,0x68db2303,0x9818e012,0xfb002314,0x689b2303,0x4a6de00c,
+0x9d18b12c,0xfb052314,0x685b2303,0x9818e004,0xfb002314,0x589bf303,
+0x08cb0a9a,0xf302fb03,0x42999914,0x4619bf28,0xb1649114,0x3848f8db,
+0xf0056818,0xf400fe59,0xf5b07040,0xbf147f00,0x20032002,0x9b159020,
+0x781a9d1a,0x0380f022,0x6300f043,0x0f80f012,0xbf1c931c,0x6380f443,
+0xf899931c,0xf0222036,0xf0430380,0xf0126300,0x931d0f80,0xf443bf1c,
+0x931d6380,0x981bb90d,0x991cb168,0x9b202200,0xf7f64658,0x991dfcb5,
+0x2200901e,0x9b204658,0xfcaef7f6,0x4b45901f,0x22149918,0xfb019d06,
+0x23243202,0xf103fb05,0x685219cb,0x3238f8d3,0xd307429a,0x180b9818,
+0xf89319db,0x459a321a,0x80a4f000,0xb121990e,0x302bf897,0xf000459a,
+0x9a17809d,0x459a7953,0x8098f000,0x210c9d04,0xb301fb05,0x2df4f8d3,
+0xf8979247,0xb15b302a,0xf015b952,0xd0070f01,0x0501f025,0xb301fb05,
+0x3df4f8d3,0x93479504,0x44409810,0x98479010,0xd06e2800,0xf41369c3,
+0xd0686f80,0xfd08f7fd,0x42889916,0x9847d163,0xfd32f7fd,0xb2c09a09,
+0xd15c4290,0x4b209947,0x47989808,0x303b9d17,0x9913892b,0x9a14b280,
+0xbf2c4283,0x180918c9,0xd84c4291,0x3844f8db,0x98089a46,0x0382eb03,
+0x994768db,0x4b15681c,0x9b104798,0x428418c0,0x9d0cd93d,0x980db115,
+0xe006b910,0xb921990d,0xf6404809,0xf7f2113c,0x9b47f8f7,0x202af897,
+0xf0038c1b,0x18f3030f,0x791bb1aa,0x42939a21,0x9b0dd20e,0xe014bb1b,
+0x00021928,0x1e00c744,0x000238e6,0x00021010,0x1e003e11,0x1e003f55,
+0xb1359d0c,0x791be013,0x4298980b,0x9247d001,0xf50be00f,0x300c605e,
+0x4bb59904,0x90474798,0x48b4b938,0x114ef640,0xf8c6f7f2,0x2300e001,
+0xf8cd9347,0x9847a03c,0xf47f2800,0xf8ddac11,0x900aa03c,0x990f9019,
+0xe12cb911,0x92192200,0xf10a6e7b,0x330135ff,0x6f3b667b,0x4453a848,
+0x9b18673b,0xeb079507,0xf8d20283,0x24003110,0xf8c23301,0xeb073110,
+0xf8d2028a,0x33013190,0x3190f8c2,0x0385eb00,0x3c8cf853,0x784b6919,
+0xf891780a,0xea420033,0xf64f2203,0xea0213ff,0xf4430303,0x700b63c0,
+0x704b0a1b,0x4033f881,0xf8919a13,0xeba23037,0xf8910080,0xeb032038,
+0xb29b2302,0x10921cda,0x0382ebc3,0x0800ebc3,0x691e9b25,0x0368f106,
+0xf8839323,0x9d238001,0x2318ea4f,0x006bf106,0x902270ab,0x306bf896,
+0x203ef896,0x0308f043,0x306bf886,0x303ff896,0x2303ea52,0xf04fd102,
+0xe00b0903,0x991c4658,0x4b794642,0xf8864798,0xf3c0003e,0xf886200f,
+0x46a1003f,0x2040f896,0x3041f896,0x2303ea52,0xf1b9d012,0xd0040f00,
+0xf640486e,0xf7f21178,0x4658f83b,0x4642991d,0x47984b6b,0x0040f886,
+0x200ff3c0,0x0041f886,0x99184b68,0x9d062214,0x3202fb01,0xfb052324,
+0x68527103,0x3238f8d1,0xd30a429a,0x3218f8b1,0x42839812,0x4603bf28,
+0x3048f886,0x230ff3c3,0x2300e002,0x3048f886,0x3049f886,0xb911991a,
+0x2a009a1b,0x2501d034,0x9a1e991b,0x4c569b1c,0x9000f8cd,0x8004f8cd,
+0x46589502,0xf88647a0,0xf3c00058,0xf886200f,0x9a1f0059,0xf8cd9b1d,
+0xf8cd9000,0x95028004,0x991b4658,0xf89647a0,0xf8962059,0xf8863058,
+0xea430034,0x71b32302,0xf3c00a1b,0x71f3200f,0x3034f896,0xea43b2c2,
+0xf8862302,0x0a1b302c,0x0035f886,0x302df886,0xb1c39b0d,0x44536fbb,
+0x6ffb67bb,0x67fb3301,0x78f278b3,0x2302ea43,0x5380f443,0x0a1b70b3,
+0x9d2370f3,0x3036f896,0xf896702b,0x98223039,0x0308f043,0x990b7003,
+0x6efbb111,0x66fb3301,0xf9929a22,0x2b003000,0xf8d7da04,0x33013080,
+0x3080f8c7,0x204cf896,0x304df896,0x2203ea42,0x4f00f412,0x9d0bd008,
+0xb2eb9916,0xf8db9300,0x230107f0,0xfdaef00a,0xf9972400,0x9d07302c,
+0xab259300,0x2024f853,0x42ac4658,0x2300bf14,0x99462301,0xf7f63401,
+0x4554fdbd,0x9819d3ed,0xd0372800,0x691b9b47,0x204cf893,0x304df893,
+0x2203ea42,0x4f00f412,0x2300d006,0xf8db9300,0x991607f0,0xfd86f00a,
+0x46586f7b,0x677b3301,0x23019946,0x93009a47,0xfd9cf7f6,0xf06fe01a,
+0x910a010f,0x46c0e016,0x1e003ac5,0x00021928,0x0001d225,0x1e00c744,
+0x0001d9d5,0x30a0f8d7,0xf8c73301,0x230030a0,0x7833e448,0xf43f2b03,
+0xe435ac29,0xb049980a,0x8ff0e8bd,0xe92d6843,0x18ce41f0,0xd1044605,
+0xf240480e,0xf7f13109,0x2700ff3f,0x4628b2fc,0x46224631,0xf848f7fe,
+0x23013701,0x46314628,0xf7fe4622,0x2f08f8d1,0x682bd1f0,0x0110f106,
+0x22016c98,0xffd2f7f2,0x81f0e8bd,0x00021928,0x6803b537,0x445cf241,
+0x4605591b,0xa8016819,0xfdf2f00d,0x591b682b,0xe00b681c,0xf4136863,
+0xd0032f80,0x46214628,0xffc4f7ff,0xf00da801,0x4604fdd1,0xd1f12c00,
+0xf7fd4628,0x4620f9c5,0x46c0bd3e,0x4ff0e92d,0x469ab089,0x3048f89d,
+0x9305460f,0x304cf89d,0x93044690,0xb9204606,0xf241484c,0xf7f11110,
+0xb927feef,0xf2414849,0xf7f11111,0x697bfee9,0x4846b923,0x1112f241,
+0xfee2f7f1,0x0f07f1b8,0x4842d904,0x1113f241,0xfedaf7f1,0x0f10f1ba,
+0x483ed904,0x1114f241,0xfed2f7f1,0x5de8f896,0xf06fb115,0xe06d0018,
+0xf107697b,0xf1030b19,0x920002d4,0x92012209,0x9202aa07,0x21d04630,
+0x33da465a,0xf97cf7f9,0xb9104681,0x001af06f,0x9c07e058,0x70232303,
+0xf2417065,0x5cb372fa,0xb92b70a3,0x33015ab3,0x78a352b3,0x70a33301,
+0x138aea4f,0x72c0f64f,0x0202ea03,0x0388ea4f,0x033cf003,0x9b05431a,
+0x00581ce1,0x0002f000,0x0000ea42,0xf942f7fd,0x1d619804,0xf93ef7fd,
+0x0348eb07,0x0170f8b3,0x05001de1,0x01000d00,0xf934f7fd,0x46414648,
+0xfa70f7fd,0x4630462b,0x463a4649,0x95019500,0xfdfef7fc,0x3023f896,
+0xf896b1bb,0xb1a33d63,0xf8974b0d,0xf8132184,0x4b0c1008,0x411a5c5b,
+0x0f01f012,0x4630d009,0x462a4659,0xf8cd462b,0xf7f98000,0x4628f8f7,
+0x2000e000,0xe8bdb009,0x46c08ff0,0x00021928,0x000238e6,0x00021010,
+0x41f3e92d,0x46904606,0x460d461c,0x4839b921,0x6175f501,0xfe48f7f1,
+0xb923682b,0xf6404835,0xf7f17151,0x682bfe41,0xf413685b,0xd1042f80,
+0xf6404830,0xf7f17152,0xf1b8fe37,0xd9040f07,0xf640482c,0xf7f17153,
+0x7a33fe2f,0x2c00b10b,0xeb08d04b,0x7a9b0306,0xd0462b00,0xf8966829,
+0xf8912027,0x463031d2,0x0382f3c3,0xbf384293,0x712b4613,0xf1c32201,
+0x409a0311,0xeb054b1e,0x18d30788,0xf3f2fb93,0xf891812b,0xf44f21d2,
+0xf0025300,0x40930203,0xf7fd60eb,0xf8d7f993,0xb93c40d8,0x46212058,
+0x47984b14,0x4604b1f0,0x00d8f8c7,0x22582100,0xf7f24620,0x2302febb,
+0xf8847023,0x68298003,0x65616830,0x7cf37cb2,0xf8969200,0x9201202e,
+0xf7ff4642,0xf8d6fee3,0x330130a8,0x30a8f8c6,0x2400e000,0xe8bd4620,
+0x46c081fc,0x00021928,0x000493df,0x1e00578d,0x4ff8e92d,0x4691460d,
+0x4607469b,0x4834b920,0x61e6f240,0xfdc8f7f1,0x3010f8d9,0xa000f8d7,
+0xf3c3781b,0x2b020381,0x4648d10a,0xf9c8f7fd,0x2c07b2c4,0x482ad94c,
+0x61fbf240,0xfdb4f7f1,0x423cf8d5,0x0240f8d5,0x464a4629,0x47a0465b,
+0x4823e043,0x7101f240,0xfda6f7f1,0xeb15687b,0xd1040803,0xf240481e,
+0xf7f17103,0xeb08fd9d,0xf8d30384,0xb94660d8,0x46384633,0x46224641,
+0xff3ef7ff,0x28004606,0x7833d0da,0xd0d72b00,0x68384623,0x0110f108,
+0x4c12464a,0xb13047a0,0x46414638,0x23004632,0xf9caf7fd,0x4b0ee015,
+0x0048f8da,0x22014649,0xf8da4798,0x330133c0,0x33c0f8ca,0x3094f8d7,
+0xf8c73301,0xe0043094,0xf413686b,0xd0bc2f80,0xe8bde7c0,0x46c08ff8,
+0x00021928,0x0001e1ad,0x1e005c41,0x4ff0e92d,0xb000f8d0,0x445cf241,
+0x3004f85b,0x6819b087,0xa8054605,0xfc28f00d,0x3004f85b,0x9000f8d3,
+0xf8d9e0d6,0xf4133004,0xf0002f80,0xf8db80cd,0x685b37e8,0x0703eb19,
+0x4869d104,0x7175f44f,0xfd3af7f1,0x46b82200,0x920346ba,0xb2de9b03,
+0x30f8f8da,0x2300b123,0x3119f888,0x3118f888,0x3118f898,0xf898b1a3,
+0x24003119,0xb2db3301,0xf8882b02,0xf8884118,0xd9093119,0xf8882326,
+0x46284119,0x46399300,0x46234632,0xff48f7fd,0x40d8f8da,0xf0002c00,
+0x7823808d,0xf2002b03,0xe8df8089,0x0276f003,0x46225e41,0x46394628,
+0xf7fd2301,0xf894f94d,0xb13a204b,0xf8842200,0x4628204b,0xf7fd4621,
+0xe073facd,0x304cf894,0xd9082b31,0x93002327,0x46394628,0x23014632,
+0xff1ef7fd,0xf894e066,0xb123304a,0x204af884,0x204ff884,0x78a3e05e,
+0xf894b123,0x3301304f,0x304ff884,0x304ff894,0xd1532b02,0x30bcf8d5,
+0x33014628,0x30bcf8c5,0x93002327,0x46324639,0xf7fd2301,0xe028fefd,
+0x204df894,0x2a091c53,0x304df884,0x4638d904,0xf7fd4621,0xe039f8db,
+0x7ceb7caa,0xf8959200,0x6828202e,0x46499201,0xf7ff4632,0xf8d5fdaf,
+0x330130a8,0x30a8f8c5,0xf894e028,0x1c53204e,0xf8842a01,0xd909304e,
+0x30bcf8d5,0xf8c53301,0x462830bc,0x46324639,0xe0032301,0x46394628,
+0x23004632,0xfe34f7fd,0xf894e010,0x1c532050,0xf8842a3b,0xd9093050,
+0x46394628,0x23004632,0xfe32f7ff,0x230ab110,0x304df880,0xf10a9b03,
+0x33010a04,0x93032b08,0x0802f108,0xaf42f47f,0xf00da805,0x4681fb3b,
+0x0f00f1b9,0xaf25f47f,0xb0074648,0x8ff0e8bd,0x00021928,0xb5102901,
+0xdd086804,0x68502100,0x460a4b06,0x28064798,0xf8a4bfd8,0xf8b406fc,
+0x4b0316fc,0x47984803,0x46c0bd10,0x1e0037cd,0x1e004461,0x00021951,
+0xe92d4603,0x480d41f0,0x4619460f,0x46164b0c,0x24004798,0x480be00b,
+0xf8574621,0x47a82024,0xf014b124,0xd1010f07,0x47a84807,0x42b43401,
+0xdbf04d03,0x47a84804,0x81f0e8bd,0x0002195f,0x1e004461,0x00021964,
+0x00021250,0xe92d2901,0x460541f0,0x2200dd12,0x320418ab,0x2a402100,
+0x1110f8c3,0x186bd1f8,0x22003104,0xf8c32980,0xd1f82190,0x66ea66aa,
+0x666a672a,0xf5054819,0x22087188,0xffbcf7ff,0x48172210,0x71c8f505,
+0xffb6f7ff,0x6ea94c15,0x47a04815,0x48156ee9,0x6e6947a0,0x48146f2a,
+0x481447a0,0x260047a0,0x7aa2462c,0x32a8f894,0x3a004631,0x2201bf18,
+0xbf183b00,0x480e2301,0x36014f08,0x340147b8,0xd1ee2e08,0x480b7ce9,
+0x7d2947b8,0x47b8480a,0x81f0e8bd,0x0002196c,0x000219fa,0x1e004461,
+0x00021978,0x00021977,0x00021988,0x000219a1,0x000219ac,0x000219c1,
+0x000219d8,0x47ffe92d,0x9e0e2300,0xf0029303,0x93000301,0x46144605,
+0x46326800,0xf8dd9b0f,0xf7fca030,0x4680fc55,0xf0402800,0x9b0d8106,
+0xd9042b03,0x4651a803,0xf7f22204,0x682ffc93,0x900cf8dd,0x37e8f8d7,
+0xd004429d,0xf240487d,0xf7f1414c,0x2c0cfba1,0x80c0f000,0x2c03d814,
+0xd803d047,0xd02b2c01,0xe026d833,0xf0002c07,0xd8028093,0xd0682c05,
+0x2c08e0dd,0x80a9f000,0xf0002c09,0xe0d680a8,0xd0492c1f,0x2c18d80d,
+0x80b1f000,0x2c0dd803,0x80a4f000,0x2c19e0cb,0x80b5f000,0xd0382c1e,
+0x2c21e0c5,0xd340d044,0xd00e2c3a,0xd01c2c3b,0xf897e0bd,0xe08f302e,
+0xf1b94628,0xbf180100,0xf7fc2101,0x4680fe4f,0xf89ae0b3,0x28070000,
+0x80a4f200,0x2c024428,0x7a83bf0c,0x32a8f890,0x46304651,0x3001f88a,
+0x7830e089,0xf2002807,0x2c038095,0x0200eb05,0xd1047870,0xbf181e03,
+0x72932301,0x1e03e095,0x2301bf18,0x32a8f882,0xf895e08f,0xe05f3027,
+0x2b079b03,0x8081f300,0xdd7e2b05,0x3027f885,0xf895e007,0xe053302d,
+0x2b039b03,0xf885dc75,0x4628302d,0xfe28f7fc,0x682be077,0x302ef893,
+0xd0672b00,0x2b0779b3,0x4638d864,0xf00d4631,0x2800fa4b,0x686bd064,
+0xd06418c1,0xf4136843,0xd0602f80,0xeb0179b2,0xf8d30382,0xb11330d8,
+0x0818f06f,0x4628e059,0xf7ff2301,0x2800fcb1,0xf04fd153,0xe05038ff,
+0xf893682b,0x2b00302e,0x79b3d040,0xd83d2b07,0x46314638,0xfa24f00d,
+0xd03d2800,0x18c1686b,0x6843d03d,0x2f80f413,0x2325d039,0x462879b2,
+0x23019300,0xfd18f7fd,0x7a2be033,0x9b03e004,0xe02e722b,0x3028f995,
+0xe02a6033,0x2b209b03,0xf885dc1f,0x46283028,0xf98ef7fe,0x7cebe021,
+0xf8884630,0x7d2b3000,0xf8884641,0x22023001,0xfbacf7f2,0x7833e015,
+0x7870b143,0x2b10b130,0x2810d804,0x74ebd802,0xe00a7528,0x0801f06f,
+0xf06fe007,0xe004081c,0x081df06f,0xf06fe001,0x46400816,0xe8bdb004,
+0x46c087f0,0x00021928,0x6845b570,0x194e460c,0x4807d104,0x21faf240,
+0xfa9ef7f1,0xf1065164,0x21080010,0x6280f44f,0x47984b02,0x46c0bd70,
+0x00021928,0x1e003bcd,0x477089c0,0x47702001,0x4803b510,0x21f3f240,
+0xfa86f7f1,0x46c0bd10,0x00021aec,0xb5106e41,0xb1214604,0x22006843,
+0x4b036c98,0x23004798,0x66a36623,0xbd106663,0x1e005c41,0xf7ffb510,
+0x2000ffed,0x46c0bd10,0x47ffe92d,0x9e0e2300,0xf0029303,0x93000301,
+0x46174605,0x46326840,0xf8dd9b0f,0xf7fca040,0x4681faf7,0xd16e2800,
+0x2b039b0d,0xa803d904,0x2204990c,0xfb36f7f2,0x682c9b03,0x0800f1b3,
+0xf04fbf18,0xf8d40801,0x429d37e0,0x4830d004,0x11c1f240,0xfa40f7f1,
+0x030af1a7,0xd8092b0e,0xf003e8df,0x08082114,0x08080808,0x08080808,
+0x000b110e,0x0916f06f,0xf894e045,0xe00a302f,0x3d47f894,0xf884e007,
+0xe03c8d47,0x33f0f241,0xf3c35ce3,0xa90403c0,0x3d04f841,0x46524630,
+0xfb00f7f2,0xf241e02f,0xf24136ef,0x5de237f0,0x46285da3,0x2302ea43,
+0x6300f423,0x55a3b29b,0x55e30a1b,0xff78f7ff,0x63faf640,0xd8044298,
+0xf240480f,0xf7f12159,0xf1b8f9ff,0xd0120f00,0xf7ff4628,0xf641ff69,
+0x429863fe,0xf06fd802,0xe008091c,0x5de25da3,0x2302ea43,0x6300f443,
+0x0a1b55a3,0x464855e3,0xe8bdb004,0x46c087f0,0x00021aec,0x41f3e92d,
+0xf1be468e,0x46150f3e,0x461a4604,0xf8dd9908,0x9f0a8024,0x680cf8d0,
+0x808df000,0xf1bedc10,0xd0500f1e,0xf1bedc03,0xd0240f1d,0xf1bee01c,
+0xf0000f20,0xf1be80fb,0xf0000f22,0xe01380eb,0x0f62f1be,0xdc08d013,
+0x0f3ff1be,0x8093f000,0x0f40f1be,0x80abf000,0xf1bee006,0xf0000f7f,
+0xf1be80b7,0xd02b0f8e,0x0016f06f,0x4629e0f5,0xfd76f7f5,0x2b04e0f1,
+0x4879dc04,0x111ff240,0xf99ef7f1,0x3848f8d4,0xf0046818,0xb2c0fe4d,
+0xf8946028,0xb1133024,0x3324f894,0xf241e002,0x5ce363fc,0xf8d42600,
+0x606b07f8,0x788360ae,0xf0002b00,0xf00c80cb,0xb2c0f90b,0xe03860a8,
+0xfc64f7f5,0x290ee0c9,0xf44fbfcc,0xf44f5280,0x29e05200,0xf06fd902,
+0xe0be0012,0x6330f441,0x0303ea42,0x4629b29d,0xf0002201,0xb910ffc5,
+0x0013f06f,0xf241e0b1,0x52e563fc,0x2b007c63,0x80a4f000,0x6024f894,
+0xf0402e00,0xf8d4809f,0x68183848,0xfe08f004,0xf00042a8,0x46208097,
+0xfea4f7f6,0x46294620,0xfb70f7fc,0xf7f64620,0x4630f911,0x1c4be091,
+0xf2002b04,0xe8df8089,0x0403f003,0x00038704,0xf6422103,0x54e14316,
+0x2b007c63,0x4620d07a,0xfe88f7f6,0xf7f64620,0xf243fc63,0x4620137c,
+0xf7f658e1,0x4620f801,0xf8f0f7f6,0x7c40e06a,0xf642b928,0x5ce34315,
+0x3000f8c8,0xf8d4e069,0xf10d3848,0x68180107,0xfbc8f005,0xb1204602,
+0x3007f89d,0x3000f8c8,0xf642e054,0x5ce34315,0x3000f8c8,0x1c4be029,
+0xd84d2b04,0x3ffff1b1,0x2103bf08,0xf642b2c9,0x54c14315,0x3848f8d0,
+0xf0056818,0xe03dfbb5,0xd0402f00,0xd1162b0c,0x1d39793b,0x0501f013,
+0xf00dd139,0x4602f81d,0xf241b138,0x58e2435c,0x23014628,0x603d7113,
+0xf642e02f,0x58e323d8,0x4610603b,0x2b04e029,0xf642d125,0x58c323d8,
+0xe01b603b,0x2bfe1e4b,0xf642d81a,0xf8d420d0,0x52213844,0xb18b7a1b,
+0xe00a4b0e,0x2bfe1e4b,0xf642d80e,0xf8d420ce,0x52213844,0xb12b7a1b,
+0xf8c64b09,0xb28b3160,0x3164f8c6,0xe0042000,0x001cf06f,0xf06fe001,
+0xe8bd0001,0x46c081fc,0x00021bc4,0x00020007,0x00020006,0x41f0e92d,
+0x4614b088,0x46059a0e,0x461e4688,0xf8d0b91a,0xf1033dd0,0x68130208,
+0xbf0c2b01,0xf8d56897,0xb13c7dd0,0xd9052e03,0x4621a807,0xf7f22204,
+0xe001f975,0x93072300,0x46289b07,0x6cab9300,0x93034641,0x46334622,
+0x94029401,0xf7ff9704,0xf110fe9d,0xd1080f17,0x94019b07,0x46229300,
+0x46414628,0x4c024633,0xb00847a0,0x81f0e8bd,0x0001e5e9,0x41f0e92d,
+0x6805b088,0xf8dd9f10,0x23008044,0xf0029307,0x93000301,0x46284614,
+0x4643463a,0xf8f8f7fc,0x28004606,0x80bbf040,0x2b039b0f,0xa807d904,
+0x2204990e,0xf936f7f2,0x2c169a07,0x80adf200,0xf004e8df,0x6e3e3b38,
+0xab75ab7d,0xab32ab81,0xab8c1b18,0xabababab,0x000cabab,0x4620ac03,
+0x46424639,0xffeaf7f1,0x073cf8d5,0xf7f54621,0xe094f9df,0x3d11f895,
+0x1e14e063,0x2401bf18,0x4628b12c,0xfafef7f5,0xf0002800,0xf8858086,
+0x46284d11,0xfe08f7f7,0x3d11f895,0xd17e2b00,0xf7f74628,0xe07afdc9,
+0x493f4638,0x4b3f2204,0xe0744798,0x0bfcf8d5,0x4628e004,0xe0312101,
+0x0ac0f8d5,0x6f00f010,0xf410d026,0xf4000f00,0xd01063e0,0x3b040a1b,
+0x49352b01,0x007ff000,0x2314d804,0x1303fb00,0xe01768d8,0xfb002314,
+0x68981303,0x0a1be012,0x2b013b04,0xf000492c,0xd804007f,0xfb002314,
+0x68581303,0x2314e006,0xf303fb00,0xe0015858,0x007ff000,0xe03e6038,
+0x21024628,0x4c232300,0x460647a0,0x4638e037,0x4a212140,0x3708f8d5,
+0x47a04c20,0xf8d5e02f,0x603b3708,0x4628e02b,0x47984b1d,0xf5054638,
+0xf44f7168,0xf7f27225,0xe020f8a5,0xf7f168a8,0x4604fb15,0x68a8b918,
+0xf7f12101,0x68a8fb61,0xfef2f7f3,0xf06fb910,0xe008061d,0x463a9907,
+0xf7f34643,0x2800fe7f,0xf06fbfd8,0xb934060d,0x462168a8,0xfb4cf7f1,
+0xf06fe001,0x46300616,0xe8bdb008,0x46c081f0,0x00021be1,0x1e0040f9,
+0x1e00c744,0x0001dc01,0x00020798,0x1e003fc9,0x0001d585,0x41f0e92d,
+0x460f4680,0x25004616,0x0305eb08,0x4dd0f8d3,0xb116b154,0x01d4f104,
+0xf104e001,0x463801da,0x4b052206,0xb1184798,0x2d103504,0x2400d1ec,
+0xe8bd4620,0x46c081f0,0x1e00d671,0x4605b570,0xb921460c,0xf2404813,
+0xf7f03135,0xf44fff61,0x46207294,0xf7f22100,0x2201f821,0x33fff04f,
+0x30acf8c4,0xf8c4189b,0xf8843094,0xf8a4309d,0xf8d4309e,0x60a230e4,
+0x0303f003,0x0360f043,0x60256124,0x209cf884,0x30e4f8c4,0x20a0f884,
+0x46c0bd70,0x00021c25,0x4605b570,0xb921460c,0xf240480a,0xf7f01175,
+0x7923ff33,0x4628b163,0xfef4f7f7,0x26006ce1,0xb1297126,0xf44f6ca8,
+0x4b037200,0x64e64798,0xbd702000,0x00021c25,0x1e005c15,0x4604b570,
+0xb921460d,0xf2404822,0xf7f011c1,0x4620ff15,0xf7ff4629,0x792bffd5,
+0x481db123,0x11d9f240,0xff0af7f0,0x3de0f894,0x7c61b193,0x2200b131,
+0x21014620,0xf7f54613,0xe009facb,0xf7f74620,0xf8d4fd3f,0x3b003de4,
+0x2301bf18,0x3024f884,0x13d4f243,0xf8d458e1,0x4b0e073c,0xf8d54798,
+0xf02330e4,0xf8c50301,0x230030e4,0x4619716b,0x18a3461a,0x3dd0f8d3,
+0x795bb113,0x3101b103,0x2a103204,0xb911d1f5,0x4b034620,0xbd704798,
+0x00021c25,0x1e006221,0x0001fc75,0xb5702935,0x460c4605,0xdd044616,
+0xf2404808,0xf7f071c1,0x2c03fec3,0x4805dc04,0x71c2f240,0xfebcf7f0,
+0x1f214628,0xf7f54632,0xbd70fdf5,0x00021c38,0x4ff0e92d,0xb0872935,
+0x46884607,0xdd049203,0xf2404881,0xf7f07125,0xf897fea7,0xb923381c,
+0xf240487d,0xf7f07127,0xf642fe9f,0x5cfb2391,0xf8d7b9c3,0xf8d33dd0,
+0xf0133094,0xd1110108,0x0288eb07,0x0358f641,0xb16658d6,0xb14b6933,
+0x0f03f1b8,0x7a33dc04,0xd1012b02,0xe012460d,0xe0017b35,0x46352600,
+0x0f03f1b8,0xf10ddd0b,0x21000412,0x46202206,0xff3cf7f1,0x46414638,
+0xf7ff4622,0xea4fffa3,0xea4f0148,0xea451a08,0xf501020a,0x310461ba,
+0xb2924638,0xfbc2f7f5,0x51a3f507,0xd06d2e00,0xf1066809,0x23100b14,
+0x44514638,0xf7f5465a,0xf8d7fbf7,0x2b003830,0x7a33da6b,0xd1682b02,
+0x2391f642,0x2b005cfb,0xf8d7d163,0xf8d33dd0,0xf0133094,0xd15c0008,
+0x293579b1,0x2903d859,0x290bd957,0xf1b8d855,0xdc010f03,0xe0254681,
+0x787278b3,0x7833431a,0x78f24313,0x7933431a,0x79724313,0xd10c431a,
+0x3324f8b7,0xf4039a03,0xf5b34370,0xbf145f80,0x23542350,0x9003f852,
+0x4638e004,0xf00c4631,0x4681fd4b,0x0f00f1b9,0x4837d104,0x717ef240,
+0xfe12f7f0,0x4564f241,0x464a9903,0x4b334638,0x4798597c,0xeb0b4454,
+0x46210200,0x23084638,0xfba2f7f5,0x464a9903,0x4b2d4638,0x4798597c,
+0x44543408,0x0200eb0b,0x46384621,0xf7f52308,0xe00afb93,0x23106809,
+0x44514638,0xf7f54632,0xf1b8fb65,0xdd2f0f03,0xf1b8e03a,0xdd2b0f03,
+0x2b027a33,0x330cd122,0xf503fb08,0xf1a52400,0xf0240938,0x199b0301,
+0x7138f505,0x46381909,0x20e0f8b3,0xf7f53402,0x2c0afb2d,0xf509d1f1,
+0x46387148,0xf8b63102,0xf7f52104,0x4638fb23,0x7149f509,0x2106f8b6,
+0xfb1cf7f5,0x46414638,0xf7ff4632,0xe00bfeeb,0x46384b0a,0x22034798,
+0x92004603,0x21004638,0x4280f44f,0xfe16f7f5,0xe8bdb007,0x46c08ff0,
+0x00021c38,0x0001fccd,0x1e0085d1,0x0001e709,0xf642b513,0x5cc32391,
+0x46964604,0xd1332b00,0x3dd0f8d0,0x3094f8d3,0x0f08f013,0xeb00d12c,
+0xf6410281,0x58d20358,0x6913b122,0x7a13b113,0xd0212b0b,0xdd1c2935,
+0x6913b14a,0x2303b13b,0x93002100,0xf44f4620,0x460b4280,0x4b0be009,
+0x47984620,0x46032203,0x46209200,0xf44f2100,0xf7f54280,0xe007fdd7,
+0x46724620,0xfeb4f7ff,0x7c63e002,0xd1f72b00,0x46c0bd1c,0x0001e709,
+0xf500b57f,0x681953a3,0xf44f2200,0x46057358,0xfad0f7f5,0xf2402400,
+0x012256d4,0xb2924631,0x34014628,0xfaaaf7f5,0x2c363602,0xf10dd1f5,
+0x2100000a,0xf7f12206,0x2400fe09,0x46284621,0x020af10d,0xf7f53401,
+0x2c32fc79,0xf8d5d1f6,0x2100380c,0x443cf8a3,0x93002303,0x460b4628,
+0x4280f44f,0xfd96f7f5,0x2391f642,0xb9cb5ceb,0x3dd0f8d5,0x3094f8d3,
+0x0108f013,0x460cd112,0x0284eb05,0x0358f641,0xb14358d3,0xb133691b,
+0x5254f505,0x46214628,0xf7ff3234,0x3401fe5d,0xd1ed2c36,0x46c0bd7f,
+0xe92d2a35,0x460441f0,0x46174688,0x4854dd04,0x21bef240,0xfd00f7f0,
+0x0287eb04,0x0358f641,0x2e0058d6,0x809af000,0x2b006933,0x8096f000,
+0x3d5ef894,0xf894b31b,0xbb033d5d,0x3023f894,0xf894b1eb,0xb1d33024,
+0x53d2f243,0xb1635ae3,0x53c8f243,0xf5a358e2,0x3b415352,0x0303ea02,
+0xf642b11b,0x5ce32390,0xf894b14b,0xb1333d67,0x3d3cf894,0x0101f1d3,
+0x2100bf38,0x2100e000,0xf6422200,0x54e22390,0xf894b309,0xb1d91d5e,
+0x3d5df894,0xf894b9c3,0xb1ab3023,0x3024f894,0xf243b193,0x5ae353d2,
+0xf243b143,0x58e253c8,0x5352f5a3,0xea023b41,0xb92b0303,0x3d67f894,
+0xf894b113,0xb1133d3c,0xf7f84620,0x78b3f8fb,0x431a7872,0x43137833,
+0x431a78f2,0x43137933,0x431a7972,0xf8d4d01a,0x46203848,0x689a4631,
+0xfbacf00c,0xb1d04605,0x429e6903,0x4630d117,0x0119f105,0x4b172206,
+0xb1204798,0xf2404814,0xf7f021e5,0x2300fc81,0xe008612b,0x30acf8d8,
+0x429a79f2,0xf04fbf04,0xf8c833ff,0x462030ac,0x4b0d4631,0x2f034798,
+0x4631dd0b,0x628bf44f,0x6ca04b0a,0xeb044798,0x22000187,0x0358f641,
+0x462050ca,0x46424639,0xfebef7ff,0x81f0e8bd,0x00021c38,0x1e00d671,
+0x1e008e8d,0x1e005c15,0xb570690a,0xb1e24605,0x69497994,0xf7ff4622,
+0x2c35ff3f,0xf642dc15,0x5ceb2391,0xf8d5b98b,0xf8d33dd0,0xf0133094,
+0xd10a0f08,0x0384eb05,0x0258f641,0xb123589b,0xf2404802,0xf7f0314b,
+0xbd70fc33,0x00021c38,0x4ff0e92d,0x4605b08b,0x93014617,0x905cf8dd,
+0xb919468b,0x318548a1,0xfc22f7f0,0x3000f899,0x0f01f013,0x489dd003,
+0xf7f02186,0x2f05fc19,0x2f0dd008,0x2f20d006,0x2f10d004,0xf06fd002,
+0xe2380817,0x29039901,0xf06fd902,0xe2320807,0x0201f109,0x0302f109,
+0x93039202,0x0204f109,0x0305f109,0x0103f109,0x92059104,0xf8999306,
+0xf8993002,0x431a2001,0x3000f899,0xf8994313,0x431a2003,0x3004f899,
+0xf8994313,0xea522005,0xd1500a03,0xf99b9901,0x008b4058,0xeb03b9dc,
+0xf8d2020b,0xb94b30b0,0x638bf503,0xf303fb01,0x53c8f503,0x18eb3330,
+0x30b0f8c2,0x30b0f8d2,0x799b9a01,0xd0034293,0x21af4874,0xfbc8f7f0,
+0x8004f8dd,0xeb03e02c,0xf8d6060b,0xb1cc40b0,0x8006f894,0x0f35f1b8,
+0x486cd903,0xf7f021b5,0xeb05fbb7,0xf6410288,0xf8d60358,0x58d310b0,
+0xd0034299,0x21b64865,0xfbaaf7f0,0xf8cd4656,0xe05da01c,0x4b624628,
+0xf1b04798,0xf2c00800,0xeb0581ca,0xf6410388,0x589b0258,0x30b0f8c6,
+0x94074626,0xf895e04c,0xb1bb3024,0x3324f8b5,0xf4034628,0xf5b34370,
+0xbf145f80,0x24012400,0x46224649,0xfa9ef00c,0xb1089007,0xe00e2600,
+0x46494628,0xf00c4622,0xe003fc15,0x46494628,0xfc26f00c,0x28009007,
+0x819bf000,0x9b072601,0xb1b86918,0x8006f890,0x0304f1a8,0xd9032b31,
+0x21db4842,0xfb64f7f0,0xeb059b07,0x69190288,0x0358f641,0x429958d3,
+0x483cd012,0xf7f021dc,0xe00dfb57,0x4b3a4628,0xf1b04798,0xf2c00800,
+0xeb05817a,0xf6410388,0x589b0258,0x610b9907,0x0388eb05,0x0258f641,
+0x2100589c,0x52a0f5a2,0xf7f14620,0xf104fc03,0xf8840a14,0x99168006,
+0x4650463a,0xfc1af7f1,0xb2fb9a01,0x612371e2,0x46202206,0xf7f14649,
+0x2200fc11,0x73622f0d,0xd802d00d,0xd0052f05,0x2f10e055,0x2f20d023,
+0xe050d00c,0x72232301,0x33037323,0x2303e003,0x33017223,0x73a37323,
+0xe04473e3,0x2b0b9b15,0x7223d10a,0x73223307,0x73a373e2,0x99164650,
+0xf7f1463a,0xe036fbeb,0x72232302,0x33067323,0x230473a3,0x9915e7e8,
+0x2b011f4b,0x2304d80d,0x18db73a3,0xb2cb73e3,0x2b052203,0x73227221,
+0x2302d101,0x7362e01e,0x2304e01d,0x3b017223,0x9a077323,0x6853b132,
+0x46c0e00b,0x00021c38,0x0001e901,0xf5054628,0xf00c713d,0xb128fa09,
+0xf4136843,0xd0016f80,0x73232305,0x73a32308,0x230173e3,0xb1ce7363,
+0x3b017a23,0xd8152b0a,0xf003e8df,0x0a060806,0x14141414,0x000f1414,
+0xe0022301,0xe0062302,0x9a072304,0x30f4f8c2,0xf44fe004,0x99077380,
+0x30f4f8c1,0x99039b02,0x780b781a,0x431a9904,0x3000f899,0x780a4313,
+0x431a9905,0x9906780b,0x780a4313,0xd120431a,0xf0139b14,0xf8db0f02,
+0xd01330ac,0x3ffff1b3,0xeb0bd008,0xf8d30383,0xb11a20b0,0xf0238953,
+0x81530302,0x9a018963,0x0302f043,0x20acf8cb,0xe0068163,0x428b9901,
+0xf04fbf04,0xf8cb33ff,0x4b5730ac,0x46214628,0x47989a18,0x2b027a23,
+0xf8bbd144,0xf013309e,0xd00f0f01,0x786278a3,0x7823431a,0x78e24313,
+0x7923431a,0x79624313,0xd103431a,0xf10ba808,0xe00201a4,0xf104a808,
+0x220801b4,0xfb42f7f1,0xf10b4e46,0x9b0802da,0x00bcf104,0x47b04651,
+0x786278a3,0x7823431a,0x78e24313,0x7923431a,0x79624313,0xd00d431a,
+0x69139a07,0xd00442a3,0xf44f483b,0xf7f07102,0xf104fa3f,0x465100e0,
+0xe0044622,0x00e0f104,0xf10b4651,0xf8d402d4,0x47b03104,0x46414628,
+0xf7ff465a,0xf1b8fc8d,0xdc490f03,0x2390f642,0xf8955cee,0xb3033d5e,
+0x3d5df895,0xf895b9eb,0xb1d33023,0x3024f895,0xf243b1bb,0x5aeb53d2,
+0xf243b14b,0x58ea53c8,0x5352f5a3,0xea023b41,0xb1030303,0xf895b14e,
+0xb1333d67,0x3d3cf895,0x0101f1d3,0x2100bf38,0x2100e000,0xf6422201,
+0x54ea2390,0xf895b9a1,0xb1891d5e,0x3d5df895,0xf895b973,0xb15b3023,
+0x3024f895,0xf895b143,0xb12b3d67,0x3d3cf895,0x4628b913,0xfe3ef7f7,
+0xf8bbb936,0x2b40309e,0x4628d102,0xfdeaf7f4,0xb90b9b19,0xe0064698,
+0xf04f9919,0x600c0800,0xf06fe001,0x4640081d,0xe8bdb00b,0x46c08ff0,
+0x0001e785,0x1e003161,0x00021c38,0xf0003001,0x28db00fe,0x2000d901,
+0x0843e002,0xb2d83b6e,0x4770b240,0x38240040,0x28dcb2c0,0x20dcbf28,
+0x46c04770,0xb5102901,0xdd024602,0xf8c02300,0xf8d232d0,0x4b0212d0,
+0x47984802,0x46c0bd10,0x1e004461,0x00021ce0,0x4b0db570,0x460c4605,
+0xb1384798,0x480b4623,0x4a0b6829,0x47a04c0b,0xe00c2000,0x4370f404,
+0xf5b3b2e2,0xbf145f80,0x23012300,0xbf8c2a0e,0xf0834618,0xbd700001,
+0x0001e955,0x00021e56,0x00021c5f,0x1e004461,0x734cf243,0x58c0b510,
+0xfc28f003,0x46c0bd10,0x3848f8d0,0x6818b510,0xf0036859,0xbd10fff3,
+0xf001b510,0xbd10fd23,0xf001b510,0xbd10ff8f,0x9c04b513,0x9c059400,
+0xf0009401,0xbd1cfea7,0x9c04b513,0xf0009400,0xbd1cfe39,0x6804b570,
+0xf8944606,0xb14b381c,0x210168a0,0xfce6f7f0,0x4824b120,0x7132f44f,
+0xf94af7f0,0x370cf8d4,0x33014620,0x370cf8c4,0xff2af7f6,0x3710f8d4,
+0x4620b11b,0xfebcf7f6,0xf894e032,0xb1c33024,0x3844f8d4,0xf44f4620,
+0xf8d3719d,0xf7f450dc,0x42a8ffad,0xf5c5bf36,0xebc53380,0x181a0200,
+0x32d0f8d6,0xf8c6189b,0xf8d432d0,0xf8c33844,0xf89600dc,0xb11b3230,
+0x21014630,0xfaecf000,0x0778f8d4,0x6e032500,0xf5044798,0x6823646f,
+0xf854b113,0x47980c04,0x34343501,0xd1f62d16,0x46c0bd70,0x00021e79,
+0xf000b510,0xbd10fad5,0x4ff0e92d,0x6804b0e5,0xb1c0f8dd,0x23009e71,
+0xf0029363,0x93000301,0x46154680,0x465a4620,0xf7fb4633,0x9003f989,
+0x49a9b128,0x4ba9462a,0x479848a9,0x9b6fe147,0xd9042b03,0x996ea863,
+0xf7f12204,0x1eabf9c3,0x2b0f9963,0x8133f200,0xf013e8df,0x01390010,
+0x01310014,0x00e20131,0x00e80131,0x00f100ed,0x01050131,0x010e0131,
+0x012e0131,0xf8cb4b99,0xe1243000,0x7f9cf5b6,0x7000f8d8,0xf44fd209,
+0x4895739c,0x46324995,0x47a04c90,0x030df06f,0xae04e114,0xf44f2100,
+0x4630729c,0xf972f7f1,0x25024b8f,0x23056033,0x331b7633,0xf04f76b3,
+0x76f30301,0x0a00f04f,0x02a0f04f,0x83b2ab60,0xf8a67675,0x9300a01e,
+0xab61aa62,0x0a84f8d7,0xac524651,0xa148f8cd,0xfe56f003,0x612ef507,
+0x4620311c,0xfcbcf008,0xf8d79b62,0x62330a84,0xf1069b61,0x627302b8,
+0xf04f9b60,0x62b3090a,0x1a88f8d7,0xfa16f004,0x3a84f8d7,0x8a1b9a52,
+0x60721d21,0x9330a806,0xf954f7f1,0xf8862304,0xf8863049,0x330c304a,
+0x9048f886,0x504bf886,0x304ef886,0x304ff886,0x32c4f8d8,0x904cf8a6,
+0xd13b42ab,0x64734b67,0x2b006b7b,0x4b66d038,0x64734651,0xa8182224,
+0x4000f8d8,0xf912f7f1,0x030cf640,0x0200f04f,0xf04f6533,0xf8860301,
+0xf8863057,0xf8862056,0xf8862059,0xf886205a,0xf8d4a058,0x464a1848,
+0xf106318d,0xf7f1005b,0xf8d4f919,0xf1061848,0x318d0065,0xf7f1464a,
+0xf8d4f911,0xb1233d4c,0x0248f04f,0x2054f8a6,0xf04fe006,0xf8a60341,
+0xe0013054,0x64734b4b,0x6c6bad04,0xf043a921,0x646b4300,0x4638223c,
+0xfbe2f7f4,0x992c4b46,0x4b46681a,0x681b4c3b,0xea434845,0x932a4302,
+0x2080f8d5,0xac5c47a0,0x46202240,0x01f8f105,0xffb0f7f0,0x073cf8d7,
+0xf7f44621,0x4658f9a5,0xf44f4629,0xe01f729c,0x073cf8d4,0xf9c0f7f4,
+0xe0509003,0x073cf8d4,0xf9acf7f4,0x4658e04b,0x014cf104,0x7c63e00f,
+0xf06fb11b,0x92030204,0x4659e041,0x004cf104,0xf7f12206,0xf8d4f8bf,
+0x46590dd0,0x220630da,0xf8b8f7f1,0x0089e033,0x734cf243,0x58e09163,
+0xf003b249,0xe02afafb,0x4000f8d8,0x5000f89b,0x37f8f8d4,0xbf942d0e,
+0x5600f44f,0x5680f44f,0xb123789b,0x4b11491d,0x4798481d,0x4620e017,
+0xfd08f7f5,0x6130f445,0x43314620,0xf9d2f7fb,0xf7f44620,0xe00aff73,
+0x1218f8c8,0x4b07e007,0x49054814,0x4798462a,0x0316f06f,0x98039303,
+0xe8bdb065,0x46c08ff0,0x000220e7,0x1e004461,0x00021fc4,0x00012345,
+0x00021fdd,0x00021c42,0xdeadbeef,0x006480f1,0x007480f1,0x004080f1,
+0x00022e08,0x00022e04,0x0002200f,0x000220f8,0x00022039,0x00022074,
+0x9c04b513,0xf0019400,0xbd1cf825,0xf000b510,0xbd10ffcb,0x9c04b513,
+0x9c059400,0xf0009401,0xbd1cff37,0xf001b510,0xbd10fdb3,0xf001b510,
+0xbd10fb6f,0x69ccb5f0,0xf414b085,0x46074f00,0xf89d460d,0xd0096030,
+0x4400f424,0x9c0a61cc,0x94009602,0x94019c0b,0xf9bef000,0xf0014638,
+0xb005fd51,0x46c0bdf0,0x43f0e92d,0x9f0eb087,0x460c4681,0x46984615,
+0xb91f6806,0x3dd0f8d6,0x0708f103,0xf1b8b145,0xd9050f03,0x4629a804,
+0xf7f12204,0xe001f813,0x93042300,0x9a042c03,0xdc04d023,0xd0112c01,
+0xb164dc15,0x2c0ee080,0xdc02d00e,0xd01c2c0c,0xf5a4e07a,0x2b017383,
+0x2300d876,0x4b48e050,0xe00c602b,0xe087602c,0x602b6833,0x7c74e084,
+0xf0402c00,0xf8d68081,0xf7f4073c,0x4620f8d5,0x4648e07b,0xfcb6f015,
+0x4630e076,0xffa8f7f6,0x6f00f010,0xf410d02a,0xf4000f00,0xd01063e0,
+0x3b040a1b,0x4a372b01,0x007ff000,0x2314d804,0x2303fb00,0xe01468da,
+0xfb002314,0x689a2303,0x0a1be00f,0x2b013b04,0xf0004a2e,0xd804007f,
+0xfb002314,0x685a2303,0x2314e003,0xf303fb00,0xf44f589a,0xfbb273fa,
+0xe007f0f3,0x037ff000,0x72faf44f,0xf302fb03,0xf0f2fbb3,0xe03b6028,
+0xd1024543,0x000df06f,0x5d5ae02f,0x2a003301,0xf5b4d1f6,0xeb057f83,
+0xebc30403,0xd1080308,0x46309202,0x46224629,0xf8cd9500,0x97038004,
+0x9301e007,0x93022301,0x97039400,0x46294630,0xf7fa4613,0xe00fffc3,
+0xbf183a00,0xf8d62201,0x92003848,0x0217f10d,0x95019202,0x46216818,
+0x462b4642,0xfe22f004,0xf100b138,0x2b250325,0xf8c6d802,0xe0000708,
+0xb0072000,0x83f0e8bd,0x14e46c77,0x1e00c744,0x4b0ab570,0x460d4604,
+0xb9184798,0x214d4808,0xfe76f7ef,0x68e26923,0x429318eb,0x4804d903,
+0xf7ef214e,0x82a5fe6d,0x46c0bd70,0x1e005ec1,0x0002210d,0x4b0bb570,
+0x460d4604,0xb9184798,0x21434809,0xfe5cf7ef,0x429d8aa3,0x4806d903,
+0xf7ef2144,0x6920fe55,0x19408aa3,0x61201b5b,0xbd7082a3,0x1e005ec1,
+0x0002210d,0x4b0cb570,0x460d4604,0xb9184798,0x2139480a,0xfe40f7ef,
+0x68a26923,0x42931b5b,0x4806d203,0xf7ef213a,0x6920fe37,0x1b408aa3,
+0x612018eb,0xbd7082a3,0x1e005ec1,0x0002210d,0x3224f8d0,0x41f0e92d,
+0x460c4605,0xf0002b00,0xf5b3808f,0xd9036fe1,0x218d4847,0xfe1cf7ef,
+0x682bbb34,0x1844f8d3,0x2024f9b1,0x3026f9b1,0xf9b1189b,0x189b2028,
+0x202af9b1,0xd01742d3,0x3224f8d5,0x64e1f5c3,0xdc032c00,0x2193483a,
+0xfe02f7ef,0x3218f8d5,0xbf142b01,0x23982318,0xdd05429c,0x2228f8d5,
+0x322cf8d5,0xd35f429a,0xf240686b,0x6c987144,0x47984b30,0xb9404606,
+0xf8852301,0xf8953230,0x33013231,0x3231f885,0x2700e04e,0xf8852180,
+0xf7ff7230,0x6934ff77,0x0801f04f,0x22047823,0x0303f368,0xf362b2db,
+0x70231307,0x3224f8d5,0x189b18a0,0x70a3b29b,0x70e30a1b,0x2224f8d5,
+0x1220f8d5,0xfeaaf7f0,0x78e178a3,0xea434630,0xf7ff2101,0xf8d5ff3d,
+0x46390220,0x2224f8d5,0xfe7cf7f0,0x3228f8d5,0x7224f8c5,0xd9032b1f,
+0x21b2480f,0xfdacf7ef,0x1228f8d5,0x22c0f8d5,0x3021f852,0xf8423301,
+0x682b3021,0x7228f8c5,0x073cf8d3,0x46434639,0xf7f34632,0x682bfed9,
+0x0778f8d3,0x47986e03,0xe8bd2000,0x46c081f0,0x0002210d,0x1e005c25,
+0x4ff8e92d,0xf890469b,0x46073230,0x46164689,0x8028f8dd,0xa030f89d,
+0x2101b113,0xff50f7ff,0x3224f8d7,0x2220f8d7,0x0418f103,0xf8d7189d,
+0xf8c73218,0x2b014224,0xb166d112,0x46311914,0x46202210,0xfe4ef7f0,
+0x0010f104,0x1010f8d9,0xf7f0226e,0xf8d7fe47,0x33803224,0x3224f8c7,
+0x3224f8d7,0x6fe1f5b3,0x4843d303,0xf7ef21e0,0xb116fd53,0x0f00f1ba,
+0x2200d002,0xe0122301,0x683a990b,0xf642b911,0xe00723ce,0x23cef642,
+0x990b5ad3,0xd0044299,0x23d0f642,0x45985ad3,0x2200d106,0x712b2307,
+0x71aa716a,0xe01371ea,0xf243683b,0x589b12dc,0xd1022b05,0x33042200,
+0xf1bbe7f1,0xd1020f14,0x23082200,0x2300e7eb,0x716b712b,0x71eb71ab,
+0x061cf109,0x702b7e33,0x706b7e73,0x70ab7eb3,0x70eb7ef3,0x0f00f1b8,
+0xf108d003,0x752b33ff,0xf885e001,0x23008014,0x736b732b,0x73eb73ab,
+0x746b742b,0x74eb74ab,0x4b1a4648,0xb9184798,0x21554817,0xfcfcf7ef,
+0x3016f8b9,0xf0034a16,0x5cd40307,0xd9042c04,0xf2404811,0xf7ef1109,
+0x756cfcef,0x69739a0b,0xf1b8b112,0xe0010f02,0x0f03f1b8,0xb29abfcc,
+0x0a130c1a,0x2300726b,0x0e1372ab,0x72eb722a,0x3228f8d7,0x33014638,
+0x3228f8c7,0xf7ff2100,0xe8bdfea7,0x46c08ff8,0x0002210d,0x1e005ec1,
+0x000221c0,0x41f0e92d,0x8a884607,0x2803b086,0xf240460e,0x690c8156,
+0xf0037823,0x2d01050f,0x814ff040,0x78e378a2,0x2103ea42,0xf2004281,
+0x46308148,0xfe30f7ff,0x46302104,0xfe46f7ff,0x091b7823,0xd07a2b02,
+0xf0002b03,0x2b0180d4,0x8137f040,0x21146934,0xf7ff4630,0x7862fe37,
+0xea437823,0x78a22302,0x4302ea43,0xea4378e2,0x63736302,0x2b047c23,
+0x4897d904,0x21b5f240,0xfc8af7ef,0x4a957c23,0x5cd54630,0x47984b94,
+0x4891b918,0xf7ef215c,0xf005fc7f,0x42ac0407,0x488dd003,0xf7ef215d,
+0x8af3fc77,0x0307f023,0x0303ea44,0x69f382f3,0x4300f443,0xf8d761f3,
+0x2b0132c4,0xf897d002,0xb9a33070,0x781a6933,0xf012785b,0xea420f0c,
+0xd10c2303,0x02fcf013,0x2a20d001,0x4638d107,0x2a204631,0x2200bf14,
+0xf0002201,0x6838fb79,0x4632497a,0xf7f44633,0x2800fdc3,0x6838db05,
+0x22004631,0xff38f7f8,0x2400e0d5,0x46314638,0x46234622,0x94019400,
+0xf7ff9402,0x687bfead,0x6c984631,0x4b6e4622,0x46384798,0xf7ff2101,
+0x4620fe03,0x2104e0c8,0x69344630,0xfdc2f7ff,0x4631687b,0x4b676c98,
+0x47986935,0xe0002100,0x42813101,0x4601d101,0x5d4be002,0xd1f72b00,
+0x78237862,0xea433101,0x78a22302,0x4302ea43,0xebc178e2,0xea430400,
+0xf5b36302,0xeb057f83,0xd1090201,0x7383f5a3,0x93039302,0x90019500,
+0x46296838,0xe0084623,0x23019200,0x93022200,0x92039401,0x46296838,
+0xf7fa4613,0x2104fd13,0x46304604,0xfda2f7ff,0xf3c46932,0x70532307,
+0x4307f3c4,0x0e237093,0x701470d3,0x46302104,0xfd94f7ff,0x22046934,
+0x21004620,0xfc9ef7f0,0x25017823,0x0303f365,0x2205b2db,0x2104e04f,
+0xf88d4630,0x69345017,0xfd64f7ff,0x4631687b,0x4b386c98,0x47986935,
+0xb12d4680,0x4629a804,0xf7f02204,0xe000fca3,0x683b9504,0xf8d37821,
+0x78630848,0xea4178e2,0x78a32103,0xea419501,0x9b044103,0x6102ea41,
+0xbf183b00,0x93002301,0x0317f10d,0x46429302,0x6800462b,0xfb32f004,
+0x46042104,0xf7ff4630,0x6932fd51,0x2307f3c4,0x70537014,0x4307f3c4,
+0x70930e24,0x210470d4,0xf7ff4630,0x6934fd43,0x46202204,0xf7f02100,
+0x7823fc4d,0xf3652501,0xb2db0303,0xf3622208,0x70231307,0x4631687b,
+0x4b126c98,0xb2804798,0x0a0070a0,0x683b70e0,0xf8d32100,0x4632073c,
+0xf7f3462b,0x2000fcad,0x687be006,0x6c984631,0x4b072200,0x20014798,
+0xe8bdb006,0x46c081f0,0x0002210d,0x000221bb,0x1e005ec1,0x00010f55,
+0x1e005c41,0x1e003e11,0xf243b57f,0x58c543ec,0xb9224616,0xf2404812,
+0xf7ef2151,0x69f3fb49,0x4f00f413,0x2400d01a,0x46314628,0x46234622,
+0x94019400,0xf7ff9402,0x686bfdaf,0x7144f240,0x4b086c98,0x46014798,
+0x686bb140,0x6c984622,0x47984b05,0x21014628,0xfcfef7ff,0x46c0bd7f,
+0x0002210d,0x1e005c25,0x1e005c41,0x4ff8e92d,0x4682290a,0x4617460d,
+0x9e0a4699,0x2b00d857,0x2600bf08,0xf1066843,0x6c980148,0xbf9829ff,
+0x7180f44f,0x47984b27,0xb9384680,0xfae8f7ef,0xf2404825,0xf7ef11f1,
+0xe040fb03,0xf7ff21a4,0xf8d8fc99,0xf04f4010,0x78230b01,0xf36b2207,
+0xb2db0303,0x1307f362,0xf1067023,0xb29b030c,0x0a1b70a3,0x1d2270e3,
+0x2307f3c5,0x70537125,0x4307f3c5,0x0e2b7093,0xf3c770d3,0x71532307,
+0x4307f3c7,0x0e3b7193,0x71d37117,0x0f00f1b9,0xf104d005,0x4649000c,
+0xf7f04632,0x78a3fbb7,0x464078e1,0x2101ea43,0xfc4af7ff,0x3000f8da,
+0xf8d32100,0x4642073c,0xf7f3465b,0xe8bdfc01,0x46c08ff8,0x1e005c25,
+0x0002210d,0x4ff0e92d,0x6803461e,0xf8d3b089,0x460f3848,0x46114680,
+0x46146818,0x9048f8dd,0xb04cf8dd,0xf84af003,0x90006939,0x46204b62,
+0x7ca24798,0x21067ce3,0x2303ea42,0x46384682,0xf7ff9301,0xf8d8fc33,
+0x2b013218,0x2106d130,0xf7ff4638,0xf8d8fc47,0x46393004,0x4b576c98,
+0x8a814798,0x3104ad03,0xfc06f7ff,0x46282214,0xf7f04621,0x7b23fb67,
+0x0f04f013,0x4638d003,0xf7ff2102,0x211efc2f,0xf7ff4638,0x693cfc2b,
+0x46202214,0xf7f04629,0x7ba3fb55,0xea437be2,0xf0232302,0xf0430306,
+0x73a30306,0x73e30a1b,0x0f00f1bb,0xf89bd016,0x2b013008,0x2b03d001,
+0xf446d102,0xe00d3680,0xd1022b02,0x3600f446,0x2b04e008,0xf446d102,
+0xe0033640,0xbf082b0b,0x4600f446,0x46382118,0xfbfcf7ff,0x2100693d,
+0x46282218,0xfb06f7f0,0xf3c91d2c,0xf8852307,0x70639004,0x4307f3c9,
+0xea4f70a3,0x70e36319,0xf04f9a00,0xb2500b00,0xf870f7ff,0x027ff00a,
+0xf01a0e13,0x74206f00,0xf8847122,0xf884b005,0x71e3b006,0xf442d008,
+0x0a1a4300,0x0e1b7123,0xf8847162,0x71e3b006,0x46399a01,0x03c7f3c2,
+0x23007223,0xf8d87263,0x22063000,0x3848f8d3,0x7326889b,0x0a1b72a3,
+0xf3c672e3,0x73632307,0x4307f3c6,0x0e3373a3,0xb011f884,0x782b73e3,
+0xf3642401,0xb2db0303,0x1307f362,0xf8d8702b,0x6c983004,0x47984b0a,
+0x70a8b280,0x70e80a00,0x3000f8d8,0xf8d34659,0x463a073c,0xf7f34623,
+0xb009fb23,0x8ff0e8bd,0x0001edf9,0x1e003e21,0x1e003e11,0xb5102901,
+0xdd086804,0x68502100,0x460a4b06,0x28064798,0xf8a4bfd8,0xf8b406fc,
+0x4b0316fc,0x47984803,0x46c0bd10,0x1e0037cd,0x1e004461,0x0002212f,
+0xb5702901,0xdc014605,0xe0102400,0x02c0f8d0,0x22802100,0xfa7af7f0,
+0xf8852300,0xe0133231,0xdd042c03,0x0f03f014,0x480ed101,0xf8d547b0,
+0x462132c0,0x2024f853,0x4e0c480b,0x47b03401,0xd1ed2c20,0x47b04807,
+0x122cf8d5,0x2228f8d5,0x48074c06,0xf89547a0,0xf8951231,0x48052230,
+0xbd7047a0,0x00021250,0x00022143,0x1e004461,0x0002214d,0x0002217b,
+0xb5102901,0xdd094604,0x68502100,0x460a4b06,0x1e434798,0xbf982b1e,
+0x022cf8c4,0x122cf8d4,0x48034b02,0xbd104798,0x1e0037cd,0x1e004461,
+0x000221a3,0x03fff000,0xea400a00,0x47702003,0x78007843,0x2003ea40,
+0x46c04770,0x78434602,0x04007880,0x2003ea40,0x43187813,0xea4078d3,
+0x47706003,0x46c04770,0x4604b510,0x1c43b110,0xd0044203,0xf44f4805,
+0xf7ef610c,0x2001f945,0x1c43e001,0x0864b2d8,0xbd10d1fb,0x000221e0,
+0xb5702a05,0x460d4606,0xd9044614,0xf6404811,0xf7ef0174,0x4b10f931,
+0x0184f895,0x23015d1a,0xf102fa13,0x0384eb06,0xf8956a1b,0x2b012183,
+0xb2cbd106,0xea40431a,0xf8850303,0xe0062183,0xb2db43cb,0xf885401a,
+0xea002183,0xf8850303,0xbd703184,0x000221e0,0x0002282e,0xb5102901,
+0xdd044602,0xf8c02300,0xf8c032c8,0xf8d232cc,0x4b0312c8,0x22ccf8d2,
+0x47984802,0x46c0bd10,0x1e004461,0x000221ef,0x4603b570,0x480a460c,
+0x68224619,0x47984b09,0xe0062500,0x79191963,0xf3c14807,0x47b00245,
+0x68233501,0x429d4e03,0x4804d3f4,0xbd7047b0,0x00022204,0x1e004461,
+0x0002221e,0x00021250,0xf890b5f0,0xb08d328c,0xb11b4605,0xf6404821,
+0xe02261bd,0x69087d0b,0xb2d93b18,0xf100b91a,0x1f0a031c,0xf100e003,
+0xf1a10322,0xae02020a,0x96004619,0x68282300,0x47a04c17,0x46314817,
+0xffbef7ff,0x68286869,0x713df501,0xf960f00b,0xb9284607,0xf640480f,
+0xf7ef61d6,0xe017f8a9,0x04f8f100,0x480e4621,0xffaaf7ff,0x46306869,
+0x714af501,0xfc2ef007,0x46214630,0xfc2af007,0x46214808,0xff9cf7ff,
+0x46396828,0xffc8f00a,0xbdf0b00d,0x000221e0,0x0001df19,0x0002222a,
+0x00022238,0x0002224c,0x4b0cb570,0x460c4606,0xb9184798,0x215c480a,
+0xf87af7ef,0x0507f004,0xd00342a5,0x215d4806,0xf872f7ef,0xf0238af3,
+0xea450307,0x82f30303,0x46c0bd70,0x1e005ec1,0x000221e0,0x4b0ab570,
+0x460d4604,0xb9184798,0x214d4808,0xf85cf7ef,0x68e26923,0x429318eb,
+0x4804d903,0xf7ef214e,0x82a5f853,0x46c0bd70,0x1e005ec1,0x000221e0,
+0x4b0bb570,0x460d4604,0xb9184798,0x21434809,0xf842f7ef,0x429d8aa3,
+0x4806d903,0xf7ef2144,0x6920f83b,0x19408aa3,0x61201b5b,0xbd7082a3,
+0x1e005ec1,0x000221e0,0x4ff0e92d,0x900cf8d0,0x4617460d,0xf8d96801,
+0xb0872008,0xa044f8dd,0x92039105,0xd06f2a00,0xf2406843,0x6c987144,
+0x47984b37,0x28004606,0xf109d066,0x21ac030c,0xf7ff9304,0x6934ffc5,
+0x46209904,0xf7f02218,0xf104f8f1,0xb9270818,0xf04f4640,0x463d0b18,
+0x462be00a,0x21004640,0x4c2a463a,0xf10747a0,0xfa5f031a,0x2502fb83,
+0x9a049903,0x0418f1a1,0xf102b2e4,0xebc50118,0x445c0204,0x1b641949,
+0xf8d0f7f0,0xb2e14630,0xff80f7ff,0x3008f8d9,0x18fb8ab2,0xd004429a,
+0xf640481b,0xf7ee6183,0x7d31ffdb,0x39184640,0x2203b2c9,0x47984b17,
+0x2301b130,0x99057043,0x23bcf642,0x70835acb,0x0f00f1ba,0x9a05d109,
+0x3848f8d2,0x2b02685b,0xf04fbf0c,0xf04f0a02,0x46300a0c,0xf8c62107,
+0xf7ffa030,0x2200ff35,0x46319805,0x92004613,0xa004f8cd,0xff34f7f9,
+0xe8bdb007,0x46c08ff0,0x1e005c25,0x1e006abd,0x000221e0,0x1e003759,
+0x69c4b570,0x68a04605,0x4606b908,0x686be02a,0x7144f240,0x4b146c98,
+0x46064798,0x21acb310,0xff46f7ff,0x010cf104,0x693068a2,0xf872f7f0,
+0x68a14630,0xff22f7ff,0xb96b6863,0xf640480b,0xf7ee612f,0x682bff81,
+0x3848f8d3,0x2b02685b,0x2302bf0c,0x6063230c,0x46306863,0x21076333,
+0xfeeef7ff,0xbd704630,0x1e005c25,0x000221e0,0x4b0cb570,0x460d4604,
+0xb9184798,0x2139480a,0xff62f7ee,0x68a26923,0x42931b5b,0x4806d203,
+0xf7ee213a,0x6920ff59,0x1b408aa3,0x612018eb,0xbd7082a3,0x1e005ec1,
+0x000221e0,0x47f3e92d,0x68004606,0xf8dd4698,0xf00a9028,0x4682fe75,
+0xd04c2800,0x0f00f1b9,0x2310bfac,0x199b2308,0x68a3689c,0xd0422b00,
+0xf2406873,0x6c987144,0x47984b21,0xb9284605,0xf6404820,0xf7ee51f5,
+0xe035ff2b,0xf7ff21ac,0x68a2fedb,0x010cf104,0xf7f06928,0x4628f807,
+0xf7ff68a1,0x69ebfeb7,0xea434628,0x61eb0308,0x71e9ea29,0xfe90f7ff,
+0xf1056863,0xb96b071c,0xf6404810,0xf7ee6103,0x6833ff0b,0x3848f8d3,
+0x2b02685b,0x2302bf0c,0x6063230c,0x68306863,0x6863617b,0x93004629,
+0x93012300,0x33014652,0xfab8f7f8,0x2500e000,0xe8bd4628,0x46c087fc,
+0x1e005c25,0x000221e0,0x47f0e92d,0x46984689,0x6020f89d,0xb9084607,
+0xe0133001,0x25004614,0x46414620,0x4b084632,0x19a44798,0x3001b908,
+0x3501e003,0xd1f342bd,0xf0192000,0xbf080f01,0x0001f080,0x87f0e8bd,
+0x1e00d671,0x4ff8e92d,0x881d2400,0x468a4683,0x46984691,0x46274626,
+0xeb0be012,0x78630405,0xd307454b,0x46511ca0,0x4b0a464a,0xb9084798,
+0xe0052701,0xf8381c73,0xb2de5016,0xd8042e1f,0x2f00b115,0xe001d0e9,
+0x463cb907,0xe8bd4620,0x46c08ff8,0x1e00d671,0x6803b51f,0xf8932104,
+0xab042d5e,0x2d04f843,0xf8802200,0x91002124,0xf7fe3105,0xb005fd31,
+0x46c0bd00,0xf890b510,0x46023124,0x6803b143,0x112cf8d2,0xf8d32200,
+0x4c02073c,0x47a04613,0x46c0bd10,0x1e0061f9,0x4ff0e92d,0x9008f8d1,
+0x7d01f5ad,0x4693460f,0xf1b96806,0xd06b0f00,0x2d00680d,0x2206d13d,
+0x46294668,0xff2ef7ef,0x46ea687b,0x087ff013,0x4630d103,0xfa4ef7f4,
+0x466b4680,0x46414630,0x0204f109,0x47a04c2c,0x010cf107,0xf10d464a,
+0xf7ef0006,0x4c29ff37,0x462a4641,0x46302301,0x7848f8d6,0xf8d647a0,
+0xf8a73848,0xf8b30138,0x46302138,0xf7f3211c,0x4630fb9d,0xf7f34641,
+0x4630fd13,0xf1094669,0x465b0206,0xfe8af7f4,0x46414630,0xfb48f7f5,
+0x2d03e02a,0x2100d128,0xf1092206,0x46680406,0xfeecf7ef,0xf107b2a4,
+0x68ba010c,0x0006f10d,0xff04f7ef,0x466b1ce2,0x0203f022,0x60e8f506,
+0x711af44f,0xfdeaf7f4,0x46304622,0xf7f3214a,0x3c02fb6d,0xf8d64630,
+0xf7f31dd0,0x4630fc0f,0x46e8b2a1,0xf916f7f5,0x7d01f50d,0x8ff0e8bd,
+0x0001dce1,0x0001dac5,0xb08eb570,0x46154606,0x0016f10d,0xb1194b13,
+0x47984913,0xe0012400,0xe7fa4912,0xf304fa55,0x0301f013,0x2301bf18,
+0x3037f88d,0x0336f10d,0x23029300,0x93012200,0x93023b01,0xf10d6830,
+0x46130116,0x4036f88d,0xf7f99203,0xb910fef7,0x2c083401,0xb00ed1e2,
+0x46c0bd70,0x1e004075,0x000219ef,0x00021a94,0xb570460b,0x46152101,
+0x4604461a,0xffc4f7ff,0xb9204601,0x462a4620,0xffbef7ff,0x46084601,
+0x46c0bd70,0x4ff0e92d,0xb0896805,0x468a4607,0xf8d59203,0xf8d58dd0,
+0x461c980c,0xf0402b00,0x4619813e,0xf7f44628,0xf895f9d3,0xb9233023,
+0x2a009a03,0x2201bf08,0xf8959203,0xf04f3de8,0xf02332ff,0xf8850304,
+0x6aab3de8,0xf4234621,0x62ab7300,0xf8d3683b,0xf7f2073c,0xf243fdad,
+0x54ec1395,0x2a009a03,0x8114f000,0xf8d7683b,0xf8d31130,0x4b91073c,
+0xf1ba4798,0xd0030f00,0x46514628,0xf876f7f4,0x5bbaf505,0x763df505,
+0x0b1cf10b,0x22904659,0xf7ef4630,0xf895fe4f,0xf50522fc,0xf888713e,
+0xf1082024,0x31050025,0xfe44f7ef,0x5058f505,0x46313008,0xf7ef2206,
+0xf243fe3d,0x50ec13a0,0x50ec3304,0x4d5cf885,0x4023f895,0x0801f04f,
+0x8024f885,0xd0562c00,0x46284631,0xfdf4f00a,0xb9184606,0x0024f885,
+0xe0cf9003,0xf00a4641,0x4630fbc7,0xf00a2102,0x4630fbc3,0xf00a2110,
+0xf642fbbf,0x5ceb33c6,0xb1136872,0x0304f042,0xf022e001,0x60730304,
+0xb1836b6b,0x328cf897,0x2300b16b,0xf5079300,0xf5077222,0x46287328,
+0x32054631,0xf7f53307,0x2401fb95,0x2400e007,0x46314628,0x46234622,
+0xf7f59400,0x2200fb8b,0x9300237f,0xf5059401,0xf106704a,0x461301f8,
+0x47a04c55,0x46314628,0xfc36f00a,0x46222400,0x46314638,0xf7ff3401,
+0x2c04fbbb,0x2301d1f7,0x321df887,0x4628e021,0xfa44f7f4,0x464268b9,
+0xf7ff4638,0xf8b5fe6d,0xf8b53322,0xf8c92320,0x02913190,0x0f00f1ba,
+0xf8c9d003,0xf8c94180,0x3b004184,0x2301bf18,0x4302ea43,0x3188f8c9,
+0xf8c94628,0xf7f3118c,0x2100fc99,0x46582290,0xfd90f7ef,0x738cf241,
+0x02fff04f,0xf06f52ea,0xf6420238,0x50ea23d8,0x3848f8d5,0x68182100,
+0xfa0af002,0xf7f44628,0x2201fa0d,0x69794638,0xfe36f7ff,0x1dd0f8d5,
+0xf7f34628,0x4628fcc9,0xfb04f7f3,0xf7f34628,0x683bfc71,0xb1436b5b,
+0x32c4f8d7,0xd1042b02,0x463821ff,0xf7ff460a,0xf8b5fed3,0xf4033324,
+0xf5b34370,0xd1095f80,0xf8d7683b,0xf8d31128,0xf44f073c,0x2301727a,
+0x47a04c1a,0x3023f895,0x4628b91b,0xf7f32101,0xf8d5fd5b,0xf8b53848,
+0x681c0324,0x47984b14,0x031ef10d,0xf10d4601,0x4620021f,0xfacaf002,
+0x301ff89d,0xf89d9305,0x9306301e,0xf8954628,0xf7f31024,0x9b03f935,
+0x46382108,0x0201f1d3,0x2200bf38,0x9100ab05,0xfafef7fe,0xb0092000,
+0x8ff0e8bd,0x1e006221,0x0001ed85,0x1e0061f9,0x0001e9bd,0xb5102100,
+0x460b460a,0xfe96f7ff,0x46c0bd10,0x6804b573,0xf8944606,0x2b003024,
+0xf243d051,0x5ce31397,0xd04c2b00,0x3023f894,0x1d5ef894,0xd0462b00,
+0x1396f243,0xb1e25ce2,0x5ce33b01,0xd1184293,0xf894b1b9,0xb9a33d5d,
+0x5158f504,0x788b3108,0x431a784a,0x4313780b,0x431a78ca,0x4313790b,
+0x431a794a,0x2301d005,0x3d5cf884,0xf7f44620,0xf243fa79,0x5ce21395,
+0x5ce33302,0xd914429a,0x5d41f894,0xf894b98d,0xb1233d5c,0x5d5cf884,
+0xf7f44620,0x2301fa67,0x3d41f884,0x21024630,0x462b462a,0xf7fe9500,
+0xf243fa9b,0xf2431195,0x5c621397,0x42935ce3,0x1c53d301,0xbd7c5463,
+0x47ffe92d,0x460d4606,0xb1c24691,0xd1072a02,0x2a006b8a,0x80e7f040,
+0x69496843,0xe0df6c98,0xf0402a03,0x6b8b80e0,0xf0002b00,0x7a1b80dc,
+0xf0402b02,0x680080d8,0x47984b89,0xf891e0d3,0xb17b302d,0x32c8f8d0,
+0x42ccf8d0,0xf8c03301,0x684332c8,0x6c986949,0x47984b82,0xf8c61900,
+0xe0c302cc,0x3234f8d0,0xf0002b00,0x688f80bf,0x2f05684c,0x80baf240,
+0xf2402f07,0x487a80b7,0x22064621,0xa1e8f8df,0x280047d0,0x80aef040,
+0xf7ff88e0,0xf5b0fa3b,0xf1044f01,0xf8ad0806,0xd10c000e,0x020cf104,
+0x429a19e3,0x080af104,0x809cf200,0xf7ff8960,0xf8adfa29,0xf8bd000e,
+0xf640200e,0x429a0306,0xf8d6d122,0xf0133234,0xd01d0f01,0x0002f108,
+0x0300ebc4,0x0307ebc3,0xdc002b1c,0x7983d114,0xea4379c2,0xf5b32302,
+0xd10d7f80,0x041af108,0x700ef506,0x22044621,0xb12847d0,0x4621a802,
+0xf7ef2204,0xe063fc4f,0x300ef8bd,0x6f00f5b3,0xf895d14c,0x2b00302c,
+0x6829d048,0x78831d08,0x401a7842,0x7901790b,0x78c24013,0x7943401a,
+0x400b4011,0xd1392bff,0x3234f8d6,0x0f04f013,0xf108d034,0x79a30402,
+0xf89879e2,0xea437002,0x093b2002,0xd1292b04,0x2b117a63,0xf7ffd126,
+0x0480f9d1,0xbb080c80,0x030ff007,0x78e0009f,0xea4378a3,0xf7ff2000,
+0xf107f9c5,0x42980308,0x19e3dd30,0x78d8789a,0x2000ea42,0xf9baf7ff,
+0xf8ad2302,0x9300000c,0x023cf8d6,0x1240f8d6,0x7211f506,0xf7ffab03,
+0xb188fc2b,0x3234f8d6,0x0f02f013,0x2302d016,0xf8d69300,0xf8d60264,
+0xf5061268,0xf10d721b,0xf7ff030e,0xb948fc19,0x69696873,0x22006c98,
+0x47984b22,0x6968e03a,0xe00a2118,0xb1526baa,0x7a136968,0x2b028a84,
+0x100ff992,0x3408bf08,0xf7ff1861,0x6829fa87,0x7d8b7dca,0x2302ea43,
+0x030ff023,0x758bb29b,0x75cb0a1b,0x784a6829,0xea43780b,0xf4232302,
+0xb29b6380,0x0a1b700b,0x6968704b,0xf7ff2106,0x696bfb67,0x0178f105,
+0x22066918,0xfbb2f7ef,0x46306bab,0x69699301,0x230069aa,0x9000f8cd,
+0xf95af7fe,0x87ffe8bd,0x1e008225,0x1e003f55,0x00022828,0x1e005c41,
+0x1e00d671,0x6804b51f,0xf894ab04,0xf8432d5e,0x1e0a2d04,0x2201bf18,
+0x91002104,0xf7fe3102,0x4620f947,0xf88cf7f5,0x46c0bd1f,0x6804b5f7,
+0xf8944606,0xf0433de8,0xf8840304,0x6b633de8,0xf894b33b,0xb3233024,
+0x3023f894,0xf500b30b,0x21007022,0x3005221a,0xfb50f7ef,0x7028f506,
+0x22162100,0xf7ef3007,0xf504fb49,0x46205158,0xf00a3108,0x4605f9ad,
+0xf8d4b158,0x462907e8,0xfeb4f7fa,0x46202200,0x46134629,0xf7f59200,
+0x6833f8ed,0xf8d32700,0xf243073c,0x58e113d4,0x47984b36,0x46202102,
+0xfe92f7f3,0x738ef241,0x462056e3,0xbf181bdb,0xf8842301,0xf8843023,
+0xf8847024,0x25017d67,0xf8b4f7f4,0xf8844620,0xf7f55d14,0x4620f835,
+0xffa0f7f3,0x738cf241,0x46205ae1,0xfc6af7f9,0xf7f34620,0xf504fa0b,
+0x311051bc,0xf7f44620,0x4620fce7,0xfc4cf7f3,0x52baf504,0x21034620,
+0xf7f3321c,0x4620f931,0x1dd0f8d4,0xfcc8f7f9,0x3023f894,0xf884b923,
+0x46205d3d,0xfa72f7f3,0x210b4620,0xfe50f7f3,0x321cf896,0xf241b933,
+0x5ae27388,0xfb02230a,0xe011f503,0x7388f241,0x68f35ae5,0xb15b689b,
+0x7364f241,0x51baf504,0x46305ce2,0x463b3125,0x97019700,0xf9d4f7ff,
+0xf8d66833,0xf8d31130,0x462a073c,0x4c022300,0xbdfe47a0,0x1e006221,
+0x1e0061f9,0xf2436802,0x58d313dc,0x2b05b510,0xf8d2d10f,0xf9b11844,
+0xf9b12024,0x189b3026,0x2028f9b1,0xf9b1189b,0x42d3202a,0xf7ffd101,
+0xbd10ff3d,0xf7ffb510,0xbd10ff39,0x6800b570,0x461e4615,0x780b784a,
+0x2202ea43,0x3023f890,0xf890b943,0xb12b3024,0x7f40f412,0x2400bf14,
+0xe0002401,0x7caa2400,0x310a7ceb,0x2203ea42,0x02c7f3c2,0xbfd42a0e,
+0x22012200,0xf8d2f00a,0xb1086030,0xe0012000,0x0001f084,0x46c0bd70,
+0x4ff0e92d,0xf5ad6807,0x92037d27,0xf8979302,0x46823024,0xf8d7b95b,
+0x789b37f8,0x7c3bb93b,0xf243b92b,0x58fb13dc,0xf0002b00,0x980283b1,
+0xf1006900,0xf01b0b06,0x90060f01,0x4883d004,0x41e6f640,0xf98cf7ee,
+0xf89b9906,0x798a3001,0xea429803,0x79032203,0x0481f3c2,0x0303f003,
+0xf0022b02,0xd10705fc,0x4f00f412,0xf1d4d004,0xbf380301,0xe0002300,
+0x2c012300,0xf983fa5f,0x4872d904,0x41f4f640,0xf96af7ee,0xd1302c01,
+0x98022106,0xf918f7ff,0x21109802,0xf914f7ff,0xf1b94606,0xd0040f00,
+0x21049802,0xf90cf7ff,0x99024606,0x302ef897,0x8014f8b1,0xf0002b00,
+0x2d848367,0x2d94d002,0x8362f040,0x46594650,0xaba59a03,0xff6af7ff,
+0x28004604,0x8358f040,0xf8d79500,0x99a507e8,0x46434632,0xf9e8f7fa,
+0x9a02e34f,0xea4f8a93,0xf1a30289,0xb91c060a,0x0318f102,0xdb09429e,
+0xd0032da4,0xd0012d84,0xd1092d94,0x0310f102,0xda05429e,0x3404f8d7,
+0xf8c73301,0xe3333404,0x4b492206,0x014cf107,0x0004f10b,0x21064798,
+0x0401f1d0,0x2400bf38,0xf7ff9802,0x9802f8c1,0xf7ff4631,0xf1a6f8a3,
+0xf10b0018,0x900b0818,0x0f00f1b9,0xf10bd001,0x2d80081c,0x2dd0d02a,
+0x82d5f000,0xf0402d50,0x2c0082fd,0x830cf000,0x37f8f8d7,0xb123789b,
+0x000cf108,0x0124f1a6,0xf243e030,0x58fb13dc,0xf0402b0b,0xf50782ec,
+0xf10b51ba,0x311c0010,0x4b2b2206,0x46044798,0xf0402800,0xf01882e0,
+0xd0440f03,0xf6404825,0xe03e514f,0x0001f018,0xd0049004,0xf6404821,
+0xf7ee5166,0x990bf8c9,0xf340290b,0xf10882dd,0x3e24020c,0x37f8f8d7,
+0x96089207,0xb19b789b,0x46314610,0x4b192200,0x46014798,0x7843b118,
+0xbf882b20,0xf8d72100,0x220007f8,0x47984b14,0xf0402800,0xe2ae82b2,
+0x13dcf243,0x2b0b58fb,0xf507d120,0xf10b51ba,0x311c0010,0x4b0a2206,
+0x46044798,0xf897b9b0,0xb1233024,0xf6404805,0xf7ee517d,0x4650f891,
+0x22014641,0xf7ff4623,0xe292fad5,0x000221e0,0x1e00d671,0x1e003759,
+0x0001f781,0x3024f897,0xf897b303,0xb9ea2023,0x300af898,0x0f02f013,
+0x9807d018,0x4b8f9908,0xb1984798,0xf8977843,0x429a22fc,0xf507d10e,
+0x3002713e,0x4b8a3105,0xb9384798,0x99034638,0x4b889a06,0x28004798,
+0x8267f040,0x3024f897,0xf0002b00,0xf10b8260,0x46480910,0x713df507,
+0x4b7f2206,0x90054798,0xf0402800,0x98048254,0x5000f8da,0x487cb120,
+0x218df640,0xf844f7ee,0x98079903,0x7cca7c8b,0xea439908,0x22032602,
+0x47984b72,0xb1084604,0xb97b7843,0x0324f8b5,0x04c7f3c6,0x42a3b2c3,
+0x4b70d005,0x42a04798,0x9805d001,0x2001e000,0xe008b2c0,0xf8b54b6b,
+0x47980324,0x428378a3,0x2000bf14,0xb1402001,0xf5054648,0x2206713d,
+0x47984b61,0x2301b908,0x2300e000,0x930ab2db,0xf5054648,0x2206713d,
+0x47984b5b,0x4640bb10,0xfea8f7fe,0xf1084606,0xf7fe0004,0xf243fea3,
+0x58ea13a0,0xb91a4604,0x58eb3304,0xe00cb913,0xd3064290,0xd1084294,
+0x13a4f243,0x429e58eb,0x4628d203,0xf7f34641,0xf243faed,0x50ee13a4,
+0x50ec3b04,0x3023f895,0xf0002b00,0x9a0a80ca,0xf0002a00,0xf89581e4,
+0x2b003d67,0x80c5f000,0x9300aba4,0xaba54628,0x9a0b4641,0x47a04c42,
+0x3848f8d5,0x7b1b9009,0xd03e2b00,0x100bf898,0xf3c14628,0xf7f30180,
+0xaea3fd87,0xf50d2300,0x93a27922,0x464093a3,0x4632990b,0x4c37464b,
+0xb92847a0,0x990b4640,0x464b4632,0x47a04c34,0xb3129aa3,0x2b009ba2,
+0xf642dd1f,0x56eb33dd,0x3ffff1b3,0x7813d105,0x32dcf642,0x0340f3c3,
+0x9ba354ab,0xf013781b,0xbf180204,0xf6422201,0x54ea33ca,0x33caf642,
+0x2b0156eb,0x2200d101,0x2201e000,0x33c6f642,0x462854ea,0x010af10b,
+0xfeb6f009,0xb9204604,0xf6404819,0xf7ed21f9,0xf895ff7f,0x2a002d60,
+0x9b09d13d,0xd0312b00,0x3d63f895,0xd1042b02,0x46114628,0xfbc6f7f5,
+0xb11ce031,0x3184f894,0xd0062b0f,0x3d5ef895,0x4628b34b,0xfb98f7f7,
+0xf895e025,0xb1fb3d5e,0xf5052306,0x93005158,0x31084628,0xf7f54613,
+0xe015f9ed,0x1e003759,0x1e00d671,0x0001e0f1,0x000221e0,0x0001e9bd,
+0x0001e00d,0x1e006a51,0x1e006a75,0x3d62f895,0x9809b12b,0x0d62f885,
+0xf7f34628,0xf895fd9f,0xb12b3d65,0xf8852300,0x46283d65,0xfd96f7f3,
+0x3d5cf895,0x9906b1eb,0x4b9f9803,0x99034798,0x790a4603,0x46287949,
+0x2201ea42,0x027ff022,0x9200b2d2,0x22004641,0xf9d2f7f3,0xf8852300,
+0x46283d5c,0xfd7af7f3,0x9a0ae003,0xf0002a00,0xf243811a,0x22001395,
+0x330254fa,0xb1535cfb,0x3d41f897,0xf887b13b,0x46502d41,0x46132103,
+0xf7fd9200,0xf8d7fda1,0x99033848,0x4620681c,0xfc9cf001,0x46204601,
+0xfc70f001,0x23d8f642,0x460150f8,0xf7f34638,0xf8dafe59,0x2b013218,
+0xf8dad106,0xf8933000,0x2b003d67,0x80baf000,0x3048f89a,0xf0002b00,
+0xf8da80a8,0x2b003050,0x80b2f000,0xf8da9b04,0xb1236054,0xf6404873,
+0xf7ed2105,0x9808fed1,0x90a22100,0x3802a80e,0x7210f44f,0xf7ee9c07,
+0xf44fff8d,0xe0147580,0x78229907,0x0304ebc1,0xb2992add,0xf5b5d109,
+0xd20a7f90,0x3b02ab0e,0x1015f823,0xb29d1c6b,0xab0ee003,0xf8233b02,
+0x46201012,0x4b60a9a2,0x46044798,0xd1e32800,0x468346b0,0xf896e053,
+0x78329001,0x0f00f1b9,0xab0ed051,0xf1a32add,0xd0130302,0x0012f833,
+0x4605b908,0x9b07e001,0xf8da181d,0xf8333060,0xb9080012,0xe0024604,
+0x3058f8da,0x360218c4,0xe01746b0,0x0402f108,0x22034621,0x7300f503,
+0xf7fe9807,0xf8daffb3,0x46213060,0x22034605,0x0058f8da,0x7300f503,
+0xffa8f7fe,0x0808f108,0x46464604,0x0f01f019,0xb17dd010,0x42a5b1dc,
+0x786bd008,0x429a7862,0x1ca8d106,0x4b3b1ca1,0xb9084798,0xe0002301,
+0xb1632300,0x0f02f019,0xb90dd003,0xe000b93c,0xf10bb12c,0xf8da0b01,
+0x459b3050,0x9907d3a7,0xf8da9a08,0xf8da0058,0xf7ee4050,0x9808ff2b,
+0xf8caa90e,0x3902005c,0x0060f8da,0x7210f44f,0xff20f7ee,0xd10d45a3,
+0xf8dae00e,0xb1591044,0x2138f8da,0xfbb23201,0xfb01f3f1,0xf8ca2313,
+0xb90b2138,0xe0002001,0xb2c42000,0xa99ce02e,0xf10b3106,0xf7ee000a,
+0x4650fe49,0x9a034659,0xf7ffaba5,0x4604fc3f,0x9a0bb9e8,0x2a0099a5,
+0xf8dadc07,0xf8d22000,0x33013410,0x3410f8c2,0xf898e014,0xf0033000,
+0x2b03037f,0x980bd10d,0x3000f8da,0xf8d39000,0x465a07e8,0xf7fa4643,
+0xe003f8c3,0x2400b90c,0x2401e000,0x21069802,0xfe86f7fe,0x46c0e009,
+0x0001edf9,0x000221e0,0x1e0036f9,0x1e00d671,0x7c3b2400,0xb144b903,
+0x46502300,0x9a039902,0x93019300,0xfc74f7fd,0xf8dae006,0x99023004,
+0x46226c98,0x47984b02,0x7d27f50d,0x8ff0e8bd,0x1e005c41,0x4604b530,
+0xb0856800,0x3024f890,0xd0332b00,0x3848f8d0,0x5134f894,0x3118f8d3,
+0x020af1a3,0xf642b9ad,0x584321d8,0xda254293,0xf8842301,0x56403134,
+0xfbf4f7fd,0xab042204,0x0d04f843,0x92002105,0x462a4620,0xfc48f7fd,
+0xf642e014,0x58c023d8,0xdd0f4290,0xf7fdb240,0xab04fbe1,0xf8432204,
+0x21050d04,0x46209200,0xf7fd2200,0x2300fc35,0x3134f884,0xbd30b005,
+0xb5102901,0xd1146804,0x7185f44f,0xf7f24620,0xf8d4fc05,0x46021844,
+0x0080f8d1,0xd01e4282,0xf5c0bf96,0xebc03380,0x18980002,0x2080f8c1,
+0xb9a1e016,0x7186f501,0xf7f24620,0xf8d4fbef,0x46021844,0x0084f8d1,
+0xd0084282,0xf5c0bf96,0xebc03380,0x18980002,0x2084f8c1,0x2000e000,
+0x46c0bd10,0x4ff0e92d,0x7d0bf5ad,0xf8dd2300,0xf8dd8258,0x4607925c,
+0x93879388,0x0301f002,0x683c6840,0x93004616,0x464b4642,0xa250f8dd,
+0xf7f89d95,0x9007fde1,0xf0402800,0x2d038777,0x2204d90c,0x4651a888,
+0xfe20f7ee,0xd9052d07,0xf10aa887,0x22040104,0xfe18f7ee,0x1e739d88,
+0xbf181e29,0x2b602101,0x8755f200,0xf013e8df,0x07530061,0x07530079,
+0x07530088,0x07530184,0x0753023d,0x0753024f,0x07530753,0x07530753,
+0x0753027e,0x075302b5,0x075302ca,0x07530304,0x07530357,0x0753035d,
+0x07530362,0x0753075e,0x0753036a,0x0753038c,0x07530753,0x075303b6,
+0x075303bb,0x075303cd,0x07530409,0x0753042d,0x07530441,0x0753044c,
+0x07530457,0x07530488,0x04a7049a,0x07530753,0x075304b8,0x0753075e,
+0x050604ba,0x07530753,0x0753051c,0x0753075e,0x07530527,0x075305ae,
+0x07530601,0x0753069c,0x075306b1,0x075306d1,0x075306d9,0x06e406c9,
+0x06ef06e1,0x06fb06e9,0x071d06f5,0x07460700,0x683c0739,0xf8842301,
+0x46203d13,0xfaa8f7f4,0xf8d49700,0x464107f8,0x4b88464a,0xfa64f009,
+0x90072300,0x3d13f884,0xf7f44620,0xf000fa99,0x683cbee5,0x07f8f8d4,
+0x2b007883,0x86def000,0xf0082104,0x4620ffef,0xfa8af7f4,0xbed6f000,
+0x0f4cf1b9,0xd004683e,0x0317f06f,0xf0009307,0xf10dbecd,0x46500acc,
+0x464a4641,0xfd76f7ee,0x37f8f8d6,0xb13d789d,0x46382100,0x2301460a,
+0xfed0f7fe,0xbebaf000,0x13dcf243,0xb18b58f3,0x46294630,0xf8acf7f3,
+0x4c69683b,0x073cf8d3,0x13d4f243,0x47a058f1,0xf8d7683b,0xf8d31130,
+0x47a0073c,0x3012f89a,0x32c6f642,0x0301f1d3,0x2300bf38,0xf89a54b3,
+0x2b0e3011,0xf44fbf94,0xf44f5200,0xf4435280,0x43136330,0x728cf241,
+0xf8da52b3,0x2a012000,0xf241d103,0x54f2738e,0xf241e006,0x54f5738e,
+0x2008f8ba,0x52f23b04,0x88a2ac33,0x7388f241,0x50baf506,0xf10d52f2,
+0x220601d6,0xf7ee301c,0xf506fd21,0xa93850ba,0x30257ce2,0xfd1af7ee,
+0xf2417ce2,0xad517364,0x210054f2,0x46282228,0xfcf0f7ee,0x1d286ba2,
+0x9251a942,0xfd0af7ee,0xe0072000,0x7913180a,0xea6f3001,0xea6f6343,
+0x71136353,0xa9519b51,0xd3f34298,0x50bcf506,0xf0063010,0x6b73f845,
+0xf897b153,0xb13b328c,0x50bcf506,0xf5073025,0x22107124,0xfceaf7ee,
+0xf893ab33,0x24003034,0x321cf887,0x421df887,0x3024f896,0xd0482b00,
+0x46214630,0xfcccf7f2,0x3023f896,0x4d41f886,0x4630b11b,0xf7f54621,
+0xf8b6f841,0xf4033324,0xf5b34370,0xd1065f80,0xf8d7683b,0xf8d31128,
+0x4b1b073c,0xf8b64798,0xb96b3df2,0x1844f8d6,0x2024f9b1,0x3026f9b1,
+0xf9b1189b,0x189b2028,0x202af9b1,0xd01c42d3,0x21016ab3,0x7300f443,
+0x683b62b3,0x32fff04f,0x073cf8d3,0xfbe4f7f1,0x21054630,0xffecf7f2,
+0xf640683b,0xf8d332b8,0xf243073c,0x58f113d4,0x4c064623,0xf00047a0,
+0x4638bde5,0xf90af7ff,0xbde0f000,0x00012091,0x1e006221,0x1e0061f9,
+0xf8d5683d,0x788307f8,0x2104b113,0xfee6f008,0x13dcf243,0xb18b58eb,
+0x4cb3683b,0x073cf8d3,0x13d4f243,0x47a058e9,0xf8d7683b,0xf8d31130,
+0x47a0073c,0x21004628,0xffb6f7f2,0x3024f895,0xd0692b00,0xb3236b6b,
+0x3023f895,0xf507b30b,0x21007022,0x3005221a,0xfc3cf7ee,0x7028f507,
+0x22162100,0xf7ee3007,0xf505fc35,0x46285158,0xf0093108,0x4604fa99,
+0xf8d5b158,0x462107e8,0xffa0f7f9,0x46282200,0x46134621,0xf7f49200,
+0x2100f9d9,0x46282600,0xfc2ef7f2,0x6d67f885,0x46314628,0xffa6f7f4,
+0x3324f8b5,0x4370f403,0x5f80f5b3,0x683bd106,0x1128f8d7,0x073cf8d3,
+0x47984b89,0x4023f895,0xf44fb96c,0x46283100,0xf7f2460a,0x2301fae5,
+0x3023f885,0x4d3df885,0xf7f24628,0x4628fb7f,0xfcbef7f4,0xf5054631,
+0x2290703d,0xfbeef7ee,0x187b4631,0xb10a689a,0x60932300,0x29183104,
+0x2300d1f7,0x321df887,0x3d41f885,0x3024f885,0xf8954628,0xf7f11024,
+0xf505ffdf,0x229050ba,0x2100301c,0xfbd2f7ee,0x738cf241,0x02fff04f,
+0x230052ea,0x3048f887,0xf887653b,0x742b328c,0x3024f895,0xf8d5b93b,
+0x789b37f8,0xf243b91b,0x58eb13dc,0x4863b123,0x718ef240,0xfaf0f7ed,
+0xf7f44628,0xf000f8d5,0x2301bd21,0xf8876838,0xf8903124,0xf8803d5e,
+0x428b1d63,0xf7f4d003,0xf000ff35,0xf7febd13,0xf000fc4d,0x683cbd0f,
+0x3023f894,0xf06fb923,0x93070301,0xbd06f000,0x21004620,0xfefcf7f2,
+0xf8872300,0x4641321d,0xa8812204,0xfbaaf7ee,0x2206f89d,0xf8844620,
+0x21122350,0xf81af7f2,0xf8842101,0xf8bd1d67,0xf2412204,0x462073f8,
+0xf7f252e2,0x4620fb89,0x1d5ef894,0xff02f7f4,0xbce0f000,0x22a8ac09,
+0x46414620,0xf7ee683d,0xf997fb89,0x6863213c,0xd1034293,0xf0436fa3,
+0x67a30302,0xf5056fa3,0x93005154,0x46286f63,0xab0c9301,0xab319302,
+0x23009303,0xab809304,0x31349305,0x686368a2,0xfe56f7fc,0x7823b928,
+0xeb079a80,0xf8c30383,0x78232140,0x93004928,0x48289b80,0x6f629301,
+0x4c2768a3,0xf00047a0,0xf898bca9,0x68383000,0x0483eb07,0x3140f8d4,
+0xf0002b00,0xf500849f,0x799a5154,0xf7fc3134,0x2300fd57,0x3140f8c4,
+0xbc94f000,0xa86d2220,0x683c4641,0xfb3ef7ee,0x2a039a6d,0x848af200,
+0x5c9d4b16,0x00aa9b6f,0x620b19d1,0x19129b71,0x3eb8f8c2,0x3024f894,
+0xf0002b00,0xf894847b,0x2b003023,0x8476f000,0x713df504,0xf0094620,
+0x4601faeb,0xf0002800,0x4638846d,0xf7fe462a,0xf000f8f7,0x46c0bc67,
+0x1e006221,0x000221e0,0x00022834,0x00022285,0x1e004461,0x000221db,
+0x4641683b,0x222ca846,0x6a58f503,0xfb02f7ee,0x0900f04f,0x0a18f10a,
+0x7b90f50d,0xad4646c8,0x0309eb05,0xea4f7c1b,0xf0031249,0xf002030f,
+0x431a0260,0x200af808,0x0000f8bb,0xf8b4f7fe,0xf83b4604,0xf7fe0c08,
+0xeb0af8af,0xea400608,0x70701004,0x300cf8bb,0x095b4445,0x0a1b70b3,
+0x69e870f3,0x0308eb07,0x78726318,0x300af818,0x78f19200,0x4ca978b2,
+0x2201ea42,0x90029201,0x48a7464a,0xf10949a7,0x47a00901,0x0f04f1b9,
+0x0804f108,0x0b02f10b,0x6838d1c1,0xf7f32101,0xf000fd45,0x683abc07,
+0x43e0f243,0xf00052d5,0x683abc01,0x43dcf243,0xe3fb50d5,0xf1b56838,
+0xbf180114,0xf7f22101,0xe3f3ff83,0xa8882204,0xf7ee4641,0x9d88fa9f,
+0xdd032d20,0x031cf06f,0xe3e79307,0xfb052306,0x1d13f203,0xda034599,
+0x020df06f,0xe3dd9207,0xf8c06878,0x2d005114,0x83d8f000,0xf1083052,
+0xf7ee0104,0xe3d1fa83,0x0000f898,0x2803683e,0xf06fd903,0x93070307,
+0xf887e3c8,0xb240013c,0x0380eb06,0x54e4f243,0x2d00591d,0x83bef000,
+0x53e0f243,0xf1b358f3,0xd0073fff,0x0383eb06,0xb11c591c,0xf0238963,
+0x81630302,0xf043896b,0x816b0302,0x53e0f243,0xe3a750f0,0xf642683a,
+0x52d523cc,0x683be3a2,0x32dcf642,0x68385499,0xb1235c83,0xf6422201,
+0x54c233dd,0xf04fe396,0xf64232ff,0x54c233dd,0x220ce390,0x4641a87b,
+0xf7ee683e,0x9b7bfa3b,0x2b059a7d,0xf06fd903,0x92070201,0xeb07e382,
+0x689c0383,0xf06fb91c,0x93070315,0xf102e37a,0xf5b5050c,0xd9047f90,
+0xf6404857,0xf7ed11ae,0x4620f93b,0x462a4641,0xfa1cf7ee,0x2b039b7b,
+0x2b00d002,0x8366f040,0x3024f896,0xf0002b00,0x46308361,0xfe7ef7f2,
+0x46214638,0xf7fe2200,0x4630faa7,0xf8eaf7f2,0x687ae354,0x0301f005,
+0x68387413,0xff00f7f3,0xf8d06838,0x7a1b3844,0xf0002b00,0xf7f28347,
+0x687bf94d,0x2b007c1b,0x8340f040,0xf0139b88,0xd0060f02,0xf5006838,
+0x31345154,0xf82af7f2,0x6838e334,0xf832f7f2,0x4641e330,0x2204a886,
+0xf9dcf7ee,0x65399986,0x6d78b131,0x0104f108,0xf7ee464a,0xe321f9d3,
+0x22406d78,0xf9aef7ee,0xa87ee31c,0x22084641,0xf9c8f7ee,0xf8879b7e,
+0x9b7f3048,0xe311647b,0xb915683a,0x5d11f882,0x2301e002,0x3d11f882,
+0xf7f36838,0xf898feb9,0x68393000,0x3068f887,0x3001f998,0xf8812200,
+0xf2432d6a,0x520b10ea,0xf883683b,0xf8972d6b,0xb9122068,0x2301683a,
+0x2a02e003,0x683ad104,0xf8825a13,0xe00f3d6a,0xd1032a01,0xf883683b,
+0xe0092d6b,0xd0032a03,0x0216f06f,0xe0039207,0x5a13683a,0x3d6bf882,
+0xf7f16838,0xe2d5fec7,0xf243683b,0x549d1297,0x5c8b6839,0x085b3a01,
+0xe2cb548b,0x1e004461,0x000222d3,0x000221c8,0x000221e0,0x0000f898,
+0xfec0f7fc,0xb240683b,0x3848f8d3,0x0124f8c3,0x0118f8c3,0x683ae2b6,
+0x23d8f642,0xf7fc56d0,0xf888febd,0x683b0000,0x3848f8d3,0xf0006818,
+0xf888fd6d,0xe2a50001,0xe2a366fd,0x0f23f1b9,0xf06fd803,0x93070317,
+0xf8d7e29c,0x2b0132c4,0xf06fd103,0x92070201,0xad5be294,0x46282224,
+0xf7ee4641,0xf89df93f,0x2b04318a,0x8287f200,0x222c2100,0xf1072401,
+0xf7ee0074,0xf887f913,0x9a5b4074,0x67ba1d29,0x007cf107,0xf92af7ee,
+0xf107220a,0xf105008d,0xf7ee0114,0x687af923,0x4070f887,0x3024f892,
+0xf0002b00,0xf892826b,0x2b003023,0x8266f000,0xf5006838,0x31085158,
+0xff5af008,0x28004601,0x8259f000,0xf0086838,0xe257ff5b,0x46382100,
+0xfa8ef7ff,0x90852101,0xf7ff4638,0xa985fa89,0x22049084,0xf7ee4640,
+0xf108f8f9,0xa9840004,0xf7ee2204,0xe241f8f3,0xf8c2683a,0x9b885eb8,
+0x3ebcf8c2,0x3ec0f8c2,0x3ec4f8c2,0xf1b9e236,0xd97f0f03,0x3000f898,
+0xd05b2b02,0xd02f2b03,0xd0032b01,0x0316f06f,0xe2279307,0x1002f898,
+0x1d13004a,0xd36d4599,0xd86b2910,0x3001f898,0x1234f8d7,0xf021b923,
+0xf8c70302,0xe0073234,0x0302f041,0x3234f8c7,0x3001f898,0x3268f8c7,
+0x3002f898,0x3264f8c7,0x3002f898,0xf0002b00,0xf5078205,0xf108701b,
+0xf7ee0104,0xe1fdf8af,0x1002f898,0x1d13004a,0xd3434599,0xd8412910,
+0x3001f898,0x1234f8d7,0xf021b923,0xf8c70304,0xe0073234,0x0304f041,
+0x3234f8c7,0x3001f898,0x3240f8c7,0x3002f898,0x323cf8c7,0x3002f898,
+0xf0002b00,0xf50781db,0xf1087011,0xf7ee0104,0xe1d3f885,0x0f07f1b9,
+0xf898d91c,0x2b013002,0xf898d818,0xf8d73001,0xb9131234,0x0301f021,
+0xf041e001,0xf8c70301,0xf8983234,0x2b003002,0x81bcf000,0x700ef507,
+0x0104f108,0xf7ee2204,0xe1b3f865,0x0201f06f,0xe1af9207,0x32c4f8d7,
+0xf0402b02,0xf1b981a0,0xd8030f21,0x0317f06f,0xe1a39307,0x70c9f50d,
+0x22224641,0xf84ef7ee,0x6b5b683b,0xf89db933,0xb11b3192,0x0201f06f,
+0xe1939207,0x1192f89d,0xf8876838,0x6b43128c,0xf0002b00,0x687b818b,
+0x4023f893,0xf507b16c,0x30057022,0xf50db129,0x221a71cd,0xf82ef7ee,
+0x221ae17c,0xf80af7ee,0xf50de178,0x1ca975c9,0xffeef008,0xb9184601,
+0x0315f06f,0xe16d9307,0x228cf897,0x9400b13a,0xf1056838,0x46230208,
+0xfdacf7f3,0x9200e162,0x46136838,0xfda6f7f3,0xf8d7e15c,0x2b0232c4,
+0x814df040,0x0f15f1b9,0xd803683c,0x0217f06f,0xe14f9207,0x328cf897,
+0xf0002b00,0xf50d814b,0x462875eb,0x22164641,0xfff4f7ed,0x3024f894,
+0xf8b4b11b,0xf88d3324,0xf50731d6,0x30077028,0x22164629,0xffe6f7ed,
+0x3023f894,0xd0392b00,0x33e2f642,0xf1b356e3,0xd12b3fff,0x46283502,
+0xfd8ef7fd,0x33e1f642,0xf00056e3,0x42930203,0x4620d003,0xf7f2210b,
+0x4628fa9f,0xfd80f7fd,0x33e3f642,0xf3c05ce3,0x42930280,0x4620d003,
+0xf7f2210d,0x4628fa91,0xfd72f7fd,0x33e5f642,0xf3c05ce3,0x42931200,
+0x4620d017,0xf7f2210f,0xe012fa83,0xbf0c2b01,0x22002203,0x33e1f642,
+0xe00a54e2,0xf7fd1ca8,0xf000fd5b,0x28030003,0x2204d103,0x4304f642,
+0xf89450e2,0x2b003024,0x80e8f000,0x3023f894,0xf0002b00,0xf50480e3,
+0x46205158,0xf0083108,0x4605fdd7,0x4870b940,0x7178f640,0xfea0f7ec,
+0x0301f06f,0xe0d19307,0xf5072300,0x93007222,0x46294620,0xf50d3205,
+0xf7f373eb,0x4620fd0f,0xf0084629,0xe0c1fdc5,0x32c4f8d7,0xf0402b02,
+0x220480b2,0xa988a883,0xff68f7ed,0x320cf89d,0xf2402b02,0x485c80b3,
+0x412df240,0xfe78f7ec,0x683be0ac,0x2b006b5b,0x809df000,0x32c4f8d7,
+0xf0402b02,0xa9888098,0xa8822204,0xff4ef7ed,0xf89d4638,0xf89d1208,
+0xf7fe2209,0x9007f899,0x4620e094,0x1848f8d4,0xf7f1462a,0x9007fa73,
+0x4620e08c,0x462a2102,0x4c482300,0x900747a0,0x4620e084,0x462a2101,
+0x4c442300,0x900747a0,0xf8a4e07c,0xe07956fc,0x36fcf8b4,0x3000f8c8,
+0x4620e074,0xf7f24629,0x9007ffb5,0x4620e06e,0xfaa8f7f1,0x0000f8c8,
+0x4620e068,0xf7f14629,0x9007ff3b,0xf8d4e062,0xf8c83814,0xe05d3000,
+0x2300aa88,0x0220f89d,0x3206a985,0x3214f88d,0x3226f8ad,0xfac0f7f1,
+0xd0482800,0xf8bd2302,0x93002226,0xf89d9b87,0x46201214,0xbf142b00,
+0x23004613,0xfe76f7f1,0xaa88e040,0xf89d2300,0xa9850220,0xf88d3206,
+0xf8ad3214,0xf7f13226,0xb360faa3,0x3214f89d,0x0343eb04,0x2af4f8b3,
+0x3226f8bd,0xbf0c421a,0x23012300,0x3000f8c8,0x4620e024,0xf7f1a988,
+0xb1c0fc85,0xf8bd4620,0xf8bd1220,0xf7f1221c,0xe017fb41,0xa9884620,
+0xfc78f7f1,0x4620b158,0x1220f8bd,0xfc56f7f1,0x0000f8c8,0xf06fe00a,
+0x92070216,0xf06fe006,0x93070301,0xf04fe002,0x920732ff,0xf50d9807,
+0xe8bd7d0b,0x46c08ff0,0x000221e0,0x0001dc01,0x7943b510,0xb10b460c,
+0xe01eb2d8,0xb9097901,0xe01a2001,0xf8931903,0xf04fc01f,0xb9140e01,
+0x3024f890,0xf890e001,0x44633049,0xb25bb24a,0x0f43ebb2,0xfa5fdd02,
+0xe006f08e,0x0e01f10e,0xf1be3009,0xd1ea0f05,0xbd102004,0x468cb530,
+0x461d4614,0x0209f1a2,0xfb0c2309,0xf89d2303,0xb2db100c,0xb911181b,
+0x2024f893,0xf893e001,0x18432048,0xe01ff893,0x0f01f1bc,0x0302eb0e,
+0xd102b2da,0xfe82fa5f,0x1903e009,0xf893b911,0xe0013024,0x3048f893,
+0xfa5f4473,0xb939fe83,0xb9141940,0x006cf890,0xf890e005,0xe002007b,
+0xf8931943,0xf1bc008a,0xd0040f01,0x2b00b243,0x4610dc01,0x1813e008,
+0xb242b2d8,0xf38efa4f,0xbfc8429a,0xf08efa5f,0x46c0bd30,0x41f3e92d,
+0xf881fa5f,0x4170f401,0x5f00f5b1,0x2602bf14,0x79412600,0x46144607,
+0xb2cdb109,0x4631e003,0xff7ef7ff,0x46294605,0x46432200,0x46389600,
+0xff9cf7ff,0xf0000040,0x702000fe,0x70a07060,0x462970e0,0x46432201,
+0x46389600,0xff8ef7ff,0xf0000040,0x712000fe,0x46297160,0x46432202,
+0x46389600,0xff82f7ff,0xf0000040,0x71a000fe,0x462971e0,0x46432203,
+0x46389600,0xff76f7ff,0xf0000040,0x722000fe,0x46297260,0x46432204,
+0x46389600,0xff6af7ff,0xf0000040,0x72a000fe,0x462972e0,0x46432205,
+0x46389600,0xff5ef7ff,0x0040b240,0x46297520,0x46432206,0x46389600,
+0xff54f7ff,0xf0000040,0x756000fe,0x462975a0,0x46432207,0x46389600,
+0xff48f7ff,0xf0000040,0x75e000fe,0x96007620,0x46294638,0x46432208,
+0xff3cf7ff,0xf0000040,0x766000fe,0x76e076a0,0x81fce8bd,0x6805b570,
+0xf8d57101,0xb0923848,0xf0006818,0xf10df979,0x46010603,0x46284632,
+0x47984b0b,0x3848f8d5,0x4620681c,0xf96cf000,0x46024631,0xf0004620,
+0xf8d5f977,0xf04f3848,0x681831ff,0xf0012200,0xb012fb87,0x46c0bd70,
+0x0001e2f1,0x460eb573,0x24004615,0x2200e00c,0xa9014b07,0x55a04798,
+0x1c629801,0xb90b7803,0xe0044610,0x46143001,0xd1f042ac,0xbd7c4628,
+0x1e0037cd,0xf8a36c83,0xf8b313f6,0xb28003fa,0x46c04770,0xf8a36c83,
+0xf8a313f6,0x477023fa,0xf7ffb510,0xbd10fff7,0xf8a36c83,0xf8b313fc,
+0xb28003fe,0x46c04770,0xf8a36c83,0xf8a313fc,0x477023fe,0xf8a36c83,
+0xf8b313fc,0x400a13fe,0x23fef8a3,0x46c04770,0xf8a06c80,0xf8b013fc,
+0xb29b33fe,0xf8a0431a,0x477023fe,0x40136c80,0x13fcf8a0,0x13fef8b0,
+0xea21b289,0x430b0102,0x33fef8a0,0x46c04770,0x0032f990,0x46c04770,
+0x1032f880,0x46c04770,0xf240b510,0xf7ff41fb,0xf3c0ffc3,0xbd102006,
+0xf240b510,0xf64f414c,0xf7ff72fc,0xbd10ffc7,0x460cb570,0x22074605,
+0xf2404623,0xf7ff41ea,0x4628ffd1,0x41ebf240,0x46232207,0xffcaf7ff,
+0x46c0bd70,0xb5702280,0x46044613,0xf240460e,0xf24061d1,0xf7ff65d7,
+0x4620ffbd,0xf44f2207,0xf7ff61da,0x4620ff9d,0x22014629,0xf7ff2300,
+0x2202ffb1,0x46294620,0xf7ff4613,0x2204ffab,0x46294620,0xf7ff4613,
+0x4620ffa5,0x22084629,0xf7ff2300,0x4620ff9f,0x22104629,0xf7ff2300,
+0x4620ff99,0x22204629,0xf7ff2300,0x4620ff93,0x22404629,0xf7ff2300,
+0x4620ff8d,0x22804629,0x23003506,0xff86f7ff,0x46294620,0x46332201,
+0xff80f7ff,0x46200073,0x22024629,0xf7ff3d01,0x2201ff79,0x46294620,
+0xf7ff2300,0x2202ff73,0x46294620,0xf7ff4613,0x2204ff6d,0x46294620,
+0xf5a54613,0xf7ff75ec,0x3d01ff65,0x7200f44f,0x46294620,0xf7ff4613,
+0x4620ff5d,0x46292300,0x7200f44f,0xff56f7ff,0x4b014620,0xbd704798,
+0x1e007459,0x47702000,0xb5106c83,0x3120f8d3,0x46046c43,0x3710f8d3,
+0x0f01f013,0xb1a1d115,0x414cf240,0x02fff24e,0xff28f7ff,0xf44f4620,
+0xf24f6196,0xf7ff72f7,0x4620ff21,0x41f9f240,0x72f7f64f,0xff1af7ff,
+0x4620e02f,0x414df240,0x32fff248,0xff12f7ff,0xf2404620,0xf44f414c,
+0xf7ff52f8,0x4620ff15,0x41b7f240,0x02fff248,0xff04f7ff,0xf2404620,
+0xf64d41b1,0xf7ff72ff,0x4620fefd,0x6196f44f,0x0208f640,0xff00f7ff,
+0xf2404620,0xf64f41fa,0xf7ff72f7,0x4620feef,0x41f9f240,0xf7ff2208,
+0xbd10fef3,0x0030f990,0x46c04770,0x1030f880,0x46c04770,0x47708581,
+0x47708d80,0x46c04770,0x5c5b4b02,0xf99018c0,0x4770016d,0x00023ac4,
+0xf9911841,0x47700175,0xf04fb500,0xeb000e00,0xf81e020e,0xf10e3001,
+0xf1be0e01,0xf8820f04,0xd1f431c9,0x0e00f04f,0x020eeb01,0x030eeb00,
+0xf10e7912,0xf1be0e01,0xf8830f08,0xd1f321cd,0x0e00f04f,0x020eeb01,
+0xb9037d13,0xf10e7913,0xf8800e01,0x300131d5,0x0f08f1be,0xbd00d1f2,
+0x2300b122,0x3d7cf8c0,0x3d80f8a0,0x1d24f8c0,0x47702001,0x69412200,
+0x180b4610,0x3015f993,0x18d23001,0xd1f82808,0xf0f0fb92,0x4770b240,
+0x3258f890,0x4696b510,0x2b006bc4,0xf013d037,0xd0160f01,0x3260f8d0,
+0xd10c428b,0x6a1a6943,0xf883189b,0x6942e015,0x2b076a13,0x2300d101,
+0x3301e000,0xf8906213,0xf0233258,0xf8800301,0xf8903258,0xf0133258,
+0xd00f0f02,0x3264f8d0,0xd105428b,0xf503191b,0x3358532a,0xe004f883,
+0x3258f890,0x0302f023,0x3258f880,0x3258f890,0x0f04f013,0xf023bf1c,
+0xf8800304,0xbd103258,0xb5102100,0x025bf06f,0xf7ff460b,0xbd10ffb9,
+0x69432100,0x310118cb,0x755a2908,0x6943d1f9,0x621a2200,0x2b03691b,
+0xf8d0d10a,0xf0133d8c,0xd0050f02,0xf8d36c43,0x3308370c,0x3d84f8c0,
+0x46c04770,0xf8c02300,0xf8a03d90,0x461a3d94,0x32041883,0x2a202100,
+0x1d98f8c3,0xf8c0d1f8,0x47701db8,0x4604b530,0xb1d9460d,0x1db8f8d0,
+0x3d90f8d0,0x0081eb00,0x2d98f8d0,0x1a9b3101,0x2d96f8b4,0xf8c4195b,
+0x1e533d90,0xf8c4400b,0xf8b43db8,0xf8c03d94,0x429a5d98,0x3301d902,
+0x3d94f8a4,0x0d94f8b4,0xf8d4b118,0xfb933d90,0xbd30f0f0,0x798a7a4b,
+0x4b090899,0x565b2a7f,0xf5a2bfc8,0x18d37280,0x0f2ef113,0x2912dd02,
+0x3307bf88,0x0f9ff990,0x18c03002,0x46c04770,0x000238ee,0x46c04770,
+0x71e0ea80,0x71e0eba1,0xb2d02200,0xf300fa51,0x2b003201,0x4770dcf9,
+0x46c04770,0x2902b570,0x6be34604,0xf8944610,0xd0085258,0xd0162903,
+0xd1192901,0x0301f045,0x2260f8c4,0x18d3e00c,0x532af503,0xf06f3358,
+0x711a025b,0x3258f894,0x0264f8c4,0x0302f043,0x3258f884,0xf045e009,
+0xf8c40304,0xe7f72268,0xf6494805,0xf7ec51dd,0xb925fa0b,0xf8d36c63,
+0xf8c4370c,0xbd70325c,0x0002299e,0x41f0e92d,0x2320461e,0x9c06290e,
+0x70134607,0x2c00d80e,0x2400da01,0x2c13e006,0x4822dd04,0x311ff248,
+0xf9eef7ec,0xf893193b,0xe0373088,0x2500237f,0xea347033,0xbf280424,
+0x462a2404,0x58d34b1a,0xd0084299,0x32143501,0xd1f72d0e,0xf2484815,
+0xf7ec3131,0x2c13f9d5,0x4812dd04,0x3139f248,0xf9cef7ec,0x3d1cf8d7,
+0x5d5bb10b,0xf1a5e016,0x2b15030e,0x193bd803,0x30e2f893,0xf1a57033,
+0x2b050324,0x193bd803,0x310ff893,0xf1a57033,0x2b08032a,0x193bd803,
+0x30b5f893,0xe8bd7033,0x46c081f0,0x0002299e,0x1e00cc2c,0x47ffe92d,
+0x46822500,0x4690460f,0x26ff4699,0xf10d462c,0x4650030f,0xf10d4639,
+0x9400020e,0xff96f7ff,0x300ff89d,0x2b06b123,0x3b06d902,0xe000b2db,
+0x34012300,0xbf2842ab,0x42b3461d,0x461ebf38,0xf88d2c0c,0xd1e2300f,
+0x5000f888,0x6000f889,0x87ffe8bd,0x2b011e4b,0x4605b570,0xd904460c,
+0xf2484816,0xf7ec21d7,0xf895f973,0x25006cdd,0x58e94b13,0xbf8c290e,
+0x5380f44f,0x5300f44f,0x6230f441,0xb2984313,0x2994b11e,0x29a5d901,
+0x2c02d908,0x290ed102,0xe003d90e,0xd1012c01,0xd809290e,0xf5b53514,
+0xd1e17f8c,0xf2484803,0xf7ec21fd,0x20fff94d,0x46c0bd70,0x0002299e,
+0x1e00cc2c,0x4605b570,0x460c4616,0x4807b921,0x71fef646,0xf93cf7ec,
+0x313cf895,0xb1166023,0x324cf895,0x20007033,0x46c0bd70,0x0002299e,
+0xb5106bc3,0x3830f8d3,0xf0134604,0xd0135f00,0xf8d36c83,0xf0133120,
+0xd0040f01,0xf6444807,0xf7ec41ec,0x6ca3f91d,0x0203f04f,0x26b4f8a3,
+0x02fff04f,0x26b8f8a3,0x46c0bd10,0x0002299e,0x47f0e92d,0x41dff240,
+0x4604b08a,0xfc8cf7ff,0x2b7fb2c3,0x3f8cf8a4,0x2007f3c0,0xf5a3bfc4,
+0xf8a47380,0x287f3f8c,0xf5a0bfc8,0xf8a47380,0xbfc80f8e,0x3f8ef8a4,
+0x93052311,0x090cf10d,0x9306332f,0xf2402720,0xf10d4357,0xf04f0a20,
+0xf2400802,0x46204656,0xf2404649,0x4d2b4255,0xa00cf8cd,0x8010f8cd,
+0x96009707,0x9b0847a8,0xd9012b3f,0x93083b80,0xf8c49b08,0x9b093f90,
+0xd9012b3f,0x93093b80,0xf2409b09,0xf8c44134,0x46203f94,0xfc48f7ff,
+0x287fb2c0,0xf5a0bfc4,0xb2987380,0x0f98f884,0x4124f240,0xf7ff4620,
+0xf3c0fc3b,0xf8a42007,0xf2400f9a,0x46204125,0xfc32f7ff,0xb2c0230d,
+0x330f9305,0x0f9cf8a4,0x46209306,0x4357f240,0xf2404649,0xf8cd4255,
+0xf8cda00c,0x97078010,0x47a89600,0xf8c49b08,0x9b093f7c,0x3f80f8c4,
+0xf8c44b05,0x4b053f84,0x3f88f8c4,0xe8bdb00a,0x46c087f0,0x1e00705d,
+0xf1e64d96,0xf1e60018,0x4b61b570,0x4605b08a,0x2600aa08,0x0003e893,
+0x0003e882,0xf240e00d,0x495c4356,0x23149300,0x1103fb02,0xf2404628,
+0xf2404255,0x4c584357,0x4b5847a0,0x681bb2b2,0x429a3601,0x22ffd3eb,
+0x462823a2,0x4116f240,0xfc04f7ff,0x231422ff,0xf44f4628,0xf7ff6184,
+0x4628fbfd,0x41fff240,0x427cf44f,0x53c0f44f,0xfbf4f7ff,0x230b220f,
+0xf44f4628,0xf7ff6185,0x2207fbed,0x46132130,0xf7ff4628,0x2207fbe7,
+0x46282303,0x412ff240,0xfbe0f7ff,0x22382320,0xf2404628,0xf7ff412f,
+0x6c6bfbd9,0x6a5b689b,0x639ef5a3,0x2b013b0d,0x2400d85b,0xf240e00c,
+0x49374356,0x23149300,0x1103fb02,0xf2404628,0xf2404255,0x47b04357,
+0xb2a24b32,0x3401681b,0x4e2d429a,0x2208d3eb,0x46284613,0x41def240,
+0xfbb4f7ff,0xf2404628,0x227f41e1,0x3020f8bd,0xfbacf7ff,0x46289b09,
+0xf240021b,0xf44f41e1,0xf40342fe,0xf7ff437f,0xab08fba1,0x23029303,
+0x330f9304,0x33319305,0x23209306,0xf2409307,0x93004356,0xa9034628,
+0x4255f240,0x47b03301,0xf44f4628,0xf44f6184,0xf44f427f,0xf7ff5390,
+0x4628fb85,0x4124f240,0x427ff44f,0x5300f44f,0xfb7cf7ff,0xf2404628,
+0xf246514b,0xf7ff3233,0x4628fb5b,0xf2402244,0xf7ff414a,0x4628fb65,
+0x414af240,0xf7ff2280,0xb00afb4f,0x46c0bd70,0x000228f8,0x0002311c,
+0x1e006fcd,0x0002381c,0x0002341c,0x00023818,0xb5106982,0x460c2a06,
+0x2301d80c,0xf0134093,0xd1140f35,0x0f40f013,0x2901d004,0xf441d00f,
+0xe00c7400,0xd90a2a02,0xd0082a04,0xd0062a05,0xd0042a06,0xf6414803,
+0xf7eb6103,0x4620ff95,0x46c0bd10,0x0002299e,0x41f0e92d,0x46064615,
+0x461c4688,0xffd4f7ff,0x46304601,0xfaf6f7ff,0xea20402c,0x43220205,
+0x46414630,0xf7ffb292,0xe8bdfaf5,0x46c081f0,0x4604b570,0x4615460e,
+0xffbef7ff,0x46204601,0xfae0f7ff,0x0205ea40,0x46204631,0xf7ffb292,
+0xbd70fae1,0x4604b570,0x4615460e,0xffacf7ff,0x46204601,0xfacef7ff,
+0xea004631,0x46200205,0xfad0f7ff,0x46c0bd70,0x4604b510,0xff9cf7ff,
+0x46204601,0xfabef7ff,0x46c0bd10,0x6bc0b510,0xf7f12102,0xbd10fc73,
+0x4ff0e92d,0xb0854b4f,0xac014680,0xe893460d,0xe8840007,0xf2400007,
+0x46406145,0xfab8f7ff,0x6146f240,0x46400587,0xfab2f7ff,0x61d1f240,
+0x22040586,0x23004640,0xfaccf7ff,0x46132240,0xf2404640,0xf7ff614b,
+0x4640fac5,0x6145f240,0x32fff240,0xf7ff2300,0x4640fabd,0x6146f240,
+0x32fff240,0xf7ff2300,0x4623fab5,0x46294640,0x4c352220,0x0dbf47a0,
+0x46830db6,0xd04a2800,0xf8dd9d02,0xf8dda00c,0xeb0a9004,0x2b010305,
+0xf04fd802,0xe03e0b00,0xf7ff4648,0x4604fcb1,0xf7ff4650,0xf1a4fcad,
+0xb21a0314,0xdb062a00,0xf102fa35,0x3201d041,0xf202fa35,0x4253e006,
+0xf103fa15,0x43d2d039,0xf202fa15,0xf1c3b223,0xfa09031e,0xebc3f303,
+0xf1a00402,0xb21b030b,0x460a2b00,0xfa35db02,0xe002f103,0xfa15425b,
+0xd022f103,0xf1c3b203,0xfa0a031f,0xfb94f303,0xfb93f4f2,0xfb04f0f1,
+0x4b100014,0x05a74798,0x0dbf0586,0x46400db6,0x6145f240,0x32fff240,
+0xf7ff463b,0x4640fa57,0x6146f240,0x32fff240,0xf7ff4633,0x4658fa4f,
+0x2000e000,0xe8bdb005,0x46c08ff0,0x00022af8,0x1e007879,0x0001ebd1,
+0x460db570,0xb1884606,0x3030f890,0xd0042b14,0xd0042b28,0xd0092b0a,
+0x2240e003,0x2280e007,0x4811e005,0x11faf242,0xfe86f7eb,0x21cc2200,
+0x020cf042,0xf7ec4628,0x4c0cfac1,0x47a02002,0x2202210a,0xf7ec4628,
+0x2001fab9,0x462847a0,0x22002102,0xfab2f7ec,0x47a02001,0x4630b11e,
+0x4b032101,0xbd704798,0x0002299e,0x1e005d75,0x0001ea19,0x2b011e4b,
+0x4606b570,0x4614460d,0x4815d904,0x21bcf248,0xfe56f7eb,0x21004620,
+0xf7ec221c,0x2000ff17,0x58c24b10,0x3cddf896,0x2a94b11b,0x2aa5d901,
+0x2d02d910,0x2a0ed102,0xe00bd904,0xd1092d01,0xd9072a0e,0xf00208d1,
+0x22010307,0x5c63409a,0x54634313,0xf5b03014,0xd1e17f8c,0x46c0bd70,
+0x0002299e,0x1e00cc2c,0x2380b530,0x7d09f5ad,0x9384ac03,0x93852318,
+0x33082100,0x7200f44f,0x46204605,0x93879483,0xf7ec9186,0x4622fedf,
+0x2300f44f,0x32086053,0x7300f504,0xd1f7429a,0x4356f240,0x46289300,
+0xf240a983,0x33014255,0x47a04c02,0x7d09f50d,0x46c0bd30,0x1e006fcd,
+0x4ff0e92d,0x7d0bf5ad,0xf8bd461f,0x46893258,0xf89d9303,0xf240325c,
+0x005b61a3,0x46052202,0x4250f89d,0xb254f8bd,0x8260f8bd,0xa264f8bd,
+0xf98cf7ff,0x93862380,0xae052318,0x21009387,0x96853308,0x91889389,
+0xf44fb1bc,0x46307200,0xfe9cf7ec,0xf44f4632,0x60532300,0xf5063208,
+0x429a7300,0xf240d1f7,0x93004356,0xa9854628,0x4255f240,0x4c283301,
+0xf1b947a0,0xd12f0f00,0xf2404628,0x464261a1,0xf946f7ff,0xf2404628,
+0x465261a2,0xf940f7ff,0xf2404628,0x463a617e,0xf93af7ff,0x1c7a2314,
+0xf203fb02,0x46283a01,0x61c8f44f,0xf7ffb292,0x4628f92f,0x617bf240,
+0xf7ff465a,0x4628f929,0x617cf240,0xf7ff9a03,0x4628f923,0x6176f240,
+0x02a1f24b,0xf91cf7ff,0xe0034c0e,0x4b0e200a,0x3c0a4798,0xf2404628,
+0xf7ff6176,0xf010f909,0xd0010f01,0xd1f12c09,0x46282280,0x6176f240,
+0xf7ff4613,0xf50df91f,0xe8bd7d0b,0x46c08ff0,0x1e006fcd,0x000f4249,
+0x1e005d75,0xf241b510,0x5cc30311,0xb92b4604,0xf7f06bc0,0xf04ffa1b,
+0xe0060320,0xf7f06bc0,0x2801fa15,0x2340bf0c,0xf8a42346,0xf04f3f6a,
+0xf8a40300,0xbd103f6c,0x6c00b510,0xf7f02102,0xbd10fcc1,0x4604b510,
+0xfe00f7ff,0xf7ff4620,0x2000fff3,0x46c0bd10,0x29016943,0x7519b507,
+0x2303d906,0x22019300,0x21006bc0,0xe0054613,0x93002303,0x6bc02100,
+0x460b2201,0xfd9af7f0,0x46c0bd0e,0x4b5ab570,0x4605b0a0,0x002cf890,
+0x23074798,0x3319931c,0x2100931e,0xf992186a,0xa8023169,0xf840425b,
+0x31013021,0xf8822904,0xd1f33fe4,0x316df995,0x425ba91a,0xf8859306,
+0x93073fe8,0x3fe9f885,0x316ef995,0x4255f240,0x9308425b,0x3feaf885,
+0xf8859309,0xf9953feb,0x4c44316f,0x930a425b,0x3fecf885,0xf885930b,
+0xf9953fed,0x425b3170,0xf885930c,0x930d3fee,0x3feff885,0x3171f995,
+0x930e425b,0x3ff0f885,0xf885930f,0xf9953ff1,0x425b3172,0xf8859310,
+0x93113ff2,0x3ff3f885,0x3173f995,0x9312425b,0x3ff4f885,0xf8859313,
+0xf9953ff5,0x901a3174,0x9314425b,0x3ff6f885,0x317cf995,0x425b4628,
+0xf8859315,0x23183ff7,0x3328931b,0xf240931d,0x93004356,0x47a03301,
+0x037ff10d,0x2301931a,0x3307931b,0x3378931e,0x2300931d,0x307ff88d,
+0xf240461e,0x93004356,0x33014628,0xf240a91a,0x4c184255,0x9b1d47a0,
+0x931d3301,0x307ff89d,0xb2db3301,0xf88d2b20,0xbf04307f,0x031ff06f,
+0x307ff88d,0x2e403601,0x4628d1e3,0x41a7f240,0xf812f7ff,0x31c8f895,
+0x4298b2c0,0x4628d006,0x41a7f240,0xf7ff22ff,0xe003f829,0x0311f241,
+0xb1135ceb,0xf7ff4628,0xb020ff0d,0x46c0bd70,0x1e00679d,0x1e006fcd,
+0x43f0e92d,0xab08b08b,0x23029303,0x330b9304,0x33139305,0xf9909307,
+0x46079f9e,0x0f0ff119,0x33feda2c,0xf303fb09,0x53a0f503,0x131b331c,
+0xf8803b02,0xae033f9f,0x4556f240,0x9306231a,0xf2404631,0xf2404255,
+0xf8df4357,0x950082a4,0x231c47c0,0x46389306,0xf2404631,0xf2404255,
+0x4ca24357,0x47a09500,0x46389500,0xf2404631,0xf2404255,0x47c04357,
+0xe0942406,0x0f12f1b9,0xf44fdc44,0xfb09738f,0xf5a3f303,0x3b0a6344,
+0xf240131b,0xf8804456,0xad033f9f,0x4e94231a,0x94009306,0xf2404629,
+0xf2404255,0x47b04357,0x9306231c,0x46389400,0xf2404629,0xf2404255,
+0xf8df4357,0x47c08228,0x46389400,0xf2404629,0xf2404255,0x47b04357,
+0x93062336,0x3f84f8d7,0x93084638,0x3f88f8d7,0x93094629,0xf2409400,
+0xf2404255,0x47c04357,0x46389400,0xf2404629,0xf2404255,0x47b04357,
+0xe04c2403,0x0f45f1b9,0xf8dfad03,0x4e7581dc,0x2f7cf8d0,0x1f80f8d0,
+0xf44fdc20,0xfb09738f,0xf5a3f303,0x3b1a531c,0xf880131b,0xf2403f9f,
+0x231c4456,0x92089306,0x94009109,0xf2404629,0xf2404255,0x47b04357,
+0x46389400,0xf2404629,0xf2404255,0x47c04357,0xe0202400,0x738ff44f,
+0xf303fb09,0x438cf5a3,0x131b3b62,0x3f9ff880,0x4456f240,0x9306231c,
+0x91099208,0x46299400,0x4255f240,0x4357f240,0x940047b0,0x46294638,
+0x4255f240,0x4357f240,0xf06f47c0,0xf8b70402,0xb2a53f8c,0x22ff18eb,
+0xf2404638,0xb29b41df,0xff3cf7fe,0x3f8ef8b7,0x427ff44f,0x021b18eb,
+0x46384013,0x41dff240,0xff30f7fe,0x9303ab08,0x3f90f8d7,0x18e34638,
+0xf8d79308,0xa9033f94,0x930918e3,0x93042302,0x9305330f,0x9306332f,
+0x93072320,0x4356f240,0xf2409300,0x33014255,0x47a04c38,0x3f98f997,
+0x18eb22ff,0x4638b29b,0x4134f240,0xff0af7fe,0x030ff109,0xd8082b21,
+0xf8974b32,0x4798002c,0x137bf640,0xd8304298,0xf1a9e00b,0x2b130332,
+0x4b2cd813,0x002cf897,0xf6404798,0x4298137b,0x22ffd805,0xf2404638,
+0x46134134,0x4638e01b,0x4134f240,0x230022ff,0xf1b9e015,0xdd140f45,
+0xf8974b20,0x4798002c,0x137bf640,0xd8054298,0xf2404638,0x22ff4134,
+0xe00423fd,0xf2404638,0x22ff4134,0xf7fe23fe,0xf8b7fecd,0xf44f3f9a,
+0x18eb427f,0x4013021b,0xf2404638,0xf7fe4124,0xf8b7fec1,0x46383f9c,
+0xb29b18eb,0xf24022ff,0xf7fe4125,0x4638feb7,0xf2402244,0xf7fe414a,
+0x4638fea7,0x414af240,0xf7fe2280,0x4638fe91,0xfdd4f7ff,0xe8bdb00b,
+0x46c083f0,0x1e006fcd,0x1e00705d,0x1e00679d,0x41f0e92d,0x460521e0,
+0xf7f06bc0,0xf8b5f96f,0x46074f68,0x0400ebc4,0x41a5f240,0xf7fe4628,
+0x2301fe6b,0x2602f3c0,0xb2a440b3,0xdd0c429c,0x7f68f8a5,0xf2404628,
+0xf7fe41ab,0xf3c0fe5d,0xf8a52006,0xf8a50f6a,0xe8bd6f6c,0x46c081f0,
+0x460db570,0x41a4f240,0xf7fe4604,0xf400fe4d,0xb1554660,0x4f00f5b5,
+0xf5b5d007,0xd0044f60,0xf6444826,0xf7eb5197,0x42aefabb,0xf5b6d045,
+0xd1094f60,0xf7ff4620,0x4620ffbb,0x47984b20,0x4f60f5b5,0xe027d12a,
+0x4f60f5b5,0x4620d126,0xfd78f7ff,0xf2404620,0x227f41a4,0x3f6af8b4,
+0xfe44f7fe,0x3f6cf8b4,0x62e0f44f,0xf403021b,0x4620437f,0x41a5f240,
+0xfe38f7fe,0x6be021e0,0xf90cf7f0,0xf8a44b0f,0x21000f68,0x47984620,
+0x33fff04f,0x3f70f884,0xe0002300,0x46202310,0x61a3f240,0xf7fe2210,
+0x4620fe21,0x41a4f240,0x4260f44f,0xf7fe462b,0xbd70fe19,0x0002299e,
+0x1e0070f9,0x1e007415,0x47f0e92d,0xb094297f,0x46894607,0x4855dd04,
+0x7151f644,0xfa60f7eb,0xf8872307,0xf04f9f70,0x930a0a01,0x33194638,
+0x41a4f240,0xf8cd930c,0xf7fea024,0xf410fdd5,0xd0044f60,0xf44f4638,
+0xf7ff4100,0xf509ff79,0xf10d73a0,0x930b0820,0xf240ab13,0x4e444556,
+0x46389308,0xf2404641,0xf2404255,0x95004357,0xf10947b0,0x930b03c0,
+0x9308ab12,0x46414638,0x4255f240,0x4357f240,0x47b09500,0x46389b12,
+0x02fff003,0x2034f8ad,0x2207f3c3,0x4307f3c3,0x3038f8ad,0xf8ad9b13,
+0xf3c32036,0xf8ad7302,0xa90d303a,0x47984b2f,0x104bf89d,0xf0014638,
+0x4b2d017f,0x99134798,0xf3c14638,0x4b2b5107,0x9b134798,0xf3c34638,
+0x059b2289,0xf8ad0d9b,0x2300303e,0x33109305,0xab0f9307,0x23029303,
+0x334e9304,0x203cf8ad,0xa9039306,0x4255f240,0x4357f240,0x95004c1e,
+0xf50947a0,0x930b73e0,0x9308ab11,0x46414638,0x4255f240,0x4357f240,
+0x47b09500,0xf8bd4638,0x4b161044,0xf5094798,0x930b7310,0x9308ab10,
+0x46414638,0x4255f240,0x4357f240,0x47b09500,0x46389b10,0xb29b00db,
+0x61a6f240,0x72fff641,0xfd68f7fe,0x46514638,0x47984b09,0xe8bdb014,
+0x46c087f0,0x0002299e,0x1e00705d,0x1e0075f9,0x1e00729d,0x1e007321,
+0x1e006fcd,0x1e00739d,0x1e007415,0xf647b570,0x4604757f,0x462a2158,
+0xf7ef6bc0,0x6be0feff,0x462a215a,0xfefaf7ef,0x21706be0,0xf7ef462a,
+0x6be0fef5,0x462a2172,0xfef0f7ef,0x46c0bd70,0x6bc5b5f7,0xf8d54604,
+0x7a1b3844,0xd05d2b00,0x3033f890,0xd0412b00,0x21284628,0xf7ef223f,
+0x4628fedd,0x22102124,0xfed8f7ef,0x21c8f894,0x21264628,0xf7ef0112,
+0x4628fed1,0xf8b42132,0xf7ef2250,0x4626fecb,0x4b212700,0x18fb4628,
+0x4b207919,0x017ff001,0xf9964798,0x4604216d,0x46281da1,0xf7efb292,
+0xf996feb9,0x2302216d,0xf2f3fb92,0x46284252,0x010ef104,0x3701b292,
+0xfeacf7ef,0x2f083601,0x2303d1df,0x93002280,0x21014628,0xf7f04613,
+0xe017f9ad,0x20044601,0x316df991,0x33072208,0xf3f2fb93,0x300100db,
+0x316df881,0x280c3101,0xf994d1f2,0x4628216d,0x214e3207,0x02cff3c2,
+0xfe88f7ef,0x46c0bdfe,0x1e00c60c,0x0001d839,0x4ff0e92d,0x3ffff1b1,
+0x4605b091,0x9202468a,0x8d81d115,0x7340f401,0x7f40f5b3,0xb2cfd101,
+0xf5b3e00e,0xb2c97f00,0x29ddd103,0x1c8fd803,0x2902e006,0x2700d801,
+0x1e8fe002,0x460fe000,0x0b00f04f,0x46a922ff,0x920346a8,0x4639465e,
+0x023ef10d,0x033ff10d,0xf8984628,0x9600413c,0xfef0f7fe,0x21c9f998,
+0x303ff89d,0x0111f10d,0xbfa84293,0xb2db4613,0x303ff88d,0xbf2842a3,
+0x54734623,0x2b0bb2f3,0xf89dd903,0x3b0c301c,0x6c6b5473,0x0801f108,
+0x26fef893,0xfb035c73,0x2264f302,0xf3f2fb93,0x5473b2db,0x36019a03,
+0xbf28429a,0x459b461a,0x469bbf38,0x92032e14,0xf1bad1c5,0xd00a3fff,
+0xb9239b02,0xf2484826,0xf7eb416f,0x9a02f8b9,0xb000f882,0xf505e041,
+0x210070b4,0x222d3001,0xf974f7ec,0xf8859b03,0xf885b031,0x210031c8,
+0x0311f10d,0xf8955cca,0xf8893033,0xb91b2196,0x3031f895,0xe0031a9b,
+0x31c8f895,0x0302ebc3,0x29143101,0x3169f889,0x0901f109,0x4628d1e8,
+0x6192f501,0xfc10f7fe,0x4f60f410,0x4628d012,0x41a4f240,0xfc08f7fe,
+0x46042100,0xf7ff4628,0x4628fdaf,0xfb4ef7ff,0xf4044628,0xf7ff4160,
+0xe002fda7,0xf7ff4628,0xb011fee3,0x8ff0e8bd,0x0002299e,0x4604b570,
+0xb90b461d,0xe000461e,0x29d3681e,0xdc04d038,0xd011291b,0xd0092987,
+0x29dce005,0x29ddd016,0x29d4d018,0xf06fd038,0xe05b0516,0xf7fe4620,
+0xb240fd4d,0xe0546028,0x7c5d6c63,0xf06fb115,0xe04f0504,0xf0104620,
+0xe04bfe55,0xf8936c63,0xe01f36fe,0xd8412e64,0xf8836c63,0x6c6366fe,
+0x2b007c5b,0x6be0d03d,0xffbaf005,0x28004605,0x4620d137,0x31fff04f,
+0xf7ff462a,0xe031ff09,0x691a6963,0xf8d4602a,0xf0133d8c,0xd0280f02,
+0x0380f042,0xe024602b,0xd81f2e03,0x69136962,0xd01e42b3,0x61166c63,
+0xb1d37c5b,0xf7f06be0,0xb126fd69,0x21004620,0xf7fe2201,0x6963fcfd,
+0x46202201,0xf7fe6919,0x2800fcf7,0xbf146be0,0xf06f2500,0xf7ef0502,
+0xe003ffc9,0x051cf06f,0x2500e000,0xbd704628,0xb570297f,0xd9014604,
+0xe01a2005,0x18a32200,0x2a2d3201,0x113cf883,0x2300d1f9,0x324cf884,
+0x7c5b6c63,0x6be0b163,0xff66f005,0xb9384605,0xf04f4620,0x462a31ff,
+0xfeb6f7ff,0xe0004628,0xbd702000,0x6c43b5f0,0x4607b089,0x6898b2cc,
+0x71fff640,0x7272f44f,0xfc7af7eb,0x031ff10d,0x23019302,0x33139303,
+0x23089304,0x6c7b9306,0x6a5b689b,0x639ef5a3,0x2b013b0d,0x4638d869,
+0x61aaf44f,0x72a5f44f,0xfb3ef7fe,0xd8052c04,0xf2404638,0x22ff4134,
+0xe00823fd,0xb2db1f63,0xd8072b03,0xf2404638,0x22ff4134,0xf7fe23fe,
+0xe012fb45,0x0309f1a4,0x2b05b2db,0x22ffd80d,0xf2404638,0x46134134,
+0xfb38f7fe,0xf44f4638,0xf44f61aa,0xf7fe72af,0x2302fb17,0xf88d2c07,
+0xd117301f,0xae023337,0x4556f240,0x46389305,0xf2404631,0xf2404255,
+0x95004357,0x47a04c73,0x9305233a,0x46314638,0x4255f240,0x4357f240,
+0xe0d79500,0xd1172c0b,0xae022306,0x4556f240,0x46389305,0xf2404631,
+0xf2404255,0x95004357,0x47a04c66,0x93052307,0x46314638,0x4255f240,
+0x638af503,0xe0bd9500,0xf0402c0d,0x231980bc,0x4638e08e,0x61aaf44f,
+0x72aff44f,0xfad4f7fe,0xd1222c01,0x25052317,0xf2409305,0x93004356,
+0xa9024638,0x4255f240,0xf88d3301,0x4c53501f,0x463847a0,0x412ff240,
+0x462b2207,0xfad6f7fe,0xf2404638,0x22ff4134,0xf7fe23fd,0x4638facf,
+0x4116f240,0x23a322ff,0x2c02e041,0x2605d114,0xf2402507,0x93004356,
+0xa9024638,0x4255f240,0xf88d3301,0x9505601f,0x47a04c40,0xf2404638,
+0x462a412f,0xe01c4633,0xd1042c03,0x23372505,0x501ff88d,0x2c04e005,
+0x2505d13c,0x501ff88d,0x93052327,0x4356f240,0x46389300,0xf240a902,
+0x33014255,0x47a04c31,0xf2404638,0x2207412f,0xf7fe462b,0x4638fa93,
+0x4134f240,0x23fd22ff,0xfa8cf7fe,0xf2404638,0x22ff4116,0xf7fe23a2,
+0x4638fa85,0xf2402300,0xf44f5152,0xf7fe4278,0x4638fa7d,0x5153f240,
+0x42c0f44f,0x4380f44f,0xfa74f7fe,0xf2404638,0x22ff4117,0xf7fe2378,
+0xe030fa6d,0xd12e2c0d,0xf88d2302,0x3317301f,0xf240ae02,0x4c154556,
+0x46389305,0xf2404631,0xf2404255,0x95004357,0x231a47a0,0x46389305,
+0xf2404631,0xf2404255,0x95004357,0x232647a0,0x46389305,0xf2404631,
+0xf2404255,0x95004357,0x232747a0,0x95009305,0x46314638,0x4255f240,
+0x6386f503,0xb00947a0,0x46c0bdf0,0x1e006fcd,0x4ff0e92d,0x46054b46,
+0x0003e893,0xb08b4b45,0x23149303,0x23089305,0x9307ac08,0x090cf10d,
+0xf2402300,0xf2404a55,0xe8844b57,0x27400003,0xf2409306,0x46284856,
+0x46524649,0x4e3a465b,0xf8cd9704,0x47b08000,0xf6406c6b,0x689871ff,
+0x627ef44f,0xfb14f7eb,0x22074628,0xf2402303,0xf7fe412f,0x22fffa03,
+0x46134628,0x4134f240,0xf9fcf7fe,0x22ff4628,0xf24023a4,0xf7fe4116,
+0x4628f9f5,0x5152f240,0x4278f44f,0x43b0f44f,0xf9ecf7fe,0xf2404628,
+0xf44f5153,0xf44f42c0,0xf7fe5300,0x2364f9e3,0x22ff4628,0x4117f240,
+0xf9dcf7fe,0xf2404628,0xf24f41df,0xf7fe42f1,0x4628f9bb,0x4124f240,
+0x427ff44f,0x53e8f44f,0xf9ccf7fe,0x22ff4628,0xf2402306,0xf7fe4125,
+0x2302f9c5,0x330f9304,0x330f9305,0x93079403,0x46494628,0x465b4652,
+0x444af240,0xf8cd9706,0x47b08000,0x46214628,0xf7fe2244,0x4628f9a5,
+0x22804621,0xf990f7fe,0xe8bdb00b,0x46c08ff0,0x000228c0,0x000233dc,
+0x1e006fcd,0x4ff0e92d,0xb08bb2ca,0x92024607,0xf7fe9101,0x4638faa3,
+0xff5ef7ff,0x461a2300,0xf8dd49b1,0x58508008,0x90094540,0x3301d004,
+0x2b0e321c,0xe219d1f4,0xfb03241c,0x46381404,0x7a2221a2,0xf958f7fe,
+0x463821a4,0xf7fe7a62,0x21a6f953,0x7aa24638,0xf94ef7fe,0x463821a1,
+0xf7fe7ae2,0x21b4f949,0x7b224638,0xf944f7fe,0x463821b6,0xf7fe7b62,
+0x21d0f93f,0x7ba24638,0xf93af7fe,0x463821d3,0xf7fe7be2,0x21d6f935,
+0x7c224638,0xf930f7fe,0x463821d9,0xf7fe7c62,0x21dff92b,0x7ca24638,
+0xf926f7fe,0xf44f4638,0x7d227180,0xf920f7fe,0xf2404638,0x7d621103,
+0xf91af7fe,0x46387da2,0x1115f240,0xf914f7fe,0x4638210f,0xfe3cf7fe,
+0x021ef040,0x210f9006,0xb2924638,0xf908f7fe,0xf8d74b80,0x68605dc8,
+0xbf8c429d,0x0902f04f,0x0901f04f,0x13b4f640,0xd9014298,0xe0000040,
+0x24030080,0xf104fb05,0xf8df4e77,0x2210b1e8,0x91039004,0x0dc8f8d7,
+0x47d84631,0x22104631,0x47d84628,0xf106fb09,0x90052210,0x47d84628,
+0x22104621,0x98049008,0x40a547d8,0x22022179,0x46389007,0xf8d4f7fe,
+0x217c4b68,0xf303fb09,0xf3f3fbb5,0x085b3301,0xfa5f3b01,0x2207fa83,
+0xea4f4638,0xf7fe039a,0xf10afdb3,0x217d0801,0x46382260,0x134aea4f,
+0xfdaaf7fe,0xf308fb09,0xfbb54c5b,0x192cf5f3,0xf4f6fbb4,0xb2e43c01,
+0x4622217b,0xf7fe4638,0x9a08f8ab,0x01159807,0x22104629,0x340147d8,
+0xf604fb08,0xf006fb00,0xdb0a2800,0x46299807,0x47d82210,0xf006fb00,
+0x300113c0,0x1e441040,0x9807e00d,0x22104629,0xea6f47d8,0xfb03030a,
+0xfb00f304,0x13c0f003,0xea6f3001,0xf3c40460,0x46382307,0x220f217d,
+0xfd6ef7fe,0xb2e24638,0xf7fe217e,0x9b04f879,0x4224f24f,0xf202fb03,
+0xfbb29803,0x011ef3f0,0x2313fb00,0xe0020118,0x36019903,0x9a031a40,
+0xd2f94290,0x4d334611,0x47a82214,0x46042170,0x4638221f,0x1307f3c6,
+0xfd4af7fe,0x46380133,0xf44f2171,0xf00372f8,0xf7fe03f0,0xf3c4fd41,
+0x46384307,0x220f2171,0xfd3af7fe,0x2207f3c4,0x21724638,0xf844f7fe,
+0x4638b2e2,0xf7fe2173,0x4638f83f,0x22b9216c,0xf83af7fe,0x216d4638,
+0xf7fe2288,0x4638f835,0x2228216e,0xf830f7fe,0x216f4638,0xf7fe2263,
+0x9807f82b,0xf1002229,0xf5034374,0xfb030390,0x4813f302,0x6296f44f,
+0xf3f2fb93,0xf000fb06,0x6294f5a2,0x1103f242,0x14d8f503,0x190247a8,
+0xfb931e53,0x2b3cf3f4,0x2500bfd4,0xb18d2501,0xfb920063,0xe011f3f3,
+0x00023914,0x018cba80,0x000f4240,0x004c4b40,0x000f423f,0x1e007165,
+0x000203a0,0x0364eb00,0xf3f4fb93,0xb2dc3b08,0x223f2168,0x46384623,
+0xfcdef7fe,0x22402168,0x463801ab,0xfcd8f7fe,0x20649905,0xfb012210,
+0x4b6af000,0x47989907,0xfb031c6b,0xf104f300,0xfb010108,0xf5b1f103,
+0xbfd40f16,0x24012400,0x22061c63,0xf302fb03,0xf0f3fb91,0x3f00f5b0,
+0x2300d501,0xf5a0e005,0x13db33c0,0xf3c33301,0x21690347,0x4638221f,
+0xfcaef7fe,0x22202169,0x46380163,0xfca8f7fe,0x46132204,0x46382181,
+0xfca2f7fe,0x2dc8f8d7,0x429a4b51,0x4638d905,0x22022181,0xfcb0f7fe,
+0x4638e004,0x22fd2181,0xfcbcf7fe,0x218122fe,0xf7fe4638,0x9a05fcb7,
+0x1f34f5b2,0x4638dd05,0x22022175,0xfc9cf7fe,0x4638e004,0x22fd2175,
+0xfca8f7fe,0x211b2203,0x46384613,0xfc78f7fe,0x20014d3e,0x211b47a8,
+0x23002203,0xf7fe4638,0x2300fc6f,0x211a2240,0xf7fe4638,0x2164fc69,
+0xf7fe4638,0xf000fca1,0x216404f8,0x46384622,0xff6ef7fd,0x47a82001,
+0xf0442164,0x46380204,0xff66f7fd,0x47a82001,0xf0442164,0x46380206,
+0xff5ef7fd,0x47a82001,0xf0442164,0x46380207,0xff56f7fd,0x7096f44f,
+0x224047a8,0x46384613,0xf7fe211a,0x4638fc3d,0x9a06210f,0xff48f7fd,
+0x8024f8dd,0x707af44f,0x47984b1c,0x4b1c4638,0x9b024798,0x85fb9801,
+0x9902b29e,0x4370f400,0x5f80f5b3,0xbf084c17,0x7680f446,0xf8341e4d,
+0x46382025,0x6157f240,0x0485eb04,0xff34f7fd,0xf44f4638,0x886261cb,
+0xff2ef7fd,0x6bf84632,0xf7ef21a0,0x6cbaf8fb,0xf388fa1f,0x33f0f8a2,
+0xf8872301,0x22003dc4,0x0311f241,0xb00b54fa,0x8ff0e8bd,0x1e007165,
+0x018cba80,0x1e005d75,0x1e007459,0x1e00d028,0x4ff0e92d,0x4607b0fd,
+0x4615460e,0x22162100,0x70adf50d,0xf7eb9303,0x497afc3d,0xf50d220c,
+0xf7eb70d9,0x4978fc57,0xf50d220c,0xf7eb70d3,0xf50dfc51,0x497570cd,
+0xf7eb220c,0x2300fc4b,0x33109363,0x2d039365,0xe8dfd862,0x0d02f005,
+0x2206091e,0x73adf50d,0x79d9f50d,0xe011920f,0x46992300,0xe025930f,
+0x3f56f897,0x4868b923,0x11b1f245,0xfb48f7ea,0xf5072106,0xf50d6374,
+0x910f79d3,0x0b00f04f,0xf50de04d,0x936173ad,0x93622307,0x93643349,
+0x4356f240,0xf2409300,0x46384255,0x3301a961,0x47a04c5a,0xf50d2206,
+0x920f79d3,0x9300ab7b,0xab7ba97b,0x33013103,0x72f7f50d,0x4c544638,
+0xf89d47a0,0xf89d21ef,0xf04f31ee,0xea430100,0xf8ad2302,0xf04f3168,
+0xf8ad0300,0xf89d316a,0xf89d21ed,0x2d0231ec,0x2302ea43,0x316cf8ad,
+0x116ef8ad,0x73adf50d,0x2206d0c0,0x79d9f50d,0x0b02f04f,0xe00a920f,
+0x0900f04f,0xf245483e,0xf7ea11d3,0x46cbfaf5,0xf8cd464b,0x9361903c,
+0x9362230b,0x93643335,0x4356f240,0x4255f240,0x46389300,0xa9613301,
+0x47a04c36,0x41a4f240,0xf7fd4638,0x2100fe61,0x46389004,0xf808f7ff,
+0xf2404638,0xf7fd413b,0xf3c0fe57,0x900e1080,0x4638b118,0x4b2ca974,
+0xb9664798,0xb9239b0e,0xf8b74638,0xf7ff1f6a,0xac76f857,0x46214638,
+0x47984b25,0x88734626,0x011b8832,0x2302ea43,0x463188b2,0xfa1f4313,
+0x8dbbf883,0xf4032208,0xa8784370,0x5f80f5b3,0x2500bf14,0xf7eb2501,
+0x220afb8d,0x70dff50d,0xf7eb2100,0x4b17fb67,0xf8332200,0x46104015,
+0x4b15e02d,0x3025f853,0x880b18c1,0x45433012,0x884ad124,0x70dff50d,
+0x21e0f8ad,0xf8ad888b,0xf83131e2,0xf8ad2f06,0x220a21e4,0xfb6af7eb,
+0x46c0e017,0x000228d0,0x000228dc,0x000228ec,0x0002299e,0x1e00705d,
+0x1e006f41,0x1e006fcd,0x1e0073d9,0x000228e8,0x000228c8,0x42a23201,
+0x4638d1cf,0x4bb0a978,0x22404798,0x46384613,0x61daf240,0xfe06f7fd,
+0x21184bac,0x47984638,0x413cf240,0xf7fd4638,0xf240fddb,0x900a110b,
+0xf7fe4638,0x214cfafd,0x4638900b,0xfaf8f7fe,0x41f3f240,0x4638900c,
+0xfdcaf7fd,0x22382300,0xf240900d,0x4638413c,0xfde4f7fd,0x22fe214c,
+0xf7fe4638,0x214cfad3,0x46382202,0xfabcf7fe,0x5280f44f,0xf2404638,
+0xf7fd41f3,0xf240fdc9,0x4638413e,0xfdacf7fd,0xf24023af,0x900732ff,
+0x413ef240,0xf7fd4638,0xf240fdc5,0x46381121,0xfac6f7fe,0x900522f2,
+0x1121f240,0xf7fe4638,0x227ffaad,0xf2404638,0xf7fe111f,0xf240faa7,
+0x46386176,0xfd8cf7fd,0x22802300,0xf2409008,0x46386176,0xfda6f7fd,
+0x5103f240,0xf7fd4638,0x2208fd7f,0x90094613,0x5103f240,0xf7fd4638,
+0x4638fd99,0x5103f240,0x23002204,0xfd92f7fd,0x26144b73,0xf50d9361,
+0x230078c2,0x4556f240,0x46389364,0xf2404641,0xf2404255,0x4c6d4357,
+0x95009662,0x4b6c47a0,0x93614638,0x93642320,0xf2404641,0xf2404357,
+0x96624255,0x47a09500,0xf2404638,0xf6404153,0xf7fd22a9,0xf8d7fd51,
+0x2b003dbc,0x80aef040,0x63a6f640,0x3dbcf8c7,0xf44f4638,0x22e06182,
+0xf7fd2380,0x2401fd5b,0x4340f649,0xf303fb04,0x62a6f640,0xf3f2fbb3,
+0x2e40b29e,0x4855d904,0x01e0f245,0xf9a4f7ea,0xd1032c03,0x46a02400,
+0xe0334625,0xb29c1c63,0x4b4fe7e6,0xa9724640,0x9a734798,0xfb022358,
+0x2a00f203,0x13d3db04,0xf3c33301,0xe0060149,0x13db4253,0x105b3301,
+0x0599425b,0x9a720d89,0xfb022358,0x2a00f203,0x13d3db04,0xf3c33301,
+0xe0060249,0x13db4253,0x105b3301,0x059a425b,0xea420d92,0xaa112381,
+0x1c6350ab,0x1807f508,0x3504b29c,0xd1cc42b4,0xf2404638,0x220361d6,
+0xf7fd2300,0x2208fd07,0x46384613,0x61daf240,0xfd00f7fd,0x46132202,
+0xf2404638,0xf7fd61da,0xab11fcf9,0x2315935c,0x330b935e,0x93602500,
+0x4356f240,0x46389300,0xf240a95c,0x33014255,0x955f965d,0x47a04c1f,
+0x46132280,0xf2404638,0xf7fd61da,0x1e73fcdf,0xf2404638,0xf2406142,
+0xb29b32ff,0xfcd6f7fd,0x72fff64f,0x46384613,0x61c8f44f,0xfccef7fd,
+0xf2404638,0xf64f6141,0x462b72ff,0xfcc6f7fd,0xf2404638,0xf6474153,
+0xf7fd72ff,0x4638fcab,0x4153f240,0x4200f44f,0xfcaef7fd,0x024bea4f,
+0x73cdf50d,0x0802eb09,0x0a02eb03,0xe0b046d9,0x1e0075f9,0x1e006ec9,
+0x00023acc,0x1e006fcd,0x00023a9c,0x0002299e,0x1e0071b5,0x0300f04f,
+0x31e8f8ad,0x3000f8b8,0xf3c3a97c,0xeb012403,0xf8330344,0xf8ba1c32,
+0xb1212000,0x03fff002,0x2301ea43,0x4638b29a,0x4152f240,0xfc6cf7fd,
+0xb29b1ee3,0x93062b01,0xf50dd81d,0x936173f5,0x93622301,0x3344ae61,
+0x4556f240,0x46389364,0xf2404631,0xf2404255,0x4c864357,0x47a09500,
+0x9361ab7a,0x46389500,0xf2404631,0xf2404255,0x4c814357,0x463847a0,
+0x4151f240,0x2000f8b8,0xfc42f7fd,0xe0072400,0x4b7c2064,0x34014798,
+0x3389f241,0xd007429c,0xf2404638,0xf7fd4151,0xf410fc2b,0xd1ef4f40,
+0xf2404638,0xf7fd4151,0xf410fc23,0xd17a4f40,0x220bab51,0xad619361,
+0xf2402360,0x92624456,0x46389364,0xf2404629,0xf2404255,0x94004357,
+0xb198f8df,0x234047d8,0x46299364,0x46389400,0x4255f240,0x4357f240,
+0x47b04e61,0x29019906,0xf50dd80e,0x936173f5,0x93622301,0x93643344,
+0x46389400,0xf2404629,0xf2404255,0x47b04357,0x6374f507,0x220b9361,
+0x92622360,0x94009364,0x46294638,0x4255f240,0x4357f240,0xf10947d8,
+0xf1080901,0xf10a0802,0x990f0a02,0xf4ff4589,0x230baf59,0x6874f507,
+0xf240ae61,0x93624556,0x93643355,0x46314638,0x4255f240,0x4357f240,
+0xf8cd4c42,0x95008184,0x230447a0,0x334c9362,0x46389364,0xf2404631,
+0xf2404255,0xf8cd4357,0x95008184,0x47a04c3a,0x330a4643,0x23029361,
+0x33539362,0x95009364,0x46314638,0x4255f240,0x4357f240,0x9a0347a0,
+0x4638b912,0x47984b32,0x46382300,0x5103f240,0xf7fd2208,0x4638fbbb,
+0x111ff240,0xf7fe2280,0x4638f897,0x413ef240,0xf7fd9a07,0x9b05fb95,
+0xb2da4638,0x1121f240,0xfb82f7fd,0xf2404638,0x9a086176,0xfb88f7fd,
+0xf2404638,0x9a095103,0xfb82f7fd,0xf2404638,0x9a0a413c,0xfb7cf7fd,
+0xf2404638,0x9a0b110b,0xfb6af7fd,0x214c4638,0xf7fd9a0c,0x9a0dfb65,
+0xf2404638,0xf7fd41f3,0x4b14fb6b,0x21404638,0x46384798,0x413bf240,
+0x72fbf64f,0xfb66f7fd,0x61daf240,0x22404638,0xf7fd2300,0x990efb73,
+0x4638b119,0x4b0aa974,0x9a044798,0xf4024638,0xf7fe4160,0xb07dfcf1,
+0x8ff0e8bd,0x1e00705d,0x1e006fcd,0x1e005d75,0x0001ec65,0x1e006ec9,
+0x1e0075f9,0x4ff0e92d,0x46072380,0x22e0b097,0x6182f44f,0xfb4ef7fd,
+0x6c7b2400,0x4f57f887,0x370cf8d3,0x4dc4f887,0x3dc0f8c7,0x302cf897,
+0x3f57f887,0xf8d36cbb,0xf0833120,0xf0130301,0x93020301,0x6bf8d102,
+0xfce4f7ef,0x46382280,0x6131f240,0xf7fd4623,0xf44ffb2d,0x46235280,
+0x61daf240,0xf7fd4638,0x4638fb25,0xfe4cf7fd,0x41a4f240,0xf7fd4638,
+0x4621fafb,0x46389003,0xfca2f7fe,0x46384ba6,0x90054798,0xf7fd4638,
+0x2110fb27,0x4ba39004,0x47984638,0xf7ee6bf8,0x2801fc19,0xf04fd10a,
+0xf8ad03ff,0xf04f3040,0xf8ad033c,0xf04f3042,0xe00903ff,0x0307f04f,
+0x3040f8ad,0x033cf04f,0x3042f8ad,0x03f8f04f,0xad102200,0x3044f8ad,
+0x46134638,0xf8ad4629,0xf7ff4046,0xf10dfbbd,0x93000352,0xf10d4638,
+0xf10d0355,0xf10d0157,0x4c8b0256,0xf99d47a0,0x2b003055,0x425bbfb8,
+0xd11c2b0f,0x3052f99d,0xbfb82b00,0x2b0f425b,0xf04fd115,0xf8ad0307,
+0xf04f3040,0xf8ad032d,0xf04f3042,0xf8ad03ba,0x22003044,0x0300f04f,
+0x3046f8ad,0x46294638,0xf7ff4613,0xab12fb8d,0x23029306,0xf10d2410,
+0xf2400918,0x93074856,0x334e2500,0x93094649,0xf8cd940a,0x46388000,
+0x4255f240,0x4357f240,0x95084e6e,0xf10d47b0,0x940a0352,0x24019306,
+0x93092355,0x8000f8cd,0xf2404649,0x95084357,0x46389407,0x4255f240,
+0xb048f8bd,0xa04af8bd,0x230747b0,0x3319930d,0xf8bd930f,0xab139052,
+0x930b940c,0x78a0f44f,0xf240ae0b,0xf8cd4556,0x46388038,0xf2404631,
+0xf2404255,0x4c574357,0x47a09500,0xea4f9b13,0x0d1b528a,0x0d92051b,
+0xea4f431a,0x0d9b538b,0x2283ea42,0x46389213,0xf2404631,0xf2404255,
+0x4c4d4357,0x47a09500,0x0380f108,0xf8cd930e,0x9500904c,0x46314638,
+0x4255f240,0x4357f240,0x0801f108,0xf5b847a0,0xd1c97fe0,0x99054638,
+0x47984b42,0x99044638,0x47984b3c,0x46389b03,0x4160f403,0xfbc4f7fe,
+0x22002101,0x4b3c4638,0x6bf84798,0xfb42f7ee,0x46042802,0x2208d172,
+0x46134638,0x414cf240,0xfa28f7fd,0x46382208,0xf2404613,0xf7fd414d,
+0x4638fa21,0x46234622,0x41f9f240,0xfa1af7fd,0x46224638,0xf2402300,
+0xf7fd41fa,0x2201fa13,0x46134638,0x41f9f240,0xfa0cf7fd,0x22014638,
+0xf2402300,0xf7fd41fa,0x4638fa05,0xf2402300,0xf44f41b1,0xf7fd5200,
+0xf44ff9fd,0x46386200,0xf44f4613,0xf7fd6196,0x4638f9f5,0x41b7f240,
+0x42fef44f,0x5300f44f,0xf9ecf7fd,0x46382208,0xf44f4613,0xf7fd6196,
+0x4638f9e5,0x23002280,0x41e6f240,0xf9def7fd,0x46132240,0xf2404638,
+0xf7fd41e5,0x4638f9d7,0xf44f228c,0xf7fd7192,0x4638f9ab,0x1125f240,
+0xf7fd2200,0xe01bf9a5,0x1e00735d,0x1e00729d,0x1e006f41,0x1e00705d,
+0x1e006fcd,0x1e007321,0x1e0072c5,0x46132220,0xf2404638,0xf7fd414c,
+0x2220f9b5,0xf2404638,0x4613414d,0xf9aef7fd,0x41a4f240,0xf7fd4638,
+0x2100f987,0x46384606,0xfb2ef7fe,0xf2404638,0xf7fd413b,0xf3c0f97d,
+0xb11d1580,0xa9104638,0x47984b80,0x4638217f,0xfb82f7fe,0x497e4638,
+0x47984b7e,0x46132201,0xf2404638,0xf7fd413b,0x2201f989,0x46382300,
+0x413cf240,0xf982f7fd,0x6200f44f,0x46384613,0x414cf240,0xf97af7fd,
+0x5200f44f,0xf2404613,0x4638414d,0xf972f7fd,0x46384c6f,0x227f47a0,
+0x46382300,0x619df44f,0xf968f7fd,0x46382300,0x619df44f,0x42fef44f,
+0xf960f7fd,0x2305227f,0xf2404638,0xf7fd41e9,0x4638f959,0x41e9f240,
+0x42fef44f,0x63a0f44f,0xf950f7fd,0x46132208,0xf2404638,0xf7fd41e7,
+0x2210f949,0x46384613,0x41e7f240,0xf942f7fd,0x23002260,0xf2404638,
+0xf7fd41e7,0x2204f93b,0x46382300,0x41e7f240,0xf934f7fd,0x46132202,
+0xf2404638,0xf7fd41e7,0x4638f92d,0x61daf240,0xf7fd2210,0x2220f91d,
+0x46384613,0x6189f44f,0xf920f7fd,0x4180f44f,0xf7fd4638,0x4638fe31,
+0x463847a0,0xf934f7fd,0xf2404638,0x2208414c,0xf7fd2300,0x4638f90f,
+0x414cf240,0x23002220,0xf908f7fd,0xf2404638,0x220241f9,0xf7fd2300,
+0x4638f901,0x41f9f240,0x23002201,0xf8faf7fd,0x4b34b11d,0xa9104638,
+0x4b33e002,0x46294638,0x46384798,0x4160f406,0xfa76f7fe,0x21004638,
+0x47984b2e,0xf44f4638,0xf44f6196,0x23006200,0xf8e0f7fd,0xf44f4638,
+0x22086196,0xf7fd2300,0x4638f8d9,0x41e5f240,0x23002240,0xf8d2f7fd,
+0xf44f4638,0x22106196,0xf7fd2300,0x4638f8cb,0x413bf240,0x23002201,
+0xf8c4f7fd,0xf2404638,0xf44f414c,0x23006200,0xf8bcf7fd,0x46132280,
+0xf2404638,0xf7fd6131,0xf44ff8b5,0x46135280,0xf2404638,0xf7fd61da,
+0x9b02f8ad,0x6bf8b913,0xfcccf7ee,0xf7ee6bf8,0xf44ff9b5,0x28026182,
+0x2320bf14,0x22e02360,0xf7fd4638,0xb017f89b,0x8ff0e8bd,0x1e0073d9,
+0x001007f0,0x1e00769d,0x1e0072f1,0x1e0075f9,0x1e007415,0x1e007559,
+0xe92d6c83,0xf8d347f0,0xb0863120,0x0301f083,0x0a01f013,0xd1024607,
+0xf7ef6bc0,0xf240fa2b,0x463861da,0xf854f7fd,0x46132240,0xf2404681,
+0x463861da,0xf86ef7fd,0x413ef240,0xf7fd4638,0xf240f847,0x46065103,
+0xf7fd4638,0x2204f841,0x46804613,0x5103f240,0xf7fd4638,0x2300f85b,
+0xf2404638,0xf44f413e,0xf7fd5200,0x220ff853,0x46382300,0x413ef240,
+0xf84cf7fd,0x23b022f0,0xf2404638,0xf7fd413e,0xf44ff845,0xf44f52e0,
+0x463853a0,0x413ef240,0xf83cf7fd,0x4638210d,0xfd3ef7fd,0x413cf240,
+0x46384604,0xf810f7fd,0x23282238,0xf2404605,0x4638413c,0xf82af7fd,
+0x7200f44f,0x46384613,0x5103f240,0xf822f7fd,0x46382300,0x5103f240,
+0x7200f44f,0xf81af7fd,0x46132280,0xf44f4638,0xf7fd7191,0x2240fcdd,
+0x46382300,0x7191f44f,0xfcd6f7fd,0x46382300,0x7191f44f,0xf7fd2220,
+0x220ffccf,0x0302ea04,0xf44f4638,0xf7fd7191,0x4638fcc7,0x7191f44f,
+0x23002210,0xfcc0f7fd,0x4c34ab04,0xf44f9300,0x220071c8,0x4638ab05,
+0xf44f47a0,0x46137200,0xf2404638,0xf7fc5103,0x4638ffe5,0x5103f240,
+0x7200f44f,0xf7fc2300,0x2210ffdd,0x46384613,0x7191f44f,0xfca0f7fd,
+0x9300ab02,0x71c8f44f,0xab032200,0x47a04638,0x9c039b05,0xf2404638,
+0x4632413e,0xf7fc18e4,0x2204ffab,0x0302ea08,0xf2404638,0xf7fc5103,
+0x2238ffbd,0x0302ea05,0xf2404638,0xf7fc413c,0x2240ffb5,0x10644613,
+0xf44f4638,0xf7fd7191,0xb220fc77,0x213df640,0x47984b0f,0xf5001240,
+0xf24440c0,0x30cb5155,0x47984b0c,0x12043080,0x61daf240,0x464a4638,
+0xff7ef7fc,0x0f00f1ba,0x6bf8d102,0xfbb6f7ee,0xf8874620,0xb0064f9e,
+0x87f0e8bd,0x1e007975,0x1e0044d1,0x1e0044a9,0x4ff0e92d,0xb08b6c43,
+0xaa064605,0xf2406898,0xa9076bda,0xf854f7ea,0x46284659,0xff54f7fc,
+0xf2402240,0x4613463e,0x46599005,0xf7fc4628,0x4631ff6d,0xf7fc4628,
+0xf240ff47,0x90045a03,0x46284651,0xff40f7fc,0x90032204,0x46284651,
+0xf7fc4613,0x4628ff5b,0x23004631,0x5200f44f,0xff54f7fc,0x46314628,
+0x230d220f,0xff4ef7fc,0x46314628,0x238022f0,0xff48f7fc,0x493cf240,
+0x46314628,0x52e0f44f,0x5380f44f,0xff3ef7fc,0x46284649,0xff18f7fc,
+0x1821f240,0x23202238,0x46499002,0xf7fc4628,0x4641ff31,0xf7fd4628,
+0x4641fc33,0x220f4607,0x23044628,0xfbf0f7fd,0x7200f44f,0x46514628,
+0xf7fc4613,0x4628ff1f,0x23004651,0x7200f44f,0xff18f7fc,0x9300ab08,
+0xab092128,0x46282200,0x47a04c1c,0x46314628,0xf7fc9a04,0x9c03fef1,
+0xea042204,0x46280302,0xf7fc4651,0x9c02ff03,0xea042238,0x46280302,
+0xf7fc4649,0x4628fefb,0x463a4641,0xfed0f7fc,0x46289a05,0xf7fc4659,
+0xf9bdfed7,0xf2460024,0x4b0b6166,0xf2474798,0x4b0a61f4,0x6c6b4798,
+0x64b1f647,0x24a0eb04,0x68989907,0xf7e99a06,0x1260ff91,0xe8bdb00b,
+0x46c08ff0,0x1e007975,0x1e0044d1,0x1e0044a9,0x4ff0e92d,0x9108b0b9,
+0x9a084614,0x1108f89d,0x46072a01,0xf89d9107,0xd904b10c,0xf2454832,
+0xf7e96170,0x4b31fb19,0x47984638,0x90092101,0x46384b2f,0x4b2f4798,
+0x21014638,0xf2404798,0x463841ea,0xfe8cf7fc,0x41ebf240,0x46389011,
+0xfe86f7fc,0x90122155,0xf7fd4638,0xf44ffba9,0x9013719c,0xf7fd4638,
+0x2105fba3,0x46389014,0xfebef7fc,0x7a23b15c,0x4638b12b,0x1009f994,
+0xf87ef7fe,0x4638e003,0x4b1b4621,0x214c4798,0xf7fd4638,0x21f3fb8d,
+0x4638900c,0xfb88f7fd,0x900d6c7b,0x6a5b689b,0x639ef5a3,0x2b013b0d,
+0x4638d809,0x221821f3,0xf7fd2310,0x4638fb3d,0x220221f3,0x4638e002,
+0x221821f3,0xf7fd4613,0x6bf8fb33,0xff76f7ed,0xd10f2802,0x214c4638,
+0x23202230,0x46c0e00e,0x0002299e,0x1e00735d,0x1e007b0d,0x1e007a89,
+0x1e0075f9,0x214c4638,0x23102230,0xfb18f7fd,0x46382100,0xfe82f7fc,
+0x6131f240,0xf7fc4638,0x2215fe23,0x900a4613,0x6131f240,0xf7fc4638,
+0xf240fe3d,0x463861d6,0xfe16f7fc,0x22032300,0xf240900b,0x463861d6,
+0xfe30f7fc,0x61daf240,0xf7fc4638,0x228ffe09,0xf2409010,0x463861da,
+0xfe1af7fc,0xf04f2607,0xab360801,0x80c4f8cd,0x93309632,0x3009f994,
+0x0920f04f,0x7310f503,0x4a56f240,0xf8cd9333,0xf24090d0,0x46384357,
+0xf240a930,0x4cb34255,0xa000f8cd,0x9a3647a0,0x00d24638,0xf2409236,
+0xb2926171,0xfde4f7fc,0x46382103,0xfb00f7fd,0x900e2121,0xf7fd4638,
+0x2103fafb,0x900f2218,0xf7fc4638,0x2121fdc9,0x4638221e,0xfdc4f7fc,
+0xac1b4ba3,0xcd0f461d,0xe895c40f,0xe884000f,0x2221000f,0xf2404638,
+0xf7fc6189,0x2303fdc1,0x4638221f,0x617af240,0xfdd4f7fc,0xf2404638,
+0xf2416173,0xf7fc7270,0x22c8fdb3,0xf2404638,0xf7fc6179,0x4638fdad,
+0x6174f240,0x4244f240,0xfda6f7fc,0x4638223f,0x6175f240,0xfda0f7fc,
+0xf44f4638,0xf24061ce,0xf7fc6281,0x4638fd99,0x6182f240,0x42d8f640,
+0xfd92f7fc,0xf2404638,0xf24c619b,0xf7fc125c,0x221bfd8b,0xf2404638,
+0xf7fc619c,0x2249fd85,0xf2404638,0xf7fc618c,0x2227fd7f,0xf2404638,
+0xf7fc617f,0x22fffd79,0xf44f4638,0xf7fc61d0,0x4638fd73,0x6181f240,
+0x123ff240,0xfd6cf7fc,0x463822ff,0x6183f240,0xfd66f7fc,0x46384642,
+0x618df240,0xfd60f7fc,0xf2404638,0xf240619d,0xf7fc72ff,0x2200fd59,
+0xf2404638,0xf7fc618a,0x2200fd53,0xf2404638,0xf7fc619f,0x4632fd4d,
+0xf44f4638,0xf7fc61d4,0x2200fd47,0xf2404638,0xf7fc61a4,0x2200fd41,
+0xf2404638,0xf7fc61a5,0x2208fd3b,0xf2404638,0xf7fc619a,0x4638fd35,
+0x6187f240,0xf7fc2260,0x4632fd2f,0xf2404638,0xf7fc6142,0x4638fd29,
+0x6177f240,0xf7fc2200,0x2315fd23,0x44462500,0xab1b932d,0x90bcf8cd,
+0x4638932b,0x4357f240,0xf240a92b,0x962c4255,0xf8cd952e,0x4c45a000,
+0x463847a0,0x617df240,0xf7fc462a,0x4638fd09,0x618bf240,0x7280f44f,
+0xfd02f7fc,0x0904f04f,0x240046a8,0xbfa82e0f,0x4d3b260f,0x94019400,
+0x94039402,0xb2b14638,0x46234622,0x462547a8,0x1c6be003,0x2d05b2dd,
+0x4638d01f,0xfd7cf7ff,0x63aff44f,0xf44f9301,0x21004382,0xf5a39302,
+0x22014381,0x91034604,0x91059304,0x46383316,0x92009908,0xfb48f7fd,
+0xf7ff4638,0xf897fd65,0x429c3fcd,0x4298dbdd,0x9b08dbdb,0xf240bb1b,
+0x463861ba,0xfcbcf7fc,0x61bbf240,0x4638b204,0xfcb6f7fc,0xb2a401a4,
+0x1489f344,0xf404fb04,0x0009f340,0x4300fb00,0x5f00f5b3,0xfa5fda07,
+0x2b04f388,0x0606ebc9,0x3e01d105,0xf5b3e003,0xdb084f80,0xf108444e,
+0xf1b80801,0xd0020f05,0x0959ea4f,0x2500e79d,0x71e6ea26,0x1f74f8c7,
+0x95004638,0x95029501,0xb2899503,0x462b462a,0x47a04c05,0xf7fd4638,
+0xe009fad3,0x1e00705d,0x0002288c,0x1e006fcd,0x0001ecf1,0xd82c2d04,
+0xf7ff4638,0x2301fd11,0xf44f9300,0x930163af,0x4382f44f,0xf5a39302,
+0x22004381,0x93044606,0x23464638,0x92039908,0xf7fd9205,0x4638fadd,
+0xfcfaf7ff,0x3fcdf897,0x429e4604,0x4298db01,0x4bbbda05,0x7096f44f,
+0x1c6b4798,0xf897b2dd,0x429e3fcd,0x429cdbd2,0xf1bbdbd0,0xf0400f01,
+0xf2408103,0x463861ba,0xfc42f7fc,0x61bbf240,0x46389015,0xfc3cf7fc,
+0x64aff44f,0x21009016,0x4382f44f,0xf303fb04,0xf64f139a,0x429a73fe,
+0xf64fbf8c,0xb29474ff,0xb2991c4b,0xd1ef296e,0xf8ada923,0x4608408c,
+0x4382f44f,0xf303fb04,0xf64f139a,0x429a73fe,0xf64fbf8c,0xb29474ff,
+0x4f02f821,0x031ef100,0xd1ed4299,0xf2404638,0xf7fc61b7,0xf04ffc0d,
+0x4606097d,0x0a01f04f,0x0b00f04f,0x905cf8cd,0xf10be0b5,0xfa5f0301,
+0xf1bbfb83,0xf0000f10,0x2600820f,0x2e04e001,0x4638d82a,0xfc90f7ff,
+0x92002201,0x9a169203,0xf44f9915,0x92054382,0x46802200,0x91049302,
+0x46384613,0x94019908,0xfa5ef7fd,0xf7ff4638,0xf897fc7b,0x46053fcd,
+0xdb014598,0xda054298,0xf44f4b7b,0x47987016,0xb2de1c73,0x3fcdf897,
+0xdbd44598,0xdbd2429d,0xf2404638,0xf7fc61b7,0xf410fbc7,0x46064f00,
+0xf1bad02c,0xf0000f00,0xf1a981d3,0xb2da0305,0x429a9b17,0x1e53d101,
+0xf1a2b2da,0xb2db036e,0xd9032b0f,0xf44f2000,0xe01464af,0xeb01a938,
+0xf5a30342,0x881c7398,0xf44fe058,0xfb044382,0x1399f303,0x73fef64f,
+0xbf8c4299,0x74fff64f,0x1c43b28c,0x4290b298,0xe047d1ef,0x5f00f5b0,
+0xf44fd311,0xfb044382,0x139af303,0x73fef64f,0xf109429a,0xbf940301,
+0xf64fb294,0xb2da74ff,0x0a00f04f,0x4638e032,0x01dff10d,0x02def10d,
+0x47984b4e,0x30dff99d,0x005b2202,0xb2dd3301,0x3b01b26b,0xf3f2fb93,
+0x033df1c3,0xe0def89d,0x2100b2d8,0xf44fe00d,0xfb044382,0x139af303,
+0x73fef64f,0xbf8c429a,0x74fff64f,0x1c4bb294,0x4281b299,0xea4fd1ef,
+0xf88d034e,0xeb0930de,0xf88d0300,0xb2da50df,0x905cf8cd,0xf4164691,
+0xf43f4f00,0xf1baaf46,0xf47f0f00,0xe157af42,0x02def10d,0x46384b31,
+0x01dff10d,0x4c304798,0xf44f2100,0x47a07000,0x46832100,0x47a02080,
+0xf1bb4682,0xd1040f00,0xf245482a,0xf7e87175,0xf1baffa7,0xd1040f00,
+0xf2454826,0xf7e87176,0x2300ff9f,0xf8032500,0x3301500a,0xd1f92b80,
+0x20def99d,0xf99d465b,0x463810df,0xa000f8cd,0x47a04c1d,0x61baf240,
+0xf7fc4638,0xf240fb0d,0x901961bb,0xf7fc4638,0x4629fb07,0xf5059018,
+0xf44f65af,0xfb054382,0x139af303,0x73fef64f,0xbf8c429a,0x75fff64f,
+0x1c4bb295,0x2946b299,0x9a07d1ef,0x0346f1a2,0xf44fe07c,0xfb054382,
+0x139af303,0x73fef64f,0xbf8c429a,0x75fff64f,0x2600b295,0x46c0e00c,
+0x1e005d75,0x0001ea45,0x1e00578d,0x0002299e,0x0001ec05,0xd82a2e04,
+0xf7ff4638,0xf44ffb6d,0x22014382,0x93029918,0x92009b19,0x3a019203,
+0x93044680,0x46139105,0x99084638,0xf7fd9501,0x4638f93b,0xfb58f7ff,
+0x3fcdf897,0x45984604,0x4298db01,0x4b99da05,0x7016f44f,0x1c734798,
+0xf897b2de,0x45983fcd,0x429cdbd4,0x4638dbd2,0x01dff10d,0x02def10d,
+0x47984b91,0xf99d4c91,0x465b20de,0x10dff99d,0xa000f8cd,0x47a04638,
+0x20dff99d,0x30def99d,0x32010052,0xf88db2d2,0xb25220df,0x2a00005b,
+0x30def88d,0x2320dd10,0x23189334,0xab369332,0xf2409330,0x92334356,
+0x46389300,0xf240a930,0x33014255,0x47a04c7e,0x30dff99d,0xd0072b7f,
+0x33fff109,0xf983fa1f,0x0f00f1b9,0xaf7df47f,0x2300f44f,0xab359335,
+0x2318932b,0x3308932d,0x932f2201,0x4356f240,0x922e922c,0x46389300,
+0xf240a92b,0x33014255,0x47a04c6e,0xf81a2603,0xf10d3006,0x2b0108ac,
+0x91a8f8df,0xf85bd10c,0x46383026,0xf2409335,0x93004356,0xf2404641,
+0x33014255,0xe014962e,0xf2401eb3,0x932e4556,0x46414638,0x4255f240,
+0x4357f240,0x4c5c9500,0x962e47a0,0x46389500,0xf2404641,0xf2404255,
+0x47c84357,0xb2de1cb3,0xd1d02e81,0x0800f04f,0x4456f240,0x0301f108,
+0x932ead2b,0x46389400,0xf2404629,0xf2404255,0x4e4d4357,0xf10847b0,
+0x932e0303,0x46389400,0xf2404629,0xf2404255,0x47b04357,0x93352300,
+0x80b8f8cd,0x46389400,0xf2404629,0xf2404255,0x4c424357,0x0802f108,
+0xf1b847a0,0xd1d30f7e,0x46596c7b,0xf44f6c98,0x4c3d7200,0x6c7b47a0,
+0x6c984651,0x47a02280,0x21034638,0xf7fc9a0e,0x4638f9e3,0x9a0f2121,
+0xf9def7fc,0x9a114638,0x41eaf240,0xf9e4f7fc,0x9a124638,0x41ebf240,
+0xf9def7fc,0x21554638,0xf7fc9a13,0x4638f9cd,0xf44f9a14,0xf7fc719c,
+0x4638f9c7,0xf2409a0a,0xf7fc6131,0x4638f9cd,0xf2409a0b,0xf7fc61d6,
+0x9b10f9c7,0xf0434638,0xb2920201,0x61daf240,0xf9bef7fc,0x46382101,
+0xfa0cf7fc,0xf7fc4638,0x4638f9ef,0x9a0c214c,0xf9a6f7fc,0x21f34638,
+0xf7fc9a0d,0xf44ff9a1,0x46386200,0xf2402300,0xf7fc414c,0x4638f9bf,
+0x4b122100,0x46384798,0x4b112100,0x46384798,0x4b102100,0x46384798,
+0xf2402300,0x2201413b,0xf9acf7fc,0x99094638,0x47984b0b,0xe8bdb039,
+0x46c08ff0,0x1e005d75,0x0001ea45,0x0001ec05,0x1e00705d,0x1e006fcd,
+0x1e005c15,0x1e007a89,0x1e007b0d,0x1e007559,0x1e007321,0x41ffe92d,
+0x460e4605,0x461c4617,0x238022e0,0x6182f44f,0xf984f7fc,0xf8d36cab,
+0xf0833120,0xf0130301,0xd0020801,0xf7ed6be8,0x68b2fd9d,0x3201b90a,
+0x6be8e00b,0xb29221dc,0xfb28f7ed,0x6be88972,0xf7ed21de,0xf240fb23,
+0x68f31201,0xb1a36be8,0xf7ed21d8,0x6872fb1b,0x00d26be8,0x21da3a7c,
+0xf7edb292,0x68f3fb13,0x93006be8,0x0111f106,0x463b4622,0xfcf4f7f1,
+0xf042e00a,0x21da0408,0xf7ed88b2,0x6be8fb03,0x462221d8,0xfafef7ed,
+0x21dc6be8,0xfc1af7ed,0xf8ad2400,0xe00c000e,0x4b152064,0x21dc4798,
+0xf7ed6be8,0x1c63fc0f,0x2c64b2dc,0x000ef8ad,0xf8bdd003,0x2b00300e,
+0x6be8d1ee,0x220021d8,0xfae0f7ed,0x0f00f1b8,0x6be8d002,0xfad2f7ee,
+0xf7ed6be8,0xf44ffa2f,0x28026182,0x2320bf14,0x22e02360,0xf7fc4628,
+0xe8bdf915,0x46c081ff,0x1e005d75,0x4ff0e92d,0xf5ad2280,0x46077d01,
+0xf2402300,0xf7fc6131,0x2300f905,0x46382280,0x6176f240,0xf8fef7fc,
+0xf8d36cbb,0xf0833120,0xf0130301,0x93040301,0x6bf8d102,0xfaa2f7ee,
+0x463821a5,0x2fd0f8b7,0xf8c6f7fc,0x4638218e,0x2fd2f8b7,0xf8c0f7fc,
+0x463821a2,0x2fd4f8b7,0xf8baf7fc,0x46382194,0x2fd6f8b7,0xf8b4f7fc,
+0x46382193,0x2fd8f8b7,0xf8aef7fc,0x463821a4,0x2fdaf8b7,0xf8a8f7fc,
+0x21a3ac10,0xf8b74638,0xf7fc2fdc,0x2100f8a1,0xf44f4620,0xf7e97280,
+0x2307fde1,0x33199373,0x93752540,0x78e2f50d,0xf2402318,0xf04f4656,
+0x94710980,0x4c689372,0x46389574,0xf2404641,0xf2404255,0x96004357,
+0x957247a0,0x46414638,0x4255f240,0x4357f240,0x91d0f8cd,0x47a09600,
+0x233822ff,0xf2404638,0xf7fc41a7,0x2300f897,0x6131f240,0x4638464a,
+0xf890f7fc,0xf7fc4638,0x22fffebb,0x46382301,0x6195f44f,0xf886f7fc,
+0x2501230a,0x31f6f88d,0x93653328,0x9366231e,0x7310f242,0x226c2400,
+0x46389300,0x73fbf50d,0x9564a964,0xf88d9467,0xf7ff41a0,0xf240fedf,
+0x463841ab,0xf848f7fc,0x2006f3c0,0xf2409005,0x463861da,0x5280f44f,
+0xf7fc4623,0x22e0f85f,0xf44f464b,0x46386182,0xf858f7fc,0xf7fc4638,
+0xf240fb7f,0x463841a4,0xf82ef7fc,0x90024621,0xf7fd4638,0x9b05f9d5,
+0x4f78f8c7,0x9303b2db,0x31edf88d,0x51ecf88d,0x46384b30,0x46294798,
+0x4b2f900c,0x47984638,0x46384b2e,0x47984629,0x41eaf240,0xf7fc4638,
+0xf240f80f,0x900941eb,0xf7fc4638,0x2155f809,0x46389008,0xfd2cf7fc,
+0x719cf44f,0x46389007,0xfd26f7fc,0x90062105,0xf7fc4638,0xf89df841,
+0xb12b31ec,0xf99d4638,0xf7fd11ed,0xe003fa01,0xa9794638,0x47984b1a,
+0x4638214c,0xfd10f7fc,0x900b21f3,0xf7fc4638,0x6c7bfd0b,0x689b900a,
+0xf5a36a5b,0x3b0d639e,0xd8092b01,0x21f34638,0x23102218,0xfcc0f7fc,
+0x21f34638,0xe0022202,0x21f34638,0x46132218,0xfcb6f7fc,0xf7ed6bf8,
+0x2802f8f9,0x4638d10e,0x2230214c,0xe00d2320,0x1e006fcd,0x1e00735d,
+0x1e007b0d,0x1e007a89,0x1e0075f9,0x214c4638,0x23102230,0xfc9cf7fc,
+0x21004638,0xf806f7fc,0x6131f240,0xf7fb4638,0x2215ffa7,0xf2404613,
+0x46836131,0xf7fb4638,0xf240ffc1,0x463861d6,0xff9af7fb,0x22032300,
+0x61d6f240,0x46384682,0xffb4f7fb,0x61daf240,0xf7fb4638,0xf240ff8d,
+0x228f61da,0x46384681,0xff9ef7fb,0x936cab7f,0x936d2301,0x936e3306,
+0x31edf99d,0xf5034638,0x936f7310,0x93702320,0x4356f240,0xa96c9300,
+0xf2403301,0x4c974255,0x9a7f47a0,0x00d24638,0xf240927f,0xb2926171,
+0xff6ef7fb,0x46382103,0xfc8af7fc,0x46062121,0xf7fc4638,0x2103fc85,
+0x46802218,0xf7fb4638,0x4638ff53,0x221e2121,0xff4ef7fb,0x462c2500,
+0xf7fe4638,0xab50ffe9,0x182d50e0,0xf44f4b84,0x34047061,0x2c404798,
+0x2000d1f2,0x4601112a,0x58cbab50,0x42983104,0x4618bfb8,0xbfa8429a,
+0x2940461a,0x1e83d1f4,0x3fcdf887,0xf8872103,0x46382fce,0xf7fb4632,
+0x2121ff27,0x46424638,0xff22f7fb,0xf2404638,0x9a0941ea,0xff28f7fb,
+0xf2404638,0x9a0841eb,0xff22f7fb,0x46382155,0xf7fb9a07,0x4638ff11,
+0x719cf44f,0xf7fb9a06,0x4638ff0b,0x6131f240,0xf7fb465a,0x4638ff11,
+0x61d6f240,0xf7fb4652,0xf049ff0b,0xb2920201,0xf2404638,0xf7fb61da,
+0x2101ff03,0xf7fb4638,0x4638ff51,0xff34f7fb,0x4638214c,0xf7fb9a0b,
+0x21f3feeb,0x9a0a4638,0xfee6f7fb,0x6200f44f,0x46382300,0x414cf240,
+0xff04f7fb,0x46382100,0x47984b50,0x46382100,0x47984b4f,0x46382100,
+0x47984b4e,0x23002201,0xf2404638,0xf7fb413b,0x990cfef1,0x4b4a4638,
+0x4b4a4798,0x47984638,0x41a4f240,0x4638900d,0xfec2f7fb,0x413bf240,
+0x4638900f,0xfebcf7fb,0x1080f3c0,0xb120900e,0xf50d4638,0x4b4071f7,
+0x46384798,0xf834f7fd,0x21004638,0xf858f7fd,0xf88d2301,0x9b0331e2,
+0x2660f64e,0x31e3f88d,0xf04f9b05,0xb2dd0800,0x46b346a9,0x210046c2,
+0x240123db,0x46389300,0xf50d460b,0x940172ed,0xffe2f7fe,0x936cab7f,
+0x936e2318,0x93703308,0x936f335f,0x4356f240,0x9300946d,0x191ba96c,
+0xf2404638,0x4c1f4255,0x9b7f47a0,0x010bf343,0xf64eb911,0xe00a2260,
+0xf3432264,0xfb03330b,0xfb93f302,0xea83f3f1,0xeba272e3,0x42b272e3,
+0xf04fdc02,0xe0060a00,0x0301f10a,0xfa83fa5f,0x0f02f1ba,0xf89dd016,
+0x455a31e3,0xf89dbfdc,0x469351e3,0xb2db3b04,0x0f80f013,0x31e3f88d,
+0xf108d108,0xfa5f0301,0xf1b8f883,0xd0010f04,0xe7ac4616,0xd017454d,
+0x0309ebc5,0xd1112b10,0xe0101d2b,0x1e00705d,0x1e005d75,0x1e007a89,
+0x1e007b0d,0x1e007559,0x1e007321,0x1e00735d,0x1e0073d9,0xb2dd1cab,
+0x2660f64e,0x0800f04f,0x51e3f88d,0x46c146b2,0x23db2100,0x93002401,
+0x460b4638,0x72edf50d,0xf7fe9401,0xab7fff6d,0x2318936c,0x3308936e,
+0x335f9370,0xf240936f,0x946d4356,0xa96c9300,0x4638191b,0x4255f240,
+0x47a04c62,0xf3439b7f,0xb181010b,0xf3432264,0xfb03330b,0xfb93f302,
+0xea83f3f1,0xeba272e3,0xf5b272e3,0xda047ffa,0x51e3f89d,0xf64ee024,
+0x42b22260,0xf04fdc02,0xe0060900,0x0301f109,0xf983fa5f,0x0f02f1b9,
+0xf89dd016,0x455231e3,0xf89dbfbc,0x469251e3,0xb2db3b01,0x0f80f013,
+0x31e3f88d,0xf108d108,0xfa5f0301,0xf1b8f883,0xd0010f05,0xe7a74616,
+0x23db2400,0x46389300,0x46214623,0x72edf50d,0x51e3f88d,0xf7fe9401,
+0x9b0eff13,0x4638b123,0x71f7f50d,0x47984b3c,0x990d4638,0x47984b3b,
+0x46389b0f,0x4160f403,0xff5ef7fc,0xf7fc4638,0x9b02ff33,0xf4034638,
+0xf7fc4160,0x2301ff55,0xf44f4638,0x22ff6195,0xfdc4f7fb,0xb9139b04,
+0xf7ed6bf8,0x6bf8f9e3,0xfeccf7ec,0x280222e0,0x2320bf14,0xf44f2360,
+0x46386182,0xfdb2f7fb,0x46382280,0xf2404613,0xf7fb6131,0xf44ffdab,
+0x46385280,0xf2404613,0xf7fb61da,0xf44ffda3,0x46387200,0xf2404613,
+0xf7fb6131,0xf44ffd9b,0x46387280,0xf2404613,0xf7fb6131,0xf241fd93,
+0x22010311,0x463854fa,0x320521a5,0xfd64f7fb,0x218e4638,0xf7fb220f,
+0x4638fd5f,0x462221a2,0xfd5af7fb,0x21944638,0xf7fb22ff,0x4638fd55,
+0x22ff2193,0xfd50f7fb,0x21a44638,0xf7fb220c,0x4638fd4b,0x226621a3,
+0xfd46f7fb,0x7d01f50d,0x8ff0e8bd,0x1e00705d,0x1e0075f9,0x1e007321,
+0x4b1fb570,0x6bc04604,0x4798460d,0x481db120,0x113af248,0xf9b0f7e8,
+0xf7ec6be0,0xf405fe63,0xf5b34370,0xbf145f80,0x23012302,0xd0044298,
+0xf2484814,0xf7e8113b,0x4620f99f,0xf7fd4629,0x8da1fba1,0xf7fd4620,
+0x4620f9c1,0xf910f7fc,0xf7fc4620,0x6be0f881,0xf912f003,0x6be0b978,
+0xfbf2f7ec,0x4620b958,0xf9d4f7fe,0xf7ff4620,0x4620fc19,0xfc9cf7fe,
+0xf7fc4620,0xbd70fd09,0x0001e955,0x0002299e,0x4ff0e92d,0x46054b51,
+0xf890b093,0x4798002c,0x4d28f895,0xbb244683,0xf7ec6be8,0x2802fe1f,
+0xf04fd108,0xf8ad0304,0xf04f3038,0xf8ad030c,0xe009303a,0x0307f04f,
+0x3038f8ad,0x030ff04f,0x303af8ad,0x030ef04f,0x303cf8ad,0xa90e4628,
+0x403ef8ad,0x47984b3e,0x21964628,0x47984b3d,0xf8b5e1f9,0xb2832f6e,
+0xd104429a,0x46b92700,0x970346b8,0xf640e05c,0x429813c3,0xf995d838,
+0x2b043f9e,0xf9b5dc0c,0xf9b59066,0xf9b58068,0xf895706a,0xf8952f61,
+0xf8953f62,0xe01a1f63,0xdc0c2b36,0x9060f9b5,0x8062f9b5,0x7064f9b5,
+0x2f5ef895,0x3f5ff895,0x1f60f895,0xf9b5e00b,0xf9b5906c,0xf9b5806e,
+0xf8957070,0xf8952f64,0xf8953f65,0xf4421f66,0xea425200,0xea421203,
+0x46282281,0x413ef240,0xf7fbb292,0xe01bfc8d,0x43c8f241,0xd8064298,
+0x9072f9b5,0x8074f9b5,0x7076f9b5,0xf241e010,0x42986344,0xf9b5d806,
+0xf9b59078,0xf9b5807a,0xe005707c,0x907ef9b5,0x8080f9b5,0x7082f9b5,
+0xf8a52301,0x9303bf6e,0x46284b09,0x23074798,0x3319930b,0xab10930d,
+0x23019309,0x3b01930a,0xe016930c,0x1e00679d,0x1e0075f9,0x1e007321,
+0x1e0070f9,0x4356f240,0x46289300,0xa9093301,0x4255f240,0x47a04cbb,
+0x33019b0c,0x9b10930c,0x93103301,0x2b3f9b10,0x22ffd9ec,0x46284613,
+0x41a5f240,0xfc56f7fb,0xf2404628,0xf44f41a5,0xf44f42e0,0xf7fb43a0,
+0x2300fc4d,0xf2404628,0xf44f41a5,0xf7fb62e0,0x223ffc45,0x4628231f,
+0x41a6f240,0xfc3ef7fb,0x23002201,0xf2404628,0xf7fb5103,0x2204fc37,
+0x46284613,0x5103f240,0xfc30f7fb,0x46132210,0xf2404628,0xf7fb5103,
+0xf240fc29,0x46281121,0xf92af7fc,0x02f3f000,0x1121f240,0xf0424628,
+0xf7fb0201,0x214cfbf5,0x46282202,0xf8f8f7fc,0xf2404628,0xf44f41f3,
+0xf7fb5280,0x2251fc05,0xf44f4628,0xf7fb718a,0x214cfbe3,0x23002201,
+0xf7fc4628,0x2238f8cd,0x46282300,0x413cf240,0xfbfcf7fb,0x4200f44f,
+0x46284613,0x41a6f240,0xfbf4f7fb,0x46282300,0x6195f44f,0x427ff44f,
+0xfbecf7fb,0x46282201,0x6195f44f,0xfbccf7fb,0x2300227f,0xf2404628,
+0xf7fb41a4,0x2300fbdf,0xf2404628,0xf44f41a5,0xf7fb62e0,0xf44ffbd7,
+0xf2404260,0xf44f41a4,0x46284300,0xfbcef7fb,0xf7fb4628,0x2101fef5,
+0x4b6d4628,0xf44f4798,0x46135280,0xf2404628,0xf7fb414c,0xae04fbbf,
+0x46282300,0x414df240,0x4280f44f,0xfbb6f7fb,0x46302214,0x6cac4963,
+0xf8f0f7e9,0xf8d36cab,0xf0133120,0xd0040f01,0xf646485f,0xf7e731f3,
+0x4633ffff,0x21006c28,0xf7ed2214,0xf04fffcf,0xf8a40300,0xf44f3568,
+0xf8a47380,0xf04f37c0,0xf8a40341,0xf641350c,0xf8a42302,0xf04f3514,
+0xf8a40300,0xf8a43508,0xf8a4350a,0xf04f354c,0xf8a40314,0xf640356a,
+0xf8a40326,0xf04f3568,0xf8a40300,0x26003500,0x03d0f04f,0x3502f8a4,
+0x200ae002,0x47984b45,0x2e1f3601,0xf8b4d009,0xf013350e,0xd1f40f80,
+0x200ae003,0x47984b3f,0x2600e000,0x2e0b3601,0xf8b4d009,0xf413350e,
+0xd0f26f80,0x200ae003,0x47984b38,0x2600e000,0x2e0b3601,0xf8b4d004,
+0xf4133690,0xd1f27f80,0xf2404628,0xf7fb41ab,0xf410fb27,0xd0094f00,
+0x03fff000,0x46283b20,0x41a6f240,0xb29b223f,0xfb3cf7fb,0x46282400,
+0x414cf240,0x5280f44f,0xf7fb2300,0xf44ffb33,0xf8a57340,0x46284f6e,
+0x6195f44f,0x427ff44f,0xfb28f7fb,0x9309ab11,0x930a2301,0x2389ea4f,
+0x1a88eb07,0x0947ea4f,0xf503940c,0x46a04600,0x3780f44f,0xf2f7fb96,
+0x4356f240,0x93009211,0x33014628,0xf240a909,0x4c0e4255,0x9b0c47a0,
+0x0801f108,0xf1b83301,0x930c0f40,0x444f4456,0x9b03d1e8,0xf241b91b,
+0x5ceb0311,0x4628b113,0xf9e4f7fc,0xf44f4628,0xf7fc4160,0xb013fc7d,
+0x8ff0e8bd,0x1e006fcd,0x1e007415,0x000228ac,0x0002299e,0x1e005d75,
+0x4ff0e92d,0xb0892300,0x460c4616,0x8050f8dd,0x46829306,0x9058f8dd,
+0xfbecf7ec,0x0301f006,0x46059300,0x6c404621,0x9b154642,0xffc4f7f2,
+0x28004607,0x81a4f040,0x2b039b13,0xa806d904,0x22049912,0xf802f7e9,
+0x9a062e7e,0xd80bd063,0xd04f2e28,0x2e01d805,0xd31cd033,0xd03c2e10,
+0x2e29e016,0xe013d04c,0xf0002ebc,0xd8068155,0xd0592e81,0xd05a2e82,
+0xd04e2e80,0x2ec4e008,0x8173f000,0xf0002ec5,0x2ebe8160,0x8147f000,
+0x0716f06f,0x4628e174,0xf10da905,0xf7fb021f,0x4607fda9,0xf0402800,
+0xf89d816b,0x9a05301f,0xbf142b00,0x4300f04f,0x43132300,0x3000f8c8,
+0xf022e15e,0x29ff4100,0x21ffbfa8,0xb2c94628,0xf7fc0fd2,0x4607fedd,
+0xac02e152,0x220c4639,0xf7e84620,0x2301ff93,0x46214640,0x9302220c,
+0xe1409703,0xf7fb4628,0xf8c8fa77,0xe13f0000,0x2b011c53,0x2a01d902,
+0x8138f040,0x46114628,0xfa6ef7fb,0x9706e134,0xf995e002,0x93063dea,
+0xa9064640,0xe1262204,0x2deaf885,0x6be8e128,0xfbfcf7ed,0x413ef240,
+0xf7fb4628,0xf240fa25,0x46825103,0xf7fb4628,0x2204fa1f,0xf2404613,
+0x46835103,0xf7fb4628,0x4628fa39,0x413ef240,0x5200f44f,0xf7fb463b,
+0x220ffa31,0x46282308,0x413ef240,0xfa2af7fb,0x23a022f0,0xf2404628,
+0xf7fb413e,0xf44ffa23,0xf44f52e0,0x46286340,0x413ef240,0xfa1af7fb,
+0x413cf240,0xf7fb4628,0x2238f9f3,0xf2402320,0x4681413c,0xf7fb4628,
+0x220ffa0d,0x46282304,0x1121f240,0xfed0f7fb,0x7200f44f,0x46284613,
+0x5103f240,0xf9fef7fb,0x7200f44f,0x4628463b,0x5103f240,0xf9f6f7fb,
+0x413bf240,0xf7fb4628,0x2204f9cf,0xf2404613,0x4606413b,0xf7fb4628,
+0x2204f9e9,0xf2404628,0x463b413c,0xf9e2f7fb,0x7200f44f,0x46284613,
+0x5103f240,0xf9daf7fb,0xf2404628,0xf44f5103,0x463b7200,0xf9d2f7fb,
+0x46282328,0x5105f240,0x72fff64f,0xf9caf7fb,0xf2404628,0xf64f5104,
+0x463b72ff,0xf9c2f7fb,0x46282220,0x5103f240,0xf7fb4613,0x463cf9bb,
+0x4b4b2001,0x46284798,0x5103f240,0xf990f7fb,0x0f20f010,0x2000bf14,
+0x34012001,0xd0022c02,0xd0ed2800,0xb908e002,0xe0184604,0x5106f240,
+0xf7fb4628,0xf240f97d,0x46045107,0xf7fb4628,0x0424f977,0xf44f0c24,
+0xeb0461a1,0x46284400,0xf96ef7fb,0xf2404628,0xf7fb5109,0x2204f969,
+0x0302ea06,0xf2404628,0xf7fb413b,0x4628f983,0x413ef240,0xf7fb4652,
+0x2204f963,0x0302ea0b,0xf2404628,0xf7fb5103,0x2238f975,0x0302ea09,
+0xf2404628,0xf7fb413c,0xb220f96d,0x6166f246,0x47984b24,0x61f4f247,
+0x47984b23,0x6be81284,0xfd84f7ec,0x44fcf504,0x126434b1,0xe7039406,
+0x33fff04f,0xf895e027,0x4639002c,0x4c1b463a,0x42835913,0x2314d104,
+0x4303fb01,0xe0046858,0x32143101,0xd1f2290e,0x4b152000,0x90064798,
+0x2a08e012,0x1e53dc16,0xd0024213,0x0701f06f,0xf8dae012,0xf8a53848,
+0x68182d96,0xfaf6f7fb,0xf8b5e00a,0x93063d96,0xa9064640,0xf7e8464a,
+0xe001fe69,0x071cf06f,0xb0094638,0x8ff0e8bd,0x1e005d75,0x1e0044d1,
+0x1e0044a9,0x1e00cc2c,0x1e007ca1,0x4605b570,0xfa28f7ec,0x3054f890,
+0x2b004604,0x4628d052,0xffcef7eb,0x2d78f8d4,0x6c63b13a,0x370cf8d3,
+0x69621a9b,0x42936852,0x4628d30c,0xfcdcf002,0x4620b940,0xf9aaf7fb,
+0x6c63b120,0x370cf8d3,0x3d78f8c4,0x69626c63,0x170cf8d3,0x3dc4f894,
+0xf8d4b933,0x68d23dc0,0x0301ebc3,0xd3074293,0xf0024628,0xb918fcc1,
+0xf7eb4628,0xb1b0ffa1,0xf0026be0,0xb918fcb9,0xf7eb6be0,0xb190ff99,
+0x3258f894,0x6c63b1b3,0x225cf8d4,0x370cf8d3,0x2b051a9b,0x2300d90e,
+0x3258f884,0x4628e00a,0xff88f7eb,0x4620e7e4,0xf8942101,0xf7fb202c,
+0xe7e5fae1,0x46c0bd70,0x47f0e92d,0x46056803,0x78db18c3,0xf0034691,
+0xf44f007f,0xfb0073fa,0x468af203,0x19ab2600,0x2b007d5b,0x00f3d07f,
+0xf04fb2d9,0x29200800,0x2907d879,0x6300f041,0x2920d901,0xf443d102,
+0xe0016300,0x53c0f443,0x0f00f1ba,0xf443d002,0xe0016c80,0x7c00f443,
+0x0f00f1b9,0xf44cd001,0xf01c0c00,0xd0266700,0x0f00f41c,0x63e0f40c,
+0x0a1bd010,0x2b013b04,0xf00c4c2e,0xd8040e7f,0xfb0e2314,0x68db4303,
+0x2314e017,0x4303fb0e,0xe012689b,0x3b040a1b,0x4c262b01,0x0e7ff00c,
+0x2314d804,0x4303fb0e,0xe006685b,0xfb0e2314,0x591bf303,0xf00ce001,
+0x4293037f,0xb337d92a,0x0f00f41c,0x63e0f40c,0x0a1bd010,0x2b013b04,
+0xf00c4c18,0xd8040e7f,0xfb0e2314,0x68da4303,0x2314e017,0x4303fb0e,
+0xe012689a,0x3b040a1b,0x4c102b01,0x0e7ff00c,0x2314d804,0x4303fb0e,
+0xe006685a,0xfb0e2314,0x591af303,0xf00ce001,0x4660027f,0x0301f108,
+0xf883fa5f,0xf1b81c4b,0xb2d90f08,0x3601d183,0xf47f2e10,0xe8bdaf78,
+0x46c087f0,0x1e00c744,0x29287e43,0xf043bf0c,0xf0230301,0x76430301,
+0x46c04770,0xb5104603,0x22284608,0xf7e84619,0xbd10fd4d,0x43f0e92d,
+0x4605b09d,0x46914688,0x0003f10d,0x226d2100,0xfd20f7e8,0x2000682c,
+0x182be00d,0xf0017919,0x2a6c027f,0x4b23d806,0xb11b5c9b,0x18b3ae1c,
+0x1c6df803,0x42a03001,0x2600d1ef,0xe0144637,0x0307eb08,0xf003791b,
+0x2c6c047f,0x481ad904,0x119bf240,0xfc38f7e7,0x1913aa1c,0x2c6df813,
+0x19abb112,0x3601711a,0xf8d83701,0x429f3000,0x602ed3e6,0x20004629,
+0x0300eb08,0x7d5b7d4a,0x401a3001,0x3101754a,0xd1f52810,0xb1596829,
+0x0f00f1b9,0x2200d00a,0xf99318ab,0x2b003004,0x3201db04,0xd1f7428a,
+0xe0002000,0xb01d2001,0x83f0e8bd,0x1e00c634,0x00022b1b,0x43f0e92d,
+0x4607b08d,0x505cf89d,0x4b174816,0x6058f89d,0xbf082d14,0xac024618,
+0xbf142900,0x46804688,0xf89d4621,0xf7ff9050,0xb14eff81,0xd1072d14,
+0x23004622,0x32017593,0x030ff104,0xd1f8429a,0xa8029b15,0x46399300,
+0x96012200,0x4c07464b,0x463847a0,0x22004641,0xff70f7ff,0xe8bdb00d,
+0x46c083f0,0x1e00c9d8,0x1e00c594,0x0001ed85,0xb09db530,0x460d4604,
+0x0003f10d,0x226d2100,0xfc88f7e8,0xe0112000,0x79191823,0x027ff001,
+0xd80a2a6c,0x5c9b4b1f,0xab1cb13b,0xf812189a,0xea413c6d,0xf8020303,
+0x30013c6d,0x42986823,0x2000d3ea,0x182be011,0xf0017919,0x2a6c027f,
+0x4b14d80a,0xb13b5c9b,0x189aab1c,0x3c6df812,0x0303ea41,0x3c6df802,
+0x682b3001,0xd3ea4298,0x60232300,0xf10d4618,0x5cc10303,0x6823b161,
+0x330118e2,0x71112b10,0xd9056023,0xf44f4806,0xf7e771bc,0xe002fb81,
+0x286d3001,0xb01dd1eb,0x46c0bd30,0x1e00c634,0x00022b1b,0x46c04770,
+0x46c04770,0x460cb510,0xf890b111,0xe0012078,0x2079f890,0x3074f890,
+0xf1131a9b,0xbf4831ff,0x01dff103,0x031ff001,0x409a2201,0xeb00114b,
+0x6d1b0383,0xd007421a,0x6f03b11c,0x67033b01,0x6ec3e002,0x66c33b01,
+0x46c0bd10,0x460cb510,0xf890b111,0xe00120d7,0x20d8f890,0x30d4f890,
+0xf1131a9b,0xbf4832ff,0x022ff103,0x0101f002,0xb2c90089,0x408b230f,
+0x0262eb00,0x20b4f892,0x410b4013,0xb12cb2d9,0x30d0f8d0,0xf8c01a5b,
+0xe00430d0,0x30ccf8d0,0xf8c01a5b,0xbd1030cc,0xf890b510,0x468ce186,
+0x0207f00e,0x40912101,0x0301f00c,0x46044093,0x00deeb00,0x2180f890,
+0xea01b2c9,0xea220303,0x43130201,0x0f2ff1be,0x3180f880,0x2200d101,
+0xf10ee002,0xb2da0301,0x3187f894,0x2186f884,0xfa5f4463,0xb2d3fe83,
+0x002ff1b3,0x1c58bf48,0x0107f000,0x408a2201,0x03e0eb04,0x3180f893,
+0xe187f884,0x410b4013,0x030eebc3,0x3187f884,0x317cf8d4,0x3ffff1b3,
+0x3301d002,0x317cf8c4,0x46c0bd10,0xf890b172,0xf01330d6,0xd0040f01,
+0xf8931843,0x4b092097,0x7902e001,0xf8534b08,0xe00a0022,0x3077f890,
+0xb11b4a05,0xf8931843,0xe0003025,0xf8527903,0x47700023,0x1e00d148,
+0x1e00d060,0x18c96883,0xf8917913,0xf3c32075,0x429a03c1,0x2000d001,
+0xf891e005,0xf1d33076,0xbf380001,0x47702000,0x47f0e92d,0x9020f8dd,
+0x4615460e,0x9f09469a,0x802cf8dd,0xb9204604,0xf2414855,0xf7e71186,
+0x68a3fa9b,0x0200f04f,0xf8a818f0,0xf8902000,0x1e1c30a8,0x2401bf18,
+0xf890b15c,0xf01330d6,0xd0060f10,0x0301f023,0x2077f880,0x30d6f880,
+0xf8902400,0x703b3162,0x2162f890,0x701a9b0a,0xf64f882b,0xea0372e7,
+0x802a0202,0x3075f890,0xf00300db,0x431a0318,0x0c520452,0xb9a4802a,
+0x1076f890,0x3046f890,0xd3034299,0xb2d93b01,0x1076f880,0x791a1843,
+0xf8534b36,0x46223022,0x3000f8ca,0xff7af7ff,0xf890e05d,0xf8903085,
+0x2b0010d5,0xf44fbf14,0x24000400,0x68db6803,0xd10d2b01,0x30eaf890,
+0x0f01f013,0xf890d024,0xea6f10e9,0xea6f4342,0x24004353,0xe01b802b,
+0xd1192b02,0x316cf8b0,0x0f01f013,0xf890d014,0xb92b3174,0x1165f890,
+0x3163f890,0xe005703b,0x3164f890,0x1166f890,0x703b2400,0xea6f882b,
+0xea6f4343,0x802b4353,0x30a8f890,0xd3034299,0xb2d93b01,0x10d5f880,
+0x30eef890,0xf8b8b12b,0xf0433000,0xf8a80301,0x180b3000,0x2086f893,
+0xf8534b0d,0x43233022,0x3000f8ca,0x68db6803,0xd1052b02,0x10d5f890,
+0xf7ff2201,0xe002ff1f,0xf7ff2201,0xf8c9ff1b,0xe8bd0000,0x46c087f0,
+0x00022b3d,0x1e00d060,0x1e00d148,0x460eb570,0x4010f89d,0xb9204605,
+0xf6404811,0xf7e77125,0x68a8f9e3,0x1830b9d4,0x30eaf890,0x0f01f013,
+0x6fc3bf1c,0xf890601c,0xf02330ea,0xf8800301,0xf8b030ea,0xf013316c,
+0xbf1c0f01,0x601c6fc3,0x316cf8b0,0x0301f023,0x316cf8a0,0x46c0bd70,
+0x00022b3d,0x41f0e92d,0xf8904698,0x461630d5,0xf89318c3,0x4b3e2086,
+0xf8134604,0x460f3022,0x057ff003,0x3083f890,0xf890b953,0xb93b3084,
+0x3085f890,0x4837b123,0x4143f640,0xf9a4f7e7,0x30d5f894,0x70332f01,
+0x2d07d121,0x6823d10b,0x3b0168db,0xd8112b01,0x3085f894,0xd1532b00,
+0x3083f894,0x2d0fe007,0xf894d108,0x2b003085,0xf894d14a,0x2b003084,
+0xe02fd046,0x30a8f894,0x20d5f894,0x429a3b01,0x1c53d03e,0xf1b7e014,
+0xd1393fff,0x20d5f894,0xd0352a00,0x68db6823,0x2b013b01,0x2d08d80a,
+0x2a08d108,0x2300dc01,0xf1a2e002,0xb2db0308,0xe0117033,0x1085f894,
+0x2d07b149,0x2d0fd00c,0x4812d00a,0x4163f640,0xf95af7e7,0x1e53e004,
+0xe0027033,0xe0002101,0x78332100,0xf89318e3,0x4b092086,0x0022f853,
+0x0000f8c8,0xf440b111,0xe0010300,0x0300f420,0xf8c82001,0xe0003000,
+0xe8bd2000,0x46c081f0,0x1e00d148,0x00022b3d,0x41f0e92d,0xf8904698,
+0x46173076,0x791a18c3,0x46044b3a,0x5022f853,0x3083f890,0xb953460e,
+0x3084f890,0xf890b93b,0xb1233085,0xf6404834,0xf7e72153,0xf894f91d,
+0x2e013076,0xd128703b,0x6f00f015,0xf005d01b,0x2b07037f,0x6823d10c,
+0x3b0168db,0xd8122b01,0x3083f894,0xf894b17b,0x2b003085,0xe00ad033,
+0xd1082b0f,0x3084f894,0xd03f2b00,0x3085f894,0xd13b2b00,0xf894e027,
+0xf8943046,0x3b012076,0xd033429a,0x703b1c53,0xf1b6e01b,0xd12d3fff,
+0x2085f894,0xf015b172,0xd0056f00,0x037ff005,0xd00e2b07,0xd00c2b0f,
+0xf44f4813,0xf7e76127,0xe006f8db,0x3076f894,0x3b01b1c3,0x703b4611,
+0x2100e002,0x2101e000,0x18e3783b,0x4b09791a,0x0022f853,0x0000f8c8,
+0xf440b111,0xe0010300,0x0300f420,0xf8c82001,0xe0003000,0xe8bd2000,
+0x46c081f0,0x1e00d060,0x00022b3d,0x4b0eb510,0x0080f890,0x490d468e,
+0xbf082800,0x2a004619,0x2015bf14,0xe0052000,0x3020f851,0xd0094573,
+0xb2d81c43,0xd9f72831,0xf6404805,0xf7e7119f,0x2000f89b,0x46c0bd10,
+0x1e00d4d8,0x1e00d5a0,0x00022b3d,0x2000b510,0xf8534b07,0x428b3020,
+0x3001d008,0xd1f72811,0xf2404804,0xf7e751ad,0x2000f883,0x46c0bd10,
+0x1e00d148,0x00022b3d,0x2000b510,0xf8534b07,0x428b3020,0x3001d008,
+0xd1f7281d,0xf2404804,0xf7e75197,0x2000f86d,0x46c0bd10,0x1e00d060,
+0x00022b3d,0x2400b570,0xf8c04605,0xf8c040e0,0xf5004168,0x300170b8,
+0x22034621,0xf91ef7e8,0x416ff885,0x416ef885,0x46c0bd70,0x4604b510,
+0xffe8f7ff,0x3174f894,0x0301f1c3,0x2b01b2db,0x3174f884,0xf8b4d106,
+0xf013316c,0xbf080310,0x3174f884,0x46c0bd10,0x2400b570,0xf8c04605,
+0xf8c040e0,0x462140dc,0x00e4f100,0xf7e82203,0xf885f8f5,0xf88540e7,
+0xbd7040e8,0x43f7e92d,0x2076f890,0x3046f890,0x429a4605,0xd3034689,
+0xf8803b01,0xe2e13076,0xd00229ff,0x1076f885,0x1883e2e8,0x4bb2791a,
+0x2022f853,0x3082f890,0xf012b163,0xd0096f00,0x037ff002,0xd9052b01,
+0x30d6f890,0x0310f023,0x30d6f880,0xf04f4628,0xf10d31ff,0x466b0207,
+0xfec2f7ff,0xf0002800,0x682b8126,0x203ef893,0x2a01b112,0xe10dd011,
+0xf8956cea,0x6eeb1079,0xbf944291,0x0301ebc3,0x0302ebc3,0x207bf895,
+0xbf344293,0x20012000,0xf895e103,0x2b033160,0x4610d901,0xf8d5e0fe,
+0xf1b33118,0xd1043fff,0xf6404892,0xf7e621a8,0xf895ffcf,0x18eb3076,
+0x4b8d791a,0x1022f853,0x3085f895,0x6f00f011,0x2b00d030,0xf44fbf14,
+0x23000300,0xf413430b,0xf8950f00,0xd0100080,0x4a85b138,0x017ff001,
+0xfb012314,0x68da2303,0x4a81e017,0x017ff001,0xfb012314,0x689a2303,
+0xb138e00f,0xf0014a7c,0x2314017f,0x2303fb01,0xe006685a,0xf0012214,
+0xfb03037f,0x4a76f302,0xf44f589a,0xfbb273fa,0xe001f7f3,0x077ff001,
+0xf0119900,0xd0276f00,0x0f00f411,0x0080f895,0xf8dfd00e,0xf001c1b4,
+0xb120027f,0xfb022314,0x68dac303,0x2314e013,0xc303fb02,0xe00e689a,
+0xc194f8df,0x027ff001,0x2314b120,0xc303fb02,0xe004685a,0xfb022314,
+0xf853f303,0xf44f200c,0xfbb273fa,0xe001f6f3,0x067ff001,0x30fcf8d5,
+0xd008428b,0x3100f8d5,0x3ffff1b3,0xf04fbf1c,0xf8c533ff,0xf8d53100,
+0xf0122114,0xd0276f00,0x0f00f412,0x0080f895,0xf8dfd00e,0xf002c13c,
+0xb120027f,0xfb022314,0x68dac303,0x2314e013,0xc303fb02,0xe00e689a,
+0xc11cf8df,0x027ff002,0x2314b120,0xc303fb02,0xe004685a,0xfb022314,
+0xf853f303,0xf44f200c,0xfbb273fa,0xe001f4f3,0x047ff002,0xd90142b7,
+0xd20642a6,0x40f4f8d5,0x33fff04f,0x3118f8c5,0xf8d5e00f,0xebc63118,
+0xfb030107,0xf8d5f301,0xebc400f4,0xfb000206,0xebc43202,0xfbb20307,
+0x682bf4f3,0x203ff893,0x40932301,0xd904429c,0xf640482a,0xf7e621c8,
+0xf8d5feff,0xf1b00100,0xd00c3fff,0xf8d56829,0x684b2104,0x370cf8d3,
+0x6c8a1a9b,0xd2024293,0xbf284284,0xf8d54604,0xfb0630f4,0xfb03f204,
+0x429af307,0x2000bf94,0xe0062001,0xf44f4819,0xf7e6612e,0x2000fedd,
+0xb140e009,0x3007f89d,0x3076f885,0xf3c39b00,0xf88553c0,0xf0103085,
+0xf0400fff,0xf04f8193,0xf88d33ff,0x682b3007,0x403ef893,0x2c01b114,
+0xe161d018,0x2078f895,0x42936ceb,0x4621d201,0x6f2be008,0x0302ebc3,
+0x207af895,0xbfcc4293,0x21012100,0xe15bb2cc,0x1e00d060,0x00022b3d,
+0x1e00c744,0x3118f8d5,0x3ffff1b3,0x48a5d104,0x3103f640,0xfea0f7e6,
+0x6cea682b,0x429a6c5b,0x81a3f0c0,0x46214628,0x0207f10d,0xf7ff466b,
+0x2800fd5b,0x8199f000,0x3076f895,0x791a18eb,0xf8534b99,0xf8951022,
+0xf0113085,0xd0306f00,0xbf142b00,0x0300f44f,0x430b2300,0x0f00f413,
+0x0080f895,0xb138d010,0xf0014a90,0x2314017f,0x2303fb01,0xe01768da,
+0xf0014a8c,0x2314017f,0x2303fb01,0xe00f689a,0x4a88b138,0x017ff001,
+0xfb012314,0x685a2303,0x2214e006,0x037ff001,0xf302fb03,0x589a4a81,
+0x73faf44f,0xf8f3fbb2,0xf001e001,0x9900087f,0x6f00f011,0xf411d027,
+0xf8950f00,0xd00e0080,0xc1e0f8df,0x027ff001,0x2314b120,0xc303fb02,
+0xe01368da,0xfb022314,0x689ac303,0xf8dfe00e,0xf001c1c4,0xb120027f,
+0xfb022314,0x685ac303,0x2314e004,0xf303fb02,0x200cf853,0x73faf44f,
+0xf7f3fbb2,0xf001e001,0xf8d5077f,0x428b3108,0xf8d5d008,0xf1b3310c,
+0xbf1c3fff,0x33fff04f,0x310cf8c5,0x3076f895,0x18ebb1ab,0x4b5c791a,
+0x1114f8d5,0x2022f853,0x3085f895,0xbf142b00,0x0300f44f,0x43132300,
+0xd1044299,0xf6404853,0xf7e6311a,0xf895fdfd,0xf8d53076,0x18eb4114,
+0x4b4f791a,0x610cf8d5,0x2022f853,0x3085f895,0xbf142b00,0x0300f44f,
+0x43132300,0xd05c429c,0x3ffff1b6,0x6829d009,0x2110f8d5,0xf8d3684b,
+0x1a9b370c,0x42936c8a,0xf8d5d34f,0xf8d5e118,0x45b660f4,0xf014d949,
+0xd0276f00,0x0f00f414,0x0080f895,0xf8dfd00e,0xf004c0ec,0xb120027f,
+0xfb022314,0x68dac303,0x2314e013,0xc303fb02,0xe00e689a,0xc0ccf8df,
+0x027ff004,0x2314b120,0xc303fb02,0xe004685a,0xfb022314,0xf853f303,
+0xf44f200c,0xfbb273fa,0xe001f1f3,0x017ff004,0xd9014547,0xd2044588,
+0x33fff04f,0x3118f8c5,0xebc1e013,0xfb060307,0xebc8f303,0xfb0e0207,
+0xebc13212,0xfbb20308,0x682bf6f3,0x203ff893,0x40932301,0xbf88429e,
+0xf8952600,0xf8d53076,0x18eb1114,0x4b16791a,0x2022f853,0x3085f895,
+0xbf142b00,0x0300f44f,0x43132300,0xf8d54299,0xd10c10f4,0xf893682b,
+0x2355203f,0x22644093,0xf3f2fbb3,0xbf944299,0x24012400,0xfb07e014,
+0xfb01f206,0x429af308,0x2400bf94,0xe00b2401,0xf6404802,0xf7e6315d,
+0xe062fd5b,0x00022b3d,0x1e00d060,0x1e00c744,0xf89db1a4,0x2bff3007,
+0x4628d107,0xf10d2101,0x466b0207,0xfc10f7ff,0x9b00b148,0x53c0f3c3,
+0x3085f885,0x3007f89d,0x3076f885,0xf0104620,0xd0440fff,0x3046f895,
+0x1076f895,0xf895b13b,0xb12330a8,0x21004628,0xf98cf000,0xf8954649,
+0x18eb3076,0x4b1b791a,0x2022f853,0x3082f895,0xf012b163,0xd0096f00,
+0x037ff002,0xd9052b01,0x30d6f895,0x0310f023,0x30d6f885,0xd00929ff,
+0x3075f895,0xd9012b02,0xe0012300,0xb2db3301,0x3075f885,0x46212400,
+0x64ac221c,0xf10564ec,0xf7e70050,0x4b08fdc7,0x672c66ec,0x4074f885,
+0x47984628,0x601c6feb,0x2400e001,0xe8bde7b6,0x46c083fe,0x1e00d060,
+0x0001f451,0x4ff8e92d,0x4617460e,0xf8bd4699,0x4604b028,0x489fb920,
+0x6176f640,0xfce0f7e6,0x197468a5,0x489bd104,0x61b6f640,0xfcd8f7e6,
+0xf894793b,0xf3c32075,0x429a03c1,0x8122f040,0xf8935973,0x2b01303e,
+0xf04fd002,0xe0060a00,0xf8944620,0x22001076,0xf9e4f7ff,0x79ba4682,
+0xea4279fb,0xf0132303,0xd0090f40,0x031cf013,0x2b14d006,0x4887d004,
+0x7162f240,0xfcb0f7e6,0x79fa79bb,0x2302ea43,0x3813ea5f,0x2603f3c3,
+0x2e00d102,0x80e7f000,0x3074f894,0x09582201,0x031ff003,0xf103fa12,
+0x454eb14e,0x2300d901,0x45d8e003,0x2300bf8c,0xb2dd2301,0x45c8e003,
+0x2500bf8c,0xeb042501,0x6d020080,0xbf142d00,0xf04f468e,0xea010e00,
+0x459e0302,0xea81bf1c,0x65030302,0x3074f894,0xd9012bde,0xe0012300,
+0xb2db3301,0x3074f884,0x79bbb1b5,0x0f02f013,0xf894d012,0xb90a2077,
+0x601a6fe3,0x20d6f894,0xea122301,0xf8840103,0xbf043077,0x60196fe3,
+0x0301f042,0x30d6f884,0x0f00f1be,0x6ee3d005,0x66e33301,0x33016f23,
+0x21006723,0xf7ff4620,0x2101f8dd,0xf7ff4620,0x6ce3f8d9,0x3ffff1b3,
+0x3301d001,0x682564e3,0x303ef895,0xf0002b00,0xf8948082,0xf8d43076,
+0x18e310f0,0x4b4a791a,0x0022f853,0x2085f894,0xbf142a00,0x0300f44f,
+0x43032300,0xd00d4299,0xbf142a00,0x0300f44f,0x43032300,0x30f0f8c4,
+0x203ff895,0x40932301,0x30f4f8c4,0x3114f8d4,0xd1044553,0x3118f8d4,
+0x3ffff1b3,0x6823d108,0xa114f8c4,0x203ff893,0x40932301,0x3118f8c4,
+0x6ce36825,0x2042f895,0xbf94454e,0xf04f46de,0x42930e00,0xf895bf34,
+0xf8950041,0x26010040,0x4576e00b,0xf104bfd4,0xf50401f4,0x680b718c,
+0xfa333601,0x1a9bf200,0xf108600b,0x429e0301,0x79bbd1ef,0x0f02f013,
+0x45f0d015,0x303ff895,0x1a1bdc08,0x409a2201,0x30f4f8d4,0xf8c4189b,
+0xe01030f4,0x22011a1b,0xf8d4409a,0x189b3118,0x3118f8c4,0x45f0e001,
+0x6823dd05,0xf8d3685b,0xf8c4370c,0x79bb311c,0x0f02f013,0x2300d001,
+0xf894e003,0x33013160,0xf884b2db,0xf8943160,0xb1333046,0x30a8f894,
+0x4620b11b,0xf7ff2100,0x4620f88f,0xf7ff21ff,0xe005fb85,0xf1b36ca3,
+0xbf183fff,0x64a33301,0x8ff8e8bd,0x00022b3d,0x1e00d060,0x4602b510,
+0x6803468e,0xf893b991,0x2b01303e,0xf04fd105,0xf8c033ff,0xf8c03128,
+0xf8923158,0x18d33076,0x1188f893,0xf0004672,0xe010f813,0x303ef893,
+0xd1052b01,0x33fff04f,0x30f4f8c0,0x3118f8c0,0x30d5f892,0xf89318d3,
+0xf7ff11a9,0xbd10fb4f,0x43f7e92d,0xf8904689,0xf89030d5,0x460510a8,
+0xd303428b,0xf8801e4b,0xe3b030d5,0x0ffff1b9,0xf880d002,0xe3b890d5,
+0xf0402a00,0xf04f831f,0xf10d31ff,0x466b0207,0xf998f7ff,0xf0002800,
+0x682b8156,0x203ef893,0x2a01b112,0xe111d014,0x20b0f8d5,0x30d8f895,
+0xbf284293,0x220f4613,0xf302fb03,0x20ccf8d5,0xf8951a9b,0x429320da,
+0x2400bf34,0xe1042401,0x3160f895,0xd9012b03,0xe1004614,0x3158f8d5,
+0x3ffff1b3,0x48abd104,0x419df640,0xfb2cf7e6,0x30d5f895,0xf89318eb,
+0x4ba72086,0x1022f853,0x3085f895,0x6f00f011,0x2b00d030,0xf44fbf14,
+0x23000300,0xf413430b,0xf8950f00,0xd0100080,0x4a9eb138,0x017ff001,
+0xfb012314,0x68da2303,0x4a9ae017,0x017ff001,0xfb012314,0x689a2303,
+0xb138e00f,0xf0014a95,0x2314017f,0x2303fb01,0xe006685a,0xf0012214,
+0xfb03037f,0x4a8ff302,0xf44f589a,0xfbb273fa,0xe001f7f3,0x077ff001,
+0xf0119900,0xd0276f00,0x0f00f411,0x0080f895,0xf8dfd00e,0xf001c218,
+0xb120027f,0xfb022314,0x68dac303,0x2314e013,0xc303fb02,0xe00e689a,
+0xc1f8f8df,0x027ff001,0x2314b120,0xc303fb02,0xe004685a,0xfb022314,
+0xf853f303,0xf44f200c,0xfbb273fa,0xe001f6f3,0x067ff001,0x3138f8d5,
+0x3ffff1b3,0xf8d5d007,0x428b3130,0xf04fbf1c,0xf8c533ff,0xf8d53138,
+0xf0122150,0xd0276f00,0x0f00f412,0x0080f895,0xf8dfd00e,0xf002c1a0,
+0xb120027f,0xfb022314,0x68dac303,0x2314e013,0xc303fb02,0xe00e689a,
+0xc180f8df,0x027ff002,0x2314b120,0xc303fb02,0xe004685a,0xfb022314,
+0xf853f303,0xf44f200c,0xfbb273fa,0xe001f4f3,0x047ff002,0xd90142b7,
+0xd20642a6,0x4128f8d5,0x33fff04f,0x3158f8c5,0xf8d5e00f,0xebc63158,
+0xfb030107,0xf8d5f301,0xebc40128,0xfb000206,0xebc43202,0xfbb20307,
+0x682bf4f3,0x203ff893,0x40932301,0xd904429c,0xf6404842,0xf7e641c2,
+0xf8d5fa5b,0xf1b00138,0xd00c3fff,0xf8d56829,0x684b213c,0x370cf8d3,
+0x6c8a1a9b,0xd2024293,0xbf284284,0xf8d54604,0xfb063128,0xfb03f204,
+0x429af307,0x2400bf94,0xe0062401,0xf6404831,0xf7e641da,0x2400fa39,
+0x2c00e034,0xf89dd032,0xf8853007,0x9b0030d5,0x53c0f3c3,0x3085f885,
+0x30d5f895,0xf89318eb,0x4b272086,0x3022f853,0x037ff003,0xd11d2b08,
+0x68db682b,0xd1032b01,0xf7ff4628,0xe015f9dd,0xd1132b02,0xf7ff4628,
+0xf895f9ad,0xf8953161,0x3b012162,0xdb01429a,0xe0012300,0xb2db1c53,
+0x3163f885,0x3162f895,0x3164f885,0xf0104620,0xd0010fff,0xe1b62300,
+0x33fff04f,0x3007f88d,0xf893682b,0xb114403e,0xd01d2c01,0xf895e16b,
+0xf8d520d7,0x429330b0,0x4621d201,0x230fe00b,0xf303fb02,0x20d0f8d5,
+0xf8951a9b,0x429320d9,0x2100bfcc,0xb2cc2101,0x46c0e15b,0x00022b3d,
+0x1e00d148,0x1e00c744,0x3158f8d5,0x3ffff1b3,0x48b9d104,0x5107f640,
+0xf9caf7e6,0xf8d5682b,0x6c5b20b0,0xf0c0429a,0x4628825d,0xf10d4621,
+0x466b0207,0xfffaf7fe,0xf0002800,0xf8958253,0x18eb30d5,0x2086f893,
+0xf8534bac,0xf8951022,0xf0113085,0xd0306f00,0xbf142b00,0x0300f44f,
+0x430b2300,0x0f00f413,0x0080f895,0xb138d010,0xf0014aa3,0x2314017f,
+0x2303fb01,0xe01768da,0xf0014a9f,0x2314017f,0x2303fb01,0xe00f689a,
+0x4a9bb138,0x017ff001,0xfb012314,0x685a2303,0x2214e006,0x037ff001,
+0xf302fb03,0x589a4a94,0x73faf44f,0xf8f3fbb2,0xf001e001,0x9900087f,
+0x6f00f011,0xf411d027,0xf8950f00,0xd00e0080,0xc22cf8df,0x027ff001,
+0x2314b120,0xc303fb02,0xe01368da,0xfb022314,0x689ac303,0xf8dfe00e,
+0xf001c210,0xb120027f,0xfb022314,0x685ac303,0x2314e004,0xf303fb02,
+0x200cf853,0x73faf44f,0xf7f3fbb2,0xf001e001,0xf8d5077f,0x428b3140,
+0xf8d5d008,0xf1b33148,0xbf1c3fff,0x33fff04f,0x3148f8c5,0x30d5f895,
+0x195bb1b3,0x2086f893,0xf8d54b6e,0xf8531150,0xf8952022,0x2b003085,
+0xf44fbf14,0x23000300,0x42994313,0x4866d104,0x5123f640,0xf924f7e6,
+0x30d5f895,0x4150f8d5,0xf89318eb,0x4b612086,0x6148f8d5,0x2022f853,
+0x3085f895,0xbf142b00,0x0300f44f,0x43132300,0xd05c429c,0x3ffff1b6,
+0x6829d009,0x214cf8d5,0xf8d3684b,0x1a9b370c,0x42936c8a,0xf8d5d34f,
+0xf8d5e158,0x45b66128,0xf014d949,0xd0276f00,0x0f00f414,0x0080f895,
+0xf8dfd00e,0xf004c134,0xb120027f,0xfb022314,0x68dac303,0x2314e013,
+0xc303fb02,0xe00e689a,0xc114f8df,0x027ff004,0x2314b120,0xc303fb02,
+0xe004685a,0xfb022314,0xf853f303,0xf44f200c,0xfbb273fa,0xe001f1f3,
+0x017ff004,0xd9014547,0xd2044588,0x33fff04f,0x3158f8c5,0xebc1e013,
+0xfb060307,0xebc8f303,0xfb0e0207,0xebc13212,0xfbb20308,0x682bf6f3,
+0x203ff893,0x40932301,0xbf88429e,0xf8952600,0xf8d530d5,0x18eb1150,
+0x2086f893,0xf8534b27,0xf8952022,0x2b003085,0xf44fbf14,0x23000300,
+0x42994313,0x1128f8d5,0x682bd10c,0x203ff893,0x40932355,0xfbb32264,
+0x4299f3f2,0x2400bf94,0xe00e2401,0xf206fb07,0xf308fb01,0xbf94429a,
+0x24012400,0x4814e005,0x5164f640,0xf880f7e6,0x2c00e118,0xf89dd032,
+0x2bff3007,0x4628d107,0xf10d2101,0x466b0207,0xfeb0f7fe,0x9b00b338,
+0x52c0f3c3,0x2085f885,0x037ff003,0x2007f89d,0xf8852b0c,0xd11920d5,
+0x68db682b,0xd1092b01,0xf7ff4628,0xe011f821,0x00022b3d,0x1e00d148,
+0x1e00c744,0xd1092b02,0x3174f895,0xd1052b01,0xf7fe4628,0x2300ffe7,
+0x3174f885,0xf0104620,0xd0030fff,0xf8852301,0xe08830ee,0x68db682b,
+0xd0222b02,0xf0402b01,0xf8d580d7,0x2b1130dc,0x80d2f240,0x10e9f895,
+0x30d5f895,0xf000428b,0xf89580cb,0x428b30a8,0x80c6f240,0x30e7f995,
+0x20edf895,0x0312f1c3,0xf3004293,0xf88580bd,0x462810d5,0xffe0f7fe,
+0xf8d5e06f,0xf9951168,0xf895316f,0xebc32170,0x42930301,0xf895d92e,
+0xf8951174,0xb9d13161,0x2163f895,0x429a3b01,0x460adb01,0x1c53e001,
+0xf895b2da,0xf8853162,0x42932163,0xf895d116,0x3b013161,0xdb01429a,
+0xe0012300,0xb2db1c53,0x3163f885,0xf895e00a,0x3b012164,0xdb01429a,
+0xe0012300,0xb2db1c53,0x3164f885,0xf7fe4628,0xe07dff91,0xd97b2911,
+0x3174f895,0xf895b933,0xf8853165,0xf89530d5,0xe0053163,0x3166f895,
+0x30d5f885,0x3164f895,0x3162f885,0x3161f895,0x2162f895,0x429a3b01,
+0x2300db01,0x1c53e001,0xf885b2db,0xf8953163,0x46283162,0x3164f885,
+0xff68f7fe,0xf895e00d,0xf8953046,0xb13b20d5,0x30a8f895,0x4628b123,
+0xf7ff2101,0xe000fc0b,0xf8954691,0x18eb30d5,0x2086f893,0xf8534b21,
+0xf8952022,0xb1633082,0x6f00f012,0xf002d009,0x2b01037f,0xf895d805,
+0xf04330d6,0xf8850310,0xf00230d6,0x2b07037f,0x2b0fd004,0x2300d002,
+0x3085f885,0x0ffff1b9,0xf895d009,0x2b023075,0x2300d901,0x3301e001,
+0xf885b2db,0x24003075,0x22184621,0x40acf8c5,0x40b0f8c5,0x00b4f105,
+0xf838f7e7,0xf8c54b08,0xf8c540cc,0xf88540d0,0x462840d4,0x6feb4798,
+0xe001601c,0xe7192400,0x83fee8bd,0x1e00d148,0x0001f021,0x4ff0e92d,
+0x460eb085,0xf89d4615,0xf89d1048,0x93032050,0x8038f89d,0x903cf89d,
+0xb040f89d,0xa044f89d,0xf89d9102,0x9201704c,0xb9204604,0xf64048a8,
+0xf7e561d2,0x68a3ff41,0xf89418f4,0xb92b30a8,0xf64048a3,0xf7e561da,
+0xe2b2ff37,0xf894792b,0xf3c32075,0x429a03c1,0x82a3f040,0xf04fb117,
+0xe0130901,0xf01379ab,0xd006031c,0xd0042b14,0xf6404897,0xf7e50116,
+0x79abff1f,0x0f20f013,0x4893d104,0x0119f640,0xff16f7e5,0x30d5f894,
+0x18e39902,0x2086f893,0xf8534b8e,0xf0013022,0xf003027f,0x4293037f,
+0x6823d05d,0x2a0168da,0x45d3d159,0xf8d4d30a,0xf1b330e0,0xf0003fff,
+0x3301825d,0xf8c44615,0xe25a30e0,0x0f00f1b9,0x2200d001,0x9b03e004,
+0xbf144598,0x22012200,0xe0e8f894,0x2101b295,0x0207f00e,0xfa154091,
+0xeb04f202,0xf89000de,0xb2c930e4,0x0202ea01,0x0301ea23,0xf1be431a,
+0xf8800f17,0xd10120e4,0xe0022200,0x0301f10e,0xf894b2da,0xf88430e7,
+0x195b20e8,0xb2d3b2dd,0x0013f1b3,0x1d58bf48,0x0107f000,0xfa162601,
+0xeb04f201,0xf89303e0,0xf88430e4,0x401350e7,0xebc3410b,0xf8840305,
+0xf8d430e7,0xf1b330dc,0xf0003fff,0x199b820f,0x30dcf8c4,0x796be06b,
+0xd06a09db,0x68db6823,0xd1662b02,0xd30945d3,0x30e0f8d4,0x3ffff1b3,
+0x81fcf000,0xf8c43301,0xe1f730e0,0x3174f894,0xf894b913,0xe0013163,
+0x3164f894,0x42999901,0x81ecf040,0x0f00f1b9,0x2200d001,0x9b03e004,
+0xbf144598,0x22012200,0xe16ef894,0x2101b295,0x0207f00e,0xfa154091,
+0xeb04f202,0xf89000de,0xb2c93171,0x0202ea01,0x0301ea23,0xf1be431a,
+0xf8800f1d,0xd1012171,0xe0022200,0x0301f10e,0xf894b2da,0xf884316f,
+0x195b216e,0xb2d3b2dd,0x0013f1b3,0xf103bf48,0xf000000b,0x26010107,
+0xf201fa16,0x03e0eb04,0x3171f893,0x516ff884,0x410b4013,0x0305ebc3,
+0x316ff884,0x3168f8d4,0x3ffff1b3,0x81a2f000,0xf8c4199b,0x46353168,
+0x6823e19f,0x303df893,0x45d3b91b,0x8198f080,0x45d3e006,0x9903d904,
+0x0f41ebb8,0x8190f340,0x0f00f1b9,0x2507d001,0x9a03e009,0x0308ebc2,
+0x00dbb29b,0xf3f8fb93,0x030ff1c3,0xf894b29d,0xf005e0d4,0xf00e030f,
+0x00920201,0x4093b2d2,0x005eeb04,0xbf142a00,0x210f21f0,0x20b4f890,
+0x0303ea01,0x0201ea22,0xf1be4313,0xf8800f2f,0xd10130b4,0xe0022200,
+0x0301f10e,0x6823b2da,0x20d4f884,0x203ef893,0xd0052a01,0xe0092600,
+0x00022b3d,0x1e00d148,0xf8944620,0xf7fe10d5,0x4606fb0d,0x0f00f1b9,
+0xf1b8d11a,0xd0170f00,0x45439b03,0x45d3d114,0xf894d212,0xf01220d6,
+0xbf040101,0x60196fe3,0x0301f042,0x2077f894,0x30d6f884,0x6fe3b90a,
+0x2301601a,0x3077f884,0x30ccf8d4,0x195b2100,0x30ccf8c4,0x30d0f8d4,
+0x195b4620,0x30d0f8c4,0xfa70f7fe,0x46202101,0xfa6cf7fe,0x30b0f8d4,
+0x3ffff1b3,0x3301d002,0x30b0f8c4,0xf8936823,0xf8d4203c,0x429330b0,
+0x2300d302,0x30eef884,0x68db6823,0xd1222b01,0x20b0f8d4,0x10ebf894,
+0xf3f1fbb2,0x2313fb01,0x20ecf894,0xd1164293,0x30eaf894,0x01fef003,
+0x0f10f013,0x10eaf884,0xf894d00a,0xf89430a8,0x3b0120e9,0xbfbc429a,
+0x0301f041,0x30eaf884,0x23006fe2,0x68236013,0x2b0268db,0xf8d4d123,
+0xf8b420b0,0xfbb21176,0xfb01f3f1,0xf8b42313,0x42932178,0xf8b4d117,
+0xf64f316c,0xea0372fe,0xf8940202,0xf8a43174,0xb913216c,0x2300f3c2,
+0xf3c2e001,0xb11b1300,0x0301f042,0x316cf8a4,0x23006fe2,0x68236013,
+0x303ef893,0xf0002b00,0x990380b7,0x0f41ebb8,0xf894dd03,0x33013160,
+0x45d3e002,0x2300d202,0x3160f884,0xf20045d3,0xf89480a7,0xf8d430d5,
+0x18e31120,0x2086f893,0xf8534b5d,0xf8940022,0x2a002085,0xf44fbf14,
+0x23000300,0x42994303,0x2a00d014,0xf44fbf14,0x23000300,0x68214303,
+0x3120f8c4,0x303ff891,0xfa122201,0xf8c4f303,0xf8913128,0x409a304c,
+0x2124f884,0x3150f8d4,0xd10442b3,0x3158f8d4,0x3ffff1b3,0x6821d10e,
+0x6150f8c4,0x303ff891,0xfa122201,0xf8c4f303,0xf8913158,0x409a304c,
+0x2154f884,0xf8946823,0xf8930124,0xf893204d,0x1a9b304c,0xf103fa08,
+0xf302fa50,0xbfac4299,0x0301ebc3,0xb2db1a5b,0x45d3181b,0x3124f884,
+0xf894d313,0xf8d430d5,0x18e31150,0x2086f893,0xf8534b31,0xf8942022,
+0x2b003085,0xf44fbf14,0x23000300,0x42994313,0xf504d102,0xe0017594,
+0x75acf504,0x9a036826,0xc03ff896,0xfa026829,0xf896f30c,0xfb932042,
+0xf8d4fef8,0x429330b0,0xf896bf94,0xf8960041,0x458e0040,0x2301d910,
+0xf20cfa03,0x1ad24083,0xd9044291,0xfc0cfa31,0x1c4bd10c,0xebc1e009,
+0x40c3030e,0xe004185b,0x0301ebce,0xebc340c3,0x602b0301,0xd30745d3,
+0xf8d36873,0xf8c4370c,0xe001315c,0xe0002501,0xf8942500,0xb1333046,
+0x30a8f894,0x4620b11b,0xf7fe2101,0x4620f96d,0xb2ea21ff,0xf914f7ff,
+0xf8d4e007,0xf1b330ac,0xd0023fff,0xf8c43301,0xb00530ac,0x8ff0e8bd,
+0x1e00d148,0x41f0e92d,0x460d4606,0x46174608,0x22102100,0xf7e6461c,
+0x7833fd39,0xb134702b,0xb10f7870,0xe0027068,0x030ff020,0xe8bd706b,
+0x46c081f0,0x4ff0e92d,0xb0994604,0x9f274699,0x461668a3,0x0088f99d,
+0x2094f89d,0x2f0318cd,0xa090f8dd,0xf89d9001,0x9200808c,0xb098f89d,
+0x48a7dd04,0x01d7f241,0xfc4af7e5,0xf2436822,0x58d143ec,0xf5a3b181,
+0xfb075353,0x1853f203,0x3074f893,0x1889b113,0xe003a803,0x3074f891,
+0xb113a803,0xe0013178,0x4631a803,0xf7e62228,0xf1bafd15,0xd1040f00,
+0xf2414895,0xf7e501ee,0x2100fc27,0x72def44f,0xf7e64628,0x2201fce7,
+0x602c60e2,0x45a02400,0x2302bf0c,0xf8854613,0xf8c54081,0xf885a07c,
+0xf8859080,0xf89d30a9,0x49883021,0x033ff003,0xbf082b3f,0x2081f885,
+0x2209a814,0xfceaf7e6,0x0045f10d,0x220b4982,0xfce4f7e6,0xb9239b03,
+0xf640487d,0xf7e5718c,0x9903fbf7,0xe0084622,0x1883a818,0x3c50f813,
+0xd1012b16,0xe0032701,0x428a3201,0x2700d1f4,0xf8852300,0xb9173046,
+0x463e463a,0x461ae03c,0xe00a461e,0x188ba918,0xf813a818,0x19831c50,
+0x3c10f813,0xd004428b,0x9b033201,0xd3f1429a,0xf001e01a,0x2b02037f,
+0x4046f895,0x2b04d005,0x2b0bd003,0x2b16d001,0xf001d102,0xe003017f,
+0x037ff001,0x6100f443,0xf7fe4628,0x192bfb3d,0x1c637118,0x3046f885,
+0x2e083601,0x2200d830,0xa918e7db,0xa818188b,0x1c50f813,0xf8131983,
+0x428b3c1b,0x3201d004,0x429a9b03,0xe01ad3f1,0x037ff001,0xf8952b02,
+0xd0054046,0xd0032b04,0xd0012b0b,0xd1022b16,0x017ff001,0xf001e003,
+0xf443037f,0x46286100,0xfb0ef7fe,0x7118192b,0xf8851c63,0x36013046,
+0xd8012e0a,0xe7db2200,0x3081f895,0x8080f895,0xf0002b00,0x493f80c6,
+0xf10d2203,0xf7e6005d,0x2204fc59,0x0059f10d,0xf7e6493b,0x2200fc53,
+0x2046f885,0xd0402f00,0x3080f895,0xd03c2b00,0xe00a4616,0x188ba918,
+0xf813a818,0x19831c50,0x3c07f813,0xd004428b,0x9b033201,0xd3f1429a,
+0xf001e01a,0x2b02037f,0x4046f895,0x2b04d005,0x2b0bd003,0x2b16d001,
+0xf001d102,0xe003017f,0x037ff001,0x6100f443,0xf7fe4628,0x192bfac1,
+0x1c637118,0x3046f885,0x2e033601,0x2200d83e,0xa918e7db,0xa818188b,
+0x1c50f813,0xf8131983,0x428b3c03,0x3201d007,0x2200e001,0x9b034616,
+0xd3ee429a,0xf001e01a,0x2b02037f,0x4046f895,0x2b04d005,0x2b0bd003,
+0x2b16d001,0xf001d102,0xe003017f,0x037ff001,0x6100f443,0xf7fe4628,
+0x192bfa8f,0x1c637118,0x3046f885,0x2e023601,0x2200d80c,0x46c0e7db,
+0x00022b3d,0x00022b29,0x00022b32,0x00022b26,0x00022b7c,0x30a9f895,
+0x3b012200,0x2301bf18,0x0021f10d,0x0135f10d,0xfe6cf7ff,0x3039f89d,
+0x0f01f013,0xf895d00d,0xb1533080,0x49ae4628,0x4046f895,0xfa60f7fe,
+0x3401192b,0xf8857118,0x26004046,0xeb01a918,0xf81303d6,0xf0063c2b,
+0x41130207,0x0f01f013,0xf006d014,0x2e07017f,0xf44fbf8c,0xf44f53c0,
+0xf0416300,0x43196100,0xf8954628,0xf7fe4046,0x192bfa3f,0x71183401,
+0x4046f885,0x2e103601,0xf105d1dc,0x210000f0,0xf7e62230,0xf04ffb73,
+0xf8c533ff,0xf89530f4,0xb9233046,0xf2414891,0xf7e50110,0x2300faa1,
+0x3082f885,0x4b8e792a,0x3022f853,0x6f00f013,0xf003d10c,0x2b02037f,
+0x2b04d005,0x2b0bd003,0x2b16d001,0x2301d102,0x3082f885,0xe0242100,
+0xd8012902,0xe0012000,0xb2d81e8b,0x7922186c,0xf8534b7f,0xf0133022,
+0xd0116f00,0x037ff003,0xd0072b07,0x3b0cd30c,0xd8092b01,0xd9032904,
+0xe0041f0b,0xd8012903,0xe0012000,0xb2d81ecb,0x791b182b,0xf8843101,
+0xf8953025,0x42993046,0x2100d3d6,0x4643460a,0x46284c6e,0x240047a0,
+0x0076f885,0x46284b6c,0x4077f885,0x682b4798,0x0021f10d,0xf89568da,
+0x1b1230a9,0x2201bf18,0xbf183b01,0xf10d2301,0xf7ff0135,0xf885fdc3,
+0xf89d40a8,0xf0133039,0xd00b0f01,0x3080f895,0x4628b143,0xf7fe4958,
+0x2301f9a1,0x0086f885,0x30a8f885,0x0800f04f,0xeb02aa18,0xf81303d8,
+0xf0083c2b,0x41130207,0x0f01f013,0xf1b8d051,0xd8010f02,0xe0022700,
+0x0302f1a8,0xf008b2df,0xf1b8067f,0xbf8c0f07,0x53c0f44f,0x6300f44f,
+0x6100f046,0x46284319,0x40a8f895,0xf976f7fe,0xf8831963,0x682b0086,
+0xb97268da,0xd0082e07,0xf1a6d324,0x2b01030c,0x2c04d820,0x1f23d903,
+0x2c03e01b,0x4617d818,0x1ff3e018,0xd8152b06,0xf003e8df,0x0909090e,
+0x00040909,0xd9092c09,0x0309f1a4,0x2c08e009,0xf1a4d904,0xe0040308,
+0xd8012c03,0xe0012700,0xb2df1ee3,0x20a8f895,0xf893197b,0x19513086,
+0xf8813201,0xf8853097,0xf10820a8,0xf1b80801,0xd19d0f10,0x30a8f895,
+0x2100b1eb,0xf8952201,0x46283080,0x47a04c21,0x30d6f895,0x00d5f885,
+0x0301f023,0x30d6f885,0x7090f505,0x22402100,0xfa78f7e6,0x33fff04f,
+0x3128f8c5,0x3158f8c5,0x4b184628,0xf8954798,0x2b003046,0x80b0f000,
+0x30a8f895,0xf0002b00,0xf04f80ab,0xe04a0a00,0x0708eb05,0x4b0c793a,
+0xf8534c0f,0x46281022,0xf89547a0,0x4b0d2086,0xf8534606,0x46281022,
+0x428647a0,0x2300d214,0x3188f887,0x46c0e031,0x08000820,0x00022b3d,
+0x1e00d060,0x0001eec1,0x0001f451,0x0001f021,0x0001ef7d,0x1e00d148,
+0xeb082400,0xf8830305,0xf8954188,0x3b0230a8,0xdc16429c,0xf8931963,
+0xf8df3087,0x4628917c,0x1023f859,0x47b84f5b,0xd30a4286,0xb2dc1c63,
+0xf8931963,0x46283086,0x1023f859,0x428647b8,0xf10ad2df,0xf8950a01,
+0xfa5f3046,0x4543f88a,0xf04fd8ae,0xe04d0a00,0x0305eb08,0x2086f893,
+0xf8534b4d,0xf0111022,0xd0086f00,0x037ff001,0xd9042b07,0x0220f1b3,
+0x2201bf18,0x2200e000,0x4632b2d6,0xf7fe4628,0x792af879,0x46074b43,
+0x1022f853,0x46324628,0xf870f7fe,0xd2054287,0x0205eb08,0xf8822300,
+0xe02131a9,0xeb082400,0xf8830305,0xf89541a9,0x3b023046,0xdc17429c,
+0x795b1963,0x90d4f8df,0xf8594628,0x46321023,0xf854f7fe,0xd30b4287,
+0xb2dc1c63,0x791b192b,0xf8594628,0x46321023,0xf848f7fe,0xd2de4287,
+0x0a01f10a,0x30a8f895,0xf88afa5f,0xd8ab4543,0x682a9900,0xf8852901,
+0xd9181161,0x60d32302,0x3161f895,0xb162f885,0x459b3b01,0x2300db01,
+0xf10be002,0xb2db0301,0x3163f885,0x2300682a,0xb164f885,0x3174f885,
+0xb9c37c13,0x2301e002,0xe01460d3,0x74132301,0x22086828,0x21003011,
+0xf990f7e6,0x9a00682b,0x682a765a,0x33fff04f,0x682a7693,0xf8823301,
+0xf8a53034,0x682b31ba,0x639a2200,0xf8833206,0x9b01203c,0x3ffff1b3,
+0x3302d104,0x3083f885,0x3084f885,0xe8bdb019,0x46c08ff0,0x0001ef7d,
+0x1e00d148,0x1e00d060,0xf002b51f,0x92000201,0x93032300,0x9b094604,
+0x9a086840,0xf934f7f0,0xb9984603,0x2b039b07,0xa803d904,0x22049906,
+0xf974f7e6,0xf8d36823,0x429c37f0,0x4805d004,0x31e6f240,0xf884f7e5,
+0x0316f06f,0xb0044618,0x46c0bd10,0x00022b3d,0x37f8f8d0,0x47707898,
+0xeb006983,0x8b800043,0x46c04770,0x7883b510,0x69014602,0x8803b183,
+0x0f08f013,0xf023d00c,0xf0430308,0x80030380,0x073cf8d1,0x11f8f8d2,
+0x46132200,0x47a04c01,0x46c0bd10,0x1e0061f9,0x41ffe92d,0x31e2f990,
+0x2b004604,0x481adc04,0x61caf44f,0xf84cf7e5,0x320ef894,0x1214f8d4,
+0xf994b143,0x392421e2,0xfb022324,0xf9941503,0xe00281e3,0x8210f8d4,
+0x2600460d,0xf894e017,0x6920320e,0xb90b682f,0xe001461a,0x2230f8d4,
+0x92014b0a,0x92022200,0x1d299203,0x9300463a,0xfadaf7ec,0x320ef894,
+0x3524b903,0x45463601,0xe8bddbe5,0x46c081ff,0x00022bd0,0x00022bf5,
+0x6905b537,0x46284604,0xfd68f7ea,0xf8b44628,0xf7f011e0,0xf895fa33,
+0xb92b3023,0x3024f895,0x4628b113,0xf9b4f7ea,0x46282400,0x4d3ef885,
+0xf84cf7ea,0xf7e94628,0xf8d5ffc5,0x68183848,0xfe4cf7f9,0x3d5ef895,
+0xf895b163,0xf8853d63,0x2b014d60,0xf895d102,0xb11b3d66,0x46214628,
+0xfc3cf7ec,0xf7eb4628,0xf895fbff,0x46283de8,0x0301f023,0x3de8f885,
+0x93002303,0x23002101,0x6282f44f,0xf83ef7ea,0x3df2f8b5,0xf505b12b,
+0x4628615e,0xf7ee310c,0xbd3ef913,0x43f0e92d,0x31e2f990,0xf113b085,
+0x46050f02,0xd1036904,0xf8803301,0xe29131e2,0x2b007c63,0x828ef000,
+0xf0138803,0xd00e0f40,0x0340f023,0x46208003,0xfcccf7e9,0x4620b938,
+0xfe04f7ea,0xf043882b,0x802b0308,0xf895e27a,0x330131e2,0x69abb2df,
+0x71e2f885,0x0343eb05,0x801cf8b3,0x2b006b63,0xf408d033,0xf5b36340,
+0xd12e6f40,0x50a2f504,0xf188fa5f,0x29023034,0xf5a3d802,0xe0016340,
+0x10db1e8b,0x5cc62902,0x2201d801,0x1e8be004,0x0307f003,0x409a2201,
+0x0306ea12,0x2301d001,0x29dde011,0x1c8bd801,0x29dd10db,0xd9015cc0,
+0xe0042201,0xf0031c8b,0x22010307,0x4202409a,0x2300bf0c,0xb2db2301,
+0xfa5fe00b,0xeb04f288,0xf24101d2,0x5ccb4374,0x0207f002,0xf0034113,
+0xb1130301,0x0901f04f,0xf895e001,0xb27b91e4,0xf289fa4f,0xf3404293,
+0x1c5180c2,0xd103428b,0xf023882b,0x802b0310,0x31dcf8d5,0x3b0169aa,
+0xdb01429a,0xe00227ff,0x0342eb05,0x882b8bdf,0x0380f013,0xf8d5bf1c,
+0x330131f0,0x31f0f8c5,0x31e2f995,0xf040428b,0xf8b58099,0x2b0031e6,
+0x8094f000,0xf0002fff,0xf8d5809a,0xf8d521f0,0x429a31ec,0x6b60da79,
+0xd02f2800,0x6340f408,0x6f40f5b3,0xf504d12a,0xfa5f50a2,0x3034f188,
+0xd8022902,0x6340f5a3,0x1e8be001,0x290210db,0xd8015cc6,0xe0042201,
+0xf0031e8b,0x22010307,0xea12409a,0xd1580306,0xd80129dd,0x10db1c8b,
+0x5cc029dd,0x2101d901,0x1c8be005,0x0307f003,0xfa122201,0x4201f103,
+0xe00dd147,0xf288fa5f,0x01d2eb04,0x4374f241,0xf0025ccb,0x41130207,
+0x0f01f013,0xb360d139,0x6340f407,0x6f40f5b3,0xf504d127,0xb2f950a2,
+0x29023034,0xf5a3d802,0xe0016340,0x10db1e8b,0x5cc62902,0x2201d801,
+0x1e8be004,0x0307f003,0x409a2201,0x0306ea12,0x29ddd11b,0x1c8bd801,
+0x29dd10db,0xd9015cc0,0xe0042201,0xf0031c8b,0x22010307,0x4202409a,
+0xb2fae00a,0x01d2eb04,0x4374f241,0xf0025ccb,0x41130207,0x0f01f013,
+0x4628d012,0xfe88f7ff,0xf8d4882b,0xf023073c,0x802b0380,0x11f8f8d5,
+0x21e6f8b5,0x4c9a2300,0xe16747a0,0xd0062fff,0x46b869ab,0x61ab3301,
+0xf8852300,0xf99531e2,0x2b0031e2,0xf894d15d,0x2b003024,0x882bd056,
+0x0f80f013,0xf8d4d152,0x68183848,0xfb2cf7f8,0x31e0f8b5,0xd1494283,
+0x3023f894,0x4620b303,0x47984b88,0xf894b1e0,0xb9cb3d5e,0x320ef895,
+0xf8d5b113,0xb19b3234,0x2101882b,0x0320f043,0x4620802b,0x1d60f884,
+0xfab0f7ec,0x2d5ff894,0x882bb97a,0x0320f023,0xf884802b,0xe0082d60,
+0x3023f894,0xf894b12b,0xb1133d5e,0xf8842301,0xf8943d60,0xb9133023,
+0xf7e94620,0x4620fe9d,0xfb5cf7e9,0x882bb968,0x0f20f013,0x4620d106,
+0xfc90f7ea,0xf043882b,0xe0010308,0x0340f043,0x882b802b,0x0f28f013,
+0x8100f040,0xf8852301,0xf99531e2,0x2a0021e2,0x80c8f340,0xf389fa4f,
+0xf300429a,0xf8b580c3,0x4b5f01e0,0xfa5f4798,0x4287f788,0x2303d008,
+0x6282f44f,0x46209300,0x46132101,0xfe76f7e9,0x3848f8d4,0xf7f86818,
+0x4580fabb,0x4620d00f,0xfb58f7ea,0x3023f894,0x4620b913,0xfe58f7e9,
+0x46414620,0xf81ef7f0,0xf7e94620,0xf894fdbf,0xb1433024,0x31e0f8b5,
+0xd0044543,0x3de8f894,0x0301f043,0xf894e003,0xf0233de8,0xf8840301,
+0x692e3de8,0xf8862301,0x46303d3e,0xfe2af7e9,0xf013882b,0xd1370204,
+0xb3536b73,0x6340f408,0x6f40f5b3,0xf506d125,0x313451a2,0xd8012f02,
+0xe0014613,0x10db1ebb,0x5cc82f02,0x2201d801,0x1ebbe004,0x0307f003,
+0x409a2201,0x0300ea12,0x2fddd11a,0x1cbbd801,0x2fdd10db,0xd9015cc9,
+0xe0042201,0xf0031cbb,0x22010307,0x420a409a,0xeb06e009,0xf24102d7,
+0x5cd34374,0x0207f007,0xf0134113,0xd01a0f01,0x320ef895,0xf8d5b13b,
+0x69a92224,0xfb01230c,0x689a2303,0xf8b5b90a,0xf8d621ea,0xf8d5073c,
+0x230011f8,0x47a04c16,0xf5054630,0xaa0371fa,0xfac8f7e9,0xf895e01b,
+0xb13b320e,0xf8d569a9,0x230c2224,0x2303fb01,0xb92c689c,0x21e8f8b5,
+0x31e4f995,0xf4f3fb92,0xf7ff4628,0x4622fd19,0x073cf8d6,0x11f8f8d5,
+0x4c052300,0xf8d647a0,0x21023848,0x463a6818,0xfb2cf7f8,0x46c0e036,
+0x1e0061f9,0x0001d1ed,0x0001e9bd,0xf7ff4628,0x882bfd3f,0xf0232600,
+0x802b0380,0x33fff04f,0x70ae61ab,0xf7ea4620,0x7c63fbad,0x4620b113,
+0xfb2ef7eb,0x07f8f8d4,0x4b0e4631,0xf5044798,0x312451a4,0x46204b0c,
+0xf8944798,0x2b023d63,0xf894d10c,0xb14b3023,0x4b084620,0xb1284798,
+0x3d5ef894,0x4620b913,0xffa8f7e9,0xe8bdb005,0x46c083f0,0x0001f765,
+0x0001dec9,0x0001d1ed,0x7883b573,0x460e4605,0x2b006904,0xf8d4d05e,
+0x68183848,0xf9c8f7f8,0x31e0f8b5,0xd00a4283,0xf7ea4620,0x4620fa63,
+0x11e0f8b5,0xff2ef7ef,0xf7e94620,0xf894fccf,0xb17b3d5e,0x3d63f894,
+0x2b012100,0x1d60f884,0xf894d102,0xb12b3d66,0xf7ec4620,0x4620f94b,
+0xff70f7e9,0x3848f8d4,0xf7f96818,0x4620fb43,0xf906f7eb,0x3de8f894,
+0xf0232101,0xf8840301,0x23033de8,0x6282f44f,0x46209300,0xf7e92300,
+0x882bfd45,0xf0234620,0x802b0380,0x0301f06f,0x31e2f885,0x61ab3301,
+0x70ab3301,0xfb2ef7ea,0xf7eb4620,0x882bfab1,0x0f28f013,0xf023d006,
+0x802b0328,0x07f8f8d4,0xfcf4f7ff,0x46314628,0x47984b01,0x46c0bd7c,
+0x0001f765,0x4604b570,0x460d78a3,0xb1436900,0x51a4f500,0x4b033124,
+0x46204798,0xf7ff4629,0xbd70ff87,0x0001dec9,0x7883b510,0x69044602,
+0x8801b1e3,0x0f20f011,0xf894d018,0xb1533d5f,0x320ef890,0xf8d0b13b,
+0x2b013234,0x2104d103,0xffd8f7ff,0xf021e00a,0x80130320,0x11f8f8d2,
+0xf8d42200,0x4613073c,0x47a04c01,0x46c0bd10,0x1e0061f9,0x4ff0e92d,
+0x460cb087,0x1060f8bd,0x91039204,0x2064f89d,0x1074f89d,0xf8dd4605,
+0x9e17b040,0x9070f8dd,0x91019202,0x46986907,0x489fb923,0x7102f44f,
+0xfc62f7e4,0x0f00f1bb,0x489bd104,0x2109f240,0xfc5af7e4,0xd9042c02,
+0xf44f4897,0xf7e47103,0x2100fc53,0xe008460a,0x300bf852,0xd9022b20,
+0xf8422320,0x3101300b,0x45413224,0xf995dbf4,0xf89531e2,0xf113a002,
+0xd1020f02,0x92052201,0xf1bae00c,0xd1020f00,0xa014f8cd,0x882be006,
+0x0f28f013,0x2300bf14,0x93052301,0xf003882b,0x802b0301,0x320cf895,
+0x31e3f885,0x3024f897,0xf8b5b143,0xf8b51208,0xf8a52204,0xf8a511e8,
+0xe00521e6,0x1206f8b5,0x31e6f8a5,0x11e8f8a5,0x220af8b5,0x320df995,
+0x21eaf8a5,0x882bb11b,0x0304f043,0xf507802b,0x781b53c0,0x2b009904,
+0x2400bf08,0x606c2206,0x0009f105,0xfce2f7e5,0x321cf8d5,0x45982224,
+0x4698bfa8,0x0214f8d5,0xfb084659,0xf7e5f202,0x9b11fcd5,0x8210f8c5,
+0x882bb91b,0x0304f023,0x9c11e005,0xd1032c01,0xf043882b,0x802b0304,
+0xf013882b,0xd0020f04,0xf8852301,0x991331e3,0x29009a14,0xbfc89b15,
+0x11e8f8a5,0xbfc82a00,0x21eaf8a5,0xdb052b00,0x3024f897,0x9c15b113,
+0x41e6f8a5,0x29009912,0x882bdd05,0x0f04f013,0xf885bf08,0x9a0211e3,
+0x882bb11a,0x0302f043,0x2ee0802b,0x2e00dc03,0x9b16dd02,0x2600b903,
+0xe00a2400,0x46389a16,0x1014f832,0xf7f42201,0x3401fa03,0xbf082800,
+0x42b42600,0x2e00dbf2,0x462bdd0b,0x9c162200,0x4012f834,0x839c3201,
+0x42b23302,0xf8c5d1f7,0x990161dc,0xf8d5b139,0xf8d5222c,0x429331dc,
+0xf8c5bfc8,0x882b21dc,0x0f01f013,0x240cd001,0xf8d5e003,0xb9b331dc,
+0xf1ba240d,0xd0030f00,0x46214628,0xfec2f7ff,0x51a4f507,0x31244638,
+0x47984b26,0xb11a9a1a,0x4621981b,0x47989b1a,0x0019f06f,0xf1bae096,
+0xd0070f00,0x13dcf243,0xb91b58fb,0x21044628,0x47984b1d,0x991b9c1a,
+0xf8c52300,0xf8c541fc,0xf8c51200,0xf1b931f0,0xd1090f00,0x21e8f8b5,
+0xfb933364,0xf1b9f9f2,0xbfb80f01,0x0901f04f,0xf8c59a01,0xf88591ec,
+0xb12a220e,0x0f00f1b8,0xfa5fd002,0xe001f288,0x21e3f895,0x23009c03,
+0x21e4f885,0xb1a461ab,0x01dcf8d5,0x4619462a,0x8b93e00d,0x32029c03,
+0xd10742a3,0xe00861a9,0x00022bd0,0x0001dec9,0x0001f765,0x42813101,
+0xf04fdbef,0x260133ff,0x51a4f507,0x31e2f885,0x70ae4638,0x4b233124,
+0x46384798,0xfd50f7e8,0x4821b920,0x21e5f240,0xfb0af7e4,0xf7ea4638,
+0xf897f969,0xb1233024,0x1324f8b7,0x11e0f8a5,0xf1bae01f,0xd11c0f00,
+0x3848f8d7,0xf7f76818,0x4632ffab,0x46384601,0xf94ef7f4,0x3848f8d7,
+0xb1184604,0xf7f76818,0xe008ff9f,0xf7f76818,0x4622ff9b,0x46334601,
+0x4c0c4638,0xf8a547a0,0x9e0501e0,0x2000b10e,0xf8d7e008,0xf8d5073c,
+0x463211f8,0x4c064633,0x463047a0,0xe8bdb007,0x46c08ff0,0x0001dec9,
+0x00022bd0,0x0001e9a1,0x1e0061f9,0x4ff0e92d,0x7d01f5ad,0x46994682,
+0xb230f89d,0x57f8f8d0,0xd05f2a00,0xf8c59b8a,0xf8c51230,0xf8d53234,
+0x2100322c,0xbfb4429a,0x46984690,0xfb03220c,0xf8d5f202,0xf7e50224,
+0xa810fb6d,0xf44f2100,0xf7e572e0,0x2600fb67,0xe0174637,0x0224f8d5,
+0x0407eb09,0x220c1838,0xf7e54621,0x8863fb7b,0x2b0e370c,0xf44fbf94,
+0xf44f5200,0xf4435280,0x431a6330,0xf823ab10,0x36012016,0xdbe54546,
+0x9b8e9a8b,0x93009202,0x0301f1d2,0x2300bf38,0xf04f9301,0x930533ff,
+0x9306ab10,0x73fff64f,0x9b8f9308,0x930a2200,0x92039b90,0xebbb930b,
+0xbf180302,0x930c2301,0x92042301,0x930d9209,0xf8da920e,0x210207f8,
+0x9b8d4a04,0x801cf8cd,0xfddcf7ff,0x7d01f50d,0x8ff0e8bd,0x00022bf5,
+0x4ff0e92d,0x69024692,0xf1bab0fb,0x46070fc3,0x4698460d,0xb210f8dd,
+0xd97b9209,0xf44f2100,0xa80a72e0,0xfb06f7e5,0x21004650,0x47984b4c,
+0xb9104604,0x46814606,0x4629e021,0xf7e54652,0xf994fb19,0xb13b3000,
+0xf2439a09,0x58d343ec,0x689b68db,0xd0612b00,0x30b8f8d4,0xd05d2b00,
+0x00c0f8d4,0xf44fb910,0xe0026628,0xfb00230c,0x4630f603,0x4b3a2100,
+0x46814798,0xf06fb910,0xe0520515,0x50c0f8d4,0xd04c2d00,0xf104220c,
+0xfb0501c4,0xf7e5f202,0xf8d7faed,0x429d322c,0xf8d4dd08,0x2b0030c0,
+0xf06fbf0c,0xf06f051c,0xe03a0501,0x460a2100,0x685b18a3,0x3101b103,
+0x2ab43224,0xb911d1f8,0x72216061,0xf8d73101,0x4299321c,0xf1b8dc27,
+0xd1030f00,0xb010f8d7,0x8084f8df,0x30bcf8d4,0x9300462a,0x3000f994,
+0x93012500,0x91037863,0x1d239302,0xf8cd9304,0xf8cd8014,0x6938b018,
+0x10b8f8d4,0xf7ff464b,0xe010ff05,0x46342600,0xe00446b1,0x46b12600,
+0x35fff04f,0xf06fe001,0xf1b80501,0xd0020f00,0x21014658,0xb12c47c0,
+0x46219b09,0x46526c98,0x47984b08,0x0f00f1b9,0x9a09d005,0x6c904649,
+0x46324b04,0x46284798,0xe8bdb07b,0x46c08ff0,0x1e00578d,0x1e005c15,
+0x000076b1,0x2400b510,0x231446a6,0x0303fb04,0x3244f241,0x4299589b,
+0xf10ed00a,0x34010e01,0x0f08f1be,0x4803d1f1,0x418ef240,0xf988f7e4,
+0xbd104620,0x00022c1c,0x460db570,0xb9204604,0xf2404804,0xf7e4216d,
+0x7b23f97b,0x0305ea23,0xbd707323,0x00022c1c,0x460db570,0xb9204604,
+0xf2404819,0xf7e42155,0xf015f96b,0xd0030f01,0xf0237b23,0x73230304,
+0x0f02f015,0x7b23d00e,0x0303ea45,0x0f01f013,0x480fd104,0x215df240,
+0xf956f7e4,0xf0237b23,0x73230308,0x0f10f015,0x7b23d00c,0x0f02f013,
+0x6863d108,0x5f00f013,0x4805d104,0x2163f240,0xf942f7e4,0xea457b23,
+0x73230303,0x46c0bd70,0x00022c1c,0x4604b510,0x4806b918,0xf7e421d1,
+0x6820f933,0xf8d0b118,0x60233278,0x6020e000,0x46c0bd10,0x00022c1c,
+0x460cb570,0xb9184605,0x21c44805,0xf920f7e4,0xf8d4b11c,0x602b3278,
+0x602ce000,0x46c0bd70,0x00022c1c,0x127cf8d0,0x30f8b510,0x22003178,
+0xfca8f7fc,0x46c0bd10,0x780bb570,0xf0134605,0x460e0f01,0xd0044614,
+0xf44f480c,0xf7e47150,0xf241f8ff,0x58eb435c,0x0384eb03,0xe008699c,
+0xf1044630,0x22060119,0x47984b05,0xf8d4b118,0x2c004274,0x4620d1f4,
+0x46c0bd70,0x00022c1c,0x1e00d671,0x3848f8d0,0x689bb570,0x429a4604,
+0x4615460e,0x4805d004,0x3197f240,0xf8d8f7e4,0x46314620,0xf7ff462a,
+0xbd70ffc7,0x00022c1c,0x3848f8d0,0x689ab510,0xffbef7ff,0x46c0bd10,
+0x6b43b57f,0xf891b173,0xb12331ce,0x31cff891,0x3301b90b,0xf642e006,
+0x5cc34319,0xbf142b01,0x23012300,0x684bb2da,0x4ec0f3c3,0x3d4cf8d0,
+0x3ffff1b3,0xf8b0d111,0xf4033324,0xf5b36340,0xd1036f40,0xf013688b,
+0xe0050f02,0x6f00f5b3,0x688bd103,0x0f01f013,0x2300d101,0x23ffe000,
+0x9300b25b,0x032cf101,0x23009302,0x93039201,0x93059304,0x07f0f8d0,
+0x02f8f101,0xf7fe4673,0xb007fc21,0x46c0bd00,0x435cf241,0x4ff0e92d,
+0x8003f850,0xf8b8b085,0x46053014,0x468a2b07,0x2100d807,0x0020f8d8,
+0x47984b5e,0x28004601,0xf241d133,0x592b445c,0x29006819,0x80a3f000,
+0xf8d5a803,0xf7ff770c,0x592bff3b,0x68182400,0xe00b4626,0xb9337e03,
+0xebc36a03,0x42b30307,0x461ebf24,0xa8034604,0xff18f7ff,0xd1f12800,
+0xf0002c00,0xe0898088,0x3014f8b8,0xd9042b07,0xf44f4849,0xf7e47190,
+0x2100f843,0x0020f8d8,0x47984b44,0x28004601,0xf8b8d075,0x460e3014,
+0xf8a83301,0x46083014,0x2020f8d8,0xf7e52100,0xf8d5f8f5,0x46b1370c,
+0xf5056233,0x33345354,0xa27cf8c6,0x22006173,0x320218b3,0x31fff04f,
+0xf8a32a10,0xd1f71160,0x27004644,0x6aa3e006,0x6b60b113,0x47984631,
+0x34103701,0x3024f8d8,0xd3f4429f,0xb18b7c6b,0x738cf241,0x5ae94628,
+0xf7f32200,0xb148fe61,0x3024f895,0xf505b113,0xe005744a,0x54bcf505,
+0xe0013410,0x0414f10a,0x2023f895,0xf89ab9d2,0xb1bb300c,0x07f8f106,
+0x0b7ff04f,0xf8cd9201,0x4620b000,0x23014639,0xa068f8df,0xf8d647d0,
+0xb98a20f8,0xb000f8cd,0x46209201,0x46134639,0xe00947d0,0x2200237f,
+0x46209300,0xf1069201,0x461301f8,0x47a04c0f,0x46314628,0xff04f7ff,
+0x3000f8d8,0x6000f8c8,0x3278f8c6,0xf04fe009,0xe0060900,0x46214628,
+0x47984b07,0xd0f62800,0x4648e76e,0xe8bdb005,0x46c08ff0,0x1e00578d,
+0x00022c1c,0x0001ed85,0x0001fb25,0x47f0e92d,0x4605780b,0x0f01f013,
+0x4616460f,0x481ed004,0x3162f240,0xffa0f7e3,0x46394628,0xf7ff4632,
+0x4604fe8f,0xf44fbb68,0xfb06739e,0xf509f903,0x18696128,0x31044628,
+0xff0af7ff,0xb3004604,0x0819f100,0x46402206,0xf7e54639,0xf241f86b,
+0x58eb435c,0xeb0362a6,0x699a0386,0xf8c4619c,0xf8952274,0xb9633023,
+0x0305eb09,0x3a90f893,0x7c6bb13b,0x4628b12b,0x46224641,0xf7eb230c,
+0x4620fa0b,0x87f0e8bd,0x00022c1c,0x3848f8d0,0x689bb570,0x429a4604,
+0x4615460e,0x4805d004,0x7163f44f,0xff58f7e3,0x46314620,0xf7ff462a,
+0xbd70ffa5,0x00022c1c,0x3848f8d0,0x689ab510,0xff9cf7ff,0x46c0bd10,
+0x78434602,0x04007880,0x2003ea40,0x43187813,0xea4078d3,0x47706003,
+0xf1d06b80,0xbf380001,0x47702000,0x4b0ab570,0x460d4604,0xb9184798,
+0x214d4808,0xff2cf7e3,0x68e26923,0x429318eb,0x4804d903,0xf7e3214e,
+0x82a5ff23,0x46c0bd70,0x1e005ec1,0x00022c26,0x4ff0e92d,0x9203b095,
+0x6b9f461e,0xb014f8d2,0x2060f893,0x3062f8b3,0x93059204,0x68736e74,
+0x94066832,0x930a9207,0xf8d67a3b,0x2b029014,0xf8d64605,0x6ef4a008,
+0x8014f8b9,0x80ccf040,0x0f07f1ba,0x80c6f240,0xf1a44444,0xf7ff0008,
+0x9008ffab,0xf7ff1f20,0xf1a8ffa7,0x90090108,0x464860f1,0xffb2f7ff,
+0x0408f1aa,0x940b69b3,0x7b9b60b4,0x0318f003,0xd07f2b08,0x0936f10d,
+0x6f712206,0xf7e44648,0x2206ffbd,0xf1096f31,0xf7e40006,0x9a03ffb7,
+0x4b514659,0x47984628,0x0414f107,0x18225823,0x30fcf8c7,0xf10d6851,
+0xf10d084c,0xf8c70a48,0xf8cd1100,0xf8cd8000,0x220ca004,0xf8d74c47,
+0x464b00fc,0x9b1347a0,0xf8c72204,0x991230fc,0x1100f8c7,0x3022f896,
+0x8000f8cd,0xf8cd9311,0xf8d7a004,0xab1100fc,0x9b1347a0,0xf8c72200,
+0x9b1230fc,0xf8c7990b,0x980a3100,0x47984b38,0x8000f8cd,0xa004f8cd,
+0x9b0a4602,0x00fcf8d7,0x1100f8d7,0x9b1347a0,0x42939a08,0x2001d001,
+0x9b12e004,0x1b189c09,0x2001bf18,0xf8d5b310,0x33013580,0x3580f8c5,
+0x3023f895,0xd0452b00,0x00c4f8db,0x3584f8d5,0x3301b930,0x3584f8c5,
+0xf8cb233c,0xe03c30c4,0xf5053301,0xf8c5615e,0x6ca83584,0x2201310c,
+0xff0cf7e4,0xf88b2301,0xe02b30cc,0xf64f9a05,0x429a73ff,0x9a04d110,
+0xf8879c06,0x1c632108,0xf8c79c07,0xf1043104,0xf107020a,0xf10700e0,
+0x4c120114,0xe00f47a0,0xf1066df1,0x42990340,0x220ad112,0x00e0f107,
+0xff24f7e4,0x9b049a06,0x2104f8c7,0x3108f887,0x79b94628,0xf7f3465a,
+0xe001f893,0xe0002000,0xb0152001,0x8ff0e8bd,0x1e0085d1,0x1e00348d,
+0x1e003505,0x1e003161,0x6b88b510,0xf990460c,0x6849300e,0x1ac92210,
+0xf5003102,0xf7e46089,0x6ba1fefd,0x784a788b,0x6089f501,0x780b431a,
+0x78ca4313,0x790b431a,0x794a4313,0xd102431a,0x22012110,0x2110e001,
+0xf7e42202,0xbd10fdb9,0x4ff0e92d,0xb08d4f5a,0x495a6838,0xfe64f7e4,
+0xd0452801,0xe18cf8df,0xf8de4c57,0x48571000,0x6821910b,0x91096803,
+0x930a4955,0x2200680b,0x4b549308,0xb000f8d2,0x4d544e53,0x600a6003,
+0x49544853,0x8000f8d7,0x9000f8d6,0xa000f8d5,0xf8ce603a,0x602a2000,
+0x60226032,0x3a011a09,0x47984b4d,0x42984b4d,0x4b41d1fc,0xf8c32100,
+0x4b458000,0x9000f8c3,0xf8c34b44,0x680aa000,0x601a4b47,0xb000f8c1,
+0x990b4b46,0x60199a0a,0x99094b3a,0x4b38601a,0x60199a08,0x601a4b38,
+0xf9d8f007,0x46072100,0xfa80f7e4,0x21004638,0xf9ecf7e4,0x6a03b128,
+0xbfbc2b00,0x4300f04f,0x46386203,0x8030f8d7,0x9034f8d7,0xfb70f007,
+0xfbb04c35,0x4638f6f4,0xfb74f007,0xf5f4fbb0,0xf0074638,0x4b31ff5f,
+0xf0f4fbb0,0x4b309300,0x93019006,0x4a30492f,0x8008f8cd,0x900cf8cd,
+0x95059604,0x4b2e482d,0x47a04c2e,0xf640482e,0xf244010d,0xf00732f4,
+0xb148f933,0xf640482a,0xf2440129,0xf00732f4,0xb108f92b,0xe0002400,
+0x46382401,0xfae8f007,0x73fff64f,0x3218f244,0xbf184298,0xf6404602,
+0x48200112,0xf918f007,0x481db11c,0x685b6a03,0x4b1d4798,0x701a2201,
+0xfce0f7e3,0xf7e34638,0xb00dfd5f,0x8ff0e8bd,0x00022d9c,0x00022c73,
+0x00000944,0x00000938,0x0000094c,0xbbadbadd,0x00022da0,0x00022d98,
+0x00000000,0x00031658,0x1e003981,0xdebb20e3,0x0000093c,0x00000948,
+0x000f4240,0x00022cb4,0x00020f59,0x00022ca9,0x00022cae,0x00022c79,
+0x00022cb2,0x1e004461,0x00022dc8,0x00023820,0x00023af6,0x4ff7e92d,
+0x4604460e,0x4844b918,0xf7e321da,0x1ce3fd0d,0x0503f023,0x40b32301,
+0x5f80f5b3,0xf44fbf28,0x2b045380,0x469bbf2c,0x0b04f04f,0x26004b3b,
+0xc000f8d3,0x4f3b4b3a,0x9000f8d3,0x46b246b0,0xe0179601,0x42a86820,
+0xeb04d313,0xeb010109,0xf1cb0e00,0xebc50200,0x401a030e,0xd308428a,
+0x0300ebc5,0xd2044563,0x97014626,0x4690469c,0x462746f2,0x2c00687c,
+0x2e00d1e4,0x4b2ad049,0x681a681b,0x429a4b29,0x4823d004,0x7183f44f,
+0xfccaf7e3,0x030aebc8,0x0103ebc5,0x681c4b20,0x0008f104,0xd8014281,
+0xe00b186d,0xeb086833,0x1a5b0205,0xebc46033,0xf8480301,0x68733005,
+0x60726053,0x1b5a6833,0xf1bbd004,0xd1050f04,0xd8034282,0x9a016873,
+0xe00c6053,0xd20542a2,0x20004a13,0x33016813,0xe0136013,0x0302ebc4,
+0x60335195,0x490f1996,0x680b6832,0x4a0e18d0,0x68136008,0x6013191b,
+0x68134a0c,0xbf884298,0x46306010,0x8ffee8bd,0x000206dc,0x00000408,
+0x000003c4,0x000003d0,0x000003d8,0x5354414b,0x000003e0,0x000003cc,
+0x000003f0,0x0000040c,0x4694b510,0xf8d04604,0x20002084,0xe00c4686,
+0x308cf8d4,0x0380eb03,0x3080f8d3,0xd103428b,0xd00545e6,0x0e01f10e,
+0x42903001,0x2011d1f0,0x46c0bd10,0x4010ea80,0x2010ea80,0x1010ea80,
+0x0090ea80,0x0050ea80,0x0001f000,0x46c04770,0xf890b510,0xb10b30b4,
+0xe0004b02,0x47984b02,0x46c0bd10,0x1e004865,0x1e0047d5,0x4604b510,
+0xd0652800,0x20d8f8d0,0x30dcf8d0,0xd004429a,0xf2404830,0xf7e321e5,
+0xf8d4fc2f,0xf8d42104,0x429a3108,0x482bd004,0x21e6f240,0xfc24f7e3,
+0x30b4f894,0xf8d4b15b,0xb12b30d0,0x00f0f8d4,0x0003ebc0,0x47984b24,
+0x30fcf8d4,0xf8d4e00a,0xb12b30cc,0x00f0f8d4,0x0003ebc0,0x47984b1e,
+0x30f8f8d4,0xf8d4b12b,0xebc0011c,0x4b1a0003,0xf8d44798,0xb13110e0,
+0x20d4f8d4,0x00acf8d4,0x4b160092,0xf8d44798,0xb131110c,0x2100f8d4,
+0x00acf8d4,0x4b110092,0xf8d44798,0xb13110e8,0x20d4f8d4,0x00acf8d4,
+0x4b0c0092,0xf8d44798,0xb1311114,0x2100f8d4,0x00acf8d4,0x4b070092,
+0xf8d44798,0x462100ac,0x72a2f44f,0x47984b03,0x46c0bd10,0x00020b04,
+0x1e005dcd,0x1e005c15,0x4ff7e92d,0x9001461f,0xf44f9100,0x210070a2,
+0x46164bb7,0xa030f8dd,0x8034f8dd,0x9038f8dd,0xb03cf8dd,0x47989d12,
+0x28004604,0x815ef000,0xf44f2100,0xf7e472a2,0x4baefc75,0xbf082d00,
+0xf8c4461d,0xb92650a0,0xf44f48ab,0xf7e371cb,0x2100fba3,0x460a4630,
+0xffdcf7e3,0xf8c42300,0xf1083140,0xf3c033ff,0xea133000,0xf8840f08,
+0xd00400b4,0xf44f48a0,0xf7e371d2,0xf109fb8d,0xea1333ff,0xd0040f09,
+0xf240489b,0xf7e311a5,0xf1b9fb83,0xd1070f00,0x0f00f1ba,0x4896d004,
+0x11a7f240,0xfb78f7e3,0x0f00f1b8,0xb127d105,0xf2404891,0xf7e311a9,
+0x9b01fb6f,0x60b0f8c4,0x30acf8c4,0x30b4f894,0xf5b8b32b,0xd9047f00,
+0xf2404889,0xf7e311b1,0xf5b9fb5f,0xd9047f00,0xf44f4885,0xf7e371d9,
+0xf44ffb57,0xf1b85300,0xf8c40fff,0xf8c470c0,0xf8c4a0c4,0xd80630c8,
+0x0ffff1b9,0xf5a3bf9c,0xf8c45380,0x462030c8,0xfdecf7e4,0xf5b8e013,
+0xd9047f00,0xf44f4876,0xf7e371df,0xf5b9fb39,0xd9047f00,0xf2404872,
+0xf7e311bf,0xf8c4fb31,0xf8c470b8,0x2208a0bc,0x4b6e9900,0x00a4f104,
+0x23004798,0x30abf884,0x80d4f8c4,0x9100f8c4,0xfdd2f7e4,0xbf864583,
+0x030bebc0,0x3124f8c4,0xb124f8c4,0x22009b10,0x3128f8c4,0xf8c49b11,
+0xf8c42130,0xf8c4312c,0x68732138,0xd11f2b01,0xf5b368b3,0xd1056f02,
+0x30b4f894,0xf04fb113,0xe00b4300,0xf2446b32,0x429a3322,0xf04fbf0c,
+0xf04f4300,0xf8c44380,0x23003130,0x3134f8c4,0x3130f8d4,0x3138f8c4,
+0x3134f8d4,0x313cf8c4,0xf7e34630,0xf640fdfd,0x42980329,0x4630d10c,
+0xfff0f7e3,0x4630b140,0xffecf7e3,0xd8032802,0xf8842300,0xe00430b5,
+0x4b434620,0xf8844798,0xf1b800b5,0xd00d0f00,0x0588ea4f,0x21004628,
+0x47984b39,0x00e0f8c4,0xd0792800,0x462a2100,0xfb84f7e4,0x0f00f1b9,
+0xea4fd00d,0x46280589,0x4b312100,0xf8c44798,0x2800010c,0x2100d068,
+0xf7e4462a,0xf1b8fb73,0xd0050f00,0x21014620,0x47984b2e,0xd05b2800,
+0x0f00f1b9,0x4620d005,0x4b2a2102,0x28004798,0xf8d4d052,0xf1b33130,
+0xd1084f80,0x30ecf8d4,0x4f80f1b3,0xf894d903,0x2b0030b5,0xf8d4d044,
+0xf1b33130,0xd1084f80,0x3118f8d4,0x4f80f1b3,0xf894d903,0x2b0030b5,
+0xf1b8d036,0xd00d0f00,0x0588ea4f,0x21004628,0x47984b11,0x00e8f8c4,
+0x2100b350,0xf7e4462a,0xe001fb35,0x80e8f8c4,0x0f00f1b9,0xea4fd00d,
+0x46280589,0x4b082100,0xf8c44798,0xb1b80114,0x462a2100,0xfb22f7e4,
+0xf8c4e001,0x46209114,0xfd0cf7e4,0xe00f4620,0x1e00578d,0x00023c14,
+0x00020b04,0x1e0040f9,0x1e0044fd,0x0001cd65,0x4b024620,0x20004798,
+0x8ffee8bd,0x0001cd81,0xea43058b,0xb5702392,0xfef0fbb3,0x3e1efb00,
+0x3380f44f,0xf3f0fbb3,0xf303fb00,0x3380f5c3,0x4606041b,0xf0f0fbb3,
+0x3010fb06,0x75fff64f,0x2391ea05,0xf303fb00,0xfbb30400,0xfb06f4f6,
+0xfbb03414,0xfb06f3f6,0xea050313,0xfb056591,0xfbb5f503,0xfb06f3f6,
+0x44745313,0xfbb418e4,0xfb06f0f6,0x05924010,0xeb020d92,0xbd702080,
+0x3024f890,0x4618b90b,0xf890e015,0xb90b3023,0xe0102001,0x5158f500,
+0x788b3108,0x431a784a,0x4313780b,0x431a78ca,0x4313790b,0x431a794a,
+0x2000bf0c,0x47702001,0x6000f011,0x4694b510,0x2314d02f,0x027ff001,
+0xf203fb02,0xf4014c16,0x191063e0,0x0f00f411,0xe010f890,0x0a1bd006,
+0x2b013b04,0x68c3bf94,0xe0056883,0x3b040a1b,0xbf942b01,0x59136843,
+0xf44f009a,0xfb0c53fa,0xf503f303,0x33ef43aa,0xfbb3189b,0xf3c1f3f2,
+0xeb025201,0x3204129e,0x230318d2,0xf203fb02,0xb2801ed0,0x46c0bd10,
+0x1e00c744,0x6f00f011,0x41f0e92d,0x4680469c,0xf0014615,0xd0390e7f,
+0xfb0e2214,0x4f2efe02,0x5301f3c1,0x0007eb0e,0xf4017c02,0xeb030400,
+0x009b1392,0x0f02f015,0x0618f103,0x61e0f401,0xf103bf08,0xb1340620,
+0x3b040a0b,0xbf942b01,0x688368c3,0x0a0be006,0x2b013b04,0x6843bf94,
+0x3007f85e,0xf44f009a,0xfb0c53fa,0xf503f303,0x33ef43aa,0xfbb3189b,
+0xeb06f3f2,0xf8d80083,0x685b3848,0xd1252b02,0xe0233006,0xf9134b13,
+0x2b00300e,0xea4fda12,0xf102024e,0xeb030315,0xfbb303cc,0x009af3f2,
+0x3848f8d8,0x0014f102,0x2b02685b,0xf102d10e,0xe00b001a,0x33fff10e,
+0x130ceb03,0x0f01f012,0xf0fefbb3,0x3060d001,0x30c0e000,0x81f0e8bd,
+0x1e00c744,0x1e00c634,0x468eb510,0xf8d0b122,0x685b3848,0xd122429a,
+0x6300f01e,0x0848f8d0,0x6f84d102,0xe0184619,0x037ff00e,0xd8162b20,
+0x01d3eb00,0x0207f00e,0x40932301,0x208df891,0x0003ea02,0x1843e00c,
+0x207cf893,0x037ff00e,0xd101429a,0xe0032001,0x42a13101,0x2000d1f3,
+0x46c0bd10,0x4604b510,0x46084696,0xe013b959,0x380cf8d4,0x0e02f1ae,
+0x365af8b3,0x0a1ab29b,0x70437002,0xf1be3002,0xdcf10f01,0xf8d4d104,
+0xf8b3380c,0x7003365a,0x46c0bd10,0x4696b500,0x189b680a,0x4293600b,
+0xbf386803,0x0e01f10e,0x60034473,0x46c0bd00,0x469eb500,0x459e680b,
+0x0303ebce,0x6803600b,0x3201bf88,0x60031a9b,0x46c0bd00,0xd2014290,
+0xe0062001,0x2000d001,0x4299e003,0x2000bf2c,0x47702001,0x3088f8d0,
+0x2084f8d0,0xf042b10b,0xf8d06280,0xb11b308c,0x2380f422,0x3200f443,
+0xf8c36983,0x47702120,0x4604b570,0xb929460d,0x37c0f890,0xf890b17b,
+0xb9633d0d,0xb11868a0,0x462a2103,0xfbdaf7e3,0x581cf884,0xf884b91d,
+0xf8845970,0xbd705854,0x0f01f011,0x41f0e92d,0x460f4680,0x461d4616,
+0x480ed004,0x51cdf24b,0xf89af7e3,0x0f01f015,0x480ad004,0x51cef24b,
+0xf892f7e3,0xdd0b2d00,0x19e12400,0xf7e74640,0x1933ff09,0x340255a0,
+0x42ac0a00,0xdbf47058,0x81f0e8bd,0x00021040,0xf642b570,0x5341451a,
+0x71c4f44f,0xf7e74604,0x5b63fef5,0x7270f420,0x4620431a,0xf44fb292,
+0xf7e771c4,0x2122fdcb,0xf7e74620,0x5b63fee7,0x7270f420,0x4620431a,
+0xb2922122,0xfdbef7e7,0x46c0bd70,0x41f0e92d,0x4844f8d0,0x343431e0,
+0x18a74615,0xf7e74606,0x4601fed1,0x42815960,0x2000d101,0xbf98e00d,
+0x3380f5c0,0x628cf506,0xebc0bf8c,0x18580001,0x59533204,0x5153181b,
+0xe8bd6039,0x46c081f0,0x41f0e92d,0x46057c43,0xf0002b00,0x2100814e,
+0x460a4ca7,0x210247a0,0x46282204,0x210447a0,0x46282208,0x210647a0,
+0x4628220c,0x210847a0,0x46282210,0x462847a0,0x2214210a,0x260047a0,
+0x00b2270c,0x32184639,0x4c994628,0x47a03601,0x2e063702,0x211cd1f5,
+0x46282238,0x211e47a0,0x4628223c,0x212447a0,0x46282240,0x212647a0,
+0x46282244,0x212847a0,0x46282248,0x212a47a0,0x4628224c,0x212c47a0,
+0x46282250,0x212e47a0,0x46282254,0x213047a0,0x46282258,0x213247a0,
+0x4628225c,0x226047a0,0x46282134,0x213647a0,0x22644628,0x213847a0,
+0x46282268,0x213a47a0,0x4628226c,0x213c47a0,0x46282270,0x213e47a0,
+0x46282274,0x214047a0,0x46282278,0x214247a0,0x4628227c,0x214447a0,
+0x46282280,0x214647a0,0x46282284,0x214847a0,0x46282288,0x228c47a0,
+0x4628214a,0x214c47a0,0x22904628,0x214e47a0,0x46282294,0x215047a0,
+0x46282298,0x215247a0,0x4628229c,0x215447a0,0x462822a0,0x215647a0,
+0x462822a4,0x215a47a0,0x462822a8,0x215c47a0,0x462822ac,0x215e47a0,
+0x462822b0,0x216047a0,0x462822b4,0x22b847a0,0x46282162,0x216447a0,
+0x22bc4628,0x216647a0,0x462822c0,0x216847a0,0x462822c4,0x216a47a0,
+0x462822c8,0x216c47a0,0x462822cc,0x216e47a0,0x462822d0,0x217047a0,
+0x462822d4,0x217247a0,0x462822d8,0x217447a0,0x462822dc,0x217647a0,
+0x462822e0,0x217a47a0,0x72aaf44f,0x47a04628,0xf44f2120,0x462872e4,
+0x212247a0,0x72e6f44f,0x47a04628,0x14d0f8d5,0x343cf8d5,0x2440f8d5,
+0x0301ebc3,0x3560f8c5,0x34b0f8d5,0x1a9b462c,0x3574f8c5,0x3468f8d5,
+0x2444f8d5,0x1a9b1a5b,0x3564f8c5,0x0778f8d4,0xf8d0b1b0,0xf8d5209c,
+0x189b33c0,0x33c0f8c5,0x2098f8d0,0x33f0f8d5,0xf8c5189b,0xf8d033f0,
+0xf8d52094,0x189b3408,0x3408f8c5,0x47986f43,0xf1053404,0x429c0318,
+0xf8d5d1e0,0xf8d523c0,0x210033c4,0xf8d5189b,0x189b23d4,0x23c8f8d5,
+0xf8d5189b,0x189b2448,0x244cf8d5,0xf8d5189b,0x189b2450,0x33b0f8c5,
+0x2420f8d5,0x33f0f8d5,0xf8d5189b,0x189b2400,0x2404f8d5,0xf8d5189b,
+0x189b2408,0x240cf8d5,0xf8d5189b,0x189b2414,0x33e8f8c5,0xf8d5186b,
+0xf8d323e8,0x31043424,0x291818d2,0x23e8f8c5,0xe8bdd1f4,0x46c081f0,
+0x0001d541,0xf0014b0a,0x569b027f,0x2b00b510,0xbfac4b07,0x7200f44f,
+0x72e0f44f,0xf0015c59,0xeb02010f,0xf7e70141,0x0040fd4d,0xbd10b280,
+0x1e00c634,0x41f0e92d,0x460d6987,0xe0172600,0x886319ac,0xd0062b02,
+0xd0042b04,0xf24b480c,0xf7e23149,0x8863feb9,0xd1032b02,0x88a35b72,
+0xe00452bb,0xd1022b04,0x68635b72,0x360850bb,0xf64f5b72,0x429a73ff,
+0xe8bdd1e2,0x46c081f0,0x00021040,0x6f00f011,0x41f0e92d,0x017ff001,
+0x46174606,0x0848f8d0,0x4a0fd006,0xfb012314,0x7c5b2303,0xe00018c3,
+0xf8931843,0x463050a0,0x22004629,0x4c092301,0xb92047a0,0xf6474808,
+0xf7e25190,0x4630fe81,0x463a4629,0x4c05230e,0xe8bd47a0,0x46c081f0,
+0x1e00c744,0x0001d375,0x00021040,0x0001d299,0x4b01b510,0xbd104798,
+0x0001d8b9,0x47f0e92d,0xf8d0461f,0x46043848,0x4688685b,0xbf142b01,
+0x2610260a,0x46914b09,0x18304798,0xb157b280,0x46410045,0x464a4620,
+0x4c05463b,0xb2ad47a0,0x19401830,0xe8bdb280,0x46c087f0,0x0001d8b9,
+0x0001d299,0x6f00f011,0x41f0e92d,0x017ff001,0x46174606,0x0848f8d0,
+0x4a0fd006,0xfb012314,0x7c5b2303,0xe00018c3,0xf8931843,0x463050a0,
+0x22004629,0x4c092301,0xb92047a0,0xf6474808,0xf7e2517d,0x4630fe25,
+0x463a4629,0x4c052388,0xe8bd47a0,0x46c081f0,0x1e00c744,0x0001d375,
+0x00021040,0x0001d299,0x47f0e92d,0xf8d04698,0x46053848,0xf89d685b,
+0xf89d6020,0x2b019028,0x230abf14,0xb9492310,0xfb032403,0x4611f404,
+0x46324b0f,0x18244798,0xe000b2a7,0x4c0d005f,0x46414628,0x9b094632,
+0x183847a0,0xf1b9b284,0xd0040f00,0x46284b08,0x46324641,0x4b07e003,
+0x46414628,0x47984632,0xb2801820,0x87f0e8bd,0x0001d91d,0x0001d299,
+0x0001d971,0x0001d8b9,0x6f00f011,0xd003b510,0xf2454819,0xe02a7123,
+0xf0014b18,0x565b017f,0xda082b00,0x0382eb01,0x3b01005b,0xfbb3004a,
+0x009bf3f2,0x2904e00b,0xd802d00b,0xd0052902,0x290be012,0x2916d007,
+0xe00dd009,0xb29800d3,0x0093e010,0x0113e7fb,0xf3f1fbb3,0x00d3e7f7,
+0xfbb3220b,0xe7f2f3f2,0xf2454803,0xf7e27140,0x2000fda3,0x46c0bd10,
+0x00021040,0x1e00c634,0x6f00f011,0x460cb570,0x461d4696,0x2000d001,
+0x4a0fe01c,0x037ff001,0x2b0056d3,0x221ada08,0x47984b0c,0xbf142d00,
+0x24002402,0xe00c3414,0x4b082218,0x0f00f1be,0x24c0bf0c,0x47982460,
+0xbf142d00,0x25002503,0x18201964,0xbd70b280,0x1e00c634,0x0001da4d,
+0x4608b510,0x2203460c,0xf7e34912,0x2302fe4f,0x3b0170e3,0x71637123,
+0x72233302,0x73233324,0x7423331b,0x74633301,0x74a3331b,0x75233304,
+0x22002332,0x015bf06f,0x232f7563,0x71e271a2,0x72a27261,0x736172e2,
+0x73e273a2,0x75a374e2,0xbd1075e2,0x000203b8,0x47f0e92d,0x4681461e,
+0x7b507b13,0xea434614,0x46882000,0xff52f7e6,0x46072108,0xf7e84630,
+0x4621fe8f,0x22064605,0xfe14f7e3,0x1da12206,0xf7e31da8,0x4631fe0f,
+0x46404b13,0x380e4798,0xf7e6b280,0xf105ff3b,0x7328040e,0x0355f06f,
+0x200ff3c0,0x22007368,0x706373ab,0x70a33359,0x712270e2,0x46394648,
+0xf83cf7e7,0xb1084603,0x0307f06f,0x46387163,0xff20f7e6,0xf3c071a0,
+0x71e0200f,0x87f0e8bd,0x1e003e11,0x41f0e92d,0x3ffff1b2,0x4616bf14,
+0x46072600,0x460a4698,0x2902b111,0xe038d003,0x5848f8d0,0xf8d0e007,
+0x685b3848,0xd1302b02,0x6528f500,0xb12e3504,0x46314638,0x4c172301,
+0xb33047a0,0x2b02686b,0x7b2bd10f,0xb166b96b,0x6f00f016,0xf006d11d,
+0x2b02037f,0x2b04d005,0x2b0bd003,0x2b16d001,0xf416d113,0xd0045f60,
+0x4319f642,0x2b015cfb,0xf1b8d00b,0xd0020f00,0x642e2000,0x4638e007,
+0xf7e863ee,0x4640ff57,0xf04fe001,0xe8bd30ff,0x46c081f0,0x0001d375,
+0xe92d680b,0x460741f0,0xb123460e,0xf647480c,0xf7e221e8,0x463cfca5,
+0x5b04f854,0x00ad1d30,0x462a4621,0xfd82f7e3,0x21004620,0xf7e3462a,
+0x683bfd5d,0x23006033,0xe8bd603b,0x46c081f0,0x00021040,0x41f0e92d,
+0x6700f011,0x461c4616,0xf001d01f,0x701a027f,0x2302f3c1,0x2b013b04,
+0x2a20d901,0xea6fd104,0xea6f6342,0x70236353,0x70a30a33,0x0370f401,
+0xf0430c1b,0xf4110307,0x70660f00,0xd07a70e3,0x6343ea6f,0x6353ea6f,
+0x4a3de074,0x057ff001,0x2b005753,0x5d55da23,0x0f7ff015,0x4839d104,
+0x717df245,0xfc58f7e2,0x46202206,0xf7e34639,0x7823fd19,0x020ff005,
+0x030ff023,0x7022431a,0x78a30532,0x01520d12,0x4312ea43,0x786370a3,
+0x2312ea43,0x78237063,0x70234313,0x2d02e04e,0x2d04d00a,0x2d0bd015,
+0x2d16d006,0x4825d004,0x71c8f245,0xfc30f7e2,0xd00a2d04,0x2d02dc02,
+0xe025d005,0xd0062d0b,0xd00f2d16,0x00f3e020,0x00b3e00a,0x0133e008,
+0xf2f5fbb3,0xfb00b290,0x4293f205,0x1c43d01c,0xe019b298,0x00f2210b,
+0xf3f1fbb2,0xfb00b298,0x429af301,0x1c43d010,0xfb00b298,0x1a9bf301,
+0xd9092b07,0xe0082280,0xf245480c,0xf7e271b0,0x2000fbff,0xe0004602,
+0x23052200,0xf303fb05,0xf0427023,0x70630304,0x0a0370a0,0x230070e3,
+0x71637123,0x81f0e8bd,0x1e00c634,0x00021040,0x4605b570,0x46acf243,
+0xf8d0460c,0x59a9073c,0x47984b11,0xf895b1fc,0xb1e33d5e,0x3de0f895,
+0xf243b1cb,0x592b44b0,0xf505b1ab,0x46285158,0xf7fe3108,0xb170fafd,
+0xf0136843,0xd00a0f40,0x3183f890,0x592ab13b,0x073cf8d5,0x085259a9,
+0x4c022301,0xbd7047a0,0x1e006221,0x1e0061f9,0x460cb570,0x46114606,
+0x7813b13a,0x0501f013,0xf7fed103,0xb100fadd,0x6ba163a5,0x073cf8d6,
+0xfbc8f7e6,0x46014b04,0xf104220f,0x4798001e,0xf8842300,0xbd70302d,
+0x1e0040f9,0x47f0e92d,0x46812600,0x46b0460d,0xeb05e016,0x687c0708,
+0x6e21b17c,0xf8d9b129,0xf8b40048,0x4b0a2064,0x4b094798,0x0048f8d9,
+0x22904621,0x23004798,0x3601607b,0x0804f108,0x429e682b,0x2300d3e5,
+0xe8bd602b,0x46c087f0,0x1e005c15,0x4ff0e92d,0xf10db08d,0x90010808,
+0x4617460c,0x22282100,0x461e4640,0xb058f8dd,0x90d0f8df,0xfc26f7e3,
+0x46204639,0x47c82201,0x28004601,0x7842d054,0x0504f108,0xbf282a10,
+0x31022210,0x92024628,0xfc34f7e3,0x46204639,0x47c82232,0x460146c2,
+0x9802b170,0xf1c0784b,0x429c0410,0x461cbfa8,0x31021828,0xf7e34622,
+0x9b02fc21,0x9302191b,0xf106b12e,0x46510034,0xf7e32228,0x9a01fc17,
+0xf8d24640,0x22001848,0xf7fa3178,0xb978fec3,0xf2439a01,0x5cd343d8,
+0x4640b1f3,0x47984b11,0xb12eb1d0,0x0034f106,0x22284641,0xfbfef7e3,
+0x2b109b02,0x480cd904,0x2173f249,0xfb10f7e2,0x0f00f1bb,0x4658d101,
+0x4658e008,0x2228a902,0xfbecf7e3,0xe0012000,0x30fff04f,0xe8bdb00d,
+0x46c08ff0,0x0001ee69,0x00021040,0x1e003759,0x41f3e92d,0x8020f8dd,
+0x2300461f,0x4606703b,0x3000f8c8,0x000cf101,0xf1a24b24,0x2205010c,
+0x46044798,0x2301b980,0x3d5df886,0xf7e84630,0xf506f941,0x46305158,
+0x46223108,0x94004623,0xfd6cf7e9,0xe02f4620,0xf8907903,0xf003c001,
+0x788305fe,0x0f04f1bc,0x3000f8c8,0xf0037903,0x703b0301,0x7943d102,
+0xb1e5b903,0x73f8f241,0xf3c65af6,0x45ae0eca,0x1d60d315,0xe00a4629,
+0xd1064571,0xf0067803,0x41130207,0x0001f003,0x3101e00a,0xf1ac3001,
+0xebc10204,0x42d30305,0x458ed401,0x2000d2ec,0x81fce8bd,0x1e003759,
+0xf241b537,0x5903445c,0x68194605,0xf7fea801,0x592bf96f,0x68182400,
+0x7b03e008,0x0f02f013,0x1c63d001,0xa801b2dc,0xf950f7fe,0xd1f42800,
+0xbd3e4620,0x4ff7e92d,0x460e4617,0xa901466a,0xf7e64683,0xf107ffbf,
+0xf7e6001e,0x4682fcad,0x0022f107,0xfca8f7e6,0x8000f8dd,0x46819d01,
+0x46404629,0x4653464a,0x47a04c1c,0x2001b108,0x7c73e032,0xea4f7c32,
+0xea424115,0x042b2203,0x429a0c1b,0x4101ea4f,0x9101d201,0xb119e009,
+0x3380f5a1,0xe0049301,0x93014b11,0x33fff108,0x9b019300,0x43134639,
+0x46309301,0x47984b0d,0x46012218,0x46584b0c,0x4c0c4798,0xa9011f03,
+0x22004668,0x980047a0,0x464a9901,0x4c034653,0x380047a0,0x2001bf18,
+0x8ffee8bd,0x0001d441,0xffff0000,0x0001edf9,0x0001da4d,0x0001d409,
+0x47ffe92d,0xf04f4698,0x930333ff,0xfb08330d,0x460f1303,0x8a5b8a19,
+0x42994605,0xd2084692,0x88bb88f9,0xd2074299,0x46414638,0x47984b3c,
+0xf8cde06f,0xe00c800c,0xa9034638,0x47984b39,0x4839b920,0x61dcf644,
+0xfa02f7e2,0x45439b03,0x9a03dc61,0xdb512a00,0xfb02230c,0x8a1b7303,
+0x4831b923,0x61e4f644,0xf9f2f7e2,0xf8959903,0x410b3d84,0xf0034541,
+0xd1020301,0xd04a2b00,0xb113e000,0x46384b29,0x4b29e001,0x47984638,
+0xb9204606,0xf6444824,0xf7e261ea,0x69ebf9d9,0x4630b313,0xfae8f7e8,
+0xf8df4c22,0x5c239094,0xf8194630,0xeb052003,0xf8d202c2,0x33013658,
+0x3658f8c2,0xfad8f7e8,0x46315c23,0x4003f819,0xeb056ca8,0xf8d404c4,
+0x9301365c,0x47984b16,0x18c09b01,0x065cf8c4,0x6ca84b14,0x22014631,
+0xf8d54798,0x330133c0,0x33c0f8c5,0x46414638,0x4b074652,0xb9204798,
+0xf6444807,0xf7e261f9,0x2001f99f,0x2000e000,0xe8bdb004,0x46c087f0,
+0x1e0039cd,0x1e003ced,0x00021040,0x1e003ac5,0x1e003b05,0x000238e6,
+0x1e003e11,0x1e005c41,0x00021010,0x41f0e92d,0x460c4606,0xf7f14617,
+0xf896ffff,0x2b003024,0x4620d06b,0x47a04c36,0xf8b64605,0x47a00324,
+0xd1624285,0x2700f896,0x36fff996,0x1a9b4639,0x783b0098,0x4298463a,
+0x4603bfb8,0x787b703b,0xbfb84298,0x707b4603,0x428378bb,0x4603bfa8,
+0x78fb70bb,0xbfa84283,0x70fb4603,0x42987913,0x4603bfb8,0x7b137113,
+0xbfb84298,0x73134603,0xf1073201,0x429a0308,0x463ad1f0,0x7d132400,
+0x42983401,0x4603bfb8,0x7f137513,0xbfb84298,0x77134603,0x302cf892,
+0xbfb84298,0xf8824603,0xf892302c,0x42983034,0x4603bfb8,0x3034f882,
+0x2c083201,0x2200d1e3,0x3024f891,0x42983201,0x4603bfb8,0x3024f881,
+0x303cf891,0xbfb84298,0xf8814603,0x3101303c,0xd1ed2a08,0x3044f897,
+0xbfb84298,0xf8874603,0xe8bd3044,0x46c081f0,0x0001e9bd,0x03fcf001,
+0xd0012b88,0xe0082000,0x7340f401,0x7f40f5b3,0x2318bf14,0x5cd3231e,
+0x477009d8,0xe92d8a8b,0x2b2d41f0,0x460e4605,0xd8056847,0x3404f8d7,
+0xf8c73301,0xe02a3404,0x1da2690c,0x785179a3,0x2101ea43,0x47984b16,
+0xf8d5b928,0x33013090,0x3090f8c5,0xf104e01b,0x788b0110,0x7c20784a,
+0x78cb431a,0x0202ea40,0x790a4313,0x794b431a,0xd0024313,0x0f01f010,
+0xf8d7d005,0x33013414,0x3414f8c7,0x2001e003,0x66ae666e,0xf8d5e005,
+0x200030a4,0xf8c53301,0xe8bd30a4,0x46c081f0,0x0001e3e9,0x41f0e92d,
+0x46156843,0x7b8a6c9f,0x3088f8d0,0x0241f3c2,0x46043301,0xf8c0460e,
+0x2a033088,0xe8dfd866,0x020df002,0x6e034b22,0xf8d0b133,0x33013094,
+0x3094f8c0,0xfe16f7f0,0xe0502301,0x2b016e03,0x7b0bd114,0x0f04f013,
+0x483fd004,0x61a6f44f,0xf88af7e2,0x2b0e8aab,0x6ea3d91c,0x483abb43,
+0x5139f240,0x6e03e022,0xd0052b01,0x3094f8d4,0xf8c43301,0xe05c3094,
+0x66032303,0xf0137b0b,0xd0040f04,0xf2404830,0xf7e2514c,0x8aabf86d,
+0xd8062b11,0xf8d26862,0x33013404,0x3404f8c2,0x6ea3e047,0x4828b923,
+0x5155f240,0xf85cf7e2,0x66a56ea3,0xe01f601d,0xb1336e03,0x3094f8d0,
+0xf8c03301,0xf7f03094,0x6e63fdcd,0x6ea3b90b,0x481db123,0x61adf44f,
+0xf846f7e2,0x66232303,0x46294620,0x47984b19,0xe022b930,0xf2404816,
+0xf7e25174,0xe01cf839,0x2b036e23,0x2200d121,0x66226e63,0x666266a2,
+0x686169da,0x0280f042,0xf8d161da,0x6820256c,0xf8c13201,0xf8d4256c,
+0x6c89208c,0xf8c43201,0x4632208c,0xfef2f7eb,0x4620e007,0xfd96f7f0,
+0x46294638,0x4b042200,0xe8bd4798,0x46c081f0,0x00021aec,0x0001e409,
+0x1e005c41,0x294bb500,0xe004f8dd,0xd0269a02,0x2921dc06,0x293dd01b,
+0x291fd015,0xe005d01c,0xd006298d,0xd01d29a2,0xd01d294c,0x0016f06f,
+0xf890e028,0xb90b3cfc,0xe0024618,0x3848f8d0,0x60106858,0xf642e01d,
+0x56c34316,0xf642e002,0x5ac323d0,0xe0146013,0x23cef642,0xf241e7f9,
+0xe7f663f8,0xe7f57c43,0x32fff10e,0x73fef64f,0xd902429a,0x001cf06f,
+0xf241e004,0xf82063f8,0x2000e003,0x46c0bd00,0x18432100,0x2dd0f8d3,
+0xf8d2b12a,0xb93b3094,0x309df892,0x3104b923,0xd1f22910,0xe0002000,
+0x47702001,0x41f0e92d,0x46164605,0xb921460f,0xf2404818,0xf7e1315d,
+0xb925ffab,0xf2404815,0xf7e1315e,0xeb07ffa5,0xf8d40486,0xf1b88050,
+0xd0010f00,0xe01b2000,0x719ef44f,0xf101fb06,0x6128f501,0x46281869,
+0xf7fd3104,0x6520ff0d,0xf06fb910,0xe00b001a,0x76032301,0x6d206147,
+0x30194905,0xf7e32206,0x6d23f869,0x629e4640,0x81f0e8bd,0x00021c25,
+0x00021c32,0x53d2f243,0xb97b5ac3,0x18424619,0x0358f641,0xb13258d2,
+0xb1236913,0x2b017a13,0x2b03d006,0x3104d004,0xd1f02910,0xe0012000,
+0x4080f44f,0x46c04770,0x4618b510,0x3008f89d,0x690cb963,0x6923b154,
+0x79a3b143,0xd9122b35,0xf240480a,0xf7e141f4,0xe00cff4f,0xd9062803,
+0xf2404806,0xf7e141fb,0x2400ff47,0xeb02e003,0xf8d30380,0x462040b0,
+0x46c0bd10,0x00021c38,0x7c43b570,0x4615460c,0x680cf8d0,0xd05d2b00,
+0x482fb921,0x7171f44f,0xff2ef7e1,0x3b017a23,0xd8532b0a,0xf003e8df,
+0x25061b06,0x52525252,0x003a5252,0x265af8b6,0x365af8b6,0xb2dbb292,
+0x4203ea42,0x0300f04f,0x20b4f8c4,0x30b8f8a4,0x0034f104,0x22802100,
+0xffd4f7e2,0xb11de036,0xf8c4682b,0xe0013104,0x5104f8c4,0xf8842300,
+0x21003108,0xb12d00cb,0x191b682a,0x88aa635a,0xe002871a,0x635d191b,
+0x3101871d,0xd1f12910,0xf8a42300,0xf8c430b8,0xe01730b4,0x190a2100,
+0xf8822336,0x33263436,0x3437f882,0x2b101c8b,0xd1f44619,0x190a2100,
+0xf8822336,0x33263448,0x3449f882,0x2b101c8b,0xd1f44619,0x46c0bd70,
+0x00021c38,0x460db5f7,0xf89d461f,0x46146020,0x4824b922,0x41cef240,
+0xfec6f7e1,0x2b0b7a23,0xb1b6d11f,0x786278a3,0x6086f504,0x7823431a,
+0x0006f100,0x78e24313,0x7923431a,0x79624313,0xd102431a,0x22012110,
+0x2110e001,0xf7e22202,0xf504fe63,0x46386186,0x22123104,0xff8af7e2,
+0xf8b5e01f,0xf013309e,0xd00e0f01,0x786278a3,0x7823431a,0x78e24313,
+0x7923431a,0x79624313,0xd102431a,0x01a4f105,0xf104e001,0xf8d501b4,
+0x46203094,0x96019300,0xf105463a,0x4c0203da,0xbdfe47a0,0x00021c38,
+0x1e008fed,0xf890b570,0x46053023,0xbf0c2b00,0x22362214,0x53c2f500,
+0x24043328,0xf853e003,0xb1291b04,0x42943401,0xf06fdbf9,0xe00c0415,
+0xf44f4b07,0x4798608b,0x0284eb05,0x0358f641,0x50d02800,0xf06fbf08,
+0x4620041a,0x46c0bd70,0x1e00578d,0x46c04770,0x4370f401,0x5f80f5b3,
+0xf5b3d002,0xd11b5f00,0x6340f401,0x6f40f5b3,0xf5b3d009,0xd1136f00,
+0x7340f401,0x7040f5b3,0x2001bf18,0xf401e00d,0xf5b07040,0xd1027f00,
+0x7000f5a0,0xf5b0e005,0xbf187080,0xe0002001,0x47702001,0x0ffff011,
+0xd103b510,0xf7f12101,0xe004fcaf,0x3848f8d0,0xf7f56818,0xbd10fad5,
+0xf400b570,0xf5b47440,0x46057f40,0xb2c0d101,0xf400e020,0xf5b36340,
+0xd0046f40,0xf240480e,0xf7e1416c,0xf5b4fe0d,0xd1047f00,0x28ddb2e8,
+0x1c83d80c,0xf5b4e00d,0xd0047f80,0xf2404806,0xf7e14174,0xb2e8fdfd,
+0xd8012802,0xe0012000,0xb2d81e83,0x46c0bd70,0x00021e79,0x4604b510,
+0xf240b131,0xf64f413b,0xf7f572f8,0xe00af97b,0x413cf240,0xf7f52207,
+0x4620f97f,0x413bf240,0xf7f52207,0xbd10f979,0x47f0e92d,0xf2404688,
+0x460461b7,0xf7f54691,0xf240f957,0x460561b6,0xf7f54620,0xf240f951,
+0x460661b5,0xf7f54620,0xf240f94b,0x460761b4,0xf7f54620,0xf04ff945,
+0x46620c00,0xfa504664,0xf013f304,0xd0010101,0xe0032101,0x0301f10c,
+0xfc83fa5f,0xb2da1c53,0xd0122a10,0x29003401,0xe00ed0ed,0x0310f1a2,
+0xf303fa57,0x0f01f013,0x2101d001,0xf10ce003,0xfa5f0301,0x1c53fc83,
+0x2a1fb2da,0x2900d811,0xe00ed0ec,0x0320f1a2,0xf303fa56,0x0f01f013,
+0x2101d001,0xf10ce003,0xfa5f0301,0x1c53fc83,0x2a2fb2da,0x2900d811,
+0xe00ed0ec,0x0330f1a2,0xf303fa55,0x0f01f013,0x2101d001,0xf10ce003,
+0xfa5f0301,0x1c53fc83,0x2a3fb2da,0x2900d801,0xf04fd0ec,0x22000e3f,
+0xfa55240f,0xf013f304,0xd0010101,0xe0032101,0x33fff10e,0xfe83fa5f,
+0xb2da1c53,0xd0122a10,0x29003c01,0xe00ed0ed,0x031ff1c2,0xf303fa56,
+0x0f01f013,0x2101d001,0xf10ee003,0xfa5f33ff,0x1c53fe83,0x2a1fb2da,
+0x2900d811,0xe00ed0ec,0x032ff1c2,0xf303fa57,0x0f01f013,0x2101d001,
+0xf10ee003,0xfa5f33ff,0x1c53fe83,0x2a2fb2da,0x2900d811,0xe00ed0ec,
+0x033ff1c2,0xf303fa50,0x0f01f013,0x2101d001,0xf10ee003,0xfa5f33ff,
+0x1c53fe83,0x2a3fb2da,0x2900d801,0xf888d0ec,0xf889e000,0xe8bdc000,
+0x46c087f0,0x20004601,0x4686b500,0x4380f04f,0xf30efa43,0x428a181a,
+0x0050ea4f,0x1a89d802,0x0000ea43,0x0e02f10e,0x0f20f1be,0x4288d1ee,
+0x3001bf38,0x46c0bd00,0x2a3fb5f0,0x4615b089,0x9f0e461c,0x2900dc23,
+0x004adb21,0x006d2318,0x3201b26d,0x33089305,0xb2569307,0x0385eb04,
+0xebc59303,0x33010306,0xf2409304,0x93004356,0x4255f240,0xa9039506,
+0x4c063301,0xb2aa47a0,0x2301e003,0x18d354bb,0x42b2b29a,0xb009ddf9,
+0x46c0bdf0,0x1e00705d,0xb5102300,0x3dbcf8c0,0x6144f240,0xf7f54604,
+0xf010f847,0xd0050301,0x46202202,0x613ff240,0xe0074613,0x0f02f010,
+0x4620d006,0x4153f240,0x4200f44f,0xf856f7f5,0x22084620,0xf2402300,
+0xf7f561da,0x4620f84f,0x23002280,0x61daf240,0xf848f7f5,0x46202203,
+0xf2402301,0xf7f561d6,0x2100f841,0x4b084620,0x6be04798,0xf94af7e6,
+0x6182f44f,0xbf142802,0x23602320,0x462022e0,0xf830f7f5,0x46c0bd10,
+0x1e007b0d,0xf8bdb570,0x460c601c,0x72fff64f,0x41b6f240,0x0303f006,
+0xf7f54605,0x220ff81f,0xf2404628,0xea0441b7,0xf7f50302,0x6be8f817,
+0xf924f7e6,0xd1112802,0x462802f3,0x41b1f240,0x52c0f44f,0x4378f403,
+0xf808f7f5,0xb29b00f3,0xf2404628,0x221841e6,0xf800f7f5,0x46c0bd70,
+0x2100b500,0x4b074686,0x18d000ca,0x459e58d3,0x7900d101,0x3101e004,
+0xd1f4290c,0x30fff04f,0x46c0bd00,0x00022d38,0x18422100,0x23003101,
+0x75532910,0x4770d1f9,0x41f0e92d,0x8018f8dd,0xf89d4604,0x4608701c,
+0x46162100,0x468c461d,0xeb04e015,0xf893030c,0xb116e004,0x0f80f01e,
+0xb12dd00b,0xf00e4a0f,0x56d3037f,0xdb042b00,0xea0e1842,0x71130308,
+0xf10c3101,0x68230c01,0xd3e6459c,0x60017d23,0xb13f7503,0x3015b935,
+0x0115f104,0xf7e22210,0xe001fcf1,0x47984b02,0x81f0e8bd,0x1e00c634,
+0x0001ed75,0x7c83b510,0x0307f003,0xd0012b04,0xd11b2b06,0xf0037903,
+0x28010003,0x2802d01b,0xb958d001,0x780ae01d,0x037ff002,0x0f80f012,
+0x6000f043,0xf440d019,0xe0166080,0xf240480b,0xf7e111cb,0xf44ffbe1,
+0xe00e7000,0x7903b11b,0x0f01f013,0x780bd005,0xf0034a05,0x5cd00307,
+0x780ae003,0xfbb22305,0xbd10f0f3,0x00022b1b,0x00022996,0x4604b530,
+0xb08b6800,0x2100b320,0x22284668,0xfc86f7e2,0x46082100,0x1863e010,
+0xf002791a,0x2b7f037f,0x7522d101,0xad0ae007,0xf803182b,0x9b002c24,
+0x33013001,0x31019300,0x42996823,0x9b00d3eb,0xf844a901,0x46203b04,
+0xf7e22210,0x2001fc87,0xbd30b00b,0x4605b570,0x461e460c,0xbb424610,
+0xe046f895,0xd0482900,0x182be020,0x4b25791a,0x3022f853,0x6f00f013,
+0xf003d012,0x4922027f,0x2314b126,0x1303fb02,0xe003685b,0xfb022314,
+0x585bf303,0xf44f005b,0xfbb3727a,0xe001f3f2,0x037ff003,0xd929429c,
+0xb2d81c43,0xd1dc4570,0xf895e024,0xb301e0a8,0xe01b2000,0xf8931943,
+0x4b122086,0xf8134910,0xf0033022,0xb126027f,0xfb022314,0x685b1303,
+0x2314e003,0xf303fb02,0x005b585b,0x727af44f,0xf3f2fbb3,0xd905429c,
+0xb2d81c43,0xd1e14570,0x4670e000,0x1e43b108,0xbd70b2d8,0x1e00d060,
+0x1e00c744,0x1e00d148,0x4a0cb510,0x4b0c468e,0x1080f890,0xbf142900,
+0x46194611,0xf8512200,0xb2d03022,0xd0084573,0x2a1d3201,0x4805d1f7,
+0x1187f640,0xfb28f7e1,0xbd102000,0x1e00d464,0x1e00d3f0,0x00022b3d,
+0xf890b570,0x460430a8,0xb923460d,0xf2404813,0xf7e151bb,0x2200fb15,
+0xb2d14b11,0x3022f853,0x037ff003,0xd10342ab,0x20a8f894,0xe0102000,
+0x2a113201,0x4809d1f0,0x51c5f240,0xfb00f7e1,0xe00a2000,0xf8931903,
+0x428b3086,0x1c43d005,0x4290b2d8,0xf04fd1f6,0xbd7030ff,0x00022b3d,
+0x1e00d148,0x4ff8e92d,0x30a8f890,0xb9234604,0xf24048c3,0xf7e1619e,
+0xf894fae3,0x18e330d5,0x5086f893,0x5d5a4bbf,0xf88418eb,0x7c5b20d7,
+0x30d8f884,0x5d5a4bbc,0xf88418eb,0x7c5b20d9,0xf884012a,0x4bb930da,
+0x290058d1,0x4620dd0c,0x4bb7b2c9,0x28004798,0xf894dd06,0xf88430ea,
+0xf04300e9,0xe0070310,0x30d5f894,0x30e9f884,0x30eaf894,0x0310f023,
+0x30eaf884,0x01294bab,0x685a18cb,0x20edf884,0xf884689a,0x68db20eb,
+0x30ecf884,0x58c94ba7,0xdd0c2900,0xb2c94620,0x47984ba3,0xdd062800,
+0x316cf8b4,0x0166f884,0x0310f043,0xf04fe007,0xf88433ff,0xf8b43166,
+0xf023316c,0xf8a40310,0xf8b4316c,0xf894316c,0xf44310d5,0xf8a47380,
+0x4b96316c,0x1165f884,0x1305eb03,0xf8d4685a,0xf884e000,0x891a2170,
+0xf8a4899b,0xf8a42176,0xf89e3178,0x2b00303e,0x8193f000,0xf8931863,
+0x4b8b2086,0x2022f853,0x3085f894,0xbf142b00,0x0300f44f,0xea432300,
+0xf8d40502,0xf1b33128,0xf0003fff,0xf0158166,0xd0276800,0x0f00f415,
+0x3080f894,0xf8dfd00e,0xf005b1fc,0xb123027f,0xfb022314,0x68dab303,
+0x2314e013,0xb303fb02,0xe00e689a,0xb1dcf8df,0x027ff005,0x2314b123,
+0xb303fb02,0xe004685a,0xfb022314,0xf853f303,0xf44f200b,0xfbb273fa,
+0xe001f0f3,0x007ff005,0x1120f8d4,0x6c00f011,0xf411d027,0xf8940f00,
+0xd00e3080,0xb19cf8df,0x027ff001,0x2314b123,0xb303fb02,0xe01368da,
+0xfb022314,0x689ab303,0xf8dfe00e,0xf001b180,0xb123027f,0xfb022314,
+0x685ab303,0x2314e004,0xf303fb02,0x200bf853,0x73faf44f,0xf2f3fbb2,
+0xf001e001,0x4290027f,0x7aa0f504,0x7790f504,0x7698f504,0x79a8f504,
+0xf8d4d952,0xf1b33138,0xd0103fff,0x2004f8de,0x313cf8d4,0x270cf8d2,
+0xf8de1a9b,0x42932048,0x4648d205,0x22104631,0xfac4f7e2,0xf04fe00a,
+0xf8c433ff,0x68233158,0x204cf893,0x40932301,0x3154f884,0x46392210,
+0xf7e24630,0x6821fab3,0xf8d2684a,0xf8c4370c,0xf8d4313c,0xf1b33148,
+0xd0113fff,0x270cf8d2,0x314cf8d4,0x6c8a1a9b,0xd2094293,0x3140f8d4,
+0xd10542ab,0x46514638,0xf7e22210,0xe00cfa97,0x22016821,0x303ff891,
+0xf303fa12,0x3128f8c4,0x304cf891,0xf884409a,0xf04f2124,0xe0bd33ff,
+0x0f00f1b8,0xf415d027,0xf8940f00,0xd00e3080,0xb088f8df,0x027ff005,
+0x2314b123,0xb303fb02,0xe01368da,0xfb022314,0x689ab303,0xf8dfe00e,
+0xf005b06c,0xb123027f,0xfb022314,0x685ab303,0x2314e004,0xf303fb02,
+0x200bf853,0x73faf44f,0xf0f3fbb2,0xf005e001,0xf1bc007f,0xd0380f00,
+0x0f00f411,0x3080f894,0xf8dfd01f,0xf001b030,0xb1ab027f,0xfb022314,
+0x68dab303,0x46c0e024,0x00022b3d,0x1e00d18c,0x1e00d1ae,0x1e00d1d0,
+0x0001efbd,0x1e00d2e0,0x1e00d148,0x1e00c744,0xfb022314,0x689ab303,
+0xf8dfe00e,0xf001b0e4,0xb123027f,0xfb022314,0x685ab303,0x2314e004,
+0xf303fb02,0x200bf853,0x73faf44f,0xf2f3fbb2,0xf001e001,0x4290027f,
+0x2210d23f,0x46504639,0xfa14f7e2,0x684a6821,0x370cf8d2,0x314cf8c4,
+0x3138f8d4,0x3ffff1b3,0xf8d2d011,0xf8d4270c,0x1a9b313c,0x42936c8a,
+0xf8d4d209,0x42ab3130,0x4638d105,0x22104631,0xf9f8f7e2,0x6821e00c,
+0xf8912201,0xfa12303f,0xf8c4f303,0xf8913128,0x409a304c,0x2124f884,
+0x46302210,0xf7e24649,0xf04ff9e5,0xf8c433ff,0x68233158,0x204cf893,
+0x40932301,0x3154f884,0xf89ee012,0x2201303f,0xf303fa12,0x3128f8c4,
+0xf8936823,0x409a304c,0x33fff04f,0x2124f884,0x3138f8c4,0x3148f8c4,
+0xf8c42300,0xf8845120,0xe8bd3160,0x46c08ff8,0x1e00c744,0x4ff8e92d,
+0x3076f890,0xe000f8d0,0x791918c3,0x46044bb1,0x18cb5c5a,0x2078f880,
+0xf8807f5b,0x4bae3079,0x18cb5c5a,0x207af880,0xf8807f5b,0xf89e307b,
+0x2b00303e,0x8169f000,0xc004f8de,0x3034f8dc,0xf0002b00,0x4ba58162,
+0x2021f853,0x3085f890,0xbf142b00,0x0300f44f,0xea432300,0xf8d00502,
+0xf1b330f4,0xf0003fff,0xf015813d,0xd0266b00,0x0f00f415,0x3080f890,
+0xf005d00e,0xb12b027f,0x23144897,0x0303fb02,0xe01368da,0x23144994,
+0x1303fb02,0xe00d689a,0x027ff005,0x4e90b12b,0xfb022314,0x685a6303,
+0x2314e004,0xf303fb02,0x581a488b,0x73faf44f,0xf0f3fbb2,0xf005e001,
+0xf8d4007f,0xf01110f0,0xd0266a00,0x0f00f411,0x3080f894,0xf001d00e,
+0xb12b027f,0x23144e80,0x6303fb02,0xe01368da,0x23144e7d,0x6303fb02,
+0xe00d689a,0x027ff001,0x4e79b12b,0xfb022314,0x685a6303,0x2314e004,
+0xf303fb02,0x599a4e74,0x73faf44f,0xf2f3fbb2,0xf001e001,0x4290027f,
+0x7984f504,0x07f0f104,0x06fcf104,0x788af504,0xf8d4d943,0xf1b33100,
+0xd00e3fff,0x270cf8dc,0x3104f8d4,0xf8de1a9b,0x42932048,0x4640d205,
+0x220c4631,0xf90ef7e2,0xf04fe003,0xf8c433ff,0x220c3118,0x46304639,
+0xf904f7e2,0x684a6821,0x370cf8d2,0x3104f8c4,0x310cf8d4,0x3ffff1b3,
+0xf8d2d011,0xf8d4270c,0x1a9b3110,0x42936c8a,0xf8d4d209,0x42ab3108,
+0x4638d105,0x220c4649,0xf8e8f7e2,0x6823e006,0x203ff893,0x40932301,
+0x30f4f8c4,0x33fff04f,0xf1bbe0a0,0xd0260f00,0x0f00f415,0x3080f894,
+0xf005d00e,0xb12b027f,0x23144843,0x0303fb02,0xe01368da,0x23144840,
+0x0303fb02,0xe00d689a,0x027ff005,0x483cb12b,0xfb022314,0x685a0303,
+0x2314e004,0xf303fb02,0x581a4837,0x73faf44f,0xf0f3fbb2,0xf005e001,
+0xf1ba007f,0xd0260f00,0x0f00f411,0x3080f894,0xf001d00e,0xb12b027f,
+0x2314492d,0x1303fb02,0xe01368da,0x2314492a,0x1303fb02,0xe00d689a,
+0x027ff001,0x4926b12b,0xfb022314,0x685a1303,0x2314e004,0xf303fb02,
+0x585a4921,0x73faf44f,0xf2f3fbb2,0xf001e001,0x4290027f,0x220cd23a,
+0x46484639,0xf87ef7e2,0x684a6821,0x370cf8d2,0x3110f8c4,0x3100f8d4,
+0x3ffff1b3,0xf8d2d011,0xf8d4270c,0x1a9b3104,0x42936c8a,0xf8d4d209,
+0x42ab30fc,0x4638d105,0x220c4631,0xf862f7e2,0x6823e006,0x203ff893,
+0x40932301,0x30f4f8c4,0x46414630,0xf7e2220c,0xf04ff855,0xf8c433ff,
+0xe0153118,0x1e00d0d4,0x1e00d10e,0x1e00d060,0x1e00c744,0x303ff89e,
+0x409a2201,0x33fff04f,0x20f4f8c4,0x3118f8c4,0x3100f8c4,0x310cf8c4,
+0xf8c42300,0xf88450f0,0xe8bd3160,0x46c08ff8,0x21fcf8d0,0xb5102300,
+0x31fcf8c0,0x4200f8d0,0x3200f8c0,0x4620b10a,0xbd104790,0x41f0e92d,
+0x46067a04,0x2c00460d,0xf8d0d12c,0x2b013210,0xf8d0d103,0x681b3214,
+0xb32db323,0x29207869,0xb15ad822,0x1ca8b301,0xe0044622,0xb10b5c13,
+0xd1032b20,0x428a3201,0xe015d1f8,0x4214f8d6,0xe00a2700,0x786b6822,
+0xd104429a,0x1ca91d20,0x47984b07,0x3424b130,0xf8d63701,0x429f3210,
+0xe001dbf0,0xe0002001,0xe8bd2000,0x46c081f0,0x1e00d671,0xf8d0b108,
+0x47700278,0xe92db082,0x290747f0,0x460d4680,0x93094692,0x9030f8dd,
+0x9e0a9f0b,0xd904461c,0xf240480f,0xf7e041ad,0xb104feeb,0x480cb926,
+0x41aff240,0xfee4f7e0,0xfb052314,0xf2418303,0x509c3244,0x509f3204,
+0xf8433204,0x32049002,0x3204509e,0xa002f843,0x47f0e8bd,0x4770b002,
+0x00022c1c,0x43f0e92d,0xfb022414,0xb0870404,0x549af504,0x3404ad01,
+0x46174689,0xcc0f4680,0x6823c50f,0x602b9a02,0xfb07230c,0xf8d39303,
+0x980531f4,0xb10ab35b,0x47904649,0x240c2000,0x9604fb00,0xf8d64640,
+0xf7fc11f4,0x42b8fd0b,0xfb07d1f5,0x46409504,0x11f4f8d5,0xfd02f7fc,
+0xfb002414,0xf2418004,0x58c33344,0xf8c64640,0xf8d531f4,0xf7fc11f4,
+0xfb00fcf5,0xf2418404,0x58e33354,0x31f8f8c6,0xf8c52300,0xb00731f4,
+0x83f0e8bd,0x4ff0e92d,0xfb022414,0xb0890404,0x549af504,0x3404ad03,
+0x46904689,0xcc0f4682,0x6823c50f,0xb014f8dd,0x9b07602b,0x230c9301,
+0x9203fb08,0x31fcf892,0xf8d2b113,0xb12331f4,0xf2404827,0xf7e041ce,
+0x4b26fe63,0xf8532400,0x230c5028,0x9303fb04,0xf8d34650,0xf7fc11f4,
+0x4607fcb9,0x4b1fb130,0x3020f853,0xd20942ab,0xe7ee4604,0x0f07f1b8,
+0x4819d004,0x41dcf240,0xfe46f7e0,0xf8534b17,0x42ab3027,0x4814d104,
+0x41ddf240,0xfe3cf7e0,0xfb082214,0x210ca002,0x9501fb04,0x3644f241,
+0xfb075983,0xf241a202,0xf8c53454,0xfb0831f4,0x59039101,0x31f8f8c5,
+0xf8c15993,0x591331f4,0x31f8f8c1,0x0f00f1bb,0x9801d002,0x47d84649,
+0xe8bdb009,0x46c08ff0,0x00022c1c,0x00022bfc,0xb5702a06,0x460c4606,
+0xd9044615,0xf2404818,0xf7e05151,0x230cfe09,0x4103fb05,0x72fcf501,
+0xb3237913,0x71132300,0x31f4f8d1,0x4630b1fb,0x462a4621,0x47984b0f,
+0xd0022d03,0xd00b2d04,0xf894e015,0xb11b322c,0x46214630,0xe00c2204,
+0x3214f894,0xe005b15b,0x3214f894,0xf8d4b13b,0xb9233218,0x46214630,
+0x4b032202,0xbd704798,0x00022c1c,0x0001f861,0x0001f8f1,0xe92d2a07,
+0x460741f0,0x4616460d,0x482ed904,0x5106f240,0xfdcaf7e0,0xfb062314,
+0xf2417303,0x589b3244,0xd04c2b00,0xfb06230c,0xf5015103,0x791372fc,
+0xd1442b00,0x71133301,0x31f4f8d1,0x4821b123,0x5112f240,0xfdb0f7e0,
+0xd1062e02,0x3224f8d5,0xd1342b00,0x3218f8d5,0x2e03e025,0x4638d109,
+0x22024629,0x47a04c18,0x46294638,0x47a02204,0x2e06e020,0x4638d103,
+0x22054629,0x1e73e00e,0xd8122b06,0xf003e8df,0x04111116,0x0016110d,
+0x3218f8d5,0x4638b99b,0x22024629,0x47984b0a,0xf8d5e008,0xb953323c,
+0x4806e004,0x5142f240,0xfd7af7e0,0x46294638,0x4b044632,0xe8bd4798,
+0x46c081f0,0x00022c1c,0x0001f861,0x0001f8f1,0x41f0e92d,0x435cf241,
+0x7e0b58c7,0x460d4680,0xf0402b00,0x684b8083,0x0f80f413,0x6908d17e,
+0x0380f443,0xb170604b,0x0119f101,0x4b432206,0xb1204798,0xf44f4842,
+0xf7e071c3,0x4640fd4d,0xf7f04629,0x463cf8f5,0xe0062600,0xb1136ae3,
+0x46296b60,0x36014798,0x6a7b3410,0xd3f5429e,0x2600462c,0x1120f8d4,
+0x4b36b149,0x0048f8d8,0x47982200,0xf8c42300,0xf8c43120,0x1c733140,
+0x3404b2de,0xd1ed2e08,0x732b2300,0xf0137e6b,0xd1230f01,0x327cf8d5,
+0xeb07689b,0x699c0383,0x4827b924,0x11bff240,0xfd16f7e0,0xd11242ac,
+0x327cf8d5,0x2274f8d5,0xeb07689b,0x619a0383,0xf8d4e00c,0x42ab3274,
+0xf8d5d104,0xf8c43274,0xe0033274,0x2c00461c,0xe021d1f3,0x42aa683a,
+0x4628d10e,0x47984b18,0xe00c6038,0x3278f8d2,0xd10442ab,0x3278f8d5,
+0x3278f8c2,0x461ae003,0xd1f32a00,0x4b11e012,0x0048f8d8,0x6a3a4629,
+0x8abb4798,0x3b012001,0xe00d82bb,0xe00b2000,0xf2404807,0xf7e011cb,
+0xe7d7fcd7,0xf2404804,0xf7e011db,0xe7e6fcd1,0x81f0e8bd,0x1e00d671,
+0x00022c1c,0x1e005c41,0x0001f7f9,0x1e005c15,0xf241b573,0x460e455c,
+0x46045941,0x6809b1e9,0xf7fca801,0x5963fb91,0xe0096819,0x2300b10e,
+0x4b0a760b,0x47984620,0xf7fca801,0x4601fb73,0xd1f32900,0xf241b14e,
+0x58e3435c,0xb1238a9b,0xf5014803,0xf7e07100,0xbd7cfc9f,0x0001fb25,
+0x00022c1c,0x46c04770,0x0023f890,0xbf142800,0x20102018,0x46c04770,
+0x47f0e92d,0xf243461e,0x56c343e3,0xf1b3460f,0x46903fff,0x1020f8bd,
+0xf243d104,0x5cc343e2,0xe012b113,0xd0102b01,0x00c8eb07,0x429e6b43,
+0x2001d201,0xd001e007,0xe0042000,0x428b8f03,0x2000bf94,0xb2c02001,
+0x2330e0ef,0x7203fb08,0x3150f8d2,0x70a8f502,0xf0c0429e,0xd10380e5,
+0x428b8883,0x80e0f200,0x3158f8d2,0x70acf502,0xd201429e,0xe0072301,
+0x2300d001,0x8883e004,0xbf34428b,0x23012300,0x0afff001,0xb1734699,
+0xfb082330,0xeb037303,0xf89303da,0xf0013130,0x41130207,0x0f01f013,
+0x80bef040,0x2330e0ab,0xfe03fb08,0x0407eb0e,0x75acf504,0xc004f8b5,
+0x6158f8c4,0xb91680a9,0xf24029ff,0xf504809c,0xe89572a8,0xe8820003,
+0x88910003,0x0150f8d4,0x03fff1a1,0xb29b8093,0xd2024299,0xf8c41e43,
+0x88aa3150,0x0302ebcc,0x2c01b29c,0x8083f240,0xd9052cff,0x7098f50e,
+0x46491838,0xe0782220,0x0301f10c,0xfc83fa1f,0x05fff00c,0x06fff002,
+0xd91642ae,0xebb008e8,0xd1120fd6,0x0307f002,0xfa1121ff,0x4470f303,
+0xf89019c0,0x401a2130,0x0307f00c,0x0308f1c3,0x400a4119,0x2130f880,
+0xf015e059,0xd0140307,0x0008f1c3,0x21ffb280,0x22304101,0xf202fb08,
+0x02d5eb02,0xf89219d2,0x400b3130,0x3130f882,0xebc01943,0xb2dd0004,
+0xf006b284,0x28070007,0x3001d013,0x408121ff,0xfb082230,0xeb02f202,
+0x19d202d6,0x3130f892,0xf882400b,0xebc03130,0xebc00306,0xb2de0004,
+0xf014b284,0xd0030f07,0x21dd481d,0xfbb0f7e0,0xd20b42b5,0xfb082030,
+0xf500f000,0x18387098,0x0201f1c5,0xeb001992,0xe01000d5,0x2430b19c,
+0xf404fb08,0x7498f504,0xf5c5193c,0x10d27280,0x00d5eb04,0xf7e12100,
+0x1c72fc59,0x21004620,0xf7e110d2,0xf00afc53,0x21010307,0x22304099,
+0xf202fb08,0x02daeb02,0xf89219d2,0x20003130,0xf882430b,0xe0003130,
+0xe8bd2001,0x46c087f0,0x00022c26,0x4ff0e92d,0xf893461e,0x6b5ba060,
+0x4607b0d3,0x4614468b,0x5170f89d,0x8014f8d2,0xd1492b00,0x2094f8d8,
+0x1307f240,0x0303ea02,0xf0002b00,0xf898822b,0x2b00309c,0x8226f000,
+0x7d9b6833,0x0f0ff013,0x68b3d108,0xd9282b07,0x6871489a,0x4b9a2208,
+0xbb104798,0x7d9a6833,0xea427ddb,0xf0122203,0xd00d0f0f,0x0345eb04,
+0x3160f8b3,0x020ff022,0x030ff023,0xd103429a,0xf0136863,0xd00c0f08,
+0x3068f8b6,0xf0002b00,0x692181fd,0xf0002900,0x690b81f9,0xf0002b00,
+0xf8d781f5,0x33013410,0x3410f8c7,0x35acf8d7,0xf8c73301,0xe1e735ac,
+0x68756913,0x7a1bb133,0xd1032b0b,0xf003782b,0xe0010301,0x099b78eb,
+0xf89663f3,0x4621302c,0x46429300,0x4c796bf3,0x47a04638,0x63b04639,
+0xf8d84604,0x46302094,0xfbc2f7fc,0xd10b2801,0x357cf8d7,0x33013801,
+0x357cf8c7,0x359cf8d7,0xf8c73301,0xe1be359c,0x486db924,0x11e9f240,
+0xfaeaf7e0,0x799b6bb3,0xd9042b35,0xf44f4868,0xf7e071f5,0x6bb1fae1,
+0x200ef991,0x300ff991,0x68b2189b,0xf0c0429a,0x7a0b81a3,0xd0262b04,
+0xd04b2b0b,0xd15f2b02,0x782a78ab,0x91031d28,0x2902ea43,0xfb80f7fc,
+0x3068f8b6,0xf0134680,0x99030501,0xf8cdd153,0x46389000,0x46434652,
+0x47a04c54,0xd04a2800,0x357cf8d7,0xf8c73301,0xf8d7357c,0x33013588,
+0x3588f8c7,0x786ae024,0xea43782b,0x79ab2902,0x041b79ea,0x6302ea43,
+0x4313792a,0xea43796a,0xf8b62802,0xf0133068,0xd12c0501,0x9000f8cd,
+0x46524638,0x4c414643,0xb32047a0,0x357cf8d7,0xf8c73301,0xf8d7357c,
+0x33013590,0x3590f8c7,0xe1544628,0x22101cac,0xf5014620,0xf7e16189,
+0x2800fa49,0x4621da0c,0x48352210,0xfa56f7e1,0x48346bb1,0x6189f501,
+0xf7e12210,0xe13bfa4f,0x0900f04f,0xf64246c8,0x5cfb2391,0xf8d7b9b3,
+0xf8d33dd0,0xf0133094,0xd10f0f08,0x7a136bb2,0xd1032b02,0x2b037993,
+0xe001d908,0xd0052b0b,0x7b1b69b3,0x0f08f013,0x80b5f040,0x69db6973,
+0x0f40f013,0x8118f040,0x7b0b69b1,0xea437b4a,0xf0432302,0x730b0308,
+0x734b0a1b,0x7a0b6bb1,0x2b0a3b01,0x8099f200,0xf003e8df,0x974c064c,
+0x97979797,0x008d9797,0x2b03798b,0xf897d802,0xb1433023,0x3104f8d1,
+0xd8044598,0xf891d01e,0x45533108,0x6832d01a,0x0540f106,0x31144628,
+0x4643320a,0x47a04c08,0xe01265f5,0x1e00d668,0x1e00d671,0x0001e73d,
+0x00022c26,0x0001fcdd,0x00022c67,0x00022c6d,0x1e003161,0x03e0f101,
+0x6bb165f3,0x054af106,0x31144628,0x464b6df2,0x47a04c68,0x0416f10d,
+0x21104628,0x4b664622,0x6bb34798,0xf9936870,0x68b1300e,0x1ac91818,
+0xe01d4622,0x6871ac46,0x46202203,0xfacef7e1,0x1ce06bb3,0x0114f103,
+0xf7e1691a,0x6bb3fac7,0x0516f10d,0x46206919,0x462a3103,0x47984b56,
+0x68706bb3,0x300ef993,0x181868b1,0x462a1ac9,0x47984b52,0x68706bb3,
+0x300ef993,0x181868b1,0xf04f1ac9,0x4b4e32ff,0x4b4e4798,0x429869b1,
+0x7b0bd107,0xea437b4a,0xf0232302,0xb29b0310,0x7b0be005,0xea437b4a,
+0xf0432302,0x730b0310,0x734b0a1b,0xf101e00f,0x68f20014,0x68333124,
+0xf82ef7e4,0xd16f2800,0xf8d7e005,0x3301357c,0x357cf8c7,0x6bb1e068,
+0xf9916873,0x189b200e,0xf9916073,0xf991300e,0x18d2200f,0x1a9b68b3,
+0xf99160b3,0xf991300e,0x18d2200f,0x1a9b6933,0x69b36133,0x7b5b7b1a,
+0x2303ea42,0x0f08f013,0xf013d02a,0xd0270f10,0x357cf8d7,0xf8c73301,
+0xf8d7357c,0x3301358c,0x358cf8c7,0x3594f8d7,0xf8c73301,0x7a0b3594,
+0xd0042b02,0xd0082b03,0xd0062b01,0xf8d7e030,0x330135a8,0x35a8f8c7,
+0xf8d7e02a,0x330135a0,0x35a0f8c7,0x359cf8d7,0xf8c73301,0xe01f359c,
+0x6bb16972,0x60f08a90,0xf896b1e1,0xb933302d,0x100ff991,0x0100ebc1,
+0x60f14610,0x4611e009,0x46584b0f,0x6bb34798,0xf9938a82,0xebc1100f,
+0xf7fc0102,0xf8c6fa03,0xf8a68064,0xe0019062,0xe0002000,0xb0532001,
+0x8ff0e8bd,0x1e0032a1,0x1e002431,0x1e002489,0x1e003981,0xdebb20e3,
+0x1e003e21,0x00f25000,0x00ac0f00,0x004c9000,0x02f25000,0x50000000,
+0x000102f2,0x01f25000,0x18100000,0x00000000,0x540a0000,0x3a504152,
+0x70797420,0x64252065,0x7065202c,0x78302063,0x202c7825,0x72737063,
+0x25783020,0x73202c78,0x20727370,0x78257830,0x20000a2c,0x20307220,
+0x25783020,0x2c783830,0x20317220,0x30257830,0x202c7838,0x20203272,
+0x30257830,0x202c7838,0x20203372,0x30257830,0x0a2c7838,0x72202000,
+0x30202034,0x38302578,0x72202c78,0x78302035,0x78383025,0x3672202c,
+0x78302020,0x78383025,0x3772202c,0x78302020,0x78383025,0x20000a2c,
+0x20387220,0x25783020,0x2c783830,0x20397220,0x30257830,0x202c7838,
+0x20303172,0x30257830,0x202c7838,0x20313172,0x30257830,0x0a2c7838,
+0x72202000,0x30203231,0x38302578,0x73202c78,0x78302070,0x78383025,
+0x726c202c,0x78302020,0x78383025,0x6370202c,0x78302020,0x78383025,
+0x6e68000a,0x65747264,0x6d72615f,0x7200632e,0x616c6365,0x73206d69,
+0x69746365,0x32206e6f,0x6552203a,0x6e727574,0x25206465,0x79622064,
+0x20736574,0x74206f74,0x68206568,0x0a706165,0x63657200,0x6d69616c,
+0x63657320,0x6e6f6974,0x203a3120,0x75746552,0x64656e72,0x20642520,
+0x65747962,0x6f742073,0x65687420,0x61656820,0x4d000a70,0x726f6d65,
+0x73752079,0x3a656761,0x6554000a,0x203a7478,0x25286425,0x2c294b64,
+0x74614420,0x25203a61,0x64252864,0x202c294b,0x3a737342,0x28642520,
+0x294b6425,0x7453202c,0x3a6b6361,0x4b642520,0x7241000a,0x20616e65,
+0x61746f74,0x25203a6c,0x64252864,0x202c294b,0x65657246,0x6425203a,
+0x4b642528,0x49202c29,0x7375206e,0x25203a65,0x64252864,0x202c294b,
+0x3a4d5748,0x28642520,0x294b6425,0x6e49000a,0x65737520,0x6f202b20,
+0x68726576,0x3a646165,0x28642520,0x294b6425,0x614d202c,0x656d2078,
+0x79726f6d,0x206e6920,0x3a657375,0x28642520,0x294b6425,0x614d000a,
+0x636f6c6c,0x69616620,0x6572756c,0x756f6320,0x203a746e,0x000a6425,
+0x63617453,0x6f62206b,0x6d6f7474,0x73616820,0x65656220,0x766f206e,
+0x72777265,0x65747469,0x53000a6e,0x6b636174,0x746f6220,0x3a6d6f74,
+0x25783020,0x6c202c70,0x203a6d77,0x70257830,0x7563202c,0x203a7272,
+0x70257830,0x6f74202c,0x30203a70,0x0a702578,0x65657246,0x61747320,
+0x203a6b63,0x78257830,0x29642528,0x6d776c20,0x7830203a,0x25287825,
+0x490a2964,0x6573756e,0x61747320,0x203a6b63,0x78257830,0x29642528,
+0x6d776820,0x7830203a,0x25287825,0x000a2964,0x45535341,0x22205452,
+0x20227325,0x6c206e69,0x20656e69,0x000a6425,0x72646e68,0x632e6574,
+0x00756d00,0x6d00776d,0x6f742077,0x206c6174,0x0a4b6425,0x646e6800,
+0x5f657472,0x736e6f63,0x3f00632e,0x003f000a,0x74756973,0x2e736c69,
+0x65640063,0x00646976,0x69306c77,0x62730064,0x2f75252f,0x6f727000,
+0x00646964,0x72616f62,0x70797464,0x6f620065,0x66647261,0x7367616c,
+0x61747800,0x6572666c,0x656c0071,0x00636464,0x74756273,0x2e736c69,
+0x73250063,0x6425203a,0x25000a20,0x20783230,0x00732500,0x30256325,
+0x25007833,0x64252e64,0x2e64252e,0x62006425,0x74756d63,0x2e736c69,
+0x6e550063,0x69666564,0x2064656e,0x6f727265,0x64252072,0x69706700,
+0x0064256f,0x6f697067,0x58585858,0x004b4f00,0x65646e55,0x656e6966,
+0x72652064,0x00726f72,0x20646142,0x75677241,0x746e656d,0x64614200,
+0x74704f20,0x006e6f69,0x20746f4e,0x4e007075,0x6420746f,0x006e776f,
+0x20746f4e,0x4e005041,0x5320746f,0x42004154,0x4b206461,0x49207965,
+0x7865646e,0x64615200,0x4f206f69,0x4e006666,0x6220746f,0x20646e61,
+0x6b636f6c,0x4e006465,0x6c63206f,0x006b636f,0x20646142,0x65746152,
+0x6c617620,0x65736575,0x61420074,0x61422064,0x4200646e,0x65666675,
+0x6f742072,0x6873206f,0x0074726f,0x66667542,0x74207265,0x6c206f6f,
+0x00676e6f,0x79737542,0x746f4e00,0x73734120,0x6169636f,0x00646574,
+0x20646142,0x44495353,0x6e656c20,0x74754f00,0x20666f20,0x676e6152,
+0x68432065,0x656e6e61,0x6142006c,0x68432064,0x656e6e61,0x6142006c,
+0x64412064,0x73657264,0x6f4e0073,0x6e452074,0x6867756f,0x73655220,
+0x6372756f,0x55007365,0x7075736e,0x74726f70,0x42006465,0x6c206461,
+0x74676e65,0x6f4e0068,0x65522074,0x00796461,0x20746f4e,0x6d726550,
+0x65747469,0x6f4e0064,0x6d654d20,0x0079726f,0x20746f4e,0x52206e49,
+0x65676e61,0x454d5700,0x746f4e20,0x616e4520,0x64656c62,0x50535400,
+0x4e204345,0x4620746f,0x646e756f,0x4d434100,0x746f4e20,0x70755320,
+0x74726f70,0x4e006465,0x5720746f,0x4120454d,0x636f7373,0x69746169,
+0x53006e6f,0x204f4944,0x20737542,0x6f727245,0x6f440072,0x656c676e,
+0x746f4e20,0x63634120,0x69737365,0x00656c62,0x6f636e49,0x63657272,
+0x65762074,0x6f697372,0x3025006e,0x253a7832,0x3a783230,0x78323025,
+0x3230253a,0x30253a78,0x253a7832,0x00783230,0x736d6362,0x2e6d6f72,
+0x67610063,0x6e680030,0x69686364,0x632e6370,0x646e6800,0x2e756d70,
+0x6d720063,0x72006e69,0x0078616d,0x74642572,0x64257200,0x00000064,
+0x0001cd81,0x1e004a49,0x1e004edd,0x1e004a95,0x1e004aad,0x1e004ac1,
+0x1e004ad5,0x1e004b35,0x1e005325,0x1e004aed,0x00001bd1,0x1e004d89,
+0x1e0051bd,0x1e0046c1,0x1e0046c9,0x1e0046e9,0x1e004b5d,0x1e004769,
+0x1e004e99,0x1e004a29,0x1e004b05,0x1e004719,0x1e004b1d,0x1e0056e9,
+0x1e00558d,0x00001c29,0x1e005195,0x1e00474d,0x00001c51,0x1e0045b1,
+0x00000000,0x00000000,0x00000000,0x1e004701,0x1e004691,0x00000024,
+0x0001cd81,0x1e004945,0x1e005105,0x1e004989,0x1e0049a1,0x1e0049b5,
+0x1e0049c9,0x1e005075,0x1e005459,0x1e0049e1,0x00001bfd,0x1e004e11,
+0x1e0051bd,0x1e0046c1,0x1e0046c9,0x1e0046e9,0x1e004f61,0x1e004769,
+0x1e0050c1,0x1e004925,0x1e0049f9,0x1e004719,0x1e004a11,0x1e0056e9,
+0x1e00558d,0x00001c29,0x1e005195,0x1e00474d,0x00001c51,0x1e0045b1,
+0x00000000,0x00000000,0x00000000,0x1e004701,0x1e004691,0x00000024,
+0x64646e68,0x632e616d,0x78742600,0x69617661,0x6e68006c,0x65747264,
+0x6c736f5f,0x0000632e,0x00000078,0x000000f0,0x000001e0,0x000003c0,
+0x00000780,0x0000103c,0x72646e68,0x6c5f6574,0x2e667562,0x6e680063,
+0x6d726164,0x7200632e,0x74736d61,0x69647962,0x4e280073,0x7564206f,
+0x6572706d,0x77207367,0x6f687469,0x42207475,0x42444d43,0x000a2947,
+0x7478616d,0x746b7078,0x6d6f6c67,0x6c787400,0x64797a61,0x79616c65,
+0x67787400,0x616d6f6c,0x6e67696c,0x67787400,0x006d6f6c,0x77737874,
+0x6e656c71,0x64787400,0x00706f72,0x666b6361,0x66747361,0x61006477,
+0x69736b63,0x6874657a,0x72006473,0x6b636178,0x64730073,0x646d6370,
+0x632e7665,0x71787400,0x6e656c20,0x6425203a,0x616d203a,0x64252878,
+0x64000a29,0x70706f72,0x66206465,0x656d6172,0x64252073,0x6f48000a,
+0x41207473,0x20736b63,0x65286425,0x696c7078,0x20746963,0x2b206425,
+0x67697020,0x61627967,0x64656b63,0x0a642520,0x73756200,0x72726520,
+0x3a73726f,0x66787220,0x666f6669,0x3a776f6c,0x0a642520,0x73756200,
+0x6f6c6620,0x6e6f6377,0x6c6f7274,0x7872203a,0x3a6d696c,0x2c642520,
+0x68787220,0x6d696c5f,0x6425203a,0x6f64000a,0x656c676e,0x6f6c6620,
+0x6e6f6377,0x6c6f7274,0x6366203a,0x6425203a,0x7865202c,0x63696c70,
+0x203a7469,0x202c6425,0x6c696166,0x6425203a,0x4453000a,0x45444f49,
+0x43500056,0x4149434d,0x00564544,0x69707367,0x726f7764,0x53470064,
+0x44204950,0x64726f77,0x646f4d20,0x6e652065,0x656c6261,0x47000a64,
+0x20495053,0x726f7744,0x6f4d2064,0x44206564,0x62617369,0x0a64656c,
+0x73756200,0x74617473,0x64730073,0x646d6370,0x725f7665,0x632e6574,
+0x70647300,0x63646d63,0x64256364,0x3a732500,0x6f724220,0x6f636461,
+0x4453206d,0x444d4350,0x43444320,0x69726420,0x0a726576,0x6d636200,
+0x2e636463,0x75620063,0x64003a73,0x5f6c676e,0x2e657472,0x6c770063,
+0x63620030,0x70746f6d,0x0a00632e,0x30257830,0x003a7834,0x25783020,
+0x00783430,0x00070e15,0x1c232a31,0x383f464d,0x545b6269,0x70777e85,
+0x8c939aa1,0xa8afb6bd,0xc4cbd2d9,0xe0e7eef5,0xfc030a11,0x181f262d,
+0x343b4249,0x50575e65,0x6c737a81,0x888f969d,0xa4abb2b9,0xc0c7ced5,
+0xdce3eaf1,0xf8ff060d,0x141b2229,0x30373e45,0x4c535a61,0x686f767d,
+0x848b9299,0xa0a7aeb5,0xbcc3cad1,0xd8dfe6ed,0xf4fb0209,0x10171e25,
+0x2c333a41,0x484f565d,0x646b7279,0xfee990d6,0xb73de1cc,0xc214b616,
+0x052cfb28,0x769a672b,0xc304be2a,0x261344aa,0x99068649,0xf450429c,
+0x7a98ef91,0x430b5433,0x62accfed,0xa91cb3e4,0x95e808c9,0xfa94df80,
+0xa63f8f75,0xfca70747,0xba1773f3,0x193c5983,0xa84f85e6,0xb2816b68,
+0x8bda6471,0x4b0febf8,0x359d5670,0x5e0e241e,0xa2d15863,0x3b7c2225,
+0x87782101,0x574600d4,0x5227d39f,0xe702364c,0x9ec8c4a0,0xd28abfea,
+0xb538c740,0xcef2f7a3,0xa11561f9,0xa45daee0,0x551a349b,0x303293ad,
+0xe3b18cf5,0x2ee2f61d,0x60ca6682,0xab2329c0,0x6f4e530d,0x4537dbd5,
+0x2f8efdde,0x726aff03,0x515b6c6d,0x92af1b8d,0x7fbcddbb,0x415cd911,
+0xd85a101f,0x8831c10a,0xbd7bcda5,0x12d0742d,0xb0b4e5b8,0x4a976989,
+0x7e77960c,0x09f1b965,0x84c66ec5,0xec7df018,0x204ddc3a,0x3e5fee79,
+0x4839cbd7,0x725f6c77,0x632e6574,0x72756300,0x6874655f,0x64617265,
+0x70007264,0x5f6d7265,0x65687465,0x64646172,0x6c770072,0x77006425,
+0x3a64256c,0x6f724220,0x6f636461,0x4342206d,0x3430254d,0x30382078,
+0x31312e32,0x72695720,0x73656c65,0x6f432073,0x6f72746e,0x72656c6c,
+0x0a732520,0x322e3400,0x302e3831,0x7700302e,0x6166006c,0x64656c69,
+0x206f7420,0x74696e69,0x72697720,0x73656c65,0x69732073,0x202c6564,
+0x3a727265,0x0a642520,0x256c7700,0x25203a64,0x73252073,0x72657620,
+0x6e6f6973,0x0a732520,0x63654400,0x20312020,0x38303032,0x3a393100,
+0x333a3132,0x77680038,0x746c6966,0x64007265,0x73706565,0x7065656c,
+0x00000000,0x00020fba,0x00000000,0x00000008,0x00020fc3,0x00000001,
+0x00000001,0x00000000,0x00000000,0x00000000,0x02000001,0x00040002,
+0x00080002,0x01000002,0x02000002,0x04000002,0x10000002,0x03020001,
+0x00000000,0x00000000,0x06000204,0x0e0c0a08,0x03020001,0x00000002,
+0x00000000,0x0000b689,0x00004bf5,0x00000000,0x00000000,0x2e636c77,
+0x6c770063,0x203a6425,0x204d5350,0x7263696d,0x646f636f,0x61772065,
+0x64686374,0x6620676f,0x64657269,0x20746120,0x28206425,0x6f636573,
+0x2973646e,0x6552202e,0x74746573,0x2e676e69,0x6c77000a,0x203a6425,
+0x204d5350,0x7263696d,0x646f636f,0x61772065,0x64686374,0x6620676f,
+0x64657269,0x20746120,0x28206425,0x6f636573,0x2973646e,0x6c77000a,
+0x203a6425,0x646d7370,0x67756265,0x25783020,0x2c783830,0x79687020,
+0x75626564,0x78302067,0x78383025,0x7370202c,0x72625f6d,0x78302063,
+0x78383025,0x2020000a,0x77202020,0x74637065,0x7830206c,0x78383025,
+0x6370202c,0x6c74636d,0x25783020,0x2c783830,0x6d637020,0x74617473,
+0x25783020,0x0a783830,0x66737400,0x6d69745f,0x6f6c7265,0x78302077,
+0x000a7825,0x5f657872,0x72796870,0x20325f73,0x78257830,0x7872202c,
+0x68705f65,0x5f737279,0x78302033,0x70207825,0x78727968,0x74617473,
+0x20307375,0x78257830,0x6870202c,0x73787279,0x75746174,0x30203173,
+0x0a782578,0x65787400,0x6174735f,0x20737574,0x78257830,0x79687020,
+0x72657874,0x20726f72,0x000a6425,0x504d4350,0x67655243,0x203d2030,
+0x78257830,0x4350000a,0x5243504d,0x20316765,0x7830203d,0x000a7825,
+0x504d4350,0x67655243,0x203d2032,0x78257830,0x414c000a,0x72205453,
+0x74657365,0x6f726620,0x6425206d,0x7974202c,0x25206570,0x74000a64,
+0x20656d69,0x7473616c,0x73696420,0x64726163,0x25783020,0x63202c78,
+0x6c20746e,0x20747361,0x63736964,0x20647261,0x78257830,0x7563202c,
+0x65722072,0x20746573,0x20746e63,0x78257830,0x4552000a,0x20544553,
+0x54415453,0x47455220,0x25783020,0x50000a78,0x203a2043,0x3020000a,
+0x20782578,0x62002020,0x66637373,0x77003a67,0x68637461,0x00676f64,
+0x69646172,0x7363006f,0x75710061,0x00746569,0x6f707370,0x77006c6c,
+0x5f636573,0x0079656b,0x736f6c63,0x656e6465,0x61650074,0x65725f70,
+0x69727473,0x77007463,0x00636573,0x5f636c77,0x61766f69,0x77007372,
+0x695f636c,0x7261766f,0x6f725f73,0x7665726d,0x65760030,0x6469646e,
+0x616f6200,0x65726472,0x72730076,0x65726d6f,0x6f620076,0x66647261,
+0x7367616c,0x61610032,0x61006735,0x00673261,0x00316161,0x00306161,
+0x00316761,0x68637874,0x006e6961,0x68637872,0x006e6961,0x6d306c69,
+0x64616361,0x74007264,0x75645f78,0x635f7974,0x656c6379,0x64666f5f,
+0x7874006d,0x7475645f,0x79635f79,0x5f656c63,0x006b6363,0x20617473,
+0x656d7700,0x6f6e0020,0x6e776f64,0x65720020,0x206d6c63,0x706d6100,
+0x00207564,0x64736d61,0x72002075,0x5f697373,0x6e657665,0x74730074,
+0x65725f61,0x5f797274,0x656d6974,0x73736100,0x725f636f,0x79727465,
+0x78616d5f,0x696f6a00,0x72705f6e,0x66006665,0x74716572,0x6b636172,
+0x616c7600,0x6f6d5f6e,0x77006564,0x7700656d,0x625f656d,0x645f7373,
+0x62617369,0x7700656c,0x6e5f656d,0x6b63616f,0x656d7700,0x7370615f,
+0x6d770064,0x70615f65,0x745f6473,0x67676972,0x77007265,0x745f656d,
+0x67676972,0x615f7265,0x6d770063,0x75615f65,0x745f6f74,0x67676972,
+0x73007265,0x5f646e65,0x6c6c756e,0x61746164,0x656d7700,0x736f715f,
+0x6f666e69,0x656d7700,0x0070645f,0x5f656d77,0x63657270,0x6575715f,
+0x676e6975,0x656d7700,0x756f635f,0x7265746e,0x6d770073,0x6c635f65,
+0x5f726165,0x6e756f63,0x73726574,0x666c7700,0x75746165,0x6c666572,
+0x77006761,0x615f656d,0x74735f63,0x65700061,0x68635f72,0x695f6e61,
+0x006f666e,0x5f617473,0x6f666e69,0x61707700,0x67736d5f,0x70770073,
+0x75615f61,0x77006874,0x635f6170,0x76007061,0x5f72646e,0x77006569,
+0x65696170,0x65737700,0x65725f63,0x69727473,0x66007463,0x74676172,
+0x73657268,0x5f610068,0x7461726d,0x67620065,0x61726d5f,0x35006574,
+0x726d5f67,0x00657461,0x6d5f6732,0x65746172,0x6e617200,0x73610064,
+0x72636f73,0x006d616f,0x53534249,0x696f6a5f,0x6e6f5f6e,0x7200796c,
+0x5f6d616f,0x0066666f,0x73616572,0x00636f73,0x6f737361,0x6e695f63,
+0x61006f66,0x636f7373,0x7165725f,0x7365695f,0x73736100,0x725f636f,
+0x5f707365,0x00736569,0x6e657665,0x736d5f74,0x72007367,0x74657365,
+0x3131645f,0x73746e63,0x73626900,0x6c615f73,0x65776f6c,0x6f630064,
+0x72746e75,0x696c5f79,0x655f7473,0x6e657478,0x00646564,0x7361636d,
+0x696c5f74,0x63007473,0x736e6168,0x00636570,0x5f6e6362,0x656d6974,
+0x0074756f,0x6e616373,0x75736572,0x5f73746c,0x726e696d,0x00697373,
+0x61637369,0x7369006e,0x726e6163,0x6c757365,0x63007374,0x746e756f,
+0x61007972,0x636f7475,0x746e756f,0x645f7972,0x75616665,0x6100746c,
+0x6e65746e,0x0073616e,0x73736269,0x616f635f,0x6373656c,0x6c615f65,
+0x65776f6c,0x73700064,0x6c6c6f70,0x6472705f,0x6e636200,0x5f696c5f,
+0x006e6362,0x5f6e6362,0x645f696c,0x006d6974,0x6f737361,0x696c5f63,
+0x6e657473,0x666e6900,0x635f6172,0x69666e6f,0x61727567,0x6e6f6974,
+0x6c756600,0x616f726c,0x7265706d,0x00646f69,0x5f637462,0x67616c66,
+0x74620073,0x61705f63,0x736d6172,0x66787400,0x5f6c6961,0x6d616f72,
+0x65726874,0x6d006873,0x656c6773,0x006c6576,0x6e776f64,0x65766f5f,
+0x64697272,0x6c610065,0x6c756d6c,0x6c006974,0x63616765,0x72705f79,
+0x0065626f,0x5f326d70,0x65656c73,0x65725f70,0x6d700074,0x5f64696b,
+0x6f666e69,0x63746200,0x646f6d5f,0x74620065,0x69775f63,0x64006572,
+0x63797475,0x656c6379,0x6b63635f,0x74756400,0x63796379,0x6f5f656c,
+0x006d6466,0x5f637462,0x63757473,0x61775f6b,0x74620072,0x74735f63,
+0x5f6b6375,0x65746564,0x64657463,0x61726e00,0x6d006574,0x5f6f6d69,
+0x63007370,0x6d5f7275,0x65737363,0x696d0074,0x665f6f6d,0x626f0074,
+0x635f7373,0x0078656f,0x7373626f,0x6163735f,0x61705f6e,0x736d6172,
+0x746e6900,0x30346c6f,0x746e6900,0x30346c6f,0x7465645f,0x6d696d00,
+0x73735f6f,0x6674735f,0x6f6d6e00,0x6e006564,0x64716572,0x625f6e00,
+0x6d6e0077,0x5f65646f,0x746f7270,0x69746365,0x6e006e6f,0x65646f6d,
+0x6f72705f,0x74636574,0x5f6e6f69,0x7265766f,0x65646972,0x5f666700,
+0x746f7270,0x69746365,0x67006e6f,0x72705f66,0x6365746f,0x6e6f6974,
+0x65766f5f,0x64697272,0x696d0065,0x625f6f6d,0x61635f77,0x69720070,
+0x73007366,0x5f636274,0x73007872,0x5f636274,0x73007874,0x725f6967,
+0x67730078,0x78745f69,0x63787400,0x6e696168,0x746e635f,0x73787400,
+0x61657274,0x7200736d,0x61686378,0x635f6e69,0x7200746e,0x72747378,
+0x736d6165,0x6c656400,0x735f6174,0x73746174,0x746e695f,0x61767265,
+0x6564006c,0x5f61746c,0x74617473,0x70690073,0x6d5f3676,0x74736163,
+0x76616e00,0x7365725f,0x775f7465,0x645f7261,0x62617369,0x0000656c,
+0x0060005e,0x00780062,0x0060005e,0x00780062,0x0000ea55,0x0000d339,
+0x00000000,0x00000000,0x00021934,0x00800000,0x00000001,0x000219ef,
+0x00000001,0x00020008,0x000219f9,0x0000000f,0x00000003,0x00021a07,
+0x00800010,0x00000007,0x00021a17,0x00000002,0x00070008,0x00021a28,
+0x00000003,0x00070008,0x00021a39,0x00800004,0x00000001,0x00021a4b,
+0x00000006,0x00000002,0x00021a56,0x0000001b,0x00020008,0x00021a6c,
+0x0000001c,0x00020008,0x00021a85,0x0000000c,0x00000008,0x00021a94,
+0x0000001d,0x00020008,0x00000000,0x00000000,0x00000000,0x5f636c77,
+0x64706d61,0x00632e75,0x64706d61,0x65720075,0x61007073,0x7564706d,
+0x6174735f,0x6d007374,0x78747861,0x62757000,0x78616d2e,0x25207874,
+0x25000a64,0x000a3a73,0x255b6425,0x00095d64,0x7273636d,0x73657461,
+0x61007465,0x7564706d,0x7465725f,0x203a7972,0x000a6425,0x6d617874,
+0x3a756470,0x2c642520,0x6d787420,0x3a756470,0x0a642520,0x20616200,
+0x666e6f63,0x000a203a,0x203a6425,0x203a7874,0x202c6425,0x203a7872,
+0x0a206425,0x20585400,0x77206162,0x6f646e69,0x73207377,0x20657a69,
+0x000a6425,0x62205852,0x69772061,0x776f646e,0x69732073,0x2520657a,
+0x61000a64,0x7564706d,0x6469745f,0x706d6100,0x645f7564,0x69736e65,
+0x61007974,0x7564706d,0x5f78725f,0x74636166,0x6100726f,0x7564706d,
+0x6e65735f,0x64615f64,0x00616264,0x64706d61,0x65735f75,0x645f646e,
+0x61626c65,0x706d6100,0x6d5f7564,0x61756e61,0x6f6d5f6c,0x61006564,
+0x7564706d,0x64706d5f,0x6d610075,0x5f756470,0x72746572,0x696c5f79,
+0x5f74696d,0x00646974,0x64706d61,0x72725f75,0x7465725f,0x6c5f7972,
+0x74696d69,0x6469745f,0x706d6100,0x625f7564,0x73775f61,0x00657a69,
+0x64706d61,0x78725f75,0x6469745f,0x00000000,0x00021af8,0x0080000c,
+0x00000001,0x00021afe,0x0000000b,0x00000001,0x00021b0a,0x00000003,
+0x00000005,0x00021b16,0x00000004,0x00000007,0x00021b25,0x00800005,
+0x00000001,0x00000000,0x00000000,0x00000000,0x5f636c77,0x64736d61,
+0x00632e75,0x64736d61,0x6d610075,0x5f756473,0x63616f6e,0x6d61006b,
+0x5f756473,0x73676761,0x6d610066,0x5f756473,0x62676761,0x73657479,
+0x736d6100,0x725f7564,0x78616d78,0x00000000,0x00021be5,0x00000001,
+0x00000007,0x00021bed,0x00000000,0x00000007,0x00021bf5,0x00000000,
+0x00000007,0x00021bfc,0x00000001,0x00000007,0x00021c04,0x00000003,
+0x00400008,0x00021c10,0x00000002,0x00000002,0x0002143d,0x00000004,
+0x02940008,0x00021c20,0x00000005,0x00000008,0x00021c19,0x00000006,
+0x00000001,0x00021c1d,0x00000007,0x20000008,0x00021f29,0x0000000b,
+0x00000008,0x00000000,0x00000000,0x00000000,0x5f636c77,0x65736162,
+0x636f695f,0x632e6c74,0x73616200,0x6f695f65,0x73726176,0x412f4e00,
+0x5f673200,0x65746172,0x5f673500,0x65746172,0x725f6100,0x00657461,
+0x725f6762,0x00657461,0x656d6362,0x726f7272,0x00727473,0x656d6362,
+0x726f7272,0x63706d00,0x70746f00,0x706d7564,0x636c7700,0x7373625f,
+0x2e676663,0xffff0063,0xffffffff,0x5f636c77,0x2e79656b,0x6c770063,
+0x6d6c5f63,0x635f6361,0x77007061,0x615f636c,0x63617474,0x6d6c5f68,
+0x77006361,0x765f636c,0x64696c61,0x6168635f,0x6570736e,0x00000063,
+0x00022098,0x00000002,0x00000008,0x000220a1,0x00000003,0x00000000,
+0x000220a9,0x00000004,0x00000000,0x000220b3,0x00000005,0x00000008,
+0x000220c0,0x00000006,0x00000007,0x000220cd,0x00000008,0x00000007,
+0x00020f01,0x00000005,0x00000008,0x000220d7,0x00000007,0x00000008,
+0x00000000,0x00000000,0x00000000,0x766f7872,0x776f6c66,0x73616320,
+0x61207365,0x25206572,0x6d000a64,0x635f7363,0x746e756f,0x6425203a,
+0x78300020,0x20783225,0x31314400,0x20544820,0x20504143,0x20657261,
+0x4c4c554e,0x2a2a000a,0x2054482a,0x49444441,0x75442045,0x203a706d,
+0x72617453,0x2a2a2a74,0x6461000a,0x65695f64,0x74633e2d,0x68635f6c,
+0x7830203a,0x78323025,0x6461000a,0x65695f64,0x79623e2d,0x3a316574,
+0x25783020,0x0a783230,0x64646100,0x2d65695f,0x6d706f3e,0x3a65646f,
+0x25783020,0x0a783430,0x64646100,0x2d65695f,0x73696d3e,0x69625f63,
+0x203a7374,0x30257830,0x000a7838,0x482a2a2a,0x44412054,0x20454944,
+0x706d7544,0x4e45203a,0x2a2a2a44,0x2a2a000a,0x2054482a,0x49504143,
+0x75442045,0x203a706d,0x72617453,0x2a2a2a74,0x6569000a,0x61633e2d,
+0x30203a70,0x34302578,0x69000a78,0x703e2d65,0x6d617261,0x30203a73,
+0x32302578,0x69000a78,0x653e2d65,0x685f7478,0x70616374,0x7830203a,
+0x78343025,0x6569000a,0x78743e2d,0x635f6662,0x203a7061,0x30257830,
+0x000a7838,0x3e2d6569,0x635f7361,0x203a7061,0x30257830,0x000a7832,
+0x482a2a2a,0x41432054,0x20454950,0x706d7544,0x6e45203a,0x2a2a2a64,
+0x6c77000a,0x203a6425,0x203a7325,0x666c616d,0x656d726f,0x68632064,
+0x70736e61,0x30206365,0x0a782578,0x636c7700,0x616d6c5f,0x00632e63,
+0x64256c77,0x7325203a,0x6c77203a,0x74615f63,0x68636174,0x69616620,
+0x0a64656c,0x256c7700,0x25203a64,0x6c203a73,0x5f63616d,0x6f666e69,
+0x6c6c6120,0x6620636f,0x656c6961,0x77000a64,0x6c5f636c,0x5f63616d,
+0x61766f69,0x77007372,0x3a64256c,0x3a732520,0x636c7720,0x646f6d5f,
+0x5f656c75,0x69676572,0x72657473,0x69616620,0x0a64656c,0x256c7700,
+0x25203a64,0x77203a73,0x6e695f6c,0x745f7469,0x72656d69,0x726f6620,
+0x74647720,0x72656d69,0x69616620,0x0a64656c,0x30367300,0x7265765f,
+0x746f6700,0x30367320,0x7265765f,0x20736920,0x000a7325,0x00302e35,
+0x5f303673,0x73726576,0x206e6f69,0x73207369,0x74207465,0x6425206f,
+0x6c77000a,0x203a6425,0x203a7325,0x6f727265,0x6e692072,0x6e697469,
+0x68742067,0x4d4c2065,0x53204341,0x6d204154,0x6c75646f,0x77000a65,
+0x3a64256c,0x3a732520,0x72726520,0x6920726f,0x6974696e,0x7420676e,
+0x4c206568,0x2043414d,0x746f7250,0x6f6d206f,0x656c7564,0x6c77000a,
+0x72647872,0x0073706f,0x203a7325,0x6e6b6e75,0x206e776f,0x69746361,
+0x64696e6f,0x0a642520,0x3a732500,0x66756220,0x20726566,0x676e656c,
+0x25206874,0x6f742064,0x6873206f,0x2074726f,0x20726f66,0x43414d4c,
+0x70616320,0x64252820,0x63000a29,0x69706968,0x78302064,0x203a7825,
+0x70696863,0x20766572,0x78257830,0x6375202c,0x7265646f,0x30207665,
+0x0a782578,0x3a732500,0x6e614320,0x63207427,0x676e6168,0x68742065,
+0x68632065,0x656e6e61,0x6877206c,0x74206e65,0x73206568,0x206e6163,
+0x69207369,0x7270206e,0x6572676f,0x000a7373,0x203a7325,0x75736e55,
+0x726f7070,0x20646574,0x61766f69,0x61202c72,0x6f697463,0x2064696e,
+0x000a6425,0x63616d6c,0x7061635f,0x616d6c00,0x70755f63,0x616d6c00,
+0x6f645f63,0x6c006e77,0x5f63616d,0x6163616d,0x00726464,0x63616d6c,
+0x7078745f,0x7265776f,0x616d6c00,0x6f6d5f63,0x6c006564,0x5f63616d,
+0x63746573,0x6e6e6168,0x77006c65,0x6c5f636c,0x5f63616d,0x6f696f64,
+0x00726176,0x5f636c77,0x63616d6c,0x7465735f,0x6168635f,0x6c656e6e,
+0x636c7700,0x616d6c5f,0x72705f63,0x2e6f746f,0x78740063,0x61747373,
+0x74007374,0x6c677378,0x70006d6f,0x6d2e6275,0x78747861,0x206f7420,
+0x25206562,0x25000a64,0x25286432,0x20296434,0x78616d00,0x6c677874,
+0x69206d6f,0x64252073,0x7563202c,0x6e657272,0x65702074,0x6e69646e,
+0x6f632067,0x20746e75,0x25207369,0x74000a64,0x6d207378,0x6f6c6c61,
+0x61662063,0x72756c69,0x61207365,0x25206572,0x70202c64,0x69646e65,
+0x2520676e,0x6d000a64,0x78747861,0x6d6f6c67,0x20736920,0x20746573,
+0x25206f74,0x00000a64,0x06060501,0x00010100,0x03030202,0x5f636c77,
+0x63616d6c,0x6e6f635f,0x5f676966,0x01006361,0x03030200,0x5f636c77,
+0x63616d6c,0x6174735f,0x6100632e,0x7564736d,0x6425203a,0x64736d20,
+0x203a7375,0x000a6425,0x203a7325,0x45544152,0x20544553,0x6d656c45,
+0x73746e65,0x6425203a,0x7830000a,0x78323025,0x29642528,0x52460020,
+0x53414d4f,0x52434f53,0x003a5145,0x4f464542,0x41204552,0x434f5353,
+0x4f4e5320,0x003a504f,0x20424353,0x45544152,0x00544553,0x5f636c77,
+0x63616d6c,0x5f617473,0x61766f69,0x72007372,0x72616461,0x63737000,
+0x676e6168,0x6d610065,0x73756473,0x73746174,0x3a732500,0x756c7020,
+0x6e69626d,0x68742067,0x656b2065,0x6c612079,0x69206f67,0x64252073,
+0x656b202c,0x656c5f79,0x7369206e,0x2c642520,0x646e6920,0x25207865,
+0x6e612064,0x656b2064,0x74705f79,0x73692072,0x25783020,0x25000a78,
+0x61203a73,0x64252063,0x4341203a,0x78302049,0x202c7825,0x20574345,
+0x78257830,0x5854202c,0x3020504f,0x2c782578,0x66696c20,0x6d697465,
+0x78302065,0x000a7825,0x63616d6c,0x6163735f,0x6d6c006e,0x735f6361,
+0x736e6163,0x00706f74,0x63616d6c,0x696f6a5f,0x6d6c006e,0x725f6361,
+0x74657365,0x616d6c00,0x65735f63,0x00737074,0x63616d6c,0x7465735f,
+0x5f737362,0x61726170,0x6c00736d,0x5f63616d,0x6d5f6d72,0x75736165,
+0x6c006572,0x5f63616d,0x735f6d72,0x00706f74,0x63616d6c,0x6464615f,
+0x79656b5f,0x616d6c00,0x65645f63,0x656b5f6c,0x6d6c0079,0x635f6361,
+0x69666e6f,0x00715f67,0x63616d6c,0x6e6f635f,0x5f676966,0x6c006361,
+0x5f63616d,0x5f78616d,0x696c7872,0x69746566,0x6c00656d,0x5f63616d,
+0x5f78616d,0x696c7874,0x69746566,0x6c00656d,0x5f63616d,0x746f6c73,
+0x6d69745f,0x6d6c0065,0x705f6361,0x6d616572,0x00656c62,0x63616d6c,
+0x61636d5f,0x745f7473,0x656c6261,0x616d6c00,0x65645f63,0x65775f66,
+0x656b5f70,0x6d6c0079,0x725f6361,0x68747374,0x68736572,0x616d6c00,
+0x74635f63,0x65733273,0x6c00666c,0x5f63616d,0x706d6574,0x6574616c,
+0x616d6c00,0x78725f63,0x746c6966,0x6c007265,0x5f63616d,0x63616562,
+0x695f6e6f,0x69665f65,0x7265746c,0x616d6c00,0x65625f63,0x6e6f6361,
+0x746c6966,0x655f7265,0x6c62616e,0x6d6c0065,0x735f6361,0x7065656c,
+0x616d6c00,0x61775f63,0x6e69656b,0x76726574,0x6c006c61,0x5f63616d,
+0x63616562,0x6f6c6e6f,0x6f637473,0x00746e75,0x63616d6c,0x7063725f,
+0x72687469,0x6f687365,0x6c00646c,0x5f63616d,0x74617473,0x61745f73,
+0x00656c62,0x63616d6c,0x7362695f,0x00737073,0x63616d6c,0x7278745f,
+0x74657461,0x656c6261,0x616d6c00,0x78745f63,0x6f747561,0x65746172,
+0x6c626174,0x6d6c0065,0x655f6361,0x74637272,0x6c007372,0x5f63616d,
+0x7564736d,0x78616d5f,0x696c7874,0x69746566,0x6c00656d,0x5f63616d,
+0x65746172,0x00746573,0x63616d6c,0x746b705f,0x746c6966,0x6c007265,
+0x5f63616d,0x72656570,0x6374685f,0x6c007061,0x5f63616d,0x73627468,
+0x61705f73,0x736d6172,0x616d6c00,0x74685f63,0x5f737362,0x62636573,
+0x705f6e63,0x6d617261,0x616d6c00,0x74685f63,0x5f737362,0x635f6162,
+0x00666e6f,0x63616d6c,0x5f67325f,0x65746172,0x7265766f,0x65646972,
+0x616d6c00,0x67355f63,0x7461725f,0x65766f65,0x64697272,0x6d6c0065,
+0x6e5f6361,0x65746172,0x7265766f,0x65646972,0x616d6c00,0x6d645f63,
+0x78616d61,0x00000000,0x0002230c,0x00000000,0x00000008,0x00022316,
+0x00000001,0x00000000,0x00022324,0x00000002,0x00000008,0x0002232e,
+0x00000003,0x00000008,0x00022339,0x00000004,0x00000001,0x00022344,
+0x00000005,0x00000008,0x00022357,0x00000006,0x00000008,0x00022367,
+0x00000007,0x00000008,0x00022374,0x00000008,0x00000008,0x00022381,
+0x00000009,0x00000008,0x0002238e,0x0000000a,0x00000008,0x0002239c,
+0x0000000b,0x00000008,0x000223ab,0x0000000c,0x00000007,0x000223bf,
+0x0000000d,0x00000007,0x000223d3,0x0020000e,0x00000007,0x000223e2,
+0x0000000f,0x00000007,0x000223f0,0x00000010,0x00000008,0x00022401,
+0x00000011,0x00000007,0x00022412,0x00200013,0x00000007,0x00022421,
+0x00000014,0x00000001,0x0002242f,0x00000015,0x00000008,0x0002243d,
+0x00000016,0x00000007,0x0002244b,0x00000017,0x00000008,0x00022461,
+0x00000018,0x00000008,0x0002247a,0x00000019,0x00000007,0x00022485,
+0x0000001a,0x00000008,0x00022497,0x0000001b,0x00000007,0x000224ac,
+0x0000001c,0x00000007,0x000224bf,0x0000001d,0x00000008,0x000224d0,
+0x0000001e,0x00000007,0x000224dc,0x0000001f,0x00000008,0x000224ed,
+0x00000020,0x00000008,0x00022502,0x00000021,0x00000008,0x0002250f,
+0x00000022,0x00000007,0x00022527,0x00000023,0x00000007,0x00022534,
+0x00000024,0x00000008,0x00022543,0x00000025,0x00000008,0x00022553,
+0x00000026,0x00000008,0x00022565,0x00000027,0x00000007,0x0002257d,
+0x00000028,0x00000007,0x00022590,0x00000029,0x00000007,0x000225a5,
+0x0000002a,0x00000007,0x000225ba,0x0000002b,0x00000007,0x000225cd,
+0x0000002c,0x00000007,0x000216c1,0x0000002d,0x00000007,0x000216ca,
+0x0080002e,0x00000007,0x00021654,0x0440002f,0x00000008,0x0002165e,
+0x04400030,0x00000008,0x00000000,0x00000000,0x00000000,0x0003aaaa,
+0x00010000,0x63630302,0x5f636c77,0x63616d6c,0x7465735f,0x0079656b,
+0x5f636c77,0x696b6f6e,0x00632e61,0x5f616763,0x47345f6a,0x61676300,
+0x355f6a5f,0x67630047,0x47355f61,0x63006c5f,0x355f6167,0x006d5f47,
+0x5f616763,0x755f4735,0x67630031,0x47355f61,0x3131755f,0x00000000,
+0x0007fc00,0x0005a569,0x000001ff,0x000a5d69,0x00080400,0x000a5e97,
+0x00000201,0x0005a697,0x000201cc,0x00d40000,0x00000000,0x01000000,
+0x00000000,0x00000003,0xffffffe8,0x00022984,0x00022ae4,0x83348434,
+0x82678084,0x82348056,0x83238423,0x82568073,0x82238045,0x00010001,
+0x7a977a97,0x7a877a97,0x7b977a87,0x00000000,0x00000009,0x00022a5f,
+0x00100000,0x00000007,0x00022a68,0x00000008,0x000c0008,0x00022a75,
+0x00800014,0x00000002,0x00022a83,0x0040003d,0x00070007,0x00022a8f,
+0x0400003f,0x00000006,0x00022a9f,0x00000040,0x00000006,0x00022ab4,
+0x04000041,0x00000006,0x00022ac4,0x0000005e,0x00000006,0x00022acf,
+0x0000005f,0x00000002,0x00022ada,0x00000062,0x00000005,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x30600000,0x486c0c18,0x6c771224,0x68705f63,0x00632e79,0x32697274,
+0x78620067,0x00673261,0x6f707872,0x72006732,0x73697373,0x6732666d,
+0x73737200,0x636d7369,0x72006732,0x73697373,0x67327661,0x73737200,
+0x666d7369,0x6c5f6732,0x0030776f,0x69737372,0x32636d73,0x6f6c5f67,
+0x72003177,0x73697373,0x67327661,0x776f6c5f,0x73720032,0x6d736973,
+0x5f673266,0x00306968,0x69737372,0x32636d73,0x69685f67,0x73720031,
+0x61736973,0x5f673276,0x00326968,0x6d306170,0x77707861,0x61700072,
+0x64256230,0x6b636300,0x6f006f70,0x706d6466,0x706f006f,0x6870006f,
+0x696f6e79,0x70006573,0x71007968,0x6f707874,0x00726577,0x5f796870,
+0x69737372,0x746e615f,0x6d696d00,0x72705f6f,0x626d6165,0x7000656c,
+0x725f7968,0x65716978,0x6c007473,0x79687070,0x6d65745f,0x6e657370,
+0x6c006573,0x79687070,0x6c61635f,0x6c65645f,0x745f6174,0x00706d65,
+0x6870706c,0x62765f79,0x65737461,0x0065736e,0x5f6d756e,0x65727473,
+0x62006d61,0x5f646e61,0x676e6172,0x73720065,0x775f6973,0x00006e69,
+0x000707ef,0x000e000e,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x5b207325,0x352e0020,0x29622800,0x25642500,
+0x20732573,0x77005d00,0x725f636c,0x2e657461,0x04020063,0x0b04020b,
+0x48302416,0x04026c60,0x18120c0b,0x60483024,0x636c776c,0x7461725f,
+0x65735f65,0x00632e6c,0x65746172,0x006c6573,0x65746172,0x5f6c6573,
+0x6d6d7564,0x00000079,0x00022b54,0x00800000,0x00000001,0x00000000,
+0x00000000,0x00000000,0x160b0402,0x6e616373,0x7373615f,0x745f636f,
+0x00656d69,0x6e616373,0x616e755f,0x636f7373,0x6d69745f,0x63730065,
+0x705f6e61,0x69737361,0x745f6576,0x00656d69,0x6e616373,0x6d6f685f,
+0x69745f65,0x7300656d,0x5f6e6163,0x6f72706e,0x00736562,0x5f636c77,
+0x6e616373,0x7700632e,0x735f636c,0x5f6e6163,0x61766f69,0x73007372,
+0x746e6163,0x72656d69,0xffffff00,0x00ffffff,0x00000000,0x00000001,
+0x00000002,0x00000004,0x00000002,0x00000003,0x00000003,0x00000005,
+0x5f636c77,0x2e626373,0x6c770063,0x65735f63,0x69727563,0x632e7974,
+0x3a732500,0x534d5320,0x72432034,0x20747079,0x6f727245,0x25203a72,
+0x66202c64,0x7020726f,0x656b6361,0x70252074,0x6b70202c,0x656c5f74,
+0x47000a6e,0x203a544f,0x50584500,0x6e00203a,0x6372636f,0x54520a00,
+0x25282045,0x25732573,0x29732573,0x20732520,0x42206e6f,0x58254d43,
+0x64257220,0x25204020,0x64252f64,0x2064252f,0x0a7a484d,0x49445300,
+0x4443004f,0x00490043,0x00010052,0x0002096c,0x00030971,0x00040976,
+0x0005097b,0x00060980,0x00070985,0x0008098a,0x0009098f,0x000a0994,
+0x000b0999,0x000c099e,0x000d09a3,0x000e09a8,0x000009b4,0x002d0000,
+0x001a90a7,0x000e0947,0x00072001,0x0003938b,0x0001ca38,0x0000e52a,
+0x00007297,0x0000394c,0x00001ca6,0x00000e53,0x00000729,0x00000395,
+0x000001ca,0x000000e5,0x00000073,0x00000039,0x0000001d,0x00000002,
+0x00000000,0x00000004,0x00000008,0x0000000b,0x00000010,0x00000016,
+0x00000018,0x0000000c,0x00000000,0x00000012,0x00000002,0x00000018,
+0x00000008,0x00000024,0x0000000a,0x00000030,0x00000010,0x00000048,
+0x00000012,0x00000060,0x00000019,0x0000006c,0x0000001a,0x00000000,
+0x00000000,0x00000000,0x00024e3d,0x00024e09,0x00024e05,0x00002c15,
+0x00000000,0x00002b95,0x00002c09,0x00002bdd,0x00002b9d,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00022da4,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000002,0x00000207,0x00200000,0x00050001,
+0x00250009,0x04290029,0x04270027,0x0447042b,0x044b00c1,0x044f0833,
+0x04570453,0x045b0157,0x0c5b085b,0x083308db,0x015b084f,0x04d708cf,
+0x055708d7,0x04db055b,0x095b0957,0x0757015f,0x055b0b57,0x07570b5b,
+0x0f5b1cd7,0x0045075b,0x00c50049,0x00550051,0x00d500d1,0x00d500d1,
+0x015500d9,0x015d0159,0x035d0359,0x035b0357,0x040c035f,0x042c0410,
+0x000d004c,0x004d002d,0x044d042d,0x04550451,0x04cb00ce,0x085708cb,
+0x002c000c,0x04ce0855,0x000408ce,0x00240008,0x00440040,0x00410048,
+0x00360409,0x0056003a,0x005b005a,0x00db00d7,0x10000000,0x00000040,
+0x20000000,0x00000040,0x30000000,0x00000040,0x40000000,0x00000040,
+0x50000000,0x00000040,0x40000000,0x00000048,0x50000000,0x00000048,
+0x60000001,0x00000048,0x70000002,0x00000048,0x80000002,0x00000048,
+0x50000083,0x00000058,0x60000104,0x00000058,0x70004185,0x00000058,
+0xd0004185,0x0000000b,0xe0008206,0x0000000b,0xf020c287,0x0000000b,
+0x00410308,0x0000000c,0x10614389,0x00000014,0x6081840a,0x00000010,
+0x20a1c48b,0x00000014,0xc0c2050d,0x00000012,0x30e2458e,0x00000014,
+0x41028698,0x0000001c,0x31230b91,0x0000001c,0x5143481a,0x0000001c,
+0x6185cc94,0x0000001c,0x71a4099c,0x0000001c,0x81e64d96,0x0000001c,
+0x9204ca9e,0x0000001c,0xa246cea1,0x0000001c,0xb2655024,0x0000001c,
+0x436751a6,0x00000019,0xc3e95529,0x00000019,0x6449d42e,0x00000019,
+0x04aa95ae,0x0000001a,0x14ea162e,0x0000001a,0x44ea162e,0x0000001a,
+0x10000000,0x00000040,0x20000000,0x00000040,0x30000000,0x00000040,
+0x40000000,0x00000040,0x50000000,0x00000040,0x40000000,0x00000048,
+0x50000000,0x00000048,0x60000001,0x00000048,0x70000002,0x00000048,
+0x40000002,0x00000058,0x50000083,0x00000058,0x60000104,0x00000058,
+0xc0000104,0x0000000c,0xd0004185,0x0000000b,0xd0008206,0x0000000c,
+0xf020c287,0x0000000b,0x00410308,0x0000000c,0x10614389,0x00000014,
+0x6081840a,0x00000010,0x20a1c48b,0x00000014,0xc0c2050d,0x00000012,
+0x30e2458e,0x00000014,0x51028698,0x00000014,0x31230b91,0x0000001c,
+0x5143481a,0x0000001c,0x6185cc94,0x0000001c,0x71a4099c,0x0000001c,
+0xe1e64d96,0x0000001c,0xf204ca9e,0x0000001c,0x0246cea1,0x0000001d,
+0xb2655024,0x0000001c,0x436751a6,0x00000019,0xc3e95529,0x00000019,
+0x6449d42e,0x00000019,0x04aa95ae,0x0000001a,0x14ea162e,0x0000001a,
+0x44ea162e,0x0000001a,0x00022ecc,0x00000094,0x0000000d,0x00000000,
+0x00000020,0x00023158,0x0000001a,0x0000000e,0x00000000,0x00000010,
+0x00023504,0x00000060,0x00000012,0x00000000,0x00000010,0x00000000,
+0x00000000,0x00020001,0x00040003,0x00060005,0x00080007,0x00000085,
+0x00000000,0x00010000,0x00030002,0x00050004,0x00070006,0x00850084,
+0x00000000,0x00000060,0x00000000,0x00000060,0x10000000,0x00000065,
+0x20000000,0x00000065,0x10000000,0x0000006d,0x20000000,0x0000006d,
+0xc0000000,0x0000006c,0x20000001,0x00000075,0x20000002,0x00000070,
+0x30000002,0x00000070,0x20000083,0x00000078,0x30000104,0x00000078,
+0x40004185,0x00000078,0x10004185,0x0000002d,0x20008206,0x0000002d,
+0x3020c287,0x0000002d,0x40410308,0x0000002d,0x50614389,0x0000002d,
+0x6081840a,0x0000002d,0x70a1c48b,0x0000002d,0xb0c2050d,0x0000002a,
+0xc0e2458e,0x0000002a,0x31028698,0x0000002c,0x71230b91,0x0000003d,
+0xb143481a,0x0000003a,0xc185cc94,0x00000038,0xd1a4099c,0x0000003a,
+0x91e64d96,0x0000003d,0xa204ca9e,0x0000003d,0xb246cea1,0x0000003d,
+0xc2655024,0x0000003d,0xd36751a6,0x0000003d,0xe3e95529,0x0000003d,
+0xf449d42e,0x0000003d,0x24aa95ae,0x00000039,0x94ea162e,0x00000039,
+0x24ea162e,0x0000003a,0x00000000,0x00000060,0x00000000,0x00000060,
+0x10000000,0x00000065,0x20000000,0x00000065,0x10000000,0x0000006d,
+0x20000000,0x0000006d,0xc0000000,0x0000006c,0x20000001,0x00000075,
+0x20000002,0x00000070,0x30000002,0x00000070,0x20000083,0x00000078,
+0x30000104,0x00000078,0x00000104,0x00000028,0x10004185,0x0000002d,
+0x20008206,0x0000002d,0x3020c287,0x0000002d,0x40410308,0x0000002d,
+0x50614389,0x0000002d,0x6081840a,0x0000002d,0x70a1c48b,0x0000002d,
+0xb0c2050d,0x0000002a,0xc0e2458e,0x0000002a,0x31028698,0x0000002c,
+0x71230b91,0x0000003d,0xb143481a,0x0000003a,0xc185cc94,0x00000038,
+0xd1a4099c,0x0000003a,0x91e64d96,0x0000003d,0xa204ca9e,0x0000003d,
+0xb246cea1,0x0000003d,0xc2655024,0x0000003d,0xd36751a6,0x0000003d,
+0xe3e95529,0x0000003d,0xf449d42e,0x0000003d,0x24aa95ae,0x00000039,
+0x94ea162e,0x00000039,0x24ea162e,0x0000003a,0x01010101,0x01010101,
+0x01010101,0x01010101,0x01010101,0x01010101,0x01010101,0x03030101,
+0x01030301,0x01010101,0x01010101,0x01010101,0x01010101,0x01010101,
+0x01010101,0x01010101,0x0002318c,0x00000094,0x0000000d,0x00000000,
+0x00000020,0x00022e0c,0x00000060,0x00000012,0x00000000,0x00000010,
+0x00200000,0x00050001,0x00250009,0x04290029,0x04270027,0x0447042b,
+0x044b0447,0x044f0833,0x04570453,0x045b0457,0x0c5b085b,0x083308db,
+0x0457084f,0x04d708cf,0x055708d7,0x04db055b,0x095b0957,0x07570557,
+0x055b0b57,0x07570b5b,0x0f5b1cd7,0x1357075b,0x175b135b,0x00000000,
+0x00000000,0x08000400,0x10000a00,0x18001400,0x14011c00,0x1c011801,
+0x04012001,0x0c010801,0x14011001,0x1c011801,0x1c211821,0x24212021,
+0x200d2041,0x0c561849,0x14491849,0x184d14c5,0x18cd1c4d,0x194d2051,
+0x214d24cd,0x0829254d,0x00000409,0x00000000,0x00000000,0x00000000,
+0x00200000,0x00050001,0x00250009,0x04290029,0x04270027,0x0447042b,
+0x044b0447,0x044f0833,0x04570453,0x045b0457,0x0c5b085b,0x083308db,
+0x0457084f,0x04d708cf,0x055708d7,0x04db055b,0x095b0957,0x07570557,
+0x055b0b57,0x07570b5b,0x0f5b1cd7,0x0045075b,0x00c50049,0x00550051,
+0x00d500d1,0x00d500d1,0x015500d9,0x015d0159,0x035d0359,0x035b0357,
+0x040c035f,0x042c0410,0x000d004c,0x004d002d,0x044d042d,0x04550451,
+0x04cb00ce,0x085708cb,0x002c000c,0x04ce0855,0x18cd08ce,0x194d2051,
+0x214d24cd,0x0829254d,0x00000000,0x00000000,0x00000000,0x00000000,
+0x0000000d,0x10000000,0x00000040,0x20000000,0x00000040,0x30000000,
+0x00000040,0x40000000,0x00000040,0x50000000,0x00000040,0x40000000,
+0x00000048,0x50000000,0x00000048,0x60000001,0x00000048,0x70000002,
+0x00000048,0x80000002,0x00000048,0x50000083,0x00000058,0x60000104,
+0x00000058,0x70004185,0x00000058,0x50004185,0x00000000,0x60008206,
+0x00000000,0x5020c287,0x00000008,0x60410308,0x00000008,0x70614389,
+0x00000008,0x8081840a,0x00000008,0x50a1c48b,0x00000018,0x60c2050d,
+0x00000018,0x70e2458e,0x00000018,0x81028698,0x00000018,0x91230b91,
+0x00000018,0xa143481a,0x00000018,0xc185cc94,0x00000018,0xd1a4099c,
+0x00000018,0xf1e64d96,0x00000018,0x0204ca9e,0x00000019,0x2246cea1,
+0x00000019,0x32655024,0x00000019,0xb36751a6,0x00000019,0xf3e95529,
+0x00000019,0x2449d42e,0x0000001a,0x54aa95ae,0x0000001a,0x74ea162e,
+0x0000001a,0xa4ea162e,0x0000001a,0x10000000,0x00000040,0x20000000,
+0x00000040,0x30000000,0x00000040,0x40000000,0x00000040,0x50000000,
+0x00000040,0x40000000,0x00000048,0x50000000,0x00000048,0x60000001,
+0x00000048,0x70000002,0x00000048,0x40000002,0x00000058,0x50000083,
+0x00000058,0x60000104,0x00000058,0x40000104,0x00000000,0x50004185,
+0x00000000,0x40008206,0x00000008,0x5020c287,0x00000008,0x60410308,
+0x00000008,0x70614389,0x00000008,0x8081840a,0x00000008,0x50a1c48b,
+0x00000018,0x60c2050d,0x00000018,0x70e2458e,0x00000018,0x81028698,
+0x00000018,0x91230b91,0x00000018,0xa143481a,0x00000018,0xc185cc94,
+0x00000018,0xd1a4099c,0x00000018,0xf1e64d96,0x00000018,0x0204ca9e,
+0x00000019,0x2246cea1,0x00000019,0x32655024,0x00000019,0xb36751a6,
+0x00000019,0xf3e95529,0x00000019,0x2449d42e,0x0000001a,0x54aa95ae,
+0x0000001a,0x74ea162e,0x0000001a,0xa4ea162e,0x0000001a,0x00000002,
+0x00000003,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x0002385c,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00025099,0x00004705,
+0x00004991,0x00004859,0x00000000,0x00004719,0x00000000,0x000046d9,
+0x00000000,0x0e0e0e0e,0x0d09020e,0x010d080a,0x080a0d09,0x0d09010d,
+0x010d080a,0x080a0d09,0x0e0a010d,0x020e090b,0x090b0e0a,0x3a09020e,
+0x050e0e16,0x0e163a09,0x0e0a050e,0x050e090b,0x090b0e0a,0x0e0a020e,
+0x020e090b,0x0e163a09,0x3a09050e,0x050e0e16,0x0e163a09,0x3a09050e,
+0x050e0e16,0x0e163a09,0x0001050e,0x02020100,0x08080303,0x08080808,
+0x080a0908,0x00070708,0x00000000,0x01010100,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000001,0x0000096c,0x043c3c6f,0x0505550e,
+0x44770505,0xf3708080,0x0000000c,0x00000002,0x00000971,0x043c3c6f,
+0x0505550e,0x44770505,0xf3708080,0x0000000b,0x00000003,0x00000976,
+0x043c3c6f,0x0505550e,0x44770505,0xf3708080,0x00000009,0x00000004,
+0x0000097b,0x042c2c6f,0x0505550d,0x44770505,0xf3708080,0x00000008,
+0x00000005,0x00000980,0x042c2c6f,0x0505550d,0x44770505,0xf3708080,
+0x00000007,0x00000006,0x00000985,0x042c2c6f,0x0505550c,0x44770505,
+0xf3708080,0x00000006,0x00000007,0x0000098a,0x042c2c6f,0x0505550b,
+0x44770505,0xf3708080,0x00000005,0x00000008,0x0000098f,0x042c2c6f,
+0x0505550b,0x44770505,0xf3708080,0x00000004,0x00000009,0x00000994,
+0x041c1c6f,0x0505550a,0x44770505,0xf3708080,0x00000004,0x0000000a,
+0x00000999,0x041c1c6f,0x05055509,0x44770505,0xf3708080,0x00000003,
+0x0000000b,0x0000099e,0x041c1c6e,0x05055508,0x44770505,0xf3708080,
+0x00000003,0x0000000c,0x000009a3,0x041c1c6e,0x05055507,0x44770505,
+0xf3708080,0x00000002,0x0000000d,0x000009a8,0x041c1c6e,0x05055506,
+0x44770505,0xf3708080,0x00000002,0x0000000e,0x000009b4,0x040c0c6e,
+0x05055502,0x44770505,0xf3708080,0x00000001,0x02000100,0x06000400,
+0x0b000800,0x17001000,0x2d002000,0x40014000,0x40034002,0x40054004,
+0x40074006,0x80075b07,0x04030200,0x0f070605,0x03000200,0x06000400,
+0x0b000800,0x10011000,0x10031002,0x10051004,0x10071006,0x20071707,
+0x40072d07,0x80075b07,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x4604b510,0xff00f000,0xf7dc4816,0x4620fe73,
+0xfe98f000,0x4a154b14,0xfbb318c3,0x4a14f3f2,0x60134620,0xfa8af000,
+0x7078f500,0xf44f3007,0xfbb0737a,0x4b0ff0f3,0x60184a0f,0x490f69e3,
+0xbfcc2b00,0x437ff06f,0x33fff240,0x4a0a6013,0xfbb36813,0x6013f3f0,
+0x22204620,0xf0002300,0xbd10fac9,0x0000042d,0x000f423f,0x000f4240,
+0x000003b0,0x000003a8,0x000003ac,0x000004c9,0x460eb573,0x46044615,
+0x481ab918,0xf7dc2174,0x42a6fc87,0x4817d803,0xf7dc2175,0x4b16fc81,
+0x602b462a,0x4b14e001,0x32046013,0x037cf1ad,0xd3f8429a,0xf0201ce0,
+0x4b100003,0x0406ebc0,0x4b0f601c,0x60192100,0xf5054b0e,0x60195200,
+0x3c084b0d,0x4b0d6019,0x601d6041,0x601a4b0c,0x22084b0c,0x4b0c6019,
+0x4b0c601a,0x60586004,0x46c0bd7c,0x000206dc,0x5354414b,0x00000408,
+0x000003cc,0x000003f0,0x0000040c,0x000003d8,0x000003dc,0x000003e0,
+0x000003c4,0x000003d0,0x6fe0f5b1,0x4605b573,0x4616460c,0x6a03d106,
+0x21009100,0x681c9101,0xe00c460a,0x22004b0d,0xf7dd6818,0x4601f877,
+0x6a2bb180,0x94002200,0x681c9201,0x46334628,0xb13847a0,0x62a84a06,
+0x20006813,0x626e632b,0xe0016015,0x30fff04f,0x46c0bd7c,0x00023afc,
+0x00023b00,0x47f0e92d,0x460e2010,0x21004699,0x46174b16,0x46044798,
+0xf06fb910,0xe022001a,0x68284d13,0xff22f7dc,0x46804631,0x6828463a,
+0xf844f7dd,0x480fb920,0x41ebf240,0xfbf4f7dc,0xf7dd6828,0x2301f907,
+0x4a0b4083,0x9b0860e3,0x9004f8c4,0x681360a3,0x60236828,0x60144641,
+0xf828f7dd,0xe8bd2000,0x46c087f0,0x1e00578d,0x00023afc,0x000206dc,
+0x00023b08,0x4b2db57f,0xf841a904,0xf5a13d04,0x460a5100,0xf7ff482a,
+0xf7dcff3b,0xf000fb1f,0x2000f871,0xfd7ef000,0x60204c26,0x4826b920,
+0x513cf240,0xfbbcf7dc,0xf0056820,0x4e23f82f,0xb9206030,0xf44f4820,
+0xf7dc61a8,0x6830fbb1,0xf7dc2100,0x4c1efff3,0xb9206020,0xf240481a,
+0xf7dc51bc,0x6823fba5,0x24004a1a,0x6370f503,0x6100f44f,0x46206013,
+0x4b174622,0xf7ff9400,0x6830ff85,0xfec4f7ff,0x47984b14,0xf0006830,
+0x4d13f86d,0x48134622,0x47a84913,0x48134622,0x47a84913,0x48144b13,
+0x4b14605c,0x601c4914,0x47a84622,0xb0046830,0x46c0bd70,0xdeaddead,
+0x00031654,0x00023b0c,0x000206dc,0x00023afc,0x000003e8,0x00023af8,
+0x0000063d,0x1e005d41,0x1e006061,0x000206e5,0x000005bd,0x000206e8,
+0x00000725,0x00023b10,0x0002226e,0x00023b04,0x000005b9,0x20a4b570,
+0x4e142100,0x4d1447b0,0xb1786028,0x22a42100,0xfc10f7dd,0x6080f44f,
+0x682c2100,0x616047b0,0x69446828,0x4b0db92c,0x602c4798,0x30fff04f,
+0x6144e00f,0x6280f44f,0x21004620,0xfbfaf7dd,0x2000682a,0x60936953,
+0x6380f44f,0x4b0460d3,0xbd70601a,0x1e00578d,0x00023b28,0x1e0057b1,
+0x00000410,0x2240b570,0x49272300,0x4d274606,0xf944f000,0x23004a26,
+0x682b6093,0x4c25b933,0xb90b6823,0xffbaf7ff,0x602b6823,0x23884c1f,
+0x605a6822,0xd0362a00,0x3b0e6bb3,0xd9032b01,0x491d4630,0xf966f000,
+0x688a4919,0x6823b132,0x109cf8c3,0x25004b15,0xe01c681c,0x601a6823,
+0xf04f605a,0xf8c332ff,0xe7f3209c,0x309cf8d4,0x3ffff1b3,0x2105d00e,
+0x009cf8d4,0xfbd2f7dc,0x0f20f010,0x6963d0f7,0x009cf8d4,0x5d5a2100,
+0xfbcef7dc,0x69233501,0xd3e7429d,0x49084807,0x4b084622,0xbd704798,
+0x00000811,0x00000410,0x00023b18,0x00023b28,0x0002407d,0x0002070a,
+0x000007f1,0x1e006061,0x4d1bb570,0x2e0068ae,0x0914d131,0x81ab602c,
+0x4461f504,0x33e1f44f,0xf4f3fb94,0x606960a8,0x21034628,0xf7dc2280,
+0x4628fb9f,0xb2e24631,0xfb9af7dc,0x21014628,0xf7dc1222,0x2103fb95,
+0x4628460a,0xfb90f7dc,0x460a2101,0xf7dc4628,0x4628fb8b,0x22082104,
+0xfb86f7dc,0x21024628,0xf7dc2201,0xf44ffb81,0x4b02707a,0xbd704798,
+0x00023b18,0x1e005d75,0x46c04770,0x2000b510,0xfaeaf7dd,0x46c0bd10,
+0x490bb510,0xf7ff4604,0xb280fff5,0x6f60b978,0xf7dd4907,0xb280fadd,
+0x6f60b948,0xf7dd4905,0xf64ffad7,0xb28073ff,0xbf082800,0xbd104618,
+0x00020716,0x0002071c,0xe92d6e01,0x460441f0,0xf8d0b171,0xf8d02080,
+0xeb03308c,0xf8d30382,0x6d832080,0xd103429a,0x47886dc0,0xe0004606,
+0x46202600,0xf0006ce1,0x6e65fa0d,0xb16d4607,0x2080f8d4,0x308cf8d4,
+0x0382eb03,0x2080f8d3,0x429a6da3,0x6de0d102,0x47a84631,0xe8bd4638,
+0x46c081f0,0x4604b510,0xfd2cf7dc,0x46204601,0xfa10f000,0x46c0bd10,
+0x4604b510,0xfd22f7dc,0x46204601,0xf9a0f000,0x46c0bd10,0xe92d6e01,
+0x460441f0,0xf8d0b171,0xf8d02080,0xeb03308c,0xf8d30382,0x6d832080,
+0xd103429a,0x47886dc0,0xe0004606,0x46202600,0xf0006ce1,0x6e65f949,
+0xb16d4607,0x2080f8d4,0x308cf8d4,0x0382eb03,0x2080f8d3,0x429a6da3,
+0x6de0d102,0x47a84631,0xe8bd4638,0x46c081f0,0x9c04b570,0xb1219d05,
+0xf2404808,0xf7dc118b,0xb144f9e7,0x4a06b13d,0xb90b7813,0x70133301,
+0x60232300,0x2000602b,0x46c0bd70,0x000209ac,0x00023bcd,0x47f0e92d,
+0x46884606,0x461f4615,0xfcf0f7dc,0x46812100,0xf7dc4630,0x4604fe0f,
+0x4813b918,0xf7dc21ec,0x2200f9c3,0x48114611,0x685b180b,0x330cb97b,
+0xf303fb02,0x181a501d,0xf8c26a63,0x60978004,0xea454a0b,0x60130303,
+0x24016263,0x3201e004,0x2a05310c,0x2400d1e7,0x46494630,0xfdeaf7dc,
+0xe8bd4620,0x46c087f0,0x000209ba,0x00023bd0,0x00023c0c,0x47f0e92d,
+0x46894604,0xfc92f7dc,0x21004620,0xfdd6f7dc,0xb9184605,0x2147482d,
+0xf98af7dc,0x69674620,0x8018f8d4,0xfc50f000,0x46822f0a,0x2f0fd916,
+0x4620d019,0xff54f7ff,0x46062f14,0x68abd903,0x0308f023,0x68ab60ab,
+0x0301f043,0xd90360ab,0xf04368ab,0x60ab0308,0xe0112201,0xd8022f02,
+0x22304e1b,0x4620e00c,0xff44f7ff,0x30a4f8d5,0xf0234606,0xf04303ff,
+0xf8c50302,0x220230a4,0x68abb15f,0x0f01f013,0xf008d107,0x2b080318,
+0xf44fbf14,0xfbb616e1,0xf008f6f2,0x24000803,0xf505e00f,0xb1177040,
+0x2004eb00,0xeb00e001,0xf1b900c4,0xd0030f00,0x46324651,0x47c82300,
+0x45443401,0xe8bddbed,0x46c087f0,0x000209ba,0x053ec600,0x47704800,
+0x00026f08,0xb5106983,0x5f80f013,0x4803d104,0x1197f640,0xf920f7dc,
+0x46c0bd10,0x000209c5,0xb5706983,0x5f80f013,0x460d4604,0x4809d104,
+0x1179f640,0xf910f7dc,0x46204629,0xf0042200,0x4620fec1,0xfc2af7dc,
+0x46204601,0xfd4af7dc,0x46c0bd70,0x000209c5,0xb5706983,0x5f80f013,
+0xd1044605,0xf240481d,0xf7dc71ba,0x4628f8f5,0xfc14f7dc,0x46062100,
+0xf7dc4628,0x4604fd33,0x4816b920,0x71bff240,0xf8e6f7dc,0x2b0169eb,
+0xf8d4d104,0xf4233600,0xe0047300,0xf8d4dd05,0xf4433600,0xf8c47300,
+0x6b6b3600,0xd1102b02,0x3658f8c4,0x365cf8d4,0x7380f443,0x365cf8c4,
+0xf8c42303,0xf8d43658,0xf043365c,0xf8c40304,0x4628365c,0xf7dc4631,
+0xbd70fd05,0x000209c5,0xb5706983,0x5f80f013,0xd1044604,0xf2404815,
+0xf7dc61ff,0x4620f8b1,0xfbd0f7dc,0x46062100,0xf7dc4620,0x4605fcef,
+0x480eb920,0x7104f240,0xf8a2f7dc,0xb90b6b63,0xe00d4d0b,0xf8c52301,
+0xf8d53660,0x4a093664,0x03fff003,0xf2f3fbb2,0x737af44f,0xf503fb02,
+0x46314620,0xfcd2f7dc,0xbd704628,0x000209c5,0x0249f000,0x000d6d80,
+0xf7ffb510,0xbd10ffc5,0xe92d6983,0xf01341f0,0x46055f80,0x481dd104,
+0x61c5f240,0xf874f7dc,0xf7dc4628,0x2100fb93,0x46284607,0xfcb2f7dc,
+0xb9204604,0xf2404815,0xf7dc61ca,0xf8d4f865,0x46283600,0x0684f3c3,
+0xff30f7ff,0xe0034604,0x42b378a3,0x340cd004,0x8823b124,0xd1f72b00,
+0xb9038823,0x88234c0a,0x4808b923,0x517bf240,0xf84af7dc,0x46394628,
+0xf7dc8824,0xf44ffc8b,0xfb04707a,0xe8bdf000,0x46c081f0,0x000209c5,
+0x00026fa4,0xb5706983,0x5f80f013,0xd1034604,0x21ec480b,0xf830f7dc,
+0xf7dc4620,0x2100fb4f,0x46204605,0xfc6ef7dc,0x4805b918,0xf7dc21f1,
+0x4620f823,0xf7dc4629,0xf640fc65,0xbd7030b8,0x000209c5,0x41f0e92d,
+0x8058f8df,0xf8d84606,0xb9fc4000,0xfb32f7dc,0x46074621,0xf7dc4630,
+0x4605fc51,0x480db920,0x714cf240,0xf804f7dc,0x7010f242,0xf8d54b0a,
+0x47984614,0x3614f8d5,0x1b1b2264,0xf302fb03,0x46394630,0x3000f8c8,
+0xfc38f7dc,0x68184b03,0x81f0e8bd,0x000209c5,0x1e005d75,0x00023c10,
+0xe92d6983,0xf01341f0,0x46075f80,0xd1044616,0xf44f4866,0xf7db61d2,
+0x4638ffdb,0xfafaf7dc,0x46802100,0xf7dc4638,0x4604fc19,0x485fb920,
+0x6195f240,0xffccf7db,0xf0002e00,0x463880b0,0xfe98f7ff,0xe0024605,
+0xd00642b3,0x2d00350c,0x80a5f000,0x2b00882b,0x882bd1f6,0xf0002b00,
+0xf8d4809e,0x78aa3600,0x0384f3c3,0xf0004293,0xf8d48096,0xf6433618,
+0xf42326a1,0xf8c41340,0xf8d43618,0xf423361c,0xf8c41340,0xe003361c,
+0x4b47200a,0x3e0a4798,0x31e0f8d4,0x3f00f413,0x2e09d001,0xf8d4d1f4,
+0xf41331e0,0xd0043f00,0xf240483e,0xf7db51bf,0x2300ff8b,0x3660f8c4,
+0x792b78ea,0x1664f8d4,0x0512061b,0x6370f003,0x0270f402,0x617ff021,
+0x430b4313,0x3664f8c4,0xb9536b7b,0xf8c43301,0xf8d43660,0xf4233664,
+0xf443437f,0xf8c46360,0x23023664,0x3660f8c4,0xf8d488ea,0x4b2b1664,
+0xea020512,0xf0210303,0xf42151fe,0xf4431178,0x430b3300,0x3664f8c4,
+0xf8c42303,0xf8d43660,0x68ab2664,0x427ff002,0x437ff023,0xf8c44313,
+0x23053664,0x3660f8c4,0x2664f8d4,0xf0024b1c,0xea4202ff,0xf8c40303,
+0x69fb3664,0xdd052b01,0x3600f8d4,0x6380f443,0x3600f8c4,0xf8d478aa,
+0x88290600,0xf64f0092,0xea007383,0xf0020303,0x317f027c,0x11c9431a,
+0x39016b7b,0x4001ea42,0xf8d4b93b,0xf4203630,0x041b7080,0xf8c40c1b,
+0xf8c43630,0x46380600,0xf7dc4641,0xe8bdfb5b,0x46c081f0,0x000209c5,
+0x1e005d75,0x1ff00000,0x88888800,0x4ff0e92d,0xb0872400,0x94049405,
+0x46806983,0x5f80f013,0x4854d104,0x21eff240,0xfefaf7db,0xf7dc4640,
+0x4621fa19,0x46409001,0xfb38f7dc,0xb9204606,0xf44f484c,0xf7db713d,
+0xf8d8feeb,0x4a4a3034,0x4b4a2b00,0x2702bf14,0xbf142701,0x469a4692,
+0x3020f8d8,0xf3c34a46,0x78132b04,0xf8c646a1,0x88533620,0x3628f8c6,
+0xad02e015,0x46282108,0x464b4a40,0x47a04c40,0x46292000,0xff0cf7dc,
+0x2100b138,0x9620f8c6,0x4b3c460a,0xf8c64798,0xf1090628,0x45d90901,
+0xeb0ad1e7,0xf8541407,0x3f013c04,0x4640b113,0xb3604798,0xe0282500,
+0x40ab2301,0x2c10f854,0xd0214213,0x5620f8c6,0x3c0cf914,0x2b01b12b,
+0xf1b3d006,0xd00b3fff,0xf854e011,0xe0043c08,0x3624f8d6,0x2c08f854,
+0xf8c64313,0xe00b3624,0x3624f8d6,0x2c08f854,0x0302ea23,0x481be7f5,
+0x3177f240,0xfe88f7db,0x455d3501,0x3c10d1d4,0xd1c82f00,0xad02e014,
+0x46282108,0x463b4a1a,0x47a04c17,0x46292000,0xfebaf7dc,0x2100b138,
+0x7620f8c6,0x4b13460a,0xf8c64798,0x37010624,0xd1e8454f,0xa9054640,
+0xf7ddaa04,0x9b05f859,0xf8c6b10b,0x9b043618,0xf8c6b10b,0x4640361c,
+0xf7dc9901,0xb007fa9f,0x8ff0e8bd,0x000209c5,0x00026ed8,0x00026ef8,
+0x00026fc8,0x000209d8,0x1e003fc9,0x1e0037cd,0x000209dd,0x2100b570,
+0x4b084605,0x47982010,0xb9184604,0x21184806,0xfe3af7db,0x21004620,
+0xf7dc2210,0x4620fefb,0xbd706065,0x1e00578d,0x00020b16,0x4604b510,
+0xf928f7dc,0x46204601,0xfda2f7ff,0x46c0bd10,0x47f0e92d,0x46144681,
+0x461d4688,0xf91af7dc,0xf7dc4648,0x4621f93b,0x462a4682,0xf7dc4648,
+0xb918fa5d,0x21784821,0xfe0ef7db,0xf7dc4648,0x1c46fb21,0x460745b0,
+0xf1b8d006,0xd0030f00,0x217b481a,0xfe00f7db,0xf6404648,0x2200012a,
+0xfa44f7dc,0xb9184605,0x217e4814,0xfdf4f7db,0x0f00f1b8,0x2401d00f,
+0xf307fa14,0xea3269aa,0xd1020703,0xf7db4620,0xfa14ff57,0xf7dbf006,
+0x61afff35,0x2401e00b,0xf006fa14,0xff4cf7db,0x40bc4620,0xff2af7db,
+0x431c69ab,0x464861ac,0xf7dc4651,0xe8bdfa17,0x46c087f0,0x00020b4a,
+0x4606b570,0xf8c6f7dc,0xf6404630,0x2200010e,0xfa0cf7dc,0xb1f04605,
+0xf3c36803,0xb91c1403,0x21bb483d,0xfdb8f7db,0xf7dc4630,0x2804fac7,
+0x2000d911,0xf7dc4939,0xb120fe1b,0x4b38e00b,0x612c3c01,0x2c00616b,
+0xf8d5d1f9,0xf02331e8,0xf8c50310,0x463031e8,0x012af640,0xf7dc2200,
+0x4c30f9e5,0xb9186020,0x21e3482b,0xfd94f7db,0xf7dc4630,0x4b2cfaa3,
+0x60186822,0x24a1f643,0xf8c22300,0xe00331e0,0x4b28200a,0x3c0a4798,
+0x682b4d24,0x31e0f8d3,0x3f00f413,0x2c09d101,0x2100d1f2,0x4630460b,
+0x6200f44f,0xff50f7ff,0x460b2100,0xf6404630,0xf7ff0212,0x2100ff49,
+0x0229f640,0x4630460b,0xff42f7ff,0xf247682a,0x68135439,0x7380f043,
+0xe0036013,0x4b13200a,0x3c0a4798,0x682a4d0f,0x31e0f8d2,0x3f00f413,
+0x2c09d101,0xf8d2d1f2,0xf41331e0,0xd1043f00,0xf44f4805,0xf7db719f,
+0x682afd47,0xf0436a13,0x62130303,0x46c0bd70,0x00020b4a,0x00020b53,
+0x21017fff,0x00023c18,0x00023c1c,0x1e005d75,0x41f0e92d,0xf7dc4604,
+0x4620f82d,0xfa42f7dc,0x46204606,0xf84af7dc,0x012af640,0x22004607,
+0xf7dc4620,0x4605f96b,0x4809b918,0xf7db215c,0x2301fd1b,0x69aa40b3,
+0xd0014213,0xe0002500,0x46201c75,0xf7dc4639,0x4628f955,0x81f0e8bd,
+0x00020b4a,0x2400b570,0xf8804605,0x69004175,0xf9eef000,0xf7dd4628,
+0x68e8fbb5,0xf7dc4621,0xf8d5f89d,0xb1280190,0x47984b0c,0x0190f8d5,
+0x47984b0b,0x018cf8d5,0x4b08b128,0xf8d54798,0x4b07018c,0x68e84798,
+0xf84af7dc,0x462968a8,0x72e8f44f,0x47984b03,0x46c0bd70,0x1e005a49,
+0x1e005a11,0x1e005c15,0x47f0e92d,0xf2414699,0xb08843e4,0x46144299,
+0xd1059f10,0x33f4f244,0xd101429a,0xe0002301,0x2b002300,0x80a9f000,
+0x70e8f44f,0x4b552100,0x46054798,0xf0002800,0x210080a0,0x72e8f44f,
+0xf7dc4606,0x2310fd7b,0x31a4f8c5,0x0028f105,0x22312101,0xf8c54b4c,
+0x616f9008,0x23004798,0x93019300,0x46209302,0x463a4649,0xf0049b11,
+0x60f0f953,0xd07a2800,0xffb2f7db,0x68e86028,0xf9a8f7dc,0x6068696c,
+0x4a406863,0x0301f083,0xf003493f,0x2b000301,0x4611bf18,0xf885682a,
+0xf6403176,0x429a0329,0xa008f8d5,0xc00cf8d5,0xb920d10a,0x7e00f504,
+0x7304f504,0xf504e008,0xf5047e00,0xe0037308,0x7e00f504,0x7304f504,
+0xf2409300,0x93037344,0xf04f2306,0x93040810,0x33022700,0xf8cd9305,
+0xf8cd8004,0x97068008,0x46624650,0x4c274673,0x626847a0,0xd0362800,
+0x46394628,0x464b68ea,0xf94af000,0x28006128,0x2305d02d,0x3194f8c5,
+0xf8c52302,0x331e3198,0x319cf8c5,0xf8c53344,0x68eb31b0,0x7179f885,
+0x81a4f8c5,0x71acf8c5,0x71a0f8c5,0x2b016b5b,0x4638d909,0xf7dc4914,
+0xb120fc9f,0x48144b13,0x23014798,0x4b11e003,0x47984812,0xf8852300,
+0x481131ba,0x462a4911,0x47984b11,0x68a8e006,0xf44f4629,0x4b0f72e8,
+0x26004798,0xb0084630,0x87f0e8bd,0x1e00578d,0x1e003bcd,0x00020cae,
+0x00020cb6,0x0001ce65,0x00020cc0,0x1e004461,0x00020cca,0x00020ce3,
+0x00020cfd,0x00002b15,0x1e006061,0x1e005c15,0x47702000,0x6a84b570,
+0x69a04601,0xf8b8f000,0x69a04605,0xf888f000,0x22382100,0x001cf104,
+0xfcb0f7dc,0x68a04b03,0x62246263,0xfca0f7dd,0xbd704628,0x00002c25,
+0x47f3e92d,0x46994f25,0x4605683b,0x46882b07,0xdc3f4692,0xfd8ef7ff,
+0x46062100,0x20544b20,0x46044798,0xd0352800,0x22542100,0xfc8ef7dc,
+0x6065683b,0xf8a46023,0xf8c49014,0x60e68010,0xf2414620,0x464a41e4,
+0xf8cd4633,0xf8cd8000,0xf7ffa004,0x60a0fedd,0x2000b1e0,0x9a0b990a,
+0x95004b10,0xff9af7fe,0x68a0b118,0xfe9ef7ff,0x4b0de010,0x681b490d,
+0x61a3683a,0x4b0c4628,0x4b0c4798,0x4629480c,0x683b4798,0x33014620,
+0xe000603b,0xe8bd2000,0x46c087fc,0x00023c20,0x1e00578d,0x00002bdd,
+0x00023c58,0x00020d15,0x1e003fe9,0x1e004461,0x00020d21,0x41f0e92d,
+0x460e4680,0x2034461d,0x4b082100,0x47984617,0xb1404604,0x22342100,
+0xfc38f7dc,0x602660e5,0xf8c46067,0x46208008,0x81f0e8bd,0x1e00578d,
+0x4b12b530,0x681bb087,0x42984604,0x4810d004,0x7100f44f,0xfb5cf7db,
+0x1044f894,0x6c23b9a1,0x2501b17b,0x46202304,0x9100aa05,0x95029101,
+0xf94ef7de,0xdb042800,0x4b069a05,0xbf08429a,0x230163a5,0x3044f884,
+0xbd30b007,0x00023c58,0x00020d4f,0x14e46c77,0x4604b537,0x460d4811,
+0xfb7af7db,0x46286420,0xfb76f7db,0x63e06c23,0xb198b1a3,0x6be26358,
+0x68606c23,0x6c236353,0xf1d34621,0xbf380301,0x93002300,0x462b6822,
+0xff9cf7ff,0xb10860e0,0xe0012000,0x30fff04f,0x46c0bd3e,0x00020d5a,
+0xb5106c03,0x2200b11b,0x6bc3635a,0x68c0635a,0xff5af7dd,0x46c0bd10,
+0x41f0e92d,0x461e4d0f,0x4607682b,0x46902b07,0x2048dc14,0x4b0c2100,
+0x46044798,0x2100b170,0xf7dc2248,0x682bfbbb,0x63636027,0x602b3301,
+0x60664b06,0x8008f8c4,0xe000601c,0x46202400,0x81f0e8bd,0x00023c24,
+0x1e00578d,0x00023c58,0x2010b570,0x4b09460c,0x46152100,0xb9104798,
+0x001af06f,0x4a06e008,0x60432310,0x60c46813,0x60856003,0x20006010,
+0x46c0bd70,0x1e00578d,0x00023c4c,0xb5104b06,0xb93b681b,0x68194b05,
+0x4b05b121,0xb10a681a,0xffdaf7ff,0xbd102000,0x00023c4c,0x00022d9c,
+0x00022da0,0x4ff0e92d,0xb0894604,0x4699460e,0x21002088,0x46174b30,
+0x804cf8dd,0x46054798,0xd0492800,0x22882100,0xfb64f7dc,0xf7ff4620,
+0xab07fc55,0x93059001,0xf04f4683,0x46280a00,0x41e4f241,0x4643464a,
+0xf8cd9602,0x9703a000,0xf0049504,0x4606ff5f,0xd02f2800,0x60286068,
+0x465060ac,0x46429912,0x94004b1c,0xfe6af7fe,0xbb184607,0x2301682a,
+0x3718f882,0x46204b18,0x676b636b,0x67eb67ab,0x3080f8c5,0x46424915,
+0x47984b15,0x464168b3,0x48146b1a,0x4c154b14,0x4b1547a0,0x93004630,
+0x4a154914,0x9701462b,0xf0049702,0xb908f825,0xe0094628,0x4b0d9907,
+0x47984810,0x46294658,0x4b0f2288,0x20004798,0xe8bdb009,0x46c08ff0,
+0x1e00578d,0x000046d9,0x0dadbeef,0x00020f1e,0x1e003fe9,0x00020f23,
+0x00020f59,0x1e004461,0x0000463d,0x00020fd0,0x00020f63,0x00020f66,
+0x1e005c15,0x6840b510,0xf908f000,0xbd102000,0x180cf8d0,0xf44f4a19,
+0xf8c13080,0xb5100160,0x4164f8d1,0x0160f8c1,0x2164f8c1,0x0160f8c1,
+0x3164f8d1,0xd11e4293,0xf8c14a11,0xf8c10160,0xf8c12164,0xf8d10160,
+0x42933164,0x2300d113,0x0160f8c1,0x4164f8c1,0x318cf8c1,0x0120f8d1,
+0x42984b08,0x2001d101,0x4b07e006,0xbf144298,0x20012000,0x2000e000,
+0x46c0bd10,0xaa5555aa,0x55aaaa55,0x04000400,0x84000400,0x4803b510,
+0x6166f642,0xf9e4f7db,0xbd102000,0x00021040,0x3ffff1b1,0x41f0e92d,
+0x460e4604,0xf8d0d106,0x68193848,0x460eb909,0x688ee000,0x781df894,
+0x4620b91f,0xf7e04639,0x68a0fe77,0xfe02f7db,0x2500b170,0xf8d31963,
+0xb1080778,0x47986883,0x2d183504,0xf8d4d1f6,0xb1080778,0x47986c83,
+0x5d10f894,0x2200b13d,0x2d00f8c4,0x21034620,0xf95af7e0,0xf8d4e033,
+0x46313844,0x68a0721d,0xf7db462a,0xf8d4fd43,0x23012844,0x46207213,
+0xf04f4a14,0xf8c431ff,0xf8c457c4,0xf8c457c8,0xf7e057cc,0x4620f941,
+0xf7e04629,0xf8d4fe3d,0x68a13848,0xf7ef6818,0xf44ffaef,0x460a6180,
+0xf7e04620,0x4620f931,0x462a2104,0xf92cf7e0,0x5d00f8c4,0x4620b91f,
+0xf7e02102,0xe8bdfe25,0x46c081f0,0x04000400,0x738ef44f,0x0303fb01,
+0x2844f8d0,0x6304f503,0x429a330c,0x4604b570,0xd016460d,0x3844f8c0,
+0x381cf890,0xf890b13b,0xb9222d10,0xf44f6880,0xf7db5100,0x68a0fd9b,
+0x0112f640,0xf7db462a,0xf8c4fd9d,0xf8c4080c,0xbd700758,0x739ef44f,
+0xf303fb01,0x6328f503,0x330418c3,0xf8c0b570,0x460d3848,0x03c1eb00,
+0x1840f8d0,0x63ecf503,0xf8c04604,0x2901375c,0x4629bf8c,0xf7ff2100,
+0xf894ffbf,0xb15b381c,0x3d10f894,0xf44fb943,0x68a05100,0xbf0c2d00,
+0x2200460a,0xfd66f7db,0x46c0bd70,0x3454f8d0,0x3301b570,0xf8c04605,
+0x68803454,0xfd52f7db,0x4628b110,0x47984b15,0xf8852400,0x46284d5c,
+0x31fff04f,0xff2cf7ff,0x030cf641,0x192b50ec,0x0778f8d3,0x6a83b110,
+0x47982101,0x2c183404,0xf8d5d1f5,0x6e430778,0xf8d54798,0x21000844,
+0x7354f642,0x84c18481,0x85418501,0x85c18581,0x303450e9,0xf7dc22e8,
+0xbd70f9b1,0x0001d585,0x4ff0e92d,0xb08d7c84,0xb99c4607,0x21014b9d,
+0x68b84798,0xfe58f7fe,0x46384621,0xfd84f7e0,0xf7e14638,0xf8d7f953,
+0x68183848,0xff0af000,0x74bb2301,0x3d04f8d7,0x4893b123,0x4188f642,
+0xf8c6f7db,0x4b8f2101,0x47984638,0xf7fe68b8,0x2100fe3b,0xf7e04638,
+0xf8b7fd67,0xf2442828,0x429a3321,0x3b0ed010,0xd00d429a,0x429a3307,
+0x3310d00a,0xd007429a,0x429a3b14,0x3307d004,0xd001429a,0xe0052300,
+0x3840f8d7,0xbf142b02,0x23012300,0x0840f8d7,0xe0004619,0x28023101,
+0xf244d114,0x429a3321,0x3b0ed00e,0xd00b429a,0x429a3307,0x3310d008,
+0xd005429a,0x429a3b14,0x3307d002,0xd101429a,0xe0002302,0x42992301,
+0x68b8d3e4,0xfb94f7db,0x0312f640,0xd0044298,0xf6424869,0xf7db41a9,
+0x4638f873,0xffa4f7e0,0x3710f8d7,0xf897b1bb,0xb97b3d0d,0x3394f8d7,
+0x0f04f013,0x2301d10a,0x3d0df887,0x073cf8d7,0x1d34f8d7,0x7248f44f,
+0x47a04c5c,0x21004638,0x47984b58,0x4638e162,0xf928f7e1,0xf04f4638,
+0xf7ff31ff,0xf8b7fe6d,0xf2441828,0x42993321,0x3b0ed011,0xd00e4299,
+0x42993307,0x3310d00b,0xd0084299,0x42993b14,0x3307d005,0xbf144299,
+0x21012100,0x2101e000,0x46389109,0xf7ff9909,0x4c47fee1,0x2108a80a,
+0xf8d74a46,0x47a03740,0x6778f8d7,0xf0402e00,0xf8d78099,0xf8d71758,
+0xf501074c,0xf8d77100,0xf7dca748,0xf8d7fadf,0xf8d73758,0xf503274c,
+0x91007108,0x91022110,0x7144f240,0x21089103,0x31169104,0x49369105,
+0x0820f04f,0x91064d35,0x7300f503,0xf8cda90a,0x46508004,0xf8d747a8,
+0x492f3758,0x0778f8c7,0x274cf8d7,0x91064604,0x7310f503,0x9600a90a,
+0x8004f8cd,0x96039602,0x96059604,0x47a84650,0x3758f8d7,0xf8c74924,
+0xf8d7077c,0x4683274c,0xf5039106,0xa90a7320,0xf8cd9600,0x96028004,
+0x96049603,0x46509605,0xf8d747a8,0x491a3758,0x0780f8c7,0x274cf8d7,
+0x91064681,0x7330f503,0xf8cd9600,0x96028004,0x96049603,0x46509605,
+0x47a8a90a,0x0401f1d4,0x2400bf38,0x0f00f1bb,0xf044bf08,0xf1b90401,
+0xbf080f00,0x0401f044,0xbf142800,0xf0444623,0xf8c70301,0xb17b0784,
+0xe03e4633,0x0001d47d,0x00021040,0x1e0061f9,0x1e003fc9,0x00020f1e,
+0x00023c50,0x0001ce65,0x461d463c,0x0778f8d4,0x6f03b120,0x47984951,
+0x07a8f8c4,0x34043501,0xd1f32d06,0x4848f8d7,0x22082100,0x0070f104,
+0xf7dc6825,0xf8d7f847,0xf0133388,0xd0050f20,0x3070f8b4,0x6380f443,
+0x3070f8a4,0xf2428a2a,0x429a0350,0x7cabd108,0xd8052b05,0x3072f8b4,
+0x0304f043,0x3072f8a4,0xf0132301,0xd0710fff,0xf1b39b09,0xf43f3fff,
+0xf8d7af12,0xf8d737a8,0xf8d72844,0x60d3073c,0x37acf8d7,0xf8d76113,
+0x615337b0,0x37b4f8d7,0xf8d76193,0x61d337b8,0x37bcf8d7,0xf7df6213,
+0x69f9f93d,0x2303b139,0x7280f44f,0x46389300,0x46132100,0x2303e005,
+0x46389300,0x7280f44f,0x2501460b,0xff9ef7df,0x4638747d,0xfb7ef001,
+0x3d6cf897,0x4820b123,0x511df642,0xff28f7da,0x073cf8d7,0x1d1cf8d7,
+0x727af44f,0x4c1b462b,0x463847a0,0x5d6cf887,0xfbd6f7e2,0xf7e24638,
+0xb130fb15,0xf7df4638,0x4638fab9,0xf7df4629,0x4638fab7,0xf7e02102,
+0xf8d7fbb7,0xb1233d04,0xf642480d,0xf7da513e,0xf897ff03,0xb14b381c,
+0x462968b8,0xfa92f7db,0x4807b120,0x5135f44f,0xfef6f7da,0x073cf8d7,
+0xff70f7de,0xb00d2000,0x8ff0e8bd,0x00020b0d,0x00021040,0x1e0061f9,
+0x5154f500,0x4f70e92d,0xf04f3134,0xf8c00901,0xf8801dd0,0x46049d0c,
+0xf7e92500,0xf642ff6f,0x54e533c6,0xf04f330a,0xf80436ff,0x3b059003,
+0x3b0454e6,0x330654e5,0x9003f804,0x54e53b03,0x33e8f241,0x210254e6,
+0x46204632,0xfa78f7e0,0x46494620,0xf7e0462a,0x210cfa73,0x46204632,
+0xfa6ef7e0,0x4620210b,0xf7e0462a,0x210efa69,0x46204632,0xfa64f7e0,
+0x4620210d,0xf7e0462a,0x2104fa5f,0x46202202,0xfa5af7e0,0x33ccf642,
+0x0a03f04f,0x9003f804,0xf8043349,0x444ba003,0xa003f804,0x73c2f5a3,
+0x122af640,0x332c52e5,0xf50452e2,0x801a532b,0x23c2f642,0x330252e2,
+0x330252e2,0x330252e2,0x330252e2,0x330252e2,0x122bf640,0x330252e2,
+0x0207f04f,0x330252e2,0x0204f04f,0x0b02f04f,0x330252e2,0xa003f824,
+0xf824445b,0xf243b003,0x54e543ab,0x50e53305,0x3304220f,0x4b4f54e2,
+0x0258f641,0x3d08f8c4,0x2391f642,0xf50454e5,0x333053c8,0x9023f884,
+0x5d63f884,0x5d5df884,0x5d5ef884,0x5d5ff884,0x5d60f884,0x5d61f884,
+0x5d66f884,0x5da8f884,0x5d68f884,0x5d62f884,0x9d85f884,0xf64150a3,
+0x54e51336,0x53ecf504,0x32043308,0xf64150a3,0xf804538e,0xf5049003,
+0xf5045306,0x336052c3,0xf2426013,0xf80413e6,0xf504b003,0x33385318,
+0x0264f641,0xf24250a3,0xf804633e,0xf243a003,0x54e533f8,0xf5a32208,
+0x210a731a,0x3b0c50e2,0x336650e1,0x3b5452e1,0x320c54e1,0x54e2444b,
+0x7275f502,0x50e23b0f,0x50e53320,0x50e13304,0x726bf5a2,0x50e23304,
+0x4824f642,0x73fff241,0x54e561e6,0x0608eb04,0xf8842364,0x462936fe,
+0xf884220b,0xf884503e,0xf884903f,0xf884902e,0xf884502f,0xf8845d46,
+0xf8845d52,0xf8c49d53,0xf8845d58,0xf8c45d54,0x46305708,0xfea6f7db,
+0x0322f06f,0x3008f804,0x7073332c,0x000beb06,0x46524909,0xfebaf7db,
+0x53c0f504,0xb005f886,0x9000f883,0x0301f641,0x9003f804,0x503cf884,
+0x8f70e8bd,0xb0e7a864,0x000203d5,0x4ff0e92d,0xa81df890,0x4607b0a1,
+0x0f00f1ba,0x4651d102,0xfa62f7e0,0x073cf8d7,0xffa2f7de,0x3848f8d7,
+0x9cfcf897,0x8008f8d3,0xf8872300,0xf2413cfc,0x5afe63fc,0xf4064683,
+0xf5b36340,0xd11f6f40,0xb15b6b7b,0x739ef44f,0x7203fb08,0x3acbf892,
+0x0f18f013,0xf892d102,0xb98b3b98,0x66fcf241,0x4d645bb8,0x460447a8,
+0x47a85bb8,0x6430f444,0xbf8c280e,0x5080f44f,0x5000f44f,0xb2a64304,
+0x46414638,0xfc2ef7ff,0x3dd0f8d7,0x0388eb03,0xb9236d1b,0xf2424858,
+0xf7da016d,0xf44ffd71,0xfb08739e,0xf8d37303,0xb9233a94,0xf2424852,
+0xf7da016e,0xad14fd65,0x46294638,0xfdecf7e1,0xf8d76b7b,0x227f1848,
+0xbf183b00,0x92002301,0x93012200,0x46134628,0x4c483178,0x463847a0,
+0xf7e04629,0x4638fff9,0x22004631,0xfba4f7ea,0x4638b920,0xf7ea2101,
+0x4606fbcb,0x3848f8d7,0x68184631,0x040bf10d,0xf9ecf7ee,0x46384631,
+0x4b3b4622,0xf8d74798,0x46323848,0x46216818,0xf9f2f7ee,0x3848f8d7,
+0x68182200,0x31fff04f,0xfc02f7ef,0x3848f8d7,0x9cfcf887,0xf0006818,
+0x2201fb5f,0x635cf243,0x46385af9,0xf7df4613,0xf243faf7,0x5af9635e,
+0x23012200,0xf7df4638,0x68b8faef,0x6758f8d7,0xf8a4f7db,0xf04f4638,
+0xf24031ff,0xf7df4204,0xf8d7fcaf,0xf5073814,0x3b0268e8,0xd9042b01,
+0xf24b481b,0xf7da01c6,0xf8d7fcf7,0x46381810,0xfe6cf7e0,0x31fff04f,
+0x1128f8c6,0x4a174638,0xfc96f7df,0xe0034c16,0x4b16200a,0x3c0a4798,
+0x3128f8d6,0x0f01f013,0x2c09d101,0x4638d1f4,0x4140f44f,0xf8d62200,
+0xf8d73128,0xf7df580c,0xf8d7fc7f,0xb1bc47d4,0x349ef8b5,0x0303ea44,
+0x47d0f8d7,0xf8a5b29b,0xe010349e,0x0001e9bd,0x00021040,0x0001ed85,
+0x0001e2f1,0x00020402,0x000f4249,0x1e005d75,0xf7e04638,0xf8d7fd33,
+0x68b83388,0x0f02f013,0x46216a42,0x43a4f240,0xf444bf1c,0x43217400,
+0xd002429a,0x6f96f5b2,0xf8b7d11f,0x051b3384,0xf5b30d1b,0xdb187f00,
+0xf2446b02,0x429a3322,0x6b43d113,0xf8b5b98b,0xf444349e,0xb29b5480,
+0x5380f443,0x349ef8a5,0x349cf8b5,0xf4234321,0x041b5380,0xf8a50c1b,
+0x4622349c,0x68b82300,0xf89cf7db,0x49c24640,0x47984bc2,0x080cf8d7,
+0x25002406,0x3844f8d7,0x6b19022a,0x4200f442,0xb2925d4b,0xb29b18e3,
+0xea443b01,0xb29b2303,0x2540f8a0,0x3520f8a0,0x2540f8a0,0x35015d4b,
+0x2d0618e3,0xd1e5b29c,0x780a784b,0xea424638,0x21982203,0xf9b2f7df,
+0x3844f8d7,0x6b1b4638,0x78dc219a,0xea42789a,0xf7df2204,0xf8d7f9a7,
+0x46383844,0x219c6b1b,0x791a795c,0x2204ea42,0xf99cf7df,0x219e4638,
+0xf7df2200,0x4ca2f997,0x21984638,0x027af10d,0x47a0462b,0xf8d72400,
+0x6b193844,0x037af10d,0x5d0b5ce2,0xd004429a,0xf24b489a,0xf7da11a4,
+0x3401fc23,0xd1ee2c06,0x3120f8d6,0x3ffff1b3,0x4894d104,0x11a9f24b,
+0xfc16f7da,0x21804638,0xf7df2208,0x4638f96f,0x220a215c,0xf96af7df,
+0x7380f04f,0x3100f8c6,0xf44f4638,0x22002180,0xfbaef7df,0x3100f44f,
+0x4638460a,0xfba8f7df,0x2392f642,0x46385afa,0xf7df2174,0xf897f953,
+0xf2423d48,0x21827210,0xbf182b00,0x62bcf44f,0xf7df4638,0xf642f947,
+0x5cf933c7,0x4638b111,0xfa4cf7df,0x07e8f8d7,0xfb28f7e6,0x4300f04f,
+0x3188f8c6,0x4302f103,0x318cf8c6,0x4380f44f,0xf8c62110,0xf5033128,
+0x460a4340,0x68b86273,0xf80cf7db,0xf7fe68b8,0xb283f967,0x0824f8a7,
+0xf8a62100,0x463836a8,0xfa3cf7df,0x46042102,0xf7df4638,0xea40fa37,
+0xf8c74004,0x2156082c,0xf7df4638,0xf507fa2f,0x004053a3,0xf8d76018,
+0x2b003830,0x4638da07,0xf7df21b2,0xf241fa23,0x00404364,0x463850f8,
+0x88ba2116,0xf8faf7df,0x21c04638,0x2830f8b7,0xf8f4f7df,0x21c24638,
+0x2832f8b7,0xf8eef7df,0x46384b4f,0x3160f8c6,0x23cef642,0x21445afb,
+0x3164f8c6,0x24004b4b,0x3160f8c6,0x23d0f642,0xf8c65afb,0xf6423164,
+0x5afa23d2,0xf8d6f7df,0x23d4f642,0x5afa2146,0xf7df4638,0x4638f8cf,
+0xf994f7df,0xf7e04638,0xeb07fe09,0xf8d30384,0xb1111dd0,0xf7e54638,
+0x3401fdff,0xd1f42c04,0x5154f507,0x31344638,0xfa84f7df,0xf7e94638,
+0x2200fdf7,0x030cf641,0x461450fa,0x0384eb07,0x0778f8d3,0x6843b108,
+0x34014798,0xd1f52c06,0x0778f8d7,0x47986c43,0x0778f8d7,0x47986e03,
+0x380cf8d7,0x23e0f8b3,0x3848f8d7,0x2203f3c2,0x681b681b,0xd004429a,
+0xf2424820,0xf7da01ef,0xf8d7fb2f,0xf5071848,0x317064e8,0xf7df4638,
+0x4620f8f1,0x4b17491c,0xf8d74798,0x25013848,0xf0006818,0xf642fb83,
+0x5af9431a,0x4b174638,0x5714f887,0xf8d74798,0x46383848,0x1134f8b3,
+0xffccf7de,0x3848f8d7,0xf8b34638,0xf7de1136,0xf642ffef,0x5cf933c7,
+0xf7df4638,0x4638f96b,0xfd12f7df,0x3848f8d7,0x681b2152,0x46c0e010,
+0x00026fcc,0x0001d869,0x0001d4ad,0x00021040,0x00020006,0x00020007,
+0x00027d4c,0x0001d4fd,0x881a4638,0xf842f7df,0x3848f8d7,0x681b2150,
+0x889a4638,0xf83af7df,0xf7e04638,0xf897ff8d,0x4a443023,0xbf0c2b00,
+0x74faf44f,0x7496f44f,0x3848f8d7,0x691b681b,0x437ff023,0xd1044293,
+0x6f16f5b4,0xf44fbf38,0x46386416,0x46222194,0xf81cf7df,0x3848f8d7,
+0x69fb735d,0xf8d7b163,0x4638280c,0x3688f8b2,0xb29b2100,0x0304f043,
+0x3688f8a2,0xfe1ef7e0,0x33fff04f,0x605cf507,0x3dc0f8a7,0x21003002,
+0xf7db220c,0x69fbfb67,0xf04fb923,0xf8a733ff,0xe00d3dc4,0x030ff04f,
+0x3dc2f8a7,0x03f0f04f,0x3dc4f8a7,0x6370f44f,0x3dc6f8a7,0x0300f24f,
+0x3dc8f8a7,0x37c8f8d7,0xf0434638,0xf8c70304,0xf7df37c8,0xf8d7fa4b,
+0x4659073c,0xfc66f7de,0xb13b6abb,0x62b92100,0x073cf8d7,0x32fff04f,
+0xfa96f7de,0xf8872300,0x687b3dce,0xd9042b09,0x280cf8d7,0xf8c24b0e,
+0x240233dc,0x4d18f887,0x4d1af887,0xf9974638,0xf7de103c,0xf1bafed3,
+0xd1030f00,0x46214638,0xff02f7df,0x3848f8d7,0xf7f16818,0xb021fce7,
+0x8ff0e8bd,0x00082050,0x00989680,0x6800b510,0xf85cf7ff,0x46c0bd10,
+0x41f0e92d,0x46076805,0xf7ff4628,0xf642f955,0x5aeb23bc,0xb9734606,
+0x46282101,0xf8bcf7ea,0x46284604,0xff86f7df,0x46214628,0xfc52f7e5,
+0xf7df4628,0x2300f9f3,0x7290f241,0xf24150ab,0xf04f738c,0x52ea02ff,
+0x4638b916,0xf804f000,0xe8bd4630,0x46c081f0,0x4604b510,0xb0866800,
+0xb1bb6b43,0x32c4f8d4,0xd1132b02,0x2210ab06,0x2d04f843,0x23049300,
+0x93012200,0x93022301,0x46134907,0xf7e59203,0x21fffb21,0x460a4620,
+0xfc32f7eb,0xf7e06820,0x2000ffdf,0xbd10b006,0x00021a85,0x2100b500,
+0x32fff04f,0x4300f06f,0xf880468e,0xf8a01039,0xf8c02cde,0xf8a03664,
+0xf8a02660,0xf880226e,0xf8a02cdc,0xe00b2252,0xf04f3201,0x2a0933ff,
+0x3b01f801,0xf10ed1f8,0xf1be0e01,0xd0080f20,0xfb0e2309,0xf503f303,
+0x18c36396,0x22001c99,0xbd00e7ea,0xf8802301,0x47703037,0x47702000,
+0xb5106c83,0x3120f8d3,0x0f01f013,0x4803d004,0x21a9f242,0xf9b4f7da,
+0x46c0bd10,0x0002299e,0x4ff0e92d,0xb0894e53,0x25004607,0xf240e00b,
+0x93004356,0x46384631,0x4255f240,0x4c4e3301,0x350147a0,0x4b4d3614,
+0x429d681b,0x6bf8d3ef,0xfe4cf7de,0xd1492802,0xf7de6bf8,0x2307fe47,
+0x33199304,0x23019306,0xab079303,0xbf142801,0x0b70f04f,0x0b10f04f,
+0xf04f9302,0xf04f0900,0x493f0ac0,0x0808f10d,0x0401eb09,0x78a27863,
+0xea43021b,0xf8194302,0xf2402001,0x43134656,0x630bea43,0xf8cd9307,
+0x4638a014,0xf2404641,0xf2404255,0x4d304357,0x47a89600,0x792278e3,
+0xea43071b,0x93075302,0x0380f10a,0x96009305,0x46414638,0x4255f240,
+0x4357f240,0x0905f109,0xf5b947a8,0xf10a7f20,0xd1ca0a01,0x689b6c7b,
+0xf2406a5a,0x429a5304,0x3baed108,0x46389300,0xf2404920,0x33014255,
+0x47a04c1b,0x93042307,0x93063319,0x93032301,0xab072500,0xe0119302,
+0x220a014b,0xf3f2fb93,0xf5019307,0x93057310,0x4356f240,0x46389300,
+0xf240a902,0x33014255,0x47a04c0d,0x3501b2e9,0xd1e92d81,0xf7de6bf8,
+0x2802fdcd,0x4638d118,0x6189f44f,0x4200f44f,0xfcaaf7ed,0xf44f4638,
+0x22406182,0xfca4f7ed,0x46c0e018,0x00027f98,0x1e006fcd,0x000235c4,
+0x0002809c,0x00028394,0xf44f4638,0xf6476189,0xf7ed72ff,0x4638fc87,
+0x6182f44f,0x72bff64f,0xfc80f7ed,0x7380f44f,0xf44f4638,0xf44f6189,
+0xf7ed7240,0x4638fc8b,0xf2402250,0xf7ed4139,0x4638fc6b,0x413af240,
+0x4208f44f,0xfc64f7ed,0x22004638,0x413bf240,0xfc5ef7ed,0x22004638,
+0x413cf240,0xfc58f7ed,0x22004638,0x41e5f240,0xfc52f7ed,0x22004638,
+0x414cf240,0xfc4cf7ed,0x22004638,0x6196f44f,0xfc46f7ed,0x22004638,
+0x41f9f240,0xfc40f7ed,0x22004638,0x414ef240,0xfc3af7ed,0x3f5df897,
+0x22ff4638,0x4134f240,0xfc4cf7ed,0x22444638,0x414af240,0xfc3cf7ed,
+0x22804638,0x414af240,0xfc26f7ed,0xf2404638,0xf64a413d,0xf7ed1254,
+0xf897fc1f,0xf8972f5e,0xf4423f5f,0xea425200,0xf8971203,0x46383f60,
+0x2283ea42,0x413ef240,0xf7edb292,0x4638fc0d,0x4127f240,0x4260f44f,
+0x43c0f44f,0xfc1ef7ed,0x220f4638,0xf44f230a,0xf7ed6185,0x4638fc17,
+0x6184f44f,0x427ff44f,0x53f0f44f,0xfc0ef7ed,0x46382201,0xf2404613,
+0xf7ed510e,0x2332fc07,0xf2404638,0xf44f510e,0xf7ed72ff,0x2201fbff,
+0x46134638,0x510af240,0xfbf8f7ed,0x463823a4,0xf24022ff,0xf7ed4116,
+0x4638fbf1,0x514bf240,0x0233f246,0xfbd0f7ed,0x22ff4638,0xf2402346,
+0xf7ed4123,0x4638fbe3,0x4123f240,0x427ff44f,0x5334f44f,0xfbdaf7ed,
+0x22ff4638,0xf2402306,0xf7ed4125,0x4638fbd3,0x4125f240,0x427ff44f,
+0x43bef44f,0xfbcaf7ed,0x220f4638,0xf240230a,0xf7ed4126,0x4638fbc3,
+0x23002208,0x515af240,0xfbbcf7ed,0x22ff4638,0xf44f2312,0xf7ed6184,
+0x4638fbb5,0x4124f240,0x427ff44f,0x53e8f44f,0xfbacf7ed,0x220f4638,
+0xf2402309,0xf7ed4129,0x4638fba5,0x4112f240,0x427ff44f,0x5340f44f,
+0xfb9cf7ed,0x23004638,0x4127f240,0x52f8f44f,0xfb94f7ed,0x463822ff,
+0xf2404613,0xf7ed4134,0x4638fb8d,0x41dff240,0x427ff44f,0x4374f44f,
+0xfb84f7ed,0x22ff4638,0xf2402300,0xf7ed5145,0x4638fb7d,0x4392f44f,
+0x5145f240,0x427ff44f,0xfb74f7ed,0x22034638,0x6156f240,0xfb54f7ed,
+0xf44f4638,0xf2406340,0xf44f41ff,0xf7ed427c,0x4638fb65,0xf240226c,
+0xf7ed411f,0x4638fb45,0x230c227f,0x510ff240,0xfb58f7ed,0x22ff4638,
+0xf240230c,0xf7ed6134,0x4638fb51,0xf44f2217,0xf7ed61c1,0x4638fb31,
+0x6104f240,0x32eaf240,0xfb2af7ed,0xe8bdb009,0x46c08ff0,0xf890b570,
+0x46045038,0xd1572d00,0x6c832601,0x6038f880,0x3120f8d3,0x0f01f013,
+0x4828d004,0x2141f242,0xff86f7d9,0xf8c46c63,0x68985d24,0x462a4629,
+0xfbbcf7da,0x0f04f010,0x4820d104,0x214bf242,0xff76f7d9,0x46314620,
+0x47984b1d,0x8da16be0,0xf7e9462a,0xb938fdc9,0x6be04631,0xfdf0f7e9,
+0x46204601,0xfc16f7ed,0xf4038da3,0xf5b36340,0xbf146f40,0x21282114,
+0x3030f894,0xd0024299,0xf7df6be0,0x4631feeb,0xf7ed4620,0x4620fba9,
+0xf818f000,0xf8844620,0xf7ee5037,0x6963fdb9,0x6919462a,0xf7ed4620,
+0x6963fc33,0x7d194620,0xf9faf7ee,0x5038f884,0x46c0bd70,0x0002299e,
+0x0001ea19,0x47f0e92d,0xf7ef4607,0x2101f8a1,0xf7ed4638,0x4638fb0b,
+0xfd7af7ff,0x41a2f240,0x46382202,0xf8d74ca8,0xf7ed903c,0x2001fabd,
+0x463847a0,0x41a2f240,0x72fdf64f,0xfaaaf7ed,0x47a02001,0x6bf84ca1,
+0xf7deb170,0x2801fbc7,0xf834d10a,0xf4111c04,0xd0114f00,0xf8140489,
+0x46382c02,0xe0090c89,0x1c04f834,0x4f80f411,0x0489d006,0x2c01f814,
+0x0c894638,0xfa78f7ed,0x2b04f834,0x73fff64f,0xd1dc429a,0x22002120,
+0xf7ed4638,0x2108fa6d,0x46382238,0xff70f7ed,0x22562157,0xf7ed4638,
+0x2300fa63,0x220221f3,0xf7ed4638,0x2152ff4d,0x46382200,0xfa58f7ed,
+0x21402220,0xf7ed4638,0xf241fa53,0x58fa33b8,0x3ffff1b2,0x4638d003,
+0xb2922143,0x4638e002,0x22ff2143,0xfa44f7ed,0x22822105,0xf7ed4638,
+0x2140fa3f,0x46382250,0xfa3af7ed,0x22802143,0xf7ed4638,0x214efa35,
+0x46382215,0xfa30f7ed,0x2215214f,0xf7ed4638,0x214dfa2b,0x46382215,
+0xfa26f7ed,0x210423ff,0x463822f8,0xff10f7ed,0x22ff2105,0xf7ed4638,
+0x2106fa1b,0x463822ff,0xfa16f7ed,0x46382107,0xf7ed22ff,0x2108fa11,
+0x22074638,0xf7ed23ff,0xf04ffefb,0x4c5c0800,0xf8384638,0x44446004,
+0x796578a3,0x409d78e1,0xff2af7ed,0x78a27923,0xf303fa50,0x4093b29b,
+0x4638b2ad,0x462a4631,0xf108b29b,0xf7ed0806,0xf1b8fa15,0xd1e20fc6,
+0x21042300,0x463822f8,0xfed6f7ed,0x22002105,0xf7ed4638,0x2106f9e1,
+0x46382200,0xf9dcf7ed,0x22002107,0xf7ed4638,0x2300f9d7,0x22072108,
+0xf7ed4638,0x4638fec1,0x619ef44f,0x42bff44f,0xf9d6f7ed,0x46382200,
+0x41f1f240,0xf9d0f7ed,0x23032207,0xf2404638,0xf7ed41ea,0x2302f9e3,
+0x46382207,0x41ebf240,0xf9dcf7ed,0xf44f221f,0x4638719c,0xf9b0f7ed,
+0x073cf8d9,0xf81cf7de,0x46046c7b,0x68986c99,0xff90f7da,0x073cf8d9,
+0xf7de4621,0x2181f80b,0xf7ed4638,0x2181fec9,0x22044606,0xf7ed4638,
+0x213af997,0xf7ed4638,0x213afebf,0x46052200,0xf7ed4638,0x215af98d,
+0x4638227e,0xf988f7ed,0x22f7211a,0xf7ed4638,0x215afe9d,0x4638227c,
+0xf97ef7ed,0x2215215b,0xf7ed4638,0x2270f979,0x4638215c,0xf974f7ed,
+0x2dc8f8d7,0x429a4b11,0x4638d103,0x22a0215d,0x4b0fe005,0xd104429a,
+0x215d4638,0xf7ed2252,0x4638f963,0x2201215e,0xf95ef7ed,0x215a4638,
+0xf7ed227d,0x2032f959,0x47984b01,0xe00f4c05,0x1e005d75,0x00028710,
+0x00028bb0,0x0249f000,0x01c9c380,0x00989689,0x4b33200a,0x3c0a4798,
+0x4638215f,0xfe6cf7ed,0x0f02f010,0x2c09d101,0x215fd1f2,0xf7ed4638,
+0xf010fe63,0xd1040f02,0x213a4638,0xf7edb2ea,0x2155f92f,0xf7ed4638,
+0x2155fe57,0x46052200,0xf7ed4638,0x215af925,0x4638227e,0xf920f7ed,
+0x227c215a,0xf7ed4638,0x215bf91b,0x46382255,0xf916f7ed,0x215c2276,
+0xf7ed4638,0xf8d7f911,0x4b182dc8,0xd108429a,0x215d4638,0xf7ed22fc,
+0x4638f907,0x2200215e,0x4b13e015,0xd103429a,0x215d4638,0xe0092296,
+0x429a4b10,0x4638d103,0x223d215d,0x4638e002,0x2213215d,0xf8f0f7ed,
+0x215e4638,0xf7ed2201,0x4638f8eb,0x227d215a,0xf8e6f7ed,0x4b022032,
+0x4c054798,0x46c0e00e,0x1e005d75,0x016e3600,0x0249f000,0x01c9c380,
+0x00989689,0x4bb1200a,0x3c0a4798,0x4638215f,0xfdfaf7ed,0x0f02f010,
+0x2c09d101,0x215fd1f2,0xf7ed4638,0xf010fdf1,0xd1040f02,0x21554638,
+0xf7edb2ea,0x4638f8bd,0x227e215a,0xf8b8f7ed,0x21814638,0xf7edb2f2,
+0x223ff8b3,0x21554638,0xf8aef7ed,0x8db94638,0xff30f7ee,0x46388db9,
+0xfd50f7ee,0xf7ed4638,0x4638fc9f,0xfc10f7ed,0xf7f04638,0x4638f839,
+0xfba2f7f1,0x187a2100,0x31c9f892,0x292d3101,0x3fa0f882,0x4638d1f7,
+0xfd5cf7ef,0xf7ee4638,0x4638f897,0xfb90f7f1,0x463822bf,0x61aef44f,
+0xf88ef7ed,0x463822ff,0x5171f240,0xf888f7ed,0xf2404638,0xf64f5172,
+0xf7ed7233,0x4638f881,0x5173f240,0x7243f64f,0xf87af7ed,0x463822cc,
+0x5174f240,0xf874f7ed,0xf2404638,0xf44f5175,0xf7ed7280,0x2200f86d,
+0xf2404638,0xf7ed5176,0x2200f867,0xf2404638,0xf7ed5177,0x2200f861,
+0xf44f4638,0xf7ed61af,0x2200f85b,0xf2404638,0xf7ed5179,0x2278f855,
+0xf44f4638,0xf7ed61bc,0x4638f84f,0x51e1f240,0x72c1f64f,0xf848f7ed,
+0xf2404638,0xf44f51e2,0xf7ed7280,0x4638f841,0x51e3f240,0x72c1f64f,
+0xf83af7ed,0x46382278,0x51e4f240,0xf834f7ed,0xf2404638,0xf64f51e5,
+0xf7ed727a,0x4638f82d,0x51e6f240,0x72eef64f,0xf826f7ed,0x46382200,
+0x51e7f240,0xf820f7ed,0xf44f4638,0x221261bd,0xf81af7ed,0x46382286,
+0x51e9f240,0xf814f7ed,0x4638228f,0x51eaf240,0xf80ef7ed,0xf2404638,
+0xf64f51eb,0xf7ed727b,0x2201f807,0xf2404638,0xf7ed51ec,0x4638f801,
+0x51edf240,0x72f8f64f,0xfffaf7ec,0x463822fb,0x51eef240,0xfff4f7ec,
+0xf2404638,0xf64f51ef,0xf7ec72db,0x224effed,0xf44f4638,0xf7ec61be,
+0x4638ffe7,0x51f1f240,0x72ebf64f,0xffe0f7ec,0xf2404638,0xf64f51f2,
+0xf7ec72bb,0x2231ffd9,0xf2404638,0xf7ec51f3,0x2280ffd3,0x46384613,
+0x6131f240,0xffe6f7ec,0x5280f44f,0x46384613,0x61daf240,0xffdef7ec,
+0x22402300,0xf2404638,0xf7ec6131,0x4638ffd7,0x612cf240,0x72fff647,
+0xffb6f7ec,0x72fff647,0xf2404638,0xf7ec612d,0xf241ffaf,0xf8a73388,
+0x21a53f72,0xf7ed4638,0x218efcc7,0x0fd0f8a7,0xf7ed4638,0x21a2fcc1,
+0x0fd2f8a7,0xf7ed4638,0x2194fcbb,0x0fd4f8a7,0xf7ed4638,0x2193fcb5,
+0x0fd6f8a7,0xf7ed4638,0x21a4fcaf,0x0fd8f8a7,0xf7ed4638,0x21a3fca9,
+0x0fdaf8a7,0xf7ed4638,0xf8a7fca3,0xe8bd0fdc,0x46c087f0,0x1e005d75,
+0x47702000,0x41f0e92d,0xf241461e,0x58c4435c,0x8aa3460f,0xb11b4615,
+0x21e64817,0xfbe0f7d9,0xf0136a23,0xd0030f03,0x21e74813,0xfbd8f7d9,
+0x2b096a63,0x4810d903,0xf7d921e8,0x6a62fbd1,0xd9062a09,0x21eb480c,
+0xfbcaf7d9,0x30fff04f,0x1c53e010,0x9b066263,0x1202eb04,0x9b076313,
+0x63536295,0x6a2262d6,0x19db1cd3,0x0303f023,0x46106223,0x81f0e8bd,
+0x00022c1c,0xf241b537,0x5903445c,0x68194605,0xf7f5a801,0x592bfa81,
+0xe00d681c,0xf7f54620,0xf8d4fa8d,0xb91b30f8,0x46214628,0x47984b04,
+0xf7f5a801,0x4604fa5f,0xd1ef2c00,0x46c0bd3e,0x0001fb25,0x00000200,
+0x000000ff,0x0000000c,0x00000000,0x00200000,0x00000001,0x000d8020,
+0x00000000,0x00200000,0x00000001,0x000d8020,0x00000000,0x03012ee0,
+0x00090016,0x00ffffef,0x010232c8,0x000b0006,0x00483483,0x01033840,
+0x000a000a,0x001c71c7,0x01043c00,0x000b0005,0x00755555,0x01053f48,
+0x0005000a,0x006e9e06,0x010641a0,0x0005000a,0x003cf3cf,0x01074b00,
+0x000b0004,0x00755555,0x01084d58,0x0004000b,0x000a57eb,0x01094e20,
+0x0004000b,0x00000000,0x030a5dc0,0x000a000b,0x00000000,0x050b61a8,
+0x000b0010,0x00000000,0x010c6590,0x00100002,0x00ec4ec4,0x030d7530,
+0x000b0008,0x00000000,0x0c0e9600,0x01130001,0x00000000,0x010f9c40,
+0x000b0002,0x00000000,0x00000000,0x00000000,0x00000000,0x1501000d,
+0x00040160,0x03010005,0x00040164,0x00140000,0x00040124,0x00000004,
+0x00040128,0x00000000,0x0004012c,0x00000000,0x00040130,0x00000000,
+0x00040134,0x0070040a,0x00040134,0x00d4beef,0x00040134,0xff000005,
+0x00040134,0xff02ff01,0x00040130,0x00000018,0x00040134,0x00e0040a,
+0x00040134,0x0048beef,0x00040134,0xff000005,0x00040134,0xff02ff01,
+0x00040134,0x01181000,0x00040134,0x10000302,0x00040134,0xf3f2f118,
+0x00040134,0x0000ccbb,0x00040130,0x00000038,0x00040134,0x00000000,
+0x00040130,0x00000058,0x00040134,0x00000000,0x00040130,0x00000038,
+0x00040134,0x0700200f,0x00040134,0x00940000,0x00040134,0x90000000,
+0x00040134,0x77767574,0x00040134,0x00000000,0x00040134,0x00050000,
+0x00040134,0xffffffff,0x00040130,0x00000268,0x00040134,0x0033846e,
+0x00040134,0x0050badc,0x00040134,0xab0000d4,0x00040134,0xdabadaba,
+0x00040134,0xf1181000,0x00040134,0x1000f3f2,0x00040134,0xf3f2f118,
+0x00040134,0x00000010,0x00040134,0x00000000,0x00040134,0x000a0000,
+0x00040134,0x0e000001,0x00040134,0x4d435242,0x00040134,0x5345545f,
+0x00040134,0x53535f54,0x00040134,0x04014449,0x00040134,0x968b8482,
+0x00040134,0x06010103,0x00040134,0x00000002,0x00040130,0x00000068,
+0x00040134,0x0228040a,0x00040134,0x0080badc,0x00040134,0xffff0000,
+0x00040134,0xffffffff,0x00040134,0xf1181000,0x00040134,0x1000f3f2,
+0x00040134,0xf3f2f118,0x00040134,0x0000afd0,0x00040134,0x00000000,
+0x00040134,0x01000000,0x00040134,0x0e000002,0x00040134,0x4d435242,
+0x00040134,0x5345545f,0x00040134,0x53535f54,0x00040134,0x04014449,
+0x00040134,0x968b8482,0x00040134,0x06010103,0x00040134,0x00000102,
+0x00040130,0x00000468,0x00040134,0x0228040a,0x00040134,0x0080badc,
+0x00040134,0xffff0000,0x00040134,0xffffffff,0x00040134,0xf1181000,
+0x00040134,0x1000f3f2,0x00040134,0xf3f2f118,0x00040134,0x0000afd0,
+0x00040134,0x00000000,0x00040134,0x01000000,0x00040134,0x0e000002,
+0x00040134,0x4d435242,0x00040134,0x5345545f,0x00040134,0x53535f54,
+0x00040134,0x04014449,0x00040134,0x968b8482,0x00040134,0x06010103,
+0x00040134,0x00000102,0x00040100,0x01000000,0x00020490,0x00000000,
+0x000204a0,0x0000f3f1,0x000204b0,0x0000fdef,0x000204a8,0x0000ffff,
+0x000204a8,0x00000000,0x000204aa,0x00000000,0x000204a4,0x00001acf,
+0x000204ac,0x00000000,0x000204bc,0x00000000,0x000204a6,0x000002c7,
+0x000204b6,0x0000fdff,0x000204ae,0x0000ffff,0x00020406,0x00000001,
+0x00020406,0x00000000,0x0002040c,0x00000014,0x00020406,0x00000000,
+0x00020448,0x00000c00,0x00020402,0x00000630,0x00020502,0x00000000,
+0x00020500,0x00004000,0x00020502,0x00000004,0x00020500,0x00004000,
+0x00020502,0x00000008,0x00020500,0x00004000,0x00020502,0x0000000c,
+0x00020500,0x00004000,0x00020502,0x000000c0,0x00020580,0x0000ffff,
+0x00020582,0x0000ffff,0x00020584,0x0000ffff,0x00020586,0x0000ffff,
+0x00020588,0x0000ffff,0x0002059c,0x0000fff0,0x00020540,0x00008000,
+0x00020520,0x00000f06,0x00020540,0x00008000,0x00020540,0x00008100,
+0x00020520,0x00001d10,0x00020540,0x00008100,0x00020540,0x00008200,
+0x00020520,0x0000281e,0x00020540,0x00008200,0x00020540,0x00008300,
+0x00020520,0x00003129,0x00020540,0x00008300,0x00020540,0x00008400,
+0x00020520,0x00003f32,0x00020540,0x00008400,0x00020540,0x00008500,
+0x00020520,0x00004140,0x00020540,0x00008500,0x00020612,0x00000001,
+0x0002062e,0x0000a2e9,0x00020630,0x0000000b,0x00020600,0x00008004,
+0x00020696,0x00000008,0x0002069a,0x000000e4,0x00020688,0x00000000,
+0x0002069c,0x00000002,0x00020688,0x00001000,0x0002069c,0x00000002,
+0x00020688,0x00002000,0x0002069c,0x00000002,0x00020688,0x00003000,
+0x0002069c,0x00000002,0x00020688,0x00000f0b,0x0002069e,0x00000007,
+0x00020510,0x0000000b,0x00020450,0x00004e01,0x00020452,0x0000015b,
+0x000204e4,0x00000090,0x00040160,0x03010004,0x00040164,0x00000000,
+0x00040164,0x00000080,0x00040164,0x00470047,0x00040164,0x00640000,
+0x00040164,0x00400930,0x00040160,0x0301000d,0x00040164,0x00020002,
+0x00040164,0x00040001,0x00040164,0x00000005,0x00040160,0x03010011,
+0x00040164,0x00640064,0x00040164,0x0047000e,0x00040164,0x00002800,
+0x00040160,0x03010015,0x00040164,0x06b40000,0x00040164,0xffffffff,
+0x00040164,0x0000000a,0x00040160,0x0301001d,0x00040164,0x00002710,
+0x00040164,0x08d80000,0x00040160,0x03010020,0x00040164,0x27100006,
+0x00040160,0x03010024,0x00040164,0x08ee0000,0x00040164,0x00320000,
+0x00040164,0x090b0e0a,0x00040164,0x0000020e,0x00040160,0x03010029,
+0x00040164,0x013f0000,0x00040164,0x0c00ffff,0x00040164,0x7b420474,
+0x00040164,0x08640002,0x00040160,0x0301002e,0x00040164,0x80000000,
+0x00040160,0x03010058,0x00040164,0x4d435242,0x00040164,0x5345545f,
+0x00040164,0x53535f54,0x00040164,0x00004449,0x00040160,0x03010060,
+0x00040164,0x00000039,0x00040164,0x00000050,0x00040164,0x000000c0,
+0x00040160,0x03010070,0x00040164,0x03f803f8,0x00040164,0x03f803f8,
+0x00040164,0x03f803f8,0x00040164,0x03f803f8,0x00040164,0x04200434,
+0x00040164,0x03f8040c,0x00040164,0x042a043e,0x00040164,0x04020416,
+0x00040164,0x03f803f8,0x00040164,0x03f803f8,0x00040164,0x03f803f8,
+0x00040164,0x03f803f8,0x00040164,0x04200434,0x00040164,0x03f8040c,
+0x00040164,0x042a043e,0x00040164,0x04020416,0x00040164,0x04480448,
+0x00040164,0x04480448,0x00040164,0x04480453,0x00040164,0x045e0448,
+0x00040164,0x04480448,0x00040164,0x04480448,0x00040164,0x04480448,
+0x00040164,0x04480469,0x00040164,0x04480448,0x00040164,0x04480448,
+0x00040164,0x04480453,0x00040164,0x045e0448,0x00040164,0x04480448,
+0x00040164,0x04480448,0x00040164,0x04480448,0x00040164,0x04480469,
+0x00040164,0x001f0000,0x00040164,0x001f03ff,0x00040164,0x00000002,
+0x00040164,0x00000002,0x00040160,0x03010098,0x00040164,0x001f0000,
+0x00040164,0x001f03ff,0x00040164,0x00000001,0x00040164,0x00000001,
+0x00040160,0x030100a0,0x00040164,0x001f0000,0x00040164,0x001f03ff,
+0x00040164,0x00000001,0x00040164,0x00000001,0x00040160,0x030100a8,
+0x00040164,0x001f0000,0x00040164,0x001f03ff,0x00040164,0x00000001,
+0x00040164,0x00000001,0x00040160,0x030100c0,0x00040164,0x24372437,
+0x00040164,0x24372437,0x00040160,0x03010192,0x00040164,0x0000048c,
+0x00040160,0x030101a0,0x00040164,0xffffffff,0x00040164,0xffffffff,
+0x00040164,0xffffffff,0x00040164,0xffffffff,0x00040164,0xffffffff,
+0x00040164,0xffffffff,0x00040164,0xffffffff,0x00040164,0xffffffff,
+0x00040160,0x030101fc,0x00040164,0x01cb0020,0x00040164,0x00540000,
+0x00040164,0x08ab0000,0x00040164,0x04100000,0x00040164,0x00020084,
+0x00040164,0x01cf0014,0x00040164,0x00440002,0x00040164,0x08af0000,
+0x00040164,0x04100002,0x00040164,0x02020064,0x00040164,0x01ca0010,
+0x00040164,0x003c0002,0x00040164,0x08aa0000,0x00040164,0x04100002,
+0x00040164,0x08020054,0x00040164,0x01ce0008,0x00040164,0x00340000,
+0x00040164,0x08ae0000,0x00040164,0x04100000,0x00040164,0x0a020044,
+0x00040164,0x01c90008,0x00040164,0x00300002,0x00040164,0x08a90000,
+0x00040164,0x04100002,0x00040164,0x1002003c,0x00040164,0x01cd0004,
+0x00040164,0x002c0000,0x00040164,0x08ad0000,0x00040164,0x04100000,
+0x00040164,0x12020034,0x00040164,0x01c80004,0x00040164,0x002c0000,
+0x00040164,0x08a80000,0x00040164,0x04100000,0x00040164,0x19020030,
+0x00040164,0x01cc0000,0x00040164,0x002c0002,0x00040164,0x08ac0000,
+0x00040164,0x04100002,0x00040164,0x1a020030,0x00040164,0x040a00c0,
+0x00040164,0x00000070,0x00040164,0x040a013a,0x00040164,0xc02c0228,
+0x00040164,0x040a02f2,0x00040164,0x00600100,0x00040164,0x00380414,
+0x00040164,0x01020000,0x00040164,0x01140414,0x00040164,0x01dec02c,
+0x00040164,0x00800414,0x00040164,0x04370022,0x00040164,0x00000015,
+0x00040164,0x043700df,0x00040164,0xc02c0065,0x00040164,0x0437012e,
+0x00040164,0x0011002f,0x00040164,0x000b846e,0x00040164,0x00d40000,
+0x00040164,0x0033846e,0x00040164,0x00fcc02c,0x00040164,0x0018846e,
+0x00040164,0x9d8a0002,0x00040164,0x080200fb,0x00040164,0x00fa4ec5,
+0x00040164,0x34830a02,0x00040164,0x100200fe,0x00040164,0x00f92762,
+0x00040164,0x1a421202,0x00040164,0x190200fd,0x00040164,0x00f813b1,
+0x00040164,0x11811a02,0x00040164,0x1c0200fc,0x00040164,0x00fc0fc1,
+0x00040160,0x03010346,0x00040164,0x00000207,0x00040160,0x0301034e,
+0x00040164,0x00010000,0x00040160,0x03010350,0x00040164,0x000c0000,
+0x00040160,0x0301046c,0x00040164,0xeb300035,0x00040164,0x4444eb24,
+0x00040164,0x40200000,0x00040164,0x10080020,0x00040164,0xde5e0008,
+0x00040164,0xe331e832,0x00040164,0x00264d26,0x00040164,0x00201420,
+0x00040164,0x0008fe08,0x00040164,0x00180000,0x00040160,0x03010477,
+0x00040164,0x1d4c0bb8,0x00040164,0x00640ea6,0x00040164,0x01f40000,
+0x00040164,0x00000041,0x00040164,0x3a9861a8,0x00040164,0x001e0000,
+0x00040160,0x0301047f,0x00040164,0x0000c350,0x00040160,0x03010481,
+0x00040164,0x05140000,0x00040164,0x00002008,0x00040160,0x03010485,
+0x00040164,0x00004e20,0x00040164,0x000f0000,0x00040164,0x000601f4,
+0x00040160,0x0301048b,0x00040164,0x00010000,0x00040164,0x00060000,
+0x00040164,0x000f0002,0x00040164,0x0000afc8,0x00040164,0x00001388,
+0x00040164,0x000f17ec,0x00040160,0x03010492,0x00040164,0x012c0000,
+0x00040164,0x0fa00000,0x00040160,0x030104c3,0x00040164,0x00070000,
+0x00040164,0x001e0014,0x00040160,0x030104d1,0x00040164,0x00be0000,
+0x00040160,0x00020003,0x00040164,0x0000001f,0x00040160,0x00020004,
+0x00040164,0x000003ff,0x00040160,0x00020005,0x00040164,0x0000001f,
+0x00040160,0x00020006,0x00040164,0x00000007,0x00040160,0x00020007,
+0x00040164,0x00000004,0x00040160,0x00020008,0x00040164,0x0000ffff,
+0x00040160,0x00020009,0x00040164,0x00000000,0x00040160,0x0002000a,
+0x00040164,0x00000000,0x00040160,0x0002000b,0x00040164,0x00000000,
+0x00040160,0x0002000c,0x00040164,0x00000000,0x00040160,0x0002000d,
+0x00040164,0x00000000,0x00040160,0x0002000e,0x00040164,0x00000000,
+0x00040160,0x0002000f,0x00040164,0x00000000,0x00040160,0x00020010,
+0x00040164,0x0000001f,0x00040160,0x00020011,0x00040164,0x00000000,
+0x00040160,0x00020012,0x00040164,0x00000000,0x00040160,0x00020013,
+0x00040164,0x00000000,0x00040160,0x00020015,0x00040164,0x00000000,
+0x00040160,0x00020016,0x00040164,0x00000000,0x0000ffff,0x00000000,
+0x00020686,0x000009d0,0x00020680,0x00003e3e,0x00020682,0x0000023e,
+0x00020700,0x0000003c,0x00020684,0x00000212,0x00040160,0x00010003,
+0x00020164,0x000000c0,0x00040160,0x00010003,0x00020166,0x0000000a,
+0x00040160,0x00010004,0x00020164,0x00000014,0x00040160,0x00010007,
+0x00020164,0x00000183,0x00040160,0x00010025,0x00020164,0x000001f4,
+0x00040160,0x000104d2,0x00020166,0x0000042b,0x00040160,0x000104d3,
+0x00020164,0x00000100,0x00040160,0x000101fe,0x00020164,0x0000003c,
+0x00040160,0x00010203,0x00020164,0x00000034,0x00040160,0x00010208,
+0x00020164,0x00000030,0x00040160,0x0001020d,0x00020164,0x0000002c,
+0x00040160,0x00010212,0x00020164,0x0000002c,0x00040160,0x00010217,
+0x00020164,0x00000028,0x00040160,0x0001021c,0x00020164,0x00000028,
+0x00040160,0x00010221,0x00020164,0x00000028,0x0000ffff,0x00000000,
+0x1f29365f,0x1f29365f,0x1f29365f,0x1f29365f,0x03000200,0x06000400,
+0x0b000800,0x10011000,0x10031002,0x10051004,0x10071006,0x20071707,
+0x40072d07,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x03000200,0x06000400,0x0b000800,0x10011000,
+0x10031002,0x10051004,0x10071006,0x20071707,0x40072d07,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x19130d07,0x0d0905fc,
+0x0a060401,0x14120f0c,0x000c0600,0x00120000,0x00180000,0x00000000,
+0x00000000,0x00000000,0x001e0000,0x00000000,0x09060300,0x15120f0c,
+0x001e1b18,0x00000000,0x0000e803,0x1e00cb5c,0x00000040,0x00000002,
+0x00000000,0x00000010,0x1e00cbdc,0x00000028,0x00000001,0x00000000,
+0x00000010,0x0002836c,0x0000000a,0x0000000b,0x00000000,0x00000020,
+0x0002831c,0x00000014,0x0000000c,0x00000000,0x00000020,0x000235c8,
+0x00000094,0x0000000d,0x00000000,0x00000020,0x00023158,0x0000001a,
+0x0000000e,0x00000000,0x00000010,0x00028428,0x00000040,0x0000000f,
+0x00000000,0x00000010,0x00027e6c,0x00000010,0x00000010,0x00000000,
+0x00000008,0x00027f54,0x00000044,0x00000011,0x00000000,0x00000008,
+0x00023444,0x00000060,0x00000012,0x00000000,0x00000010,0x000233dc,
+0x00000040,0x00000014,0x00000000,0x00000008,0x1e00ca28,0x0000009a,
+0x00000017,0x00000000,0x00000010,0x00027e7c,0x0000006c,0x00000000,
+0x00000000,0x00000010,0x00ffff07,0xfff60755,0xea075500,0x075500ff,
+0x5500ffdc,0x00f1dc07,0xf1d10755,0xc5075500,0x075500f1,0x5500f1bf,
+0x00f1ba07,0xf1b40755,0xaf075500,0x075500f1,0x5500f1aa,0x00f1a507,
+0xf1a10755,0x9c075500,0x075500f1,0x5500f198,0x00f19307,0xf18f0755,
+0x8b075500,0x075500f1,0x5500f187,0x00f18307,0xf1800755,0x7c075500,
+0x075500f1,0x5500f179,0x00f17507,0xf1720755,0x6f075500,0x075500f1,
+0x5500f16b,0x00f16807,0xf1650755,0x63075500,0x075500f1,0x5500f160,
+0x00f15d07,0xf15a0755,0x58075500,0x075500f1,0x5500f155,0x00f15307,
+0xf1510755,0x4e075500,0x075500f1,0x5500f14c,0x00f14a07,0xf1480755,
+0x46075500,0x075500f1,0x5500f144,0x00f14207,0xf1400755,0x3e075500,
+0x075500f1,0x5500f13c,0x00f13b07,0xea3b0755,0x39075500,0x075500ea,
+0x5500e339,0x00e33707,0xdd370755,0x36075500,0x075500dd,0x5500d736,
+0x00d73407,0xd0340755,0x33075500,0x075500d0,0x5500cb33,0x00cb3107,
+0xc5310755,0x30075500,0x075500c5,0x5500bf30,0x00bf2f07,0xba2f0755,
+0x2d075500,0x075500ba,0x5500b52d,0x00b52c07,0xaf2c0755,0x2b075500,
+0x075500af,0x5500aa2b,0x00aa2a07,0xa62a0755,0x28075500,0x075500a6,
+0x5500a128,0x00a12707,0x9c270755,0x26075500,0x0755009c,0x55009826,
+0x00982507,0x94250755,0x24075500,0x07550094,0x55008f24,0x008f2307,
+0x8b230755,0x22075500,0x0755008b,0x55008722,0x00872107,0x84210755,
+0x20075500,0x07550084,0x55008020,0x00801f07,0x7c1f0755,0x1e075500,
+0x0755007c,0x5500791e,0x00791d07,0x751d0755,0x1d075500,0x07550075,
+0x5500721d,0x00721c07,0x6f1c0755,0x1b075500,0x0755006f,0x55006c1b,
+0x006c1a07,0x681a0755,0x19075500,0x07550068,0x55006619,0x00661907,
+0x63190755,0x18075500,0x07550063,0x55006018,0x00601707,0x5d170755,
+0x17075500,0x0755005d,0x55005a17,0x005a1607,0x58160755,0x15075500,
+0x07550058,0x55005515,0x00551507,0x53150755,0x14075500,0x07550053,
+0x55005114,0x00511407,0x4e140755,0x13075500,0x0755004e,0x55004c13,
+0x00e38e08,0x00e08e38,0x00000000,0x00000000,0x00000000,0x00002080,
+0x00006180,0x00003002,0x00000040,0x00002042,0x00180047,0x00080043,
+0x00000041,0x000020c1,0x00046006,0x00042002,0x00040000,0x00002003,
+0x00180006,0x00080002,0x000141fc,0x000021fc,0x000021b7,0x0000416f,
+0x0001ff27,0x0000217f,0x00002137,0x000040ef,0x0001fea7,0x0000024f,
+0x000283a8,0x00000040,0x0000000f,0x00000000,0x00000010,0x01100120,
+0x00080001,0x00100020,0x00100020,0x01200120,0x00080001,0x00100020,
+0x00100020,0x00010001,0x00010001,0x00010001,0x00010001,0x00200020,
+0x00200020,0x00200020,0x00200020,0x01200120,0x00080001,0x00100020,
+0x00100020,0x01200120,0x00080001,0x00100020,0x00100020,0x00010001,
+0x00010001,0x00010001,0x00010001,0x00200020,0x00200020,0x00200020,
+0x00200020,0x01280128,0x00090009,0x00280028,0x00280028,0x01280128,
+0x00090009,0x00280028,0x00280028,0x00090009,0x00090009,0x00090009,
+0x00090009,0x00180018,0x00180018,0x00180018,0x00180018,0x01280128,
+0x00090009,0x00280028,0x00280028,0x01280128,0x00090009,0x00280028,
+0x00280028,0x00090009,0x00090009,0x00090009,0x00090009,0x00180018,
+0x00180018,0x00180018,0x00180018,0x325f4c50,0x64685f47,0x00000062,
+0x01030000,0x4c50001f,0x5f47355f,0x00626468,0x00000000,0x00200103,
+0x5f716672,0x00004732,0x00000000,0x01050000,0x66720006,0x47345f71,
+0x00000000,0x00000000,0x00080105,0x5f716672,0x6c5f4735,0x00000000,
+0x01050000,0x6672000a,0x47355f71,0x00006d5f,0x00000000,0x000c0105,
+0x5f716672,0x685f4735,0x00000000,0x01050000,0x6470000e,0x0047325f,
+0x00000000,0x00000000,0x00100105,0x345f6470,0x00000047,0x00000000,
+0x01050000,0x64700012,0x5f47355f,0x0000006c,0x00000000,0x00140105,
+0x355f6470,0x006d5f47,0x00000000,0x01050000,0x64700016,0x5f47355f,
+0x00000068,0x00000000,0x00180105,0x5f677874,0x00004732,0x00000000,
+0x01020000,0x7874001a,0x47345f67,0x00000000,0x00000000,0x001b0102,
+0x5f677874,0x6c5f4735,0x00000000,0x01020000,0x7874001c,0x47355f67,
+0x00006d5f,0x00000000,0x001d0102,0x5f677874,0x685f4735,0x00000000,
+0x01020000,0x4732001e,0x314c505f,0x6264685f,0x00000000,0x00240902,
+0x505f4732,0x685f324c,0x00006264,0x09020000,0x4732002d,0x334c505f,
+0x6264685f,0x00000000,0x00360902,0x505f4732,0x685f344c,0x00006264,
+0x09020000,0x4735003f,0x314c505f,0x6264685f,0x00000000,0x00480802,
+0x505f4735,0x685f324c,0x00006264,0x08020000,0x47350051,0x334c505f,
+0x6264685f,0x00000000,0x005a0802,0x505f4735,0x685f344c,0x00006264,
+0x08020000,0x67630063,0x63635f61,0x47325f6b,0x00000000,0x006d0e02,
+0x5f616763,0x6d64666f,0x0047325f,0x0d020000,0x6170007c,0x47325f62,
+0x00000000,0x00000000,0x016b0603,0x5f626170,0x00004735,0x00000000,
+0x06030000,0x73720171,0x615f6973,0x325f6a64,0x00000047,0x01770103,
+0x69737372,0x6a64615f,0x355f6a5f,0x01030047,0x73720178,0x615f6973,
+0x355f6a64,0x006c5f47,0x01790103,0x69737372,0x6a64615f,0x5f47355f,
+0x0103006d,0x7372017a,0x615f6973,0x355f6a64,0x00685f47,0x017b0103,
+0x00004000,0x00000002,0x00000003,0x00000004,0x00000005,0x00000006,
+0x00000007,0x00000008,0x00000009,0x0001800a,0x0000000b,0x0000000c,
+0x0000000d,0x0606000e,0x0f0f000f,0x00004010,0x00004011,0x00004012,
+0x00004013,0x00004014,0x00004015,0x00004016,0x00004017,0x00004018,
+0x7f7f0019,0x3f3f001a,0x0000001b,0xd4e8c01c,0x53a7c01d,0xffff001e,
+0x0ff0c01f,0x01010020,0x5e1f4021,0x7e7f4022,0xf0304023,0x35350024,
+0x3f3f0025,0x0202c026,0x7f7fc027,0x00000028,0x00000029,0x0c0cc02a,
+0x0000002b,0x3f3c802c,0xfefc802d,0xffff002e,0xffff002f,0x00000030,
+0x00000031,0x0808c032,0x0f0f0033,0x22220034,0xa8a80035,0x6060c036,
+0x11110037,0x00000038,0x00000039,0x3030c03a,0x0101003b,0x0303003c,
+0x0b0cc03d,0x0f10c03e,0x0f0f003f,0x80800040,0x68680041,0x68680042,
+0x80800043,0xffff0044,0x03030045,0x38380046,0xffff0047,0x38380048,
+0xc0c00049,0xffff004a,0xffff004b,0xfd3dc04c,0x0c0c004d,0x9696004e,
+0x5a5a004f,0x7f7f0050,0x7f7f0051,0x33330052,0x0202c053,0x00000054,
+0x30300055,0x00000056,0x5656c057,0x06060058,0x0e0e0059,0x7e7e005a,
+0x1515005b,0x0f0f005c,0x0000005d,0x0000005e,0x0000005f,0x00000060,
+0x00000061,0x00000062,0x00000063,0x04040064,0x00000065,0x00000066,
+0xcfcf0067,0x59590068,0x07070069,0x4242006a,0x0000006b,0xdbdb006c,
+0x9494006d,0x2828006e,0x6363006f,0x07070070,0xd3d30071,0xb1b10072,
+0x3b3b0073,0x06060074,0x58580075,0xf7f7c076,0x00000077,0x00000078,
+0x02020079,0x0000007a,0x0909007b,0x0505007c,0x1616007d,0x6b6b007e,
+0x0000007f,0xb3b30080,0x04040081,0x00000082,0x00000083,0x00000084,
+0x00000085,0x00000086,0x00000087,0x00000088,0x00000089,0x0000008a,
+0x0000008b,0x0202008c,0x0000008d,0x0000008e,0x6666008f,0x66660090,
+0x66660091,0x66660092,0x66660093,0x66660094,0x66660095,0x00000096,
+0x00000097,0x00000098,0x00000099,0x0000009a,0x0000009b,0x0000009c,
+0x0000009d,0x0000009e,0x0000009f,0xffff00a0,0x000000a1,0x606000a2,
+0x666600a3,0x0c0c00a4,0x666600a5,0x0c0c00a6,0x010100a7,0x666600a8,
+0x666600a9,0x666600aa,0x666600ab,0x666600ac,0x666600ad,0x000000ae,
+0x010100af,0x000000b0,0x000000b1,0xf0f0c0b2,0x000000b3,0x050500b4,
+0x303000b5,0x555500b6,0x333300b7,0x000000b8,0x333300b9,0x000000ba,
+0x353500bb,0x000000bc,0x333300bd,0x000000be,0x333300bf,0x000000c0,
+0x000000c1,0x444400c2,0x000000c3,0x7171c0c4,0x7171c0c5,0x030300c6,
+0x888800c7,0x444400c8,0x010100c9,0x000000ca,0x000000cb,0x000000cc,
+0x000000cd,0x000000ce,0x30f080cf,0x050500d0,0x333300d1,0x000000d2,
+0x050500d3,0x000000d4,0x000000d5,0x050500d6,0x000000d7,0x000000d8,
+0x050500d9,0x000000da,0x333300db,0x000000dc,0x333300dd,0x000000de,
+0x7777c0df,0x888800e0,0x000000e1,0x444400e2,0x0303c0e3,0x0f0fc0e4,
+0x0f0fc0e5,0x444400e6,0x010100e7,0x000000e8,0x000000e9,0x000000ea,
+0x000000eb,0x7777c0ec,0x585800ed,0x7777c0ee,0x585800ef,0x000000f0,
+0x000000f1,0x747400f2,0x0404c0f3,0xa2a200f4,0xaaaa00f5,0x242400f6,
+0x0909c0f7,0x282800f8,0x101000f9,0x555500fa,0x808000fb,0x888800fc,
+0x888800fd,0x888800fe,0x888800ff,0x80800100,0x38380101,0xb8b80102,
+0x80800103,0x38380104,0x78780105,0xc0c00106,0x03030107,0x00000108,
+0x00000109,0x0000010a,0x0400810b,0x0c0c010c,0x0000010d,0x0000010e,
+0x9696010f,0x77770110,0x5a5a0111,0x00000112,0x00000113,0x21210114,
+0x70700115,0x00000116,0x00000117,0x00000118,0xb3b30119,0x5555011a,
+0x0b0b011b,0x0000011c,0x0303c11d,0x0000011e,0xb3b3011f,0x55550120,
+0x30300121,0x46460122,0x00000123,0x00000124,0x00000125,0x21210126,
+0x23230127,0x02020128,0x0000ffff,0x3d0604f4,0x04f30103,0x01014c0c,
+0x500804f3,0x04f27f00,0xff004408,0x4a0004f3,0x04f2ff00,0xff004d04,
+0x4e0404f3,0x04f2ff00,0x0f004f0c,0x4f0004f3,0x04f50f04,0x0f004900,
+0x460304f6,0x04f50704,0x0100460f,0x460004f6,0x04f50701,0x07044808,
+0x480b04f5,0x04f50f00,0x0f044904,0x450f04f4,0x04f70100,0x0704520d,
+0x520004f8,0x04f70107,0x07054103,0x410604f7,0x04f70f00,0x0705420a,
+0x420f04f6,0x04f70100,0x07014200,0x430b04f6,0x04f60f04,0x0f004307,
+0x450604f6,0x04f40101,0x0f044007,0x400b04f4,0x04f30f00,0x03033c0e,
+0x3c0004f4,0x04f40705,0x07003c03,0x520004f2,0x00000f00,0x4ff7e92d,
+0x46059f0c,0x4691468b,0xa038f8dd,0xb11b4698,0x5303ea4f,0xb1230d1b,
+0xf44f488a,0xf7d77108,0x4e89fcaf,0x21004628,0xf7d82290,0x6834fd6f,
+0xf44fb96c,0x46217032,0x47984b84,0x28006030,0x80fbf000,0xf44f4621,
+0xf7d87232,0x6833fd5f,0xbf082f01,0xf8c52700,0xf893308c,0x261122c4,
+0xf8833201,0xf8c522c4,0x9b0d807c,0x652b612e,0x904cf8c5,0x2f00606f,
+0x80dff040,0x53c0f04f,0x0f13681a,0x0413602b,0x632b0c1b,0x4303f3c2,
+0x5203f3c2,0x63aa636b,0x2301b10a,0x6bab63ab,0x3b0e4628,0xbf8c2b01,
+0x23012300,0x3040f885,0x465a4641,0xfa02f000,0x3084f8d5,0xf0002b00,
+0x462880bc,0xf7d84639,0x4604f8a1,0x485db920,0x71a2f44f,0xfc54f7d7,
+0xf7d84628,0x280af963,0xbfc46168,0x63eb6ae3,0xf0136863,0x61ab5f80,
+0xf8d4d005,0x622b3604,0x03fff003,0xf44f61eb,0x60ab63e0,0xf04f463c,
+0x60eb33ff,0xe011612e,0x46284621,0xf87af7d8,0xf7d74628,0x4628ff49,
+0xf940f7d8,0x308cf8d5,0x3024f853,0xbf084598,0x34014627,0x3084f8d5,
+0xd3e9429c,0x46284639,0xf864f7d8,0xf7fc4628,0x9a0ff955,0x46286ceb,
+0x21009201,0xf8cd4642,0xf7fba000,0x2800fa21,0xf1bad16b,0xd1010f00,
+0xe0014656,0x6000f8da,0x43e4f241,0xb12e62ab,0x49354630,0xfc6cf7d8,
+0xb9406268,0x49332000,0xfc66f7d8,0xb9106268,0x73fff64f,0x6a6b626b,
+0x482ab923,0x210ff240,0xfbeef7d7,0x492c4630,0xfc56f7d8,0x80b8f8df,
+0xf89862e8,0x2c004000,0x696bd12b,0xdd0b2b13,0x6100f44f,0x46224628,
+0xf824f7d8,0x65844639,0x462865c4,0xf81af7d8,0x6ce94628,0xfad0f7fb,
+0x6ce94628,0xfab0f7fb,0x4630491c,0xf7d86cec,0x4621fc33,0x46284602,
+0xfbdaf7fb,0x6ce94628,0xfcb4f7fb,0x6ce94628,0xfa90f7fb,0xf8882301,
+0x696b3000,0xdd112b0f,0x49114630,0xfc1cf7d8,0x21004b10,0xbf082800,
+0x90004618,0x46282288,0x33fff04f,0xff4af7d7,0x2500e000,0xe8bd4628,
+0x46c08ffe,0x0002070c,0x00023b30,0x1e00578d,0x00020729,0x00020730,
+0x0002073a,0x00020745,0x0002074e,0x000a005a,0x00023bcc,0x4f18b5f0,
+0x7839b085,0xb1094604,0xe0274816,0x4b174a16,0x4d142800,0x4602bf08,
+0x4603bf08,0x91019100,0x92039302,0xf2444628,0x46227110,0x53c0f04f,
+0xfeacf7ff,0xb9584606,0x108cf8d5,0x4608b909,0x4620e00c,0x7232f44f,
+0x47984b09,0xe0054630,0x23204a08,0x23016013,0x4628703b,0xbdf0b005,
+0x00023b34,0x00023b3c,0x00023bb4,0x00023bb0,0x1e005c15,0x00023b38,
+0x47ffe92d,0x46884681,0x2090461d,0x4b142100,0x9e0d4692,0x47989f0e,
+0xb1e04604,0x46499b0c,0x46429301,0x95004653,0x97039602,0xfe72f7ff,
+0xb9304605,0x46214640,0x4b0a2290,0x46284798,0xb90ee00a,0xe0004633,
+0x67636833,0x463bb90f,0x683be000,0x462067a3,0xe8bdb004,0x46c087f0,
+0x1e00578d,0x1e005c15,0x4ff0e92d,0xb0872b01,0x91054605,0x93039204,
+0xd9019f11,0xe0a32000,0x0a00f04f,0x8084f8d0,0x9040f8dd,0xe09046d3,
+0x208cf8d5,0x0688ea4f,0xf8c318b3,0x9b0591c0,0x45994641,0x9c04bf08,
+0xbf084628,0x4028f842,0xf87cf7d8,0x8080f8c5,0x462867e8,0x408cf8d5,
+0xf808f7d8,0x308cf8d5,0x18f31934,0x0080f8c4,0x3080f8d3,0x6f00f5b3,
+0x4628d125,0xf7d86fec,0x2804f811,0x2805d001,0x6823d903,0x6703f3c3,
+0x6b2ae059,0x3306f244,0xd101429a,0xe0522706,0x7304f244,0xd101429a,
+0xe04c2709,0x3365f245,0xd101429a,0xe0462707,0xf240482d,0xf7d72103,
+0x2701fabb,0xf5b3e03f,0xd13c6f03,0x46286fe9,0x6670f501,0x6177f501,
+0xffc8f7d7,0x0301f108,0x3084f8c5,0x051b0d03,0x5fc0f1b3,0xf420d12b,
+0xf024647e,0x2200041f,0xf8d5e008,0xeb03308c,0xf8d30382,0x429c31c0,
+0x3201d005,0x3084f8d5,0xd3f2429a,0x2a11e001,0xf106d115,0x4628019c,
+0xffa4f7d7,0x9c039400,0x4003f3c0,0x90011c63,0x46289905,0xf7ff9a04,
+0x9b10ff67,0xf1b34483,0xbf085fc0,0xf10a1a3f,0xf1080a01,0xf5090801,
+0x45ba5980,0xf1b8d203,0xf67f0f0f,0xeb0baf69,0xf8c5030a,0x46183084,
+0xe8bdb007,0x46c08ff0,0x00020754,0x460db537,0x46046fc1,0x617bf501,
+0xff74f7d7,0xffb2f7d7,0x53c0f04f,0x23019300,0x93014601,0x462a4620,
+0xf7ff3b01,0xf8c4ff35,0xbd3e0084,0x4604b570,0xfd68f7d7,0x46052100,
+0xf7d74620,0xb920fe87,0xf6404804,0xf7d71137,0x4620fa3b,0xf7d74629,
+0xbd70fe7d,0x000209c5,0x4ff8e92d,0xa028f8dd,0x46884605,0xf8dd4699,
+0x4617b02c,0x481fb922,0x2198f643,0xfa24f7d7,0x0f00f1ba,0xf1bbd109,
+0xd1060f00,0xb9239b0c,0xf6434818,0xf7d72199,0xf505fa17,0x3308636c,
+0x781e2200,0x2434b9c6,0xf404fb02,0x606cf504,0x4b113008,0x46391828,
+0x4798221f,0xf8c41964,0x9b0cbef0,0xf8c44630,0xf8c48ee8,0xf8c49eec,
+0xf8c4aef4,0xe00a3ef8,0x33343201,0xd1e02a16,0xf6434804,0xf7d721a9,
+0xf06ff9ef,0xe8bd0015,0x46c08ff8,0x00021040,0x1e0040f9,0x4ff0e92d,
+0x9004b091,0x4699460c,0x7050f243,0x4ba92100,0xf8dd4615,0xf8dda06c,
+0xf89d8078,0x47986068,0x28004607,0x8521f000,0xf2432100,0xf7d87250,
+0xf507fa91,0x9a046b28,0x6304f507,0xf10b330c,0xf8c70b04,0xf8c73844,
+0x4649273c,0xf8c74638,0xf8c7b848,0xf8c79000,0xf8c7a048,0xf8878808,
+0xf7fc603d,0x4638fac9,0xfc86f7db,0xf887683b,0xf8c76774,0xf5073740,
+0xf8c763ec,0xf507375c,0x3b0c62ea,0xa748f8c7,0x92014628,0x46519302,
+0x9b1d9a1c,0x8000f8cd,0xfe4af7ff,0x074cf8c7,0x230bb910,0xbce2f000,
+0x8750f8d7,0xf8c760b8,0x4640800c,0xf7d84980,0xb120f9cb,0x460a2100,
+0x47984b7e,0x4640b284,0xf7d8497d,0xb120f9c1,0x460a2100,0x47984b79,
+0x4620b285,0x4b794629,0xb9104798,0xf000230c,0x2200bcc1,0x0112f640,
+0x4826f8a7,0x5828f8a7,0x074cf8d7,0xfdaef7d7,0x0758f8c7,0x074cf8d7,
+0xfe70f7d7,0xf8d768ba,0xf8c73758,0x60780744,0x93056b11,0x380cf8c7,
+0x3306f244,0xd1174299,0x2b026b53,0x6b91d91a,0xd1052902,0x2828f8b7,
+0x3303f244,0xd117429a,0x2828f8b7,0x3321f244,0xd002429a,0x429a3303,
+0x2901d108,0xe005d10c,0x3311f244,0xd1014299,0xb12b6b53,0x1380f44f,
+0xf0034103,0xe0000001,0xb9102000,0xf000230d,0xf8d7bc79,0xf7fa074c,
+0x4638fe9f,0xf7dc2100,0x4638fdcb,0x31fff04f,0xff3af7fb,0xf7fb4638,
+0xb910feef,0xf000230e,0x4949bc65,0xf7d84640,0x68baf97b,0xbf0828ff,
+0xb2802001,0x0384f8a7,0xb1b86a51,0xd80128ff,0xe0142401,0x3b010b03,
+0xd80f2b01,0x2303f3c0,0xd80b2b09,0xf3c0b153,0x2b091303,0xf000d806,
+0x2b09030f,0x2400bf8c,0xe0002401,0x6a922400,0x43e4f241,0xd110429a,
+0x6382f5a1,0x2b013b07,0x283fd801,0xf240e007,0x4299430c,0x3315d004,
+0xd1024299,0xd8002850,0xb9142400,0xf000230f,0x492abc25,0xf7d84640,
+0x4929f93b,0x0386f887,0xf7d84640,0x4927f935,0x0388f8c7,0xf7d84640,
+0xf8d7f92f,0xf8c7174c,0x6a8a038c,0x036bf241,0xd10c429a,0x2b4e6a4b,
+0xf8b7d109,0x2b403384,0xf8d7d905,0xf0433388,0xf8c70302,0xf8d73388,
+0xf0133388,0xd1020f20,0xf8872301,0xf24437c0,0x429d3324,0x3b0bd014,
+0xd011429d,0x429d3b07,0x3316d00e,0xd00b429d,0x429d3303,0x3b17d008,
+0xd005429d,0x429d3307,0x3319d002,0xd113429d,0xe0122302,0x1e00578d,
+0x000212c6,0x1e0037cd,0x00020716,0x1e006919,0x000212cd,0x000212d6,
+0x0002073a,0x000212de,0xf8c72301,0xf8d73770,0x46383770,0x32f0f8c7,
+0xf8c72301,0xf0013840,0xf8c7fadd,0xb9080818,0xe3b72310,0x3321f244,
+0xd011429d,0x429d3b0e,0x3307d00e,0xd00b429d,0x429d3310,0x3b14d008,
+0xd005429d,0x429d3307,0x2600bf14,0xe0002601,0x46312601,0xf7fb4638,
+0xf8d7fefd,0x2e002848,0x2302bf0c,0x60532301,0xf8d76096,0xf8d7074c,
+0xf7d74844,0x6020fb73,0x074cf8d7,0x4844f8d7,0xfb58f7d7,0x380cf8d7,
+0xf8d36060,0xf8c7315c,0xf8c73830,0x687b3834,0x2b103b04,0x4896d904,
+0x213ff64a,0xf824f7d7,0x4a946879,0xfb012306,0xf8d72303,0xf8d70844,
+0x6303475c,0x3848f8d7,0x685a4638,0x3818f8d7,0x93009905,0xf001463b,
+0x6020f875,0x2311b908,0xf8d7e35c,0x6819375c,0x2b01684b,0x2312d001,
+0xf8d7e354,0xf04f2848,0xf8a2030f,0xf2403134,0xf8a233ff,0x68533136,
+0x2b026011,0x3b01d115,0x68b97313,0x3306f244,0x429a6b0a,0x6b8bd106,
+0xd1032b02,0x2848f8d7,0x73132300,0x3848f8d7,0x21034638,0xf7dc7b1a,
+0xf8d7fb97,0x68532848,0xd1012b02,0x73133b01,0x210a2201,0x4638637a,
+0xfb8af7dc,0x2848f8d7,0x0356f242,0x8a016810,0xd8064299,0x42993b01,
+0x3b05d234,0xd0094299,0xf242e030,0x42990360,0xf24ed01f,0x429943f5,
+0xe027d021,0x2b017c83,0xf06fd105,0xf8c2033b,0x334b3124,0xf06fe004,
+0xf8c20345,0x335a3124,0x3128f8c2,0x3388f8d7,0x5f80f413,0xf8d2d019,
+0x3b023124,0x3124f8c2,0xf06fe013,0xf8c2034a,0x335a3124,0xf06fe00b,
+0xf8c20395,0xf5033124,0xe0047396,0x034af06f,0x3124f8c2,0xf8c2335f,
+0xf8d73128,0x46381848,0x3124f8d1,0xf8c14c46,0xf8c13120,0xf8d13118,
+0xf8c13128,0x3114311c,0xf806f7de,0xf8d76b7b,0x227f1848,0xbf183b00,
+0x92002301,0xf1012200,0x93010014,0x46133178,0x4b3a47a0,0xf8d7493a,
+0x2e000750,0x4619bf08,0xffcef7d7,0xb940b2c0,0x49374b36,0x0750f8d7,
+0xbf082e00,0xf7d74619,0xb240ffc3,0x2b0e1e43,0x2300d901,0x68bbe039,
+0xf2446b1a,0x429a3325,0x2801d001,0xf642d105,0x23004215,0x320154bb,
+0x2802e006,0x2301d105,0x4215f642,0x18d254bb,0x4b2654bb,0xf8d74926,
+0x2e000750,0x4619bf08,0x4848f8d7,0xff9cf7d7,0x010df884,0x1848f8d7,
+0x310df891,0xd1082bff,0x2386f897,0xd1042a01,0xf8812308,0x4613310d,
+0xf343e007,0x099b0205,0x0382eb03,0x310df881,0xb90b2301,0xe2653314,
+0x3ffff1b6,0xaeaaf43f,0x46382100,0xf818f7dc,0x46382103,0xf882f7dd,
+0x4d0f4b0e,0xf8d7681c,0xf04f0758,0x46297340,0x3160f8c0,0x46c0e02c,
+0x00021040,0x00023868,0x0001ed85,0x000212ef,0x000212ea,0x000212f8,
+0x000212f4,0x000209b6,0x000212fc,0x00031650,0x0002ad24,0x78ca790b,
+0xea43041b,0x798a6302,0x794a4313,0x2302ea43,0x3164f8c0,0x780a784b,
+0xea43021b,0x788a4302,0x43133107,0x3164f8c0,0x0301ebc5,0xd3e542a3,
+0x49804640,0xff34f7d7,0x4617f642,0x497e55b8,0xf7d74640,0xf507ff2d,
+0x34175430,0xf6427823,0xf507481c,0x351c5530,0x0008f807,0x3301b90b,
+0x462055bb,0x4c752101,0xf64247a0,0xb2c04318,0x330154f8,0x782b54f8,
+0x3301b913,0x3008f807,0x21014628,0xf64247a0,0xb2c0431d,0x240054f8,
+0x54f83301,0x4621e007,0xf7fb4638,0x4638fd21,0xfae4f7dc,0xf8d73401,
+0x429c3840,0xf8d7d3f3,0x2300074c,0x4a634962,0xf7d79700,0xf897f985,
+0xb153381c,0x074cf8d7,0xf7d72101,0xb120fa13,0xf64a485d,0xf7d6312b,
+0x4b5cfe77,0x21004638,0xf8d74798,0x495a0750,0xfeb2f7d7,0xb9784603,
+0x041af10d,0x49584b57,0x4620221f,0xf8d74798,0x46210750,0xfea4f7d7,
+0xb9084603,0xe1ad2315,0x6802f507,0x0818f108,0x46414618,0x47984b4f,
+0x1839f897,0x283af897,0x6838f897,0x083bf897,0x0302ea01,0x483cf897,
+0x0303ea06,0x583df897,0x0303ea00,0x0303ea04,0x0303ea05,0xd0092bff,
+0x0302ea41,0x0303ea46,0x0303ea40,0x0303ea44,0xd101431d,0xe1812316,
+0x99044638,0x464b4652,0xf92ef001,0x07f8f8c7,0x231fb908,0x4638e176,
+0xfad2f000,0x0800f8c7,0x233db908,0x4934e16e,0xf7d768f8,0xf243fe85,
+0x52f8635c,0x68f84931,0xfe7ef7d7,0x635ef243,0x463852f8,0xf940f7dc,
+0x3848f8d7,0xf6426818,0x5cf94315,0xf8c0f7eb,0x5058f507,0x22064641,
+0xf7d7300e,0x4641fee3,0xf1072206,0xf7d7004c,0x4638fedd,0xf972f001,
+0x435cf241,0xb90850f8,0xe13f2329,0xf0004638,0xf8c7fa51,0xb90807e0,
+0xe1372331,0xf0004638,0xf8c7f971,0xb90807e8,0xe12f2332,0xf0014638,
+0xf8c7f87d,0xb90807f0,0xe1272334,0xf0004638,0xf243fc5f,0x50f8734c,
+0xf0402800,0x23368127,0x46c0e11c,0x00021300,0x00021308,0x1e003645,
+0x0000ba35,0x0000ba25,0x00021040,0x0001d47d,0x00021313,0x1e0040f9,
+0x00021310,0x1e00366d,0x0002131b,0x0002132e,0x3848f8d7,0x68596818,
+0xfc2cf7ea,0x63fcf241,0xf8d752f8,0x6b7c3848,0xf8d36818,0x68068004,
+0xfa48f7ea,0x0a00f04f,0x23ffb2c0,0x55b8f507,0x90039301,0x3c004643,
+0x2401bf18,0x46514628,0xf8cd4632,0x9402a000,0xf984f7ef,0xb12b6b7b,
+0x62d2f241,0xf0435abb,0x52bb0320,0x50baf507,0x22904649,0xf7d7301c,
+0x4649fe61,0xf5072290,0xf7d7703d,0xf04ffe5b,0xf04f0206,0xf8a70305,
+0xf8a726fc,0x4c7333a0,0x7225f44f,0x03c4f04f,0x0501f04f,0x23a2f8a7,
+0x3636f8a7,0x5634f8a7,0x4a6d4651,0x46384b6d,0xa000f8cd,0xf7fd9701,
+0x1d23f969,0x0007e893,0xe883466b,0x68230007,0x21074638,0x4c66463a,
+0x463847a0,0x6159f507,0x47984b64,0x07e0f8d7,0xfab4f7e5,0xf887b108,
+0x22025d46,0x33e4f241,0x465954fa,0xaac8f887,0x5c04f887,0xf7db4638,
+0xf507fa5b,0x4638613c,0xfa56f7db,0xf241221e,0x54fa33ef,0x22183301,
+0x34fff04f,0x463854fa,0xf7db2101,0x4638f8cb,0xf8c74651,0xf7dc4d4c,
+0xf241f8ad,0xf88733ee,0xf887aaca,0x54fcac06,0x54fc191b,0x54fc191b,
+0x46514638,0xfed6f7db,0xf10d2206,0x4946003a,0xfdecf7d7,0x2828f8b7,
+0x3321f244,0xd011429a,0x429a3b0e,0x3307d00e,0xd00b429a,0x429a3310,
+0x3b14d008,0xd005429a,0x429a3307,0x2400bf14,0xe0002401,0x46382401,
+0x1dd0f8d7,0x4b374622,0x46054798,0x2339b108,0xf10de034,0x4622013a,
+0xf7f24638,0xf44ffd77,0xfb04739e,0x19caf103,0x0a94f8c2,0x2337b908,
+0x2301e024,0xf8d27603,0x18790a94,0x612ef501,0x311c30f8,0xf7d72228,
+0xf1b4fdad,0xd0b73fff,0x2398f8d7,0x605ef507,0x2110300c,0x4b2232c0,
+0x6cba4798,0x60d74b21,0x46386093,0xfa9cf7dd,0xb1029a1f,0x46386015,
+0x231ee024,0xb90a9a1f,0xe01f4610,0x20009a1f,0xe01b6013,0x59b6f507,
+0x090cf109,0x22902100,0xf7d74648,0xf241fd63,0xf04f63f8,0x52fa0264,
+0x33302203,0x463854fa,0x23012200,0x512cf44f,0x47a04c0d,0xf43f28ff,
+0xe6dfaedb,0xe8bdb011,0x46c08ff0,0x00021030,0x000072e9,0x00007501,
+0x0001f801,0x0001db1d,0x00021028,0x0001e691,0x1e003bcd,0x0000584d,
+0x0001e9a1,0x2100b5f0,0x4606b085,0xf44f4b56,0x4798702c,0xb9084605,
+0xe0a14607,0xf44f2100,0x4607722c,0xfd26f7d7,0x2100602e,0x186a2301,
+0x290818c9,0xd1f97293,0x742b3b01,0x732b746b,0x461a72eb,0x18ab2101,
+0x2a081852,0x12a8f883,0x2310d1f8,0x752b74eb,0xf8852306,0xf04f3027,
+0xf88533ff,0xf44f3028,0x866b737a,0x03c8f04f,0x230086ab,0x20052203,
+0xf88574a9,0x1849302a,0x6300f503,0x202cf885,0x202df885,0x0029f885,
+0x102bf885,0x3214f8c5,0x75a97568,0x7d6b462a,0x7dab75d3,0x320177d3,
+0x0308f105,0xd1f6429a,0x24002201,0x33e7f241,0x202ff885,0x402ef885,
+0x54f24628,0xff10f7e1,0xf44f4630,0x4a277194,0x94004b27,0xf7fd9501,
+0x42a0f819,0xdb386068,0x46304b24,0x4b249300,0x93014924,0x4a254b24,
+0x462b9302,0xf9c4f7ff,0xd12a2800,0x073cf8d6,0x462a4921,0x4c224b21,
+0x63a847a0,0x462ab308,0x48214c20,0x47a04921,0x4821462a,0x47a04921,
+0x1d234c21,0x0007e893,0xe883466b,0x68230007,0x21064630,0x4c1d462a,
+0x462847a0,0x102ef896,0xfebcf7e1,0xf8c523c8,0x46283210,0xfe8cf7e1,
+0x6cb0e006,0xf44f4629,0x4b15722c,0x27004798,0xb0054638,0x46c0bdf0,
+0x1e00578d,0x0000f0ad,0x0000e769,0x0000ee69,0x0000eb41,0x0002188c,
+0x0000e7b5,0x00021934,0x0000d249,0x0002193a,0x1e0061d1,0x1e006061,
+0x0002193f,0x0000eda9,0x0002194b,0x0000ed29,0x0002187c,0x0001f801,
+0x1e005c15,0x4605b57f,0x20ac2100,0x47984b1c,0x4604b908,0x2100e030,
+0x460422ac,0xfc52f7d7,0x60254b18,0x93006065,0x26004b17,0x46289302,
+0x4a174916,0x96014623,0xf94af7ff,0xf04fb9b0,0x82630301,0x682082a3,
+0xf86cf7db,0x63fbf640,0xf64181a0,0xf5b062ff,0xbfd45ffc,0x20012000,
+0xbf1842b0,0x74204613,0xe00581e3,0x6ca84621,0x4b0822ac,0x46344798,
+0xb0044620,0x46c0bd70,0x1e00578d,0x0000f125,0x0000f119,0x00021aa4,
+0x00021af8,0x1e005c15,0x2100b530,0xb0854605,0x4b0c2004,0xb9084798,
+0xe0104604,0x22042100,0xf7d74604,0x4b08fc07,0x93006025,0x93012300,
+0x46289302,0x4a064905,0xf7ff4623,0x4620f901,0xbd30b005,0x1e00578d,
+0x0000f521,0x00021b34,0x00021bd5,0x47f0e92d,0xf89db086,0xf8dd4038,
+0x9400a04c,0x461f9c0f,0x9c109401,0xa014f8cd,0x9c119402,0x9c129403,
+0xf7ff9404,0x4605f92f,0xf8dab918,0x48464000,0xf44fe00b,0x21007035,
+0x47984b44,0x48ecf243,0xf8454604,0xb9280008,0x46394841,0x4b424a41,
+0xe0734798,0xf44f2100,0xf7d77235,0xf855fbbf,0x237f2008,0x60156055,
+0x36fff885,0x24006853,0x4700f883,0x94014b39,0x94029300,0x49384628,
+0xf8554a38,0xf7ff3008,0x4606f8af,0x4836b108,0xf8d5e7db,0x4935073c,
+0x2008f855,0x4c354b34,0xf8df47a0,0xf8c590b4,0xb9280d1c,0x46394832,
+0x47c84a28,0xe0414634,0x2008f855,0xf8852301,0x492e6d11,0x32c4f8c2,
+0xf7d768e8,0x4604fb05,0x482b4621,0xb14c47c8,0x492a4620,0x47984b2a,
+0xf855b920,0x23022008,0x32c4f8c2,0x44ecf243,0x4826592b,0x12c4f8d3,
+0x47b04e17,0xf0005928,0xb110f893,0x48224604,0x5928e006,0xf84af000,
+0xb1284603,0x481f4604,0x4a0e4639,0xe00d47b0,0x0f00f1ba,0xf8cad001,
+0x592a0000,0xf8c2481a,0x491a3218,0x47984b1a,0xe0024628,0x4000f8ca,
+0xb0062000,0x87f0e8bd,0x00021e84,0x1e00578d,0x00021ea1,0x00021c4f,
+0x1e004461,0x000103fd,0x00021c74,0x00021ec3,0x00021ed3,0x00010349,
+0x00021263,0x1e0061d1,0x00021ef9,0x00021f25,0x00021f2d,0x00021f40,
+0x1e004041,0x00021f44,0x00021f5e,0x00021f8b,0x00021fba,0x00010291,
+0x1e006061,0x2100b570,0x4c174605,0x60e1f44f,0xf8c547a0,0xb3280220,
+0xf44f2100,0xf7d762e1,0x2080fb0d,0x47a02100,0x02c0f8c5,0x2100b1d0,
+0xf7d72280,0x4c0dfb03,0x490e480d,0x47a0462a,0x490e480d,0x47a0462a,
+0x462a480d,0x47a0490d,0x23082200,0xf8c54610,0xf8c52224,0xf885322c,
+0xe0002230,0xbd702001,0x1e00578d,0x1e006061,0x0002211e,0x0001127d,
+0x00022127,0x000112f5,0x0002194b,0x00011249,0x4b3fb57f,0x93004605,
+0x93012300,0x68409302,0x4a3d493c,0xf7fe462b,0x2800ffd3,0x682bd16d,
+0xf8d3493a,0x462a073c,0x4e3a4b39,0xf8c547b0,0xb3000130,0x4938682b,
+0x073cf8d3,0x4b37462a,0xf8c547b0,0xb1b00128,0x4b35682c,0x073cf8d4,
+0x462a4934,0xf24347b0,0x50e013d4,0x682bb158,0xf8d34931,0x462a073c,
+0x47b04b30,0x012cf8c5,0x2301b108,0x2300e000,0xd03e2b00,0x21002040,
+0x47a04c2b,0x28006568,0xf44fd037,0x21006080,0x65a847a0,0xd0302800,
+0x7010f44f,0x47a02100,0xb3506628,0xf44f2100,0xf7d77210,0x2400fa83,
+0x7090f44f,0x4b1e2100,0xb1f04798,0x3404192b,0x2c182100,0x60986081,
+0x460ad1f2,0x320418ab,0x2ad82400,0x4140f8c3,0x682bd1f8,0xf8832201,
+0x682b2d11,0xf8834813,0x49132d63,0x4070f885,0x4b12462a,0x46204798,
+0x2001e000,0xbd70b004,0x00012b41,0x000225dc,0x00022258,0x00011d59,
+0x00022329,0x1e0061d1,0x00011359,0x0002226b,0x00021516,0x00012241,
+0x000118bd,0x00022271,0x1e00578d,0x0002227a,0x000113e1,0x1e006061,
+0x2100b5f0,0x4604b087,0xf44f4b70,0x479870be,0x28004605,0x81bdf000,
+0xf44f2100,0xf7d772be,0xf640fa29,0xf44f108a,0x80e8539b,0x4050f241,
+0x8168812b,0x53a4f241,0x6044f241,0x81ab602c,0x462e81e8,0x2100462a,
+0xf44f186b,0x82186080,0x76932350,0x231d3102,0x320177d3,0xd1f3290a,
+0xf8852308,0x3b013024,0x3025f885,0x3026f885,0xf8852303,0xf06f3027,
+0xf8850301,0xf8853029,0xf885302a,0xf885302b,0xf06f302c,0x24000305,
+0x3036f885,0x3037f885,0x3038f885,0x3039f885,0x303af885,0x303bf885,
+0x303cf885,0x303df885,0x303ef885,0x030df06f,0x4028f885,0x402df885,
+0x402ef885,0x402ff885,0x4030f885,0x4031f885,0x4032f885,0x4033f885,
+0x4034f885,0x4035f885,0x303ff885,0x3040f885,0x3041f885,0x3042f885,
+0x3043f885,0x3044f885,0x0048f105,0x3045f885,0x0124f105,0x3046f885,
+0x3047f885,0xf7d72224,0x1c63f9d1,0xb2dc2200,0x206cf886,0x207bf886,
+0x2c0f3601,0x18abd1f5,0x24003201,0xf8832ae1,0xd1f8408a,0xf8852328,
+0x2324316b,0x316cf885,0x70b8f505,0xf5052320,0xf88571b4,0xf885316d,
+0xf885316e,0xf885316f,0x30013170,0x22063103,0xf9a8f7d7,0x46274e1a,
+0x23124819,0x0003fb07,0xf88cf7d9,0xd0362800,0x8a347bf2,0x7bb32a01,
+0x2b03d11c,0x2b05d010,0x2b02d002,0xe011d00c,0x460a2100,0x47984b0f,
+0xf821a906,0x22020d02,0xf7d71928,0xe01ef987,0x460a2100,0x47984b09,
+0xe0185528,0xf2404808,0xe01231ed,0x2b013b02,0x1929d80c,0xfbeaf7e9,
+0x46c0e00d,0x1e00578d,0x000284a8,0x1e0037cd,0x00022844,0xf44f486e,
+0xf7d6717f,0x3701f881,0x2f223612,0xf895d1bc,0x486a3020,0x3021f885,
+0x3022f885,0x3023f885,0xf844f7d9,0x2210b1b0,0x0106f10d,0xfbc6f7e9,
+0xd10f2804,0x3006f89d,0x3143f885,0x3007f89d,0x3147f885,0x3008f89d,
+0x314bf885,0x3009f89d,0x314ff885,0xf7d9485a,0xb190f829,0xf10d2210,
+0xf7e90106,0x2803fbab,0xf89dd10b,0xf8853006,0xf89d3093,0xf8853007,
+0xf89d3097,0xf8853008,0x4850309b,0xf812f7d9,0x2210b330,0x0106f10d,
+0xfb94f7e9,0xd11f2808,0x3006f89d,0x30adf885,0x3007f89d,0x30aff885,
+0x3008f89d,0x30b1f885,0x3009f89d,0x30b3f885,0x300af89d,0x30b5f885,
+0x300bf89d,0x30b7f885,0x300cf89d,0x30b9f885,0x300df89d,0x30bbf885,
+0xf7d8483b,0xb1b0ffe7,0xf10d2210,0xf7e90106,0x2804fb69,0xf89dd10f,
+0xf8853006,0xf89d30bf,0xf8853007,0xf89d30c3,0xf8853008,0xf89d30c7,
+0xf8853009,0x482f30cb,0xffccf7d8,0x2210b390,0x0106f10d,0xfb4ef7e9,
+0xd12b280b,0x3006f89d,0x30eff885,0x3007f89d,0x30f3f885,0x3008f89d,
+0x30f7f885,0x3009f89d,0x30fbf885,0x300af89d,0x30fff885,0x300bf89d,
+0x3103f885,0x300cf89d,0x3107f885,0x300df89d,0x310bf885,0x300ef89d,
+0x310ff885,0x300ff89d,0x3113f885,0x3010f89d,0x3117f885,0xf7d84814,
+0xb1b0ff95,0xf10d2210,0xf7e90106,0x2804fb17,0xf89dd10f,0xf8853006,
+0xf89d3120,0xf8853007,0xf89d3124,0xf8853008,0xf89d3128,0xf8853009,
+0x4628312c,0xbdf0b007,0x00022844,0x00022850,0x00022859,0x00022862,
+0x0002286b,0x00022874,0x0002287e,0x4ff0e92d,0x21004688,0x4607b089,
+0x68804691,0x469b460a,0xfbccf7d6,0x0f08f010,0xd00a4605,0x681c9b12,
+0x4658b13c,0xf7fa6a21,0x6d23fda3,0x65233301,0xf44fe1d0,0x2100509e,
+0x47984bb3,0x28004606,0x81d0f000,0xf44f2100,0xf7d7529e,0xf50bf837,
+0xf8c663e8,0x6433b03c,0x64779b12,0x23016173,0x0f02f1b9,0x8048f8c6,
+0x3037f886,0xf015d105,0xbf1c0f01,0x5300f44f,0x6a316233,0xf7fa4658,
+0x6cb3fd77,0x33e0f8b3,0xf3c3b29b,0xf0032103,0x0b1b020f,0x61b12902,
+0x627361f2,0x2904d906,0x2905d004,0x2906d002,0x819ef040,0x4b972101,
+0x47984630,0x46302101,0xffe6f7e9,0x24016cb3,0x43f6f8a3,0x33f8f8b3,
+0xea404625,0xf3c04003,0xb29a330f,0xf2428533,0x0f000363,0xf886429a,
+0xf040002a,0x21008181,0xf7e94630,0x4630fb79,0xfd2cf7fb,0xf8c6233c,
+0x23143d88,0xf886220a,0xf2413030,0x54f213c4,0x2203191b,0x54f22100,
+0x0308f04f,0x1d8cf8c6,0x4054f886,0x3d96f8a6,0x426cf886,0x31011872,
+0x292d237f,0x31c9f882,0x313cf882,0xf04fd1f6,0xf8a633ff,0x6c73324e,
+0x3388f8d3,0x3f80f413,0x2301d104,0x3033f886,0x3d28f886,0x68986c73,
+0xfcc2f7f9,0x737af44f,0xf2f3fbb0,0x0313fb02,0x0dc8f8c6,0x4868b123,
+0x01fcf242,0xfedcf7d5,0xf8c62400,0x6bf04f78,0xf7da6c77,0x2802fb8b,
+0x810af040,0x68f84961,0xff3af7d6,0x0f59f886,0x68f8495f,0xff34f7d6,
+0x0f5cf886,0x68f8495d,0xff2ef7d6,0x0f5df886,0x68f8495b,0xff28f7d6,
+0x0f5ef886,0x68f84959,0xff22f7d6,0x0f5ff886,0x68f84957,0xff1cf7d6,
+0x0f60f886,0x68f84955,0xff16f7d6,0x0f61f886,0x68f84953,0xff10f7d6,
+0x0f62f886,0x68f84951,0xff0af7d6,0x0f63f886,0x68f8494f,0xff04f7d6,
+0x0f64f886,0x68f8494d,0xfefef7d6,0x0f65f886,0x68f8494b,0xfef8f7d6,
+0x0f66f886,0x494968f8,0xfef2f7d6,0xfa80fa5f,0xf98afa5f,0x9084f886,
+0x464346a0,0x4a442120,0x4d444668,0x68f847a8,0xf7d64669,0xeb06fee1,
+0xf1080348,0xf1b80801,0xf8a30f03,0xd1ec0060,0x0800f04f,0x0303f108,
+0x4a392120,0x4d394668,0x68f847a8,0xf7d64669,0xeb06fecb,0xf1080348,
+0xf1b80801,0xf8a30f03,0xd1eb0066,0x0800f04f,0x0306f108,0x4a2e2120,
+0x4d2e4668,0x68f847a8,0xf7d64669,0xeb06feb5,0xf1080348,0xf1b80801,
+0xf8a30f03,0xd1eb006c,0x492768f8,0xfe80f7d6,0x28004604,0x2100d04e,
+0x4b24460a,0xfa4f4798,0xb280f58a,0x19322400,0x030ff000,0xeba53401,
+0x09000343,0xf8822c04,0xd1f43088,0x491c68f8,0xf7d6b2ed,0x1932fe8d,
+0x030ff000,0xeba53401,0x09000343,0xf8822c0c,0xd1f43088,0x46c0e04c,
+0x1e00578d,0x0001ea19,0x0002299e,0x000229a8,0x000229ae,0x000229b4,
+0x000229bb,0x000229c5,0x000229cf,0x000229d9,0x000229e8,0x000229f7,
+0x00022a06,0x00022a14,0x00022a22,0x00022a30,0x00022a3a,0x1e003fc9,
+0x00022a41,0x1e0037cd,0x00022a47,0x492768f8,0xfe2af7d6,0x4621b120,
+0x4b254622,0xb2c04798,0x9088f886,0x9089f886,0x908af886,0x908bf886,
+0xebc02204,0xb2d90309,0x320118b3,0xf8832a0c,0xd1f61088,0x320118b3,
+0xf8832a14,0xd1f91088,0x4c186d33,0x65333301,0xf8db6973,0x681b073c,
+0x64f34915,0x46329b12,0x4b14601e,0x460447a0,0x0c24f8c6,0x6c73b940,
+0x6c984631,0x529ef44f,0x47984b0f,0xe00e4620,0xf1064630,0x22140118,
+0xfe8cf7d6,0xe0064630,0x46316cb8,0x529ef44f,0x47984b07,0xb0092000,
+0x8ff0e8bd,0x00022a4e,0x1e0037cd,0x1e0061d1,0x00014171,0x00022a52,
+0x1e005c15,0x2100b530,0x4605b085,0x20244b0f,0x46044798,0x2100b1b8,
+0xf7d62224,0x230ffe47,0x332d6063,0x333c60a3,0x230360e3,0x4b086123,
+0x93004628,0x49084b07,0x4b089301,0x93024a08,0xf7fe462b,0x4620fb39,
+0xbd30b005,0x1e00578d,0x0001877d,0x00018b19,0x00022900,0x00026279,
+0x00022a5b,0x2100b5f0,0x4605b085,0x20504b27,0x46074798,0x4604b908,
+0x2100e044,0x26002250,0xf7d64604,0x603dfe13,0x4628607d,0x71def44f,
+0x4b204a1f,0x97019600,0xf954f7fc,0x60b842b0,0x4b1ddb2a,0x93009601,
+0x68789602,0x4a1c491b,0xf7fe463b,0xb9f8fb01,0x647b231e,0x33fff04f,
+0x304ef887,0xf887330d,0x2302303f,0xf8872201,0x33083041,0x203df887,
+0x203ef887,0xf88764ba,0x32033042,0xf8872305,0xf8842040,0xf8870043,
+0xf887204d,0xe005304c,0x46396ca8,0x4b092250,0x24004798,0xb0054620,
+0x46c0bdf0,0x1e00578d,0x00018f11,0x00018f15,0x0001b4b5,0x00022b64,
+0x00022b4c,0x1e005c15,0x47ffe92d,0x56bcf240,0x46894680,0x21004630,
+0x46924b30,0x46054798,0xd0562800,0x46322100,0xfdb0f7d6,0x33fff04f,
+0xf04f61ab,0xf8a50314,0xf04f3208,0xf8a50328,0xf04f3206,0xf8a5032d,
+0xf04f3204,0x270003fa,0x320af8a5,0xf8852302,0x4921320c,0x4b21462a,
+0x616e4c21,0x8010f8c5,0xf88570af,0x4648720d,0x230547a0,0x710ef505,
+0x723bf505,0x321cf8c5,0xbf0c42b8,0x34fff04f,0x3337463c,0x01f8f8c5,
+0x1218f8c5,0x2228f8c5,0x322cf8c5,0x1214f8c5,0x2224f8c5,0x4b11b97c,
+0x93024640,0x4a104621,0x9400462b,0xf7fe9401,0xb150fa6f,0xf8d54648,
+0x4b0c11f8,0x46294798,0x46324650,0x47984b0a,0x4628463d,0xe8bdb004,
+0x46c087f0,0x1e00578d,0x0001b669,0x00022beb,0x1e0061d1,0x00026e1d,
+0x00022bdb,0x1e0061e9,0x1e005c15,0x2100b570,0x4b084605,0x479820cc,
+0xb1404604,0x22cc2100,0xfd3cf7d6,0x7320f44f,0x50c8f8c4,0x46206223,
+0x46c0bd70,0x1e00578d,0x0360bc01,0x034e1000,0xf002debf,0xa803580a,
+0x00f0025e,0x5ea6030a,0x0a00f002,0x535e8202,0x020a0000,0x00af5e85,
+0x88020a00,0x0000b3de,0x8084020a,0x0a0000c3,0xff63bc01,0x0040f01f,
+0xf002de00,0x01000000,0x00f0025e,0x60800100,0x6c900d02,0x025e5903,
+0x030d00f0,0xf0025ed8,0xd8030e00,0x00f002de,0x0004020f,0x120000bf,
+0x23450102,0x01120000,0x000360bc,0x01021511,0x00002345,0x42000215,
+0x1900001f,0x025e0200,0x02d30bf0,0x00b3de01,0x6b001900,0x20d36444,
+0xc585021a,0x19000023,0x025e0200,0x019b0bf0,0xf502e089,0x0102ac97,
+0x000023c5,0xe088011c,0xac97f502,0x8361bc01,0x00291100,0x007b00b0,
+0xbc012b11,0x11000363,0x5e120323,0x1c09f002,0x025e9703,0x028509f0,
+0x00b38101,0x85022f00,0x000023c5,0x8187022f,0x280000b3,0x02dea303,
+0x032f00f0,0xf002dea0,0x02002f00,0x09f0025e,0xe0870175,0x6c800d04,
+0x6444e000,0x00bdb70d,0xf766446b,0xbc0129a0,0x97010360,0x60bc0180,
+0x81370003,0x6b60bc01,0x018a5000,0x060360bc,0xbf039237,0x01f002de,
+0x5ed003ee,0x3302f002,0x02ded003,0x03fb03f0,0xf002ded5,0x9103df08,
+0x04f0025e,0xde96036c,0xda08f002,0x025e0200,0x02c10bf0,0x0073c188,
+0xc4035400,0x05f0025e,0x5ec703bf,0xd905f002,0x02dedc03,0x03670df0,
+0xf0025eaa,0x83032006,0x07f0025e,0xde910328,0xe104f002,0x02dec203,
+0x014e09f0,0x020360bc,0x02003e00,0x0ef0025e,0xde0603a5,0x4100f002,
+0x025e2303,0x021509f0,0x0037c087,0xd4031509,0x05f002de,0xde230352,
+0x4600f002,0x025edb03,0x034500f0,0xf002debf,0x02000200,0x0cf0025e,
+0x5e02008c,0xa00cf002,0x025ea203,0x035100f0,0xf0025e56,0x86014f00,
+0x10090660,0x5e1f0348,0x4f00f002,0x235e6a00,0x004e0000,0x002700b0,
+0xe8008817,0x3700235e,0x5ea60388,0xa400f002,0x0e602800,0x03c5e008,
+0xf002dec4,0x2000ab09,0x200003c2,0xdebf03d5,0x1801f002,0x025e8103,
+0x035600f0,0xf002de00,0x88013600,0x900b02e0,0xdebf035c,0x2102f002,
+0x63408702,0x01580000,0xf4066086,0x86021830,0x00006340,0x5eb0005a,
+0xa1170087,0x02de0200,0x020000f0,0x00634087,0xb0005d00,0x10008b5e,
+0xe0860119,0x1830f406,0xafde8102,0x02620000,0x0063c086,0xb0006100,
+0x1700875e,0xde0200a1,0x0000f002,0x0360bc01,0x02068002,0x0007de80,
+0xda016e00,0x17f00260,0x5e080280,0x7e000007,0x0360bc01,0x00a1171e,
+0xf4025ee0,0xbc016530,0x171c0360,0x5ee000a1,0x6430f402,0x0360bc01,
+0x038d2600,0xf002debf,0x10018400,0x1700035e,0x5e8800a1,0xa2370087,
+0x865ee000,0x00a157f4,0xf45a01e0,0x86026330,0x0000c300,0x56b00077,
+0x6210000b,0x0354b000,0x01621000,0x000360bc,0xbf038d26,0x00f002de,
+0x41b00086,0x6210008f,0x03de0901,0x00a11700,0x00875e88,0xe000a157,
+0x37d4845e,0x5ee000a1,0x06c00387,0x0360bc01,0x038d4600,0xf002debf,
+0xbc018600,0x17020760,0x5ee000a1,0x6530f402,0x0760bc01,0x00a11700,
+0xf4025ee0,0xbc016430,0x00180360,0x60bc0106,0x8d060003,0x035ab000,
+0x00621000,0x000358b0,0x05016310,0x17004301,0x008800a1,0x0620f41a,
+0x02de0200,0x000000f0,0x003340e8,0xb000a197,0x17000b40,0x5e6d00a3,
+0x8e60f486,0x8f5e9000,0x03a33700,0xf002debf,0x90008f00,0x3700875e,
+0x5ee000a3,0xa337008e,0x9741f001,0x00a11700,0xf486de6d,0x8702a260,
+0x000097c1,0x5a380196,0xa1170003,0x035a3c01,0x03a21700,0xf002debf,
+0x3c019800,0x1700035a,0x5a3801a1,0xa2170007,0x865e6800,0x009d80f4,
+0x008b5ed8,0xe100a237,0x50f49641,0xc1e10065,0x65300097,0x02debf03,
+0x009000f0,0x008b5ed8,0xe100a237,0x57f49641,0xdee100a1,0xa1370087,
+0x875ef001,0x00a11700,0xf486de6e,0xbc01a360,0xf71fff63,0xde0200a4,
+0x0000f002,0x8ee32000,0x02020009,0x00b35e81,0xa8030200,0x00f002de,
+0xde1e030a,0xab00f002,0x025e9f03,0x00ab00f0,0xf0025e02,0xbf03cc00,
+0x00f002de,0x41080202,0xa900001f,0x025e0200,0x007509f0,0x00ab00b0,
+0xb0008610,0x10006301,0x5e02008a,0x500bf002,0x0360bc01,0x00921704,
+0x003b00b0,0x90011d11,0x10090660,0xdea10348,0xc000f002,0x06e08101,
+0x01481009,0x000360bc,0xbc014290,0x11000360,0xde9e032d,0xc300f002,
+0x02608401,0x009497f2,0x001745b0,0xb0008f17,0x1700175e,0x44000290,
+0xbe00001f,0x02608501,0x01481009,0x00076081,0xf0014710,0x37000fde,
+0x44a000a1,0x4531f4b6,0x02de9e03,0x01c300f0,0x123761bc,0xbf0380b0,
+0x00f002de,0x61bc0102,0x80701027,0x02debf03,0x000200f0,0x0982e020,
+0x0c010200,0x170053de,0x5e8801a1,0x47100087,0x0360bc01,0x01425000,
+0x001f4108,0x8c01a117,0x97f286de,0xdebf0394,0x0200f002,0x0360bc01,
+0x00429000,0x00235ee8,0x69008837,0x000023de,0x00e800d0,0x88370027,
+0x02608601,0x00481009,0x009b0088,0x90002671,0xb1019b00,0x63bc0128,
+0x24110003,0x02de0200,0x030000f0,0xf0025edb,0x2000d500,0x00097ee0,
+0xc5310102,0xa117001b,0x875e6d00,0x020a8000,0x001fc283,0x04020200,
+0x0000bf00,0x5e9403e0,0x0200f002,0x8f42a000,0x0080f701,0x2d005e68,
+0x020002c0,0x09f0025e,0xdebf0375,0x0a00f002,0x8fc20102,0x01020000,
+0x00630014,0x6800a117,0x6000875e,0x5e020002,0x7509f002,0x0f609401,
+0x00180000,0xf0025e02,0xbf03e700,0x00f002de,0x0014010a,0xa1170063,
+0x875eb000,0x01a51000,0x191360bc,0x68006010,0x0000875e,0x41e000ee,
+0x60500683,0x875ee800,0x03a13700,0xf002debf,0x8002ea00,0x0000b350,
+0x608701f8,0xa0100304,0x6300b000,0x00b41000,0x00d342b0,0x88000018,
+0x30008341,0x60bc01b6,0xb5100a03,0x6300b000,0x03b4b000,0xf002de17,
+0x9703f500,0x00f002de,0x608001f6,0x2c948506,0x02de0200,0x000000f0,
+0x8012e020,0x87011741,0x10030460,0x000302a0,0xff0000c7,0x975eb000,
+0x00b51000,0x086300b0,0x8302b470,0x0000d342,0x00b000fe,0xb4100063,
+0x0360bc01,0x00b5100d,0x006300b0,0xbc01b4f0,0x10114760,0x00b000b6,
+0xb4100063,0x0360bc01,0x02b5d002,0x000b5007,0xbc011301,0xd0030360,
+0x608e01b5,0x9497f202,0x0b500402,0x020c0100,0x000bd004,0x86010c01,
+0x97f20660,0x42e00094,0xb5d000d7,0x0b50a000,0x00a11711,0x1187de68,
+0x86011201,0x97f206e0,0x42e00094,0xb55000d7,0x0bd00702,0x00120100,
+0x00d742e0,0xb000b590,0x1100d742,0x00b000e1,0xb4b00063,0x025ea903,
+0x031701f0,0xf002de17,0x97031501,0x01f002de,0xde020016,0x0000f002,
+0xab1a6800,0x001b0100,0xd564c46c,0xbc010a40,0x06000360,0x1a6800aa,
+0x1e0100a7,0x64c46c00,0x010a20d5,0x000360bc,0xa803a906,0x00f002de,
+0x5edb030a,0x2001f002,0xbee02000,0x03020009,0xf0025e90,0x00020a00,
+0x01001f42,0x6083012c,0x6c900d02,0xbf000402,0x03280100,0xf0025e14,
+0x6e002801,0x61805644,0x60bc0129,0x15110003,0x025e2203,0x012e01f0,
+0x00630014,0x8800a117,0x37f40660,0xc22000a1,0x6021f48e,0x02608201,
+0x03481009,0xf002debf,0xb0000200,0x17007f01,0xde9e03a6,0x3401f002,
+0x02de3803,0x003501f0,0x048f4220,0x94010200,0x00001760,0xdebf0318,
+0x6001f002,0x025e1f03,0x024101f0,0x00c30003,0x20003701,0x01028fc2,
+0x5e25033b,0x4101f002,0x8fc22000,0x003b0102,0xff538168,0xbf030ae0,
+0x01f002de,0x6094013d,0x18000013,0x02debf03,0x036001f0,0xf002de9e,
+0x68004001,0xc10b98de,0x41010240,0xaf0a001f,0x02608501,0x00481009,
+0x0b985e68,0x690045c1,0x61009f5e,0x42980265,0x4501008f,0x02debf03,
+0x026501f0,0x001f4101,0x0402af0a,0x0100bf00,0x5e020050,0xe00cf002,
+0x025e0200,0x00020df0,0x00bb8568,0x84014c01,0x77f50660,0xdebf03ab,
+0xaf0af002,0x87059401,0x02180000,0x00af5e87,0x84016001,0x77f50260,
+0xdebf03ab,0x6001f002,0x9b140002,0x02590100,0x002b1600,0xb0005c01,
+0x17003714,0xde6800a1,0x5921ae84,0x3b14b000,0x00a11700,0xae84de68,
+0xb0005941,0x17003f14,0xde6800a1,0x5961ae84,0x87149e02,0x025c0100,
+0x008fc201,0x94015e01,0x00000f60,0xdebf0318,0x6001f002,0x8fc20102,
+0x015e0100,0x0d066080,0x00026c90,0x0a008fc2,0x609401af,0x18000007,
+0x025e0200,0x02e700f0,0x00bf0004,0x85029401,0x01006300,0x60830194,
+0x6c900d06,0x02debf03,0x019401f0,0x180360bc,0xb0006010,0x10007b01,
+0x00680065,0x6d0100eb,0x135a8800,0x00a11701,0xf46644e8,0x6e00a137,
+0x410784de,0x02e0006d,0xa620009b,0x02debf03,0x014b05f0,0x09126090,
+0x94014810,0x00001f60,0x5a080118,0x8117000f,0x065e8801,0x010a5481,
+0x000f5a34,0x02008017,0x00f0025e,0x01b00064,0x6510007b,0x2356b000,
+0x00a11700,0xa0865ee0,0xe800a197,0xf400845e,0x5ee80003,0x16f40084,
+0x035ab000,0x00131400,0x00075ab0,0xb0001414,0x14000b5a,0xde680015,
+0x85410007,0x9700e800,0x01a15700,0xf0865ebc,0x7c011b14,0xf400875e,
+0x1ab0001c,0x81170037,0x025e0200,0x00780bf0,0x007b01b0,0x08016510,
+0x17000f5a,0x5eb00081,0x1e140087,0x02debf03,0x008801f0,0x001756b0,
+0xb0001b14,0x14001b56,0x54b0001c,0x1e140013,0x1350b000,0x00861000,
+0x00a7006d,0x90018e81,0x10006301,0x41b0008a,0x6210008f,0x025e0200,
+0x004e0df0,0x002b42b0,0xbc010614,0x17180360,0xc16d00a1,0x9101208c,
+0x0360bc01,0x00a19702,0x03845ee0,0xe000a177,0x11b0865e,0xdebf031d,
+0xe701f002,0xc7000302,0x02a40100,0x0003d00c,0x1401a401,0x17006300,
+0x008502a1,0xa4010063,0x87de8000,0x01a2d701,0x1e1760bc,0xe000a297,
+0xb00d8a5e,0xde800065,0xa2b70087,0x0f60bc01,0x00a2971c,0x0d8a5ee0,
+0xb00064b0,0x14009741,0x41b0002e,0x2f140093,0x13d86800,0x02b40100,
+0x00135a00,0x8001a601,0xf4840660,0xdebf0327,0x7c04f002,0x03d00102,
+0x00a60100,0x009b50b0,0x81022b14,0x0200b7d0,0xd0060208,0xad010003,
+0x8650e900,0x00a13723,0x238ad0e8,0x6900a257,0x01008bde,0x609101ad,
+0x27f48416,0x02debf03,0x010b02f0,0x0003d00b,0x3c01a117,0x17002b50,
+0x5e8c01a2,0xa157f486,0x43014801,0x00a21700,0xf4865e68,0x9101b441,
+0xf4841260,0xdebf0327,0x0b02f002,0x0360bc01,0x00a51700,0xf0025e02,
+0xb000f900,0x10001350,0x50b00086,0x8a100017,0x03d00c02,0x02c10100,
+0x00c70003,0xb000be01,0x14009b50,0x5e02002b,0xfa0df002,0x46426d00,
+0x030a80c0,0xf002debf,0x6d00bf01,0x80844a42,0x5006010a,0xa1170007,
+0x86de8201,0x032db485,0xf0025ea2,0x2000d201,0x010403d0,0x50b000c7,
+0xf211004f,0x5350b000,0x00f31100,0x005750b0,0xbc01f411,0x91000360,
+0x010102f0,0xc90100b3,0x06e08701,0x02ab77f5,0x00035006,0x0702ce01,
+0x0100afde,0xde0002ce,0xd20100b3,0x331ae800,0x03425100,0xf002debf,
+0x8102d201,0x03000350,0xd00202e5,0xd10100b7,0x2b500802,0x02d20100,
+0x0003d085,0x9001f703,0xb4851260,0x5ea2032d,0xdf01f002,0x0f50b000,
+0x02161100,0x00b7d002,0xb000d701,0x11005b50,0xd0820216,0xdf010003,
+0xc3478102,0x02d80100,0x004f5080,0x2000dd01,0x813fc747,0xc72000df,
+0x0ac200db,0x02debf03,0x03df01f0,0xf0025ea5,0x8002df01,0x0200dfc7,
+0x5088020a,0xee0100b7,0xb7d08202,0x01e70100,0x00275038,0x08018017,
+0x17001350,0x50020181,0xa1170013,0x865e8201,0x008137f0,0x007f50b0,
+0xbf038910,0x01f002de,0x503801ed,0x8017006f,0x2b500801,0x01811700,
+0x0007d006,0x8201a117,0x37f0865e,0x50b00081,0x8a10001b,0x8350b000,
+0x01891000,0x000b5029,0x02009217,0x00f0025e,0x5e020064,0x4b0bf002,
+0x1b420201,0x01811700,0xd1045e82,0x020081b7,0x0bf0025e,0x5ee00078,
+0xa1170184,0x87ded901,0x02831000,0x00b30100,0xe001f701,0x1000b701,
+0x00040283,0xfa0100bf,0x03508702,0x03fa0100,0xf0025e94,0x2203fb01,
+0x01f0025e,0x61bc01fd,0x80300003,0x02debf03,0x010200f0,0x033361bc,
+0x2b0391b7,0x02f0025e,0x00900003,0xa1970063,0x8264e000,0x006530f4,
+0x00135a6e,0x88010322,0x37f206e0,0xde680091,0x0582024b,0x3761bc01,
+0x0091b703,0x044bde68,0xbc010782,0xb703bb61,0xdebf0391,0x0e02f002,
+0x0e609101,0x0327f484,0xf002debf,0x91010b02,0xf4840660,0x60bc0127,
+0xb4100003,0x06e08101,0x032db485,0xf002debf,0x68007c04,0x82044b5e,
+0xdec40329,0xab09f002,0x03500602,0x02190200,0x00afde07,0xbc011902,
+0x37000361,0x50070291,0x15020003,0x0362bc01,0x0291f700,0x00b3de00,
+0xbc011702,0x77000361,0x01e00091,0x4220000b,0x02debf03,0x011a02f0,
+0x000360bc,0xb0004220,0x1000475e,0x01000280,0x200200b3,0x06608201,
+0x02813010,0x00b38101,0xbc012002,0xb7050360,0xdebf0393,0x7a05f002,
+0x17c56800,0x03020000,0xf002de80,0x81032602,0x02f0025e,0xe0880125,
+0x5c900b0e,0x02debf03,0x030200f0,0xf0025ed0,0xbc013302,0x11000360,
+0x5e02002d,0x830bf002,0x02debf03,0x000200f0,0x0017c568,0x1e013102,
+0x17009f50,0x5e8800a1,0xa237f40e,0x06608800,0x00a137f4,0x00875ee8,
+0xb000a137,0x57f4865e,0x5ea000a1,0xa197f086,0xb644a000,0x004531f4,
+0x00475eb0,0xbf038010,0x00f002de,0x80070202,0x360200bf,0x331ab000,
+0x03421100,0xf0025ec4,0xbc013602,0x90000360,0x41a80004,0x48103023,
+0x0f62bc01,0x01e01100,0xf5026081,0x8701aed7,0x77f502e0,0x816800ab,
+0x3d22000b,0x6744b000,0x01430000,0x0906e082,0x81014810,0x900d0260,
+0x6082016c,0x44912806,0x02e08801,0x015c900b,0x000360bc,0xbc018510,
+0x10000360,0x5e2903b8,0x4602f002,0x02e0d201,0x03849010,0xf002debf,
+0xbc01e802,0x10000360,0x01e00084,0x702000c3,0xb3818102,0x035d0200,
+0xf002de20,0x81017202,0xb7f50660,0xde6800ad,0x5da2044b,0xbbde0302,
+0x004f0200,0x000b26e0,0xbf036510,0x02f002de,0x60bc0150,0x6590101b,
+0x7f5ea000,0x00ec10fe,0x00035ab0,0xb000ed10,0x1000075a,0x5ab000ee,
+0xef10000b,0x0f5ab000,0x01f01000,0x1ee363bc,0xbc0184f0,0x30000360,
+0x60bc0185,0xb4100003,0x0360bc01,0x01a6d001,0x040360bc,0xbc01b550,
+0xd0042360,0x02e000b4,0xab2000af,0x02debf03,0x01b602f0,0x1f0360bc,
+0x030184f0,0x170053de,0x5e8601a2,0xe3701c8a,0x93c36a00,0x00690200,
+0x009043e8,0x0202e4d0,0x02001b42,0x00900067,0xa137001b,0x1b422000,
+0x00664200,0x00871ab0,0xe000a117,0x30f49243,0xc36900e4,0x69020093,
+0x0360bc01,0x01e41000,0x000360bc,0xbc01b410,0x10000360,0x60bc01a6,
+0xb5100203,0x2360bc01,0x00b4d004,0x064b5e68,0xe00070a2,0x2000cb01,
+0xdebf0372,0xb602f002,0xcf01e000,0x03732000,0xf002debf,0x2003b602,
+0x02f0025e,0xe08101bd,0x48100902,0xd701e000,0x03752000,0xf002de1e,
+0xbc019e02,0x17000360,0x5e6a00a2,0x7a020023,0x8f420201,0x01a21700,
+0x098a5e85,0x80014810,0x301006e0,0xde840281,0x7e020053,0x1360bc01,
+0x03a1570d,0xf002debf,0xbc017f02,0x570d0360,0x006800a1,0x9e020027,
+0x845ee000,0x01a1f701,0x101b60bc,0x88006510,0x30009741,0x60bc01b6,
+0xb4100003,0x875e9000,0x01a65000,0x010360bc,0xbc01b510,0xb0002360,
+0xde1703b4,0x8702f002,0x02de9703,0x008802f0,0x0087de20,0x20009142,
+0x220087de,0x5eb8018e,0x8016d022,0x8a5e8001,0x038136d0,0xf002debf,
+0xbc019702,0x16d0225e,0x5e840180,0x8136d08a,0x02debf03,0x009702f0,
+0x0087de20,0xb8019522,0x36d0225e,0x5e800181,0x8256d08a,0x02debf03,
+0x019702f0,0xd0225ebc,0x84018136,0x56d08a5e,0x60880182,0xa830f402,
+0x035ab000,0x00b01000,0x00075ab0,0x8002b110,0x0200a342,0x42e0009a,
+0xa89000a3,0x0b5ab000,0x00b01000,0x000f5ab0,0x8701b110,0x90100660,
+0x5ee00084,0x89370027,0x275eda01,0x01ee1000,0x000360bc,0xbc01b410,
+0x50030360,0x00b000a6,0xb5100033,0x53de8402,0x01a70200,0x030760bc,
+0xb000a650,0x10003700,0x60bc01b5,0xb4d00423,0x06608401,0x019497f2,
+0x09026086,0x9e034810,0x02f002de,0x448002b1,0xb402001f,0x3f5eb000,
+0x01451100,0x000360bc,0xb0008f17,0x1700435e,0x5eb00085,0x9017000f,
+0x02debf03,0x00b402f0,0x000f5eb0,0x80028517,0x02001f44,0x44a000b4,
+0x45b1f0b6,0x0360bc01,0x01421001,0xf2066083,0x84019497,0x11000760,
+0x5ea003e0,0xb203f002,0xaf5e0602,0x01b40300,0xf506e086,0xbc01ab77,
+0x10000360,0x5e020080,0x7b09f002,0x02debf03,0x03e104f0,0xf0025ea1,
+0x81011303,0xd7f50660,0x602000ae,0xd6a2850e,0x04608701,0x00a01003,
+0x006300b0,0xbc01b410,0x100a0360,0x00b000b5,0xb4f00063,0xb7d00202,
+0x00ca0200,0x005f50b0,0xb000e010,0x10006350,0x50b000e1,0xe2100067,
+0x6b50b000,0x00e41000,0x021342b0,0x000284f0,0x0200b750,0x00b000d1,
+0xb4100063,0x0360bc01,0x00b51002,0x046300b0,0x8401b4d0,0x11000760,
+0x60bc01e0,0x8e170003,0x02debf03,0x00b803f0,0x00c701e0,0xb0007120,
+0x10006300,0x60bc01b4,0xb5d00203,0x6300b000,0x03b4d004,0xf002debf,
+0x03014303,0x17000350,0x5eb800a1,0xa1370087,0x865e8701,0x02801010,
+0x0003d00c,0x03021203,0x0200c700,0x60bc01dd,0xb2170003,0x27503801,
+0x02a31700,0x00b7d002,0xb000e802,0x17001323,0x50b801a1,0xe030f46e,
+0x7350b000,0x01a11700,0xf41623b8,0x8501e130,0x301c06e0,0x42b000e1,
+0x84700013,0x6f503801,0x02a31700,0x00134282,0xb000e802,0x10007b50,
+0x42b000e4,0x84100213,0x04608701,0x01a01003,0x00735038,0x7c01a117,
+0x37f46e50,0x5e8800a1,0xb9900087,0xc7000302,0x00fb0200,0x00cbde68,
+0xb000f702,0x1000bb50,0x5abc0165,0xe070f406,0x075a3c01,0x01a21700,
+0xf43e60bc,0xb000e150,0x70001342,0x5ab00084,0x8309000b,0x2360bc01,
+0x00b85001,0x000f2668,0xbf030323,0x03f002de,0x60bc0107,0xb8700103,
+0x0f266800,0x01032300,0x010360bc,0xbf03b870,0x03f002de,0xd00c0107,
+0xa1170003,0x025ea903,0x010003f0,0x012360bc,0x6800b850,0x6300875e,
+0xdebf0303,0x0703f002,0x0360bc01,0x00b87001,0x00875e68,0xbc010743,
+0x70010360,0x000302b8,0x050300c7,0x6750bc02,0x01060300,0x1702e081,
+0xbc01b810,0xf0000360,0x000302a5,0x0b0300c7,0xcb5eb000,0x00b51000,
+0x086300b0,0x8302b470,0x0300d342,0x60bc010a,0xb5100d03,0x6300b000,
+0x00b41000,0x006300b0,0xb000b4f0,0x1800d342,0x60880100,0xb4100308,
+0x06608101,0x036c900d,0xf002debf,0x02024303,0x0300b7d0,0x50b00019,
+0xe010006f,0x7350b000,0x00e11000,0x007750b0,0x8202e210,0x03001342,
+0x50b00018,0xe410007b,0x1342b000,0x0084f002,0x009f5ee0,0xa103a737,
+0x03f0025e,0x60bc0122,0xa7170003,0x04608701,0x00a01003,0x006300b0,
+0xbc01b410,0x100d0360,0x00b000b5,0xb4f00063,0x08608801,0x03b41003,
+0xf002debf,0xb0003803,0x10007b01,0x5ab00065,0xe5100003,0xff63bc01,
+0x00c5f01f,0x00075ab0,0xbc01e610,0xf01fff63,0x5ab000c6,0xe710000b,
+0xff63bc01,0x00c7f01f,0x003b9a68,0xe0002b03,0x3700275e,0x1a680089,
+0x2f03003b,0x07e08501,0x01e31000,0x0007e085,0xb000c310,0x10011342,
+0x5eda0184,0xee100027,0x06608701,0x00849010,0x1c1342b0,0xbc018410,
+0x10000360,0x60bc01b4,0xa6501303,0x9700b000,0x01b51000,0x042360bc,
+0x8401b4d0,0x11000760,0xdebf03e0,0xa303f002,0x4b5e0801,0x00a11700,
+0x00875e68,0x02024323,0x03000350,0x509e0242,0x3f03009f,0x03d00102,
+0x003f0300,0x00275ee0,0x58018937,0x1400275e,0x50da0129,0xee1000a7,
+0x06608701,0x03849010,0xf002debf,0xbc014303,0x14000360,0xc1040129,
+0xa1170007,0x025e2203,0x014603f0,0x0053de03,0xb000a117,0x1700875e,
+0x5e8802a2,0x4a03004b,0x4b5e6800,0x014a8306,0x000360bc,0x8301a217,
+0x97f286de,0xde830194,0x27f48486,0x13c28102,0x01510300,0x008b5e86,
+0x8601e310,0x10000760,0xe08101c3,0x84901006,0x02debf03,0x015303f0,
+0x1c8a5e86,0x8601e370,0x70180660,0x47b802c3,0x8c0300a7,0xb3de0002,
+0x01570300,0x1c06e087,0x8701e370,0x701806e0,0x5e0801c3,0xa117004b,
+0x875e6800,0x029a2300,0x009f501e,0x85015c03,0x701c06e0,0xe08501e3,
+0xc3701806,0x63001401,0x00a11700,0x0087de68,0xb0006583,0x17005301,
+0xde6800a2,0x61e3ff8b,0x47426800,0x00622300,0x848ade68,0x850165c3,
+0x10090260,0xe0860148,0xe3701c02,0x06e08601,0x01c37018,0x00075010,
+0x6800a617,0x03009b5e,0x60bc019a,0xe4110003,0x07503a01,0x00801700,
+0x00035e88,0xe0008077,0x10f0ae00,0xde680064,0x7643009b,0x03d00702,
+0x01700300,0x182360bc,0xe000a2f7,0x370b005e,0x5e0200a3,0x050cf002,
+0x1b60bc01,0x0081d715,0x018341e0,0xe0006370,0xb0008f41,0x5e020065,
+0xda0bf002,0x1b60bc01,0x01649015,0x004760bc,0x0200a217,0x0cf0025e,
+0x5e68002d,0xa143009b,0x4660a401,0x00e071f4,0x009b5e68,0x68007e63,
+0xa3009b5e,0x50b0007e,0xe211002f,0x3350b000,0x03e21100,0xf002debf,
+0x0201a103,0x1700c780,0xde8701a1,0xe8113d86,0x02608701,0x00e8113d,
+0x009bde68,0x870183a3,0x113d0660,0x422000e8,0x8a43001b,0x0360bc01,
+0x02ea1100,0x002b5088,0xb0008803,0x11007750,0xdebf03eb,0x8a03f002,
+0x6f503c01,0x01a21700,0xf47250bc,0x9201eb51,0xb7001bc2,0x5eb801a2,
+0xe8113d8a,0xc7800202,0x01a10300,0x090360bc,0xb000ea11,0x11002f50,
+0x50b000eb,0xeb110033,0x3750b000,0x00eb1100,0x003b50b0,0xb000eb11,
+0x11003f50,0x50b000eb,0xeb110043,0x4750b000,0x00eb1100,0x004b50b0,
+0x8601eb11,0x113d0660,0x60bc01e8,0x65901823,0x025e0200,0x03470ef0,
+0xf002debf,0x8401a103,0x11000760,0xde9e03e0,0xa103f002,0x02de3803,
+0x00a103f0,0x044bde68,0x8401a183,0x97f20660,0x50000294,0xa103004f,
+0x06608501,0x01481009,0x000360bc,0xb0002d11,0x14008344,0x60bc0128,
+0x8e170003,0x4b5e6800,0x02a6a305,0x00035000,0x8301af03,0x100906e0,
+0x41b00048,0x00180023,0x0360bc01,0x038eb704,0xf0025ea9,0x6800b403,
+0x23044b5e,0x60bc01b4,0x8e370603,0x4b5e6800,0x01b4a305,0x060360bc,
+0xbf038eb7,0x03f002de,0x608101b4,0xab77f506,0x0f5eb000,0x00851700,
+0xf0025e02,0xbc01830b,0x17000360,0x60bc018c,0x8d170003,0x02de2303,
+0x01b803f0,0x1006e087,0x00028370,0x0300b3de,0x62bc01b8,0x83300003,
+0xa7006d00,0x03ca8300,0xf0025e29,0x0302e203,0x0300c700,0xd08202c6,
+0xbe0300b7,0xb318e000,0x032c2600,0xf002debf,0xe000bf03,0x2600b718,
+0x2668002d,0xc623000f,0xcb5ee000,0x01b23700,0x00cb5e0a,0xe000a117,
+0x30f4ba50,0x60d00065,0xa257f606,0x125a2000,0x03c643f4,0xf002debf,
+0xd503c003,0x08f002de,0xded603df,0xf408f002,0x02de5003,0x03c603f0,
+0xf002debf,0x6800fb03,0x0300a700,0x428802ce,0xce03001b,0x6744e000,
+0x03a11705,0xf002debf,0xe000cf03,0x17026744,0x5e9103a1,0x0200f002,
+0x66c46800,0x00cf23f4,0x00a70068,0x8002d803,0x03001b42,0x60bc01d6,
+0xa1370503,0x0360bc01,0x03659005,0xf002debf,0xbc01dc03,0x770f1360,
+0xdebf03a1,0xdb03f002,0x0360bc01,0x01a1770f,0x060360bc,0xbf036590,
+0x03f002de,0x60bc01dc,0x65100703,0x025e0200,0x005800f0,0x01075ad8,
+0x3c018116,0x1700035a,0x5eb801a1,0x8136d086,0x035ad800,0x01801601,
+0xd06640b8,0x05028016,0x0300af5e,0xe08701e4,0x33712606,0x02debf03,
+0x010200f0,0x850a6090,0x82022db4,0x0300b7d0,0x503c01ee,0x80170027,
+0x2b500901,0x01811700,0x00075007,0x8201a117,0x37f0865e,0x50b00081,
+0x8a10001f,0x0f50b000,0x03161100,0xf002debf,0x3801f403,0x17005f50,
+0x500a0180,0x8117002b,0x07d00701,0x01a11700,0xf0865e82,0xb0008137,
+0x10002350,0x50b0008a,0x1611005b,0xb7508002,0x01f90300,0x050360bc,
+0xbf0392b7,0x01f002de,0x609001d7,0x2db48506,0x02debf03,0x01e603f0,
+0x060360bc,0xbf039237,0x01f002de,0x608e01d7,0xe8113d02,0x025e2b03,
+0x020904f0,0x00f30000,0xe8000004,0x51002300,0x60bc0142,0x4251280a,
+0x025e9403,0x000504f0,0x008b05b0,0x68006410,0x04000358,0x44b00005,
+0x12110067,0x0358b000,0x00151100,0x001f4568,0xa2030904,0x04f0025e,
+0xe0850109,0xab77f506,0x025e0200,0x02b30cf0,0x00e3c201,0x03023604,
+0x0400c700,0x2668000e,0x1724000f,0x46426e00,0x031744f6,0xf002debf,
+0x6e001004,0x24004742,0x00030217,0x140400c7,0x02de1503,0x011004f0,
+0x85026080,0xbc012c94,0x17000360,0xded503a3,0xdf08f002,0x06e08101,
+0x012db485,0x840e6091,0xbf0327f4,0x04f002de,0x503c0136,0xa1170067,
+0x865ebc01,0x01ba5017,0x010360bc,0x0302b890,0x0400c700,0xa6680027,
+0x2124000f,0x02e08101,0x03b81017,0xf002ded5,0xd603df08,0x08f002de,
+0xde5003f4,0x1d04f002,0x02debf03,0x003604f0,0x000f26e8,0xb0008329,
+0x1000cb5e,0x00b000b5,0xb4700863,0xd3428302,0x00240400,0x00cb5eb0,
+0xbf03a517,0x04f002de,0xe0860128,0xa0100304,0x025e0200,0x00f000f0,
+0xf0025e02,0xd503f900,0x08f002de,0xded603df,0xf408f002,0x02de5003,
+0x022a04f0,0x00a34700,0xbc014102,0x11000360,0x508802ea,0x3204002b,
+0x7750b000,0x03eb1100,0xf002debf,0x3c013404,0x17006f50,0x50bc01a2,
+0xeb51f472,0xa347b000,0x03e8d100,0xf002debf,0xbc014102,0xf0000360,
+0xe08201a5,0x48100902,0x1f62bc01,0x01e01100,0x000f60bc,0x8502e811,
+0x04000b50,0x6082013c,0x48100902,0xb3818102,0x03430400,0xf002dea0,
+0xd5034104,0x08f002de,0xded603df,0xf408f002,0x025e2003,0x014304f0,
+0x09026088,0xbf034810,0x00f002de,0x60bc010a,0xa1370003,0xb3010002,
+0x02510400,0x00b30104,0xe9005004,0x2000bb01,0x81e8006e,0x6f0000bf,
+0xbb816800,0x00500400,0x00bf8168,0x81025004,0x0400b381,0x60bc014d,
+0x6c000003,0x02debf03,0x017c04f0,0x000360bc,0x02006c00,0x09f0025e,
+0xdebf033b,0x0a00f002,0x0360bc01,0x00a11700,0xf0025e02,0x0102900a,
+0x0400b301,0xdebf0354,0x0a00f002,0x1360bc01,0x00a17715,0xf0025e02,
+0x34015800,0x17006740,0x016d00a1,0x5924f49a,0x875eb000,0x00660000,
+0xf49e016e,0xb0005b24,0x0000875e,0xdea30367,0x0a00f002,0xb7500002,
+0x01640400,0x000360bc,0x82018010,0x10090660,0x60800148,0x2db48502,
+0x07c10401,0x01a11700,0xf286de83,0xe0009497,0x2000cb01,0xdebf0372,
+0x1801f002,0xb3010102,0x01660400,0xf506e087,0xb000ab77,0x17000b01,
+0xde6d00a1,0x7c040884,0x6444e800,0x00a17708,0x08845e6e,0x87017c24,
+0x77f506e0,0xdebf03ab,0x7c04f002,0xaf5e8202,0x01780400,0xf5066082,
+0xb000ab77,0x06006744,0x01b00098,0xa217006b,0x1b428002,0x00720400,
+0x004b01b0,0x6800a217,0x04008b5e,0x45900077,0xa197002b,0x86de8000,
+0x00a157f4,0x00b741b0,0xe000a117,0x2623865e,0x61bc01a9,0x33110003,
+0x6444e800,0x00a517d3,0x01975e6d,0x82013300,0x77f50260,0x5ed103ab,
+0x0200f002,0xb3500002,0x03d80400,0xf002de25,0x83018004,0xf4840660,
+0xdebf0327,0xb504f002,0x03d00c02,0x02b30400,0x00c70003,0x1401a204,
+0x17006300,0xde6d00a1,0xb3840087,0xbb50b000,0x00651000,0x00bf50b0,
+0x91026410,0x04009f50,0xd081028a,0x8a0400b7,0x025e2903,0x038b04f0,
+0xf002debf,0xbc019004,0x16000360,0x60bc0104,0x80370003,0x025e0200,
+0x03310ef0,0xf0025e29,0xb000b304,0x1400af50,0xdebf0326,0xb304f002,
+0x06608201,0x002db485,0x00135ab0,0xb0008d14,0x1400175a,0x18b0008e,
+0xa11700b3,0x0360bc01,0x012c0600,0xf4ba18bc,0xbc01a137,0x06000360,
+0x5eb0002e,0x8f140087,0xb718b000,0x01a11700,0x000360bc,0xbc012d06,
+0x37f4be18,0x60bc01a1,0x2f060003,0x875eb000,0x00901400,0x00f701b0,
+0xbc019014,0x00000360,0x5e02007d,0x310ef002,0x0f58b000,0x038c1400,
+0xf002debf,0x6800ae04,0x040047c2,0xe08101a7,0x2db48506,0x0e609101,
+0x0127f484,0x000360bc,0xbf032c14,0x00f002de,0x50b00002,0xa117009f,
+0x025e0200,0x00ef00f0,0x00875eb0,0x86012714,0x100304e0,0x42b000a0,
+0x00180083,0x03d00c01,0x00a11700,0x0087de68,0x0201a264,0x1700b750,
+0x5e8001a1,0x27f48486,0x0ee08a01,0x0027f484,0x00af50b0,0xbf032614,
+0x04f002de,0xe08601b5,0xa0100304,0x9f500002,0x01b50400,0x100360bc,
+0x86024210,0x040007c1,0x5e2903d5,0xbb04f002,0x3352b000,0x00291400,
+0x003752b0,0x9e01a117,0xf484865e,0x50b00027,0xa117009f,0x86de8001,
+0x00a137f4,0xf0025e02,0x0702d30b,0x0400bf80,0x608001c8,0x8f26f402,
+0x9b50b000,0x00900600,0x00a750b0,0xb0009106,0x0600ab50,0x50b00092,
+0x9306009b,0x6300b000,0x00950600,0x008341b0,0x80019406,0x97f50660,
+0xdebf03ac,0xd504f002,0xab50b000,0x008f1000,0x00a750b0,0xb0008e10,
+0x10009b50,0x6080018d,0x8c30f406,0xb7500202,0x00d40400,0x004352b0,
+0xb0008f10,0x10003f52,0x52b0008e,0x8d10003b,0x37521a01,0x01a11700,
+0x0487de98,0xb801a137,0xb091865e,0x6082018c,0x2db48502,0x02608101,
+0x036c900d,0xf002de25,0x9c01d804,0xf4840260,0xdebf0327,0xdc04f002,
+0x0360bc01,0x012c1400,0xf5026081,0x8502aed7,0x04000b50,0x50a800dc,
+0x2d1405b7,0x02608301,0x0127f484,0x0902e085,0xbc014810,0x14000360,
+0x5ea2032a,0x1801f002,0x02debf03,0x030a00f0,0xf002de23,0xa3032f05,
+0x05f0025e,0xdea2032f,0x2f05f002,0x06608101,0x03ab77f5,0xf0025eaa,
+0x83012f05,0x100902e0,0xde510348,0xec04f002,0xb3de8002,0x00320500,
+0x006b02e0,0x80019a20,0x77f506e0,0xdebf03ab,0xf104f002,0x02de0103,
+0x00ef04f0,0x064f5e68,0xbc01ef24,0x17000360,0x5ea403a8,0xf104f002,
+0x02dec103,0x013205f0,0x09026084,0x04024810,0x0400bf00,0x60bc01f6,
+0x15110003,0x63001401,0x00a11700,0xf40266e0,0x02006530,0x0bf0025e,
+0x6082018b,0x48100902,0x025ea903,0x001105f0,0x043b5e68,0xf00101a5,
+0x370017de,0x5ea00085,0x8597f016,0x3b5e6800,0x02012506,0x00035001,
+0x87020005,0x0500bf80,0xe0850100,0x48100906,0x03d08002,0x00110500,
+0x001b5eb0,0xb000a317,0x17008b00,0x000402a4,0x070500bf,0x97416e00,
+0x01076530,0x00035a18,0x1a01a317,0x1700035a,0xc16800a4,0x0a051883,
+0x9302e000,0x03a42000,0xf002debf,0x6d000c05,0x85f42e5e,0xe082010c,
+0x2db48506,0x335ee000,0x008c3700,0xf432de68,0xb0000f65,0x17000f5e,
+0xde6d0085,0x1d65f42e,0x02debf03,0x002a05f0,0x001f5eb0,0xb000a317,
+0x17008f00,0x000402a4,0x170500bf,0x97416e00,0x01176530,0x00035a1c,
+0x1e01a317,0x1700035a,0x5e6d00a4,0x1985f42e,0x06e08201,0x002db485,
+0x00375ee0,0x68008d37,0x65f436de,0x5eb0001c,0x8517000f,0x2e5e6d00,
+0x012a65f4,0x0902e085,0xd1034810,0x05f002de,0x5e68001f,0x2485044b,
+0x025e0200,0x00830bf0,0x18834168,0x81014b05,0xb48506e0,0xdebf032d,
+0x7c04f002,0x4f50b000,0x00f21100,0x005350b0,0xb000f311,0x11005750,
+0x60bc01f4,0xf5110103,0x0360bc01,0x03f05100,0xf002debf,0x02007c04,
+0x0bf0025e,0x60810183,0x48100902,0x025e2903,0x022f05f0,0x00c70083,
+0xbf03ad0d,0x04f002de,0xded1037c,0x3005f002,0x02dea503,0x037c04f0,
+0xf002debf,0x80020a00,0x0000b301,0x5006020a,0x39050003,0x0b01b000,
+0x00a11700,0x0884de6d,0xe8003905,0x77086444,0x5e6e00a1,0x39250884,
+0x06e08701,0x01ab77f5,0x004b5e08,0x6800a117,0x2500875e,0x5eb0003c,
+0x8517000f,0x025e0200,0x00830bf0,0x063b5e68,0xbc014225,0x17000360,
+0xd000028c,0x44050003,0x0360bc01,0x038d1700,0xf002debf,0xbc014405,
+0x17000360,0xdebf038c,0x1801f002,0x83416800,0x014a0518,0x84066080,
+0x290327f4,0x04f0025e,0x6082017c,0x2db48506,0xc7008302,0x03ad0d00,
+0xf002debf,0xe0007c04,0x20009702,0x608101a5,0x48100902,0x0360bc01,
+0x008e0600,0x007b01e0,0xbc015ea0,0x17191360,0x016d00a1,0x0a20f47a,
+0x1360bc01,0x035e8011,0xf002debf,0x02000a00,0x09f0025e,0xde380375,
+0x0a00f002,0x02de9e03,0x000a00f0,0x004c44e8,0xe800a1f7,0x1701845e,
+0xde6a00a1,0x5b050184,0x845ee800,0x01871101,0x000360bc,0xa5018811,
+0x113022e0,0x60bc0180,0x13110003,0x0360bc01,0x00141100,0x006744b0,
+0xb000a117,0x17006b44,0x5eb000a2,0x04110087,0x8b5eb000,0x03051100,
+0xf002deb8,0xbf035d05,0x00f002de,0x5e87020a,0x8f070053,0x0360bc01,
+0x0192b704,0x040360bc,0xbc01a117,0xf01fff63,0x63bc01cb,0xccf01fff,
+0xff63bc01,0x01cdf01f,0x1fff63bc,0xbc01cef0,0xf01fff63,0x63bc01cf,
+0xd0f01fff,0x0360bc01,0x02e41000,0x00c30086,0xb0007d05,0x17000f54,
+0xde6900a2,0x7185908a,0x1252e800,0x00e450f4,0x00379a68,0xbc017d05,
+0x10000360,0x54b000e4,0xe0100027,0x2b54b000,0x03e11000,0xf002debf,
+0xa4038605,0x07f002de,0xdea90328,0x2807f002,0xbf800702,0x027a0500,
+0x000fd287,0xbc01bc05,0xd7010360,0x26e000a1,0x8c290033,0x05e08101,
+0x02936932,0x00c30006,0x80027f05,0x05005fde,0x54b00084,0xe0100007,
+0x371a6800,0x01820500,0xa086ded2,0xb000e030,0x10000b54,0xdebf03e1,
+0x8605f002,0x865ebc01,0x01e01090,0x001f60bc,0xbc01e110,0x10000360,
+0x52b000e2,0xe5100023,0xff63bc01,0x00c5f01f,0x002752b0,0xbc01e610,
+0xf01fff63,0x52b000c6,0xe710002b,0xff63bc01,0x00c7f01f,0x004700b0,
+0x08018610,0x1700371a,0x52380181,0x80170003,0x27c00201,0x00a61700,
+0xf0025e02,0xb000420d,0x17000754,0x81810280,0x950500b3,0x025e0200,
+0x004b0bf0,0x00371a68,0x68009e25,0x0500379a,0x541a0298,0x9e050007,
+0xa7006800,0x009c8500,0x00a70068,0x03019cc5,0x170027c0,0xdebf03a1,
+0x9d05f002,0x3bc00601,0x01a11700,0x10865e82,0xa90386d0,0x07f002de,
+0x5e680076,0xb725044f,0xff63bc01,0x00c3f01f,0x054f5e68,0xbc01a6a5,
+0x901a0360,0x60bc01e3,0x92b70603,0x4f5e6800,0x03b72505,0xf002debf,
+0xbc01b105,0x37060360,0x44980292,0x7c080007,0x07468002,0x017c0800,
+0x180360bc,0x0702e390,0x0500bf80,0xd20702b1,0xb105000f,0x06608101,
+0x01ac97f5,0x1c06e087,0xb000e370,0x10008f41,0x5e9f0362,0xb105f002,
+0x0360bc01,0x00453100,0x00371ab0,0x02008117,0x0bf0025e,0x5ee80078,
+0xa1d70084,0x865e6a00,0x00b78590,0xf41252e8,0xbf03e430,0x05f002de,
+0x60bc01ba,0xe4100003,0x02de3803,0x01ba05f0,0x1c06e087,0x9001e490,
+0x10090a60,0x61bc0148,0x91370403,0x4f5e6800,0x037ca805,0xf0025e83,
+0xbf032807,0x00f002de,0x41040202,0xc8050063,0x02e08901,0x01ac97f5,
+0x0b026084,0x05025810,0x0500af5e,0xe08701c4,0x33712606,0xbf000402,
+0x01c70500,0xf502e085,0x0200ab77,0x0cf0025e,0xdebf03b3,0x0200f002,
+0x23c58502,0x01ca0500,0x0b066084,0xbc015810,0x11000361,0x80050233,
+0xd10500bf,0x1360bc01,0x00a15711,0xf0025e02,0x96015800,0x30030e60,
+0x40b00019,0xa2170067,0x025e0200,0x005d00f0,0x006744e0,0x02029946,
+0x0500b35e,0xe08901d4,0xac97f506,0x37c08302,0x000a0000,0x001f02e0,
+0x02008720,0x0bf0025e,0xe08901af,0xac97f506,0x02debf03,0x010a00f0,
+0x3201e081,0x83019369,0x693201e0,0x5e020093,0xaf0bf002,0x13408102,
+0x01020000,0x000360bc,0xa3038010,0x05f002de,0x609001e0,0x48100902,
+0x6744b000,0x009e1700,0x006b44b0,0xb0009d17,0x17006f44,0x44b0009c,
+0x9b170073,0x7ade6800,0x00e02523,0x002302e0,0x15018820,0x17003b40,
+0x00680097,0xec8500a7,0xa7006800,0x00ecc500,0x005f5ea0,0x68009737,
+0x0500a780,0x60bc01ec,0x97370003,0x4301b000,0x01a11700,0x0584dec9,
+0x81017926,0x900d02e0,0x4086026c,0xf2050037,0xbb02e000,0x03ae2000,
+0xf002debf,0xbc011709,0x14000360,0x60bc0180,0x81140003,0x0a60b801,
+0x01249004,0x040360bc,0xbc01a006,0x46000360,0x60bc019f,0x2ad00003,
+0x0760b301,0x01041000,0x000360bc,0xbc018406,0x06000360,0x60bc0185,
+0x86060003,0x0360bc01,0x01870600,0xf502e083,0x8702aed7,0x090037c0,
+0x60bc0114,0x3e200003,0x025e0200,0x00a50ef0,0x005fde68,0x3c010546,
+0x17000352,0x52bc01a1,0xa137f406,0x845e6e00,0x035ba90b,0xf0025e43,
+0x6800fe05,0x46005f5e,0x5e680017,0x1426005f,0xa7806800,0x000aa600,
+0x906644e0,0xbc01aa26,0x1700c362,0x528002a1,0x0d060003,0x03529601,
+0x00a11700,0x9086de80,0x03029a37,0x06000352,0x5ee00012,0x9a37906a,
+0x03d20702,0x00120600,0x006b5ee8,0x9e029a37,0x09006b5e,0xdebf035b,
+0x1a06f002,0x03d25201,0x01a11700,0xf406d285,0xbf039a37,0x06f002de,
+0x523c011a,0xa1170003,0x0652bc01,0x009a37f4,0x0b685e6e,0x04025ba9,
+0x06003bc0,0x40870220,0x3b070037,0x0360bc01,0x003e4000,0xf0025e02,
+0x8702a50e,0x0600afc0,0x4058011b,0x9a1700af,0x025e2a03,0x022206f0,
+0x00afc087,0xb0001409,0x10282341,0x60800148,0x9497f202,0x02e08401,
+0x01481009,0x00af4058,0x01012a10,0x1700b3c1,0x5e8301a1,0xa1771087,
+0x865ebb01,0x00049000,0x001340b0,0x68000018,0x2900ab40,0xde290314,
+0x3206f002,0xab405801,0x029a1700,0x00a34700,0xbc013206,0x113c1e62,
+0x60bc01e0,0xea110003,0x6b5eb000,0x01eb1100,0x3d1e6098,0x8303e811,
+0x06f0025e,0x60bc0136,0x3e600003,0x025e0200,0x00a50ef0,0x0433406d,
+0xbc0132c6,0x06000360,0xe0880176,0x7706000f,0x33406d00,0x01230702,
+0x000f5229,0x09019317,0x17000f52,0x609601aa,0x9497f202,0x8741e000,
+0x0165f001,0x000f60bc,0x2800a117,0x669086de,0x60860142,0x9497f206,
+0x9741e000,0x00657000,0x00831ae0,0x0601a0c6,0x1700535e,0x5ea000a2,
+0xa177044f,0x87de6800,0x01504604,0xf206e086,0xb8009497,0x37008b5e,
+0x5ab000a2,0xa0170003,0x03da0a02,0x014a0600,0xf2066087,0x84029497,
+0x06003bc0,0xda030250,0x50060003,0x025eb003,0x024e06f0,0x00074104,
+0x80015006,0xe6ce0460,0x5e060177,0xa2170053,0x8ade8201,0x03049000,
+0xf002dea9,0xb0035b06,0x06f0025e,0xd2870257,0x57060013,0x1352b000,
+0x01861100,0x300ae0a5,0xbf038011,0x06f002de,0x52080257,0x5b06000f,
+0x1302e000,0x01842000,0xf2066080,0xbf039497,0x07f002de,0x52070224,
+0xc106000f,0xa3478002,0x00be0600,0x00831ae0,0xe800a086,0x86007f1a,
+0x60bc019f,0xe4110003,0xff63bc01,0x01a5f71f,0x030360bc,0x0602e1d1,
+0x0600535e,0x60bc0164,0xe1910403,0x53de0602,0x00680600,0x008747e0,
+0x0702e151,0x06000fd2,0x47e00068,0xe1910087,0x33406d00,0x0023c702,
+0x054f5e68,0x68006b86,0x4600abde,0x5eb003c1,0x6e06f002,0x17520002,
+0x03c10600,0xf002de9e,0x02007506,0x0af0025e,0xc00002a9,0x72060077,
+0x77402901,0x00a51700,0x00975ee0,0x6800a597,0xe6ff97de,0x52800275,
+0xc1060017,0xbf000702,0x01c10600,0x061b60bc,0x9000a217,0x30008747,
+0x41e00065,0x6550f496,0x8747e000,0x03960601,0xf0025e83,0xbc017d06,
+0x80000360,0x5e02003e,0xa50ef002,0x30406d00,0x0079c6d2,0xd230406d,
+0x680023c7,0xe6ff97de,0x5a0f0180,0xa5170007,0x0b60bc01,0x00a1571d,
+0xf4965ee0,0x2a016430,0x17000358,0xde9e0399,0x9006f002,0x02e08201,
+0x029937f3,0x00175200,0x16019006,0x170003d8,0x5a0f01a6,0xa4170007,
+0x03d80c01,0x00a11700,0xf492de68,0xe0008c26,0x1702675e,0xdebf0399,
+0x9106f002,0x03d80d01,0x00a11700,0xf492de68,0xe000c126,0x1704675e,
+0xdebf0399,0x9106f002,0x03581001,0x00a61700,0x00675e88,0xe000a277,
+0x50f4ae00,0xdeaa0164,0x76c6ce64,0x9bde6800,0x02ac4600,0x00878107,
+0x6d009f06,0x060c8bde,0x5285029f,0x9f06000f,0x3b521801,0x00a11700,
+0x0087de68,0x81019f06,0xe6ce04e0,0x5ee00077,0xa3370b88,0x8f5ee000,
+0x00a39700,0x008741e0,0x0200a277,0x0cf0025e,0x1ae80005,0x9f06017f,
+0x1b60bc01,0x0081d715,0x00975e88,0xe800a177,0xb0f4865e,0x60bc0163,
+0xa1170e07,0x8e41e000,0x006330f4,0x001756b0,0xb000a117,0x17001b56,
+0xde6800a2,0xc146d086,0x8ade6800,0x00c166d0,0xf0025e02,0xbc01da0b,
+0x90151b60,0x62bc0164,0xa217004f,0x025e0200,0x002d0cf0,0x009b5e68,
+0xbc01be46,0x71f41e62,0x5e6800e0,0xb166009b,0x9bde6800,0x01bea600,
+0x00c78002,0x8701a117,0x113d86de,0x609801e8,0xe8113d06,0x831ae000,
+0x00a08600,0x007f1ae8,0xbc019f86,0x11000360,0xde6800ea,0xb946005f,
+0x6b5eb000,0x01eb1100,0x3d5ede92,0x8701e811,0x113d0260,0xde6800e8,
+0xbda6009b,0x06608701,0x01e8113d,0x3d166098,0x8101e811,0xc6ce04e0,
+0xdeaa0176,0x76c6ce64,0x02debf03,0x01c506f0,0x000f62bc,0xbc01e011,
+0x11000360,0xe08101e4,0x77e6ce00,0x0f60bc01,0x02e81100,0x00df1900,
+0xe000cc06,0x46f37e1a,0x1ab0009f,0x25100083,0x7e1ae800,0x009fa604,
+0x017f9a6a,0xb801ccc6,0x90040660,0xe0820124,0x9497f206,0xa3c70702,
+0x01e60600,0x090360bc,0xe000ea11,0x17018747,0x5e8303a1,0xd106f002,
+0x32406d00,0x00cf26f4,0xf432406d,0xbc01e626,0x370b0360,0xde0602a1,
+0xd5060053,0x825e9c01,0x00a137f4,0x00875eb0,0xb000eb11,0x11002352,
+0x52b000eb,0xeb110027,0x2b52b000,0x00eb1100,0x00874790,0xbc016530,
+0x17061b60,0x41e000a1,0x6530f496,0x0f5ad800,0x00eb1101,0x010b5ad8,
+0xd800eb11,0x1101035a,0x5ee800eb,0xa1373c6a,0x875ee800,0x00a1d701,
+0x01875ed8,0x8601eb11,0x113d0660,0x60bc01e8,0x6510061b,0x025e0200,
+0x01470ef0,0x3d06e086,0x8801e811,0x90000a60,0xc0040104,0xa117003b,
+0x86de8101,0x036c900d,0xf002dea0,0x6800ee06,0xa6064f5e,0x523801f3,
+0x80170003,0x5f5eb000,0x00811700,0xf0025e02,0x68006400,0x4600abde,
+0x5ea000f3,0xa177044f,0x875e6800,0x00c94800,0x04875e68,0xbf03c948,
+0x0af002de,0xde86033d,0x1509f002,0x37c08702,0x00140900,0xf0025e02,
+0xbc01c10b,0xa0000360,0x5e02003e,0xa50ef002,0x025e0303,0x03f306f0,
+0xf002dea9,0xbc01fe06,0xc0000360,0x5e02003e,0xa50ef002,0x37400702,
+0x00fa0600,0xf0025e02,0x6e009d0a,0x07023040,0xde010328,0x2807f002,
+0xabde6800,0x03100700,0xf0025e30,0xe0000407,0x20002b02,0xdebf038a,
+0x0807f002,0x17528002,0x00070700,0x004302e0,0xbf039020,0x07f002de,
+0x02e00008,0x95200057,0x4f5e6800,0x00b60904,0x024f5e68,0x6800b689,
+0x08024f5e,0x5e680083,0xc288044f,0x4f5e6800,0x002f0a05,0x064f5e68,
+0x68002f0a,0x8a064f5e,0xdebf0338,0x3d0af002,0xabde6800,0x03212700,
+0xf0025e30,0xe0001407,0x20002f02,0xdebf038b,0x1807f002,0x17528002,
+0x00170700,0x004702e0,0xbf039120,0x07f002de,0x02e00018,0x9620005b,
+0x4f5e6800,0x0061a806,0x044f5e68,0x68004f2a,0xaa044f5e,0x5e68004f,
+0xcea8054f,0x4f5e6800,0x00612806,0x054f5e68,0xa0002d2a,0x77ff4f5e,
+0x5e6800a1,0x452a0787,0x02debf03,0x007c08f0,0x001302e0,0xbf038420,
+0x08f002de,0x02e00080,0x8320000f,0x0f60bc01,0x02e81100,0x003bc084,
+0x8401c106,0x100906e0,0xdebf0348,0xc106f002,0x93c00002,0x03020000,
+0xf0025ea3,0xc3032c07,0x07f0025e,0xdebf032b,0x5709f002,0x0360bc01,
+0x003e0001,0xf0025e02,0x0702a50e,0x0700afc0,0x40070230,0x2c070037,
+0xafc00701,0x00a11700,0x00875eb8,0x8201a137,0x900d865e,0x44b0006c,
+0x7806007f,0x02608301,0x00481009,0xf0025e02,0x8702c10b,0x090037c0,
+0xde860314,0x1509f002,0x0360bc01,0x003e2001,0xf0025e02,0x4303a50e,
+0x07f0025e,0xc0870235,0x14090037,0xb3810002,0x01600700,0xf2066080,
+0x01039497,0x07f002de,0x5eb00360,0x4207f002,0x0702e000,0x03812000,
+0xf002debf,0xe0004307,0x20000302,0x60bc0180,0x65b01227,0x9541e000,
+0x01659032,0x006b402d,0x8800a217,0x37018b5e,0x403801a2,0x8016002b,
+0x27408802,0x014a0700,0xd0066084,0xb0008016,0x56f4025a,0x60bc0180,
+0xa1d70d1b,0x025e0200,0x005800f0,0x006740b0,0xbc018116,0xf70d1b60,
+0x5e0200a1,0x5800f002,0x6740b000,0x00821600,0x005326e0,0x69009469,
+0x87015326,0x60bc0154,0x94090003,0xb3818402,0x01590700,0x0d04e084,
+0xbc016c80,0x00000360,0x60bc016e,0x6f000003,0x02debf03,0x005e07f0,
+0xf73a52e8,0xe800a1b7,0x1702875e,0x5e9000a1,0xa1970087,0xba01e100,
+0x006e20f4,0x00bf81e0,0xb0006f00,0x17003b52,0x010502bd,0x5b0900b3,
+0xdf198002,0x00620700,0x0230406e,0x81035d08,0x07f002de,0x02e0006c,
+0x85200017,0x02dea903,0x016707f0,0x0906e084,0x80014810,0x100902e0,
+0x5e020048,0x9b0bf002,0x02de8603,0x011509f0,0xce046080,0x800176c6,
+0x97f20660,0xdebf0394,0xe107f002,0x02de8603,0x031509f0,0xf0025e30,
+0xa9038f07,0x07f002de,0xde680074,0x8f4700ab,0x3b52b000,0x009f1700,
+0x003b52b0,0xbc01be17,0x26000360,0xdebf0384,0x8f07f002,0x02dea003,
+0x037e07f0,0xf002debf,0x90016305,0x10090a60,0x52b00048,0x9f17003b,
+0x3b52b000,0x01be1700,0x00835e9e,0x0601ebb0,0x17000f52,0x5eb800a1,
+0xa1370087,0x86de8201,0x01ab77f5,0x000361bc,0xe8008030,0xf7f33a52,
+0xd26b00a2,0x81e7f33a,0x7e5ee800,0x00a2d791,0x008b5e90,0xbc01a197,
+0x90101b60,0x526b0064,0x8ce7f33a,0x875e1801,0x01a21700,0x00875e0a,
+0x8800a317,0x57f40660,0x41e000a2,0x6470f492,0x0258b000,0x000056f4,
+0x91fade6b,0xb0008fc7,0x17003b52,0xdebf03be,0x8f07f002,0x025e0200,
+0x00820df0,0x00131ab0,0xb0008426,0x17003b52,0xde20039f,0x9c07f002,
+0x535e0702,0x01930700,0x0902e080,0xbf034810,0x07f002de,0xde68009c,
+0x9907005f,0x07541a02,0x01970700,0x0027c003,0x8201a117,0xd010865e,
+0xc0020186,0xa1170027,0x2a42e000,0x018a30f4,0xce04e080,0xa90376c6,
+0x07f002de,0x5eb0009c,0x80100047,0x4f5e0801,0x00a11700,0x00875e68,
+0xb003b927,0x07f0025e,0x520002bd,0xac070017,0xabde6800,0x00a24700,
+0x005302e0,0x86029420,0x0700535e,0x528402e1,0x5b09000f,0x0fd28402,
+0x03a70700,0xf0025eb3,0xbf03aa07,0x07f002de,0x5e3103b2,0xb207f002,
+0x4f5e6800,0x01aa0704,0xf2066084,0x68009497,0x07024f5e,0xdebf03e1,
+0xd107f002,0x02de1e03,0x03af07f0,0xf0025e31,0x8401af07,0x97f20260,
+0xde680094,0xb44700ab,0x3f02e000,0x038f2000,0xf002debf,0x6800b707,
+0x4700ab5e,0x528002b7,0xe107002f,0x07410202,0x00b70700,0x044f5e68,
+0x6800e107,0x87024f5e,0x410402e1,0x5b090007,0x02debf03,0x03e107f0,
+0xf0025e30,0x6800e107,0xa7054f5e,0x5e6800d1,0xd127054f,0x02debf03,
+0x02e107f0,0x00535e06,0xe000c007,0x20006302,0xdebf0398,0xe107f002,
+0x02de2303,0x01c807f0,0x000b5029,0x6800a317,0x27058fde,0xe08701c8,
+0x83701002,0x02608401,0x00481009,0x00875eb0,0x6e00a117,0x270003e0,
+0xded103c7,0xc807f002,0xabde6800,0x00ce4700,0x002702e0,0x07028920,
+0x0700bf80,0xd20701ce,0xa117000f,0x865e8101,0x01ac97f5,0x000360bc,
+0x6800a817,0x07004f5e,0x5e6800e1,0xe107014f,0x4f5e6800,0x02e18705,
+0x00c74780,0x29035b08,0x07f002de,0xde0201d7,0xa11700af,0x0f520601,
+0x00a21700,0xf4865e38,0x8201e147,0x77f58ade,0x52b000ab,0xf2110023,
+0x2752b000,0x00f31100,0x002b52b0,0x0601f411,0x17000f52,0x5ee000a1,
+0xf5310087,0x5b00b000,0x00f01100,0x00c347b0,0x34010018,0x1700c7c7,
+0xde6e00a1,0xe1a70284,0x0360bc01,0x02421008,0x0007c183,0x8002e307,
+0x0900535e,0x40b0005b,0xa1170033,0xdf990801,0x00a21700,0x008b5e68,
+0xe800eb67,0x17d43040,0x198102a1,0xeb0700df,0x831ab000,0x02a11700,
+0x00df9980,0xb000eb07,0x1700635e,0x5e6e00a1,0x5d080284,0x875eb000,
+0x01700600,0xce006081,0x020276c6,0x070013c0,0x5ee000f1,0x70460384,
+0x04608101,0x0276c6ce,0x00df1901,0x03010908,0x1700535e,0xde8701a1,
+0x76c6ce84,0x02de8603,0x011509f0,0x010360bc,0x02003e40,0x0ef0025e,
+0x5e8503a5,0xf407f002,0x02608e01,0x01e8113d,0x0083c707,0x8201a117,
+0xc6ce845e,0x99010276,0xfe0700df,0x97c70301,0x01a11700,0xce845e82,
+0x070277e6,0x0a00afc0,0x60bc0182,0xe811000f,0x04608401,0x0077e6ce,
+0x002740b0,0xb0007206,0x06002b40,0x40b00073,0x7406006b,0x6f40b000,
+0x01750600,0xce046084,0x020077e6,0x0af0025e,0x63bc019d,0xa8d71fff,
+0x025e0200,0x008b0bf0,0xf0025e02,0xa801820a,0x90000a60,0x19010204,
+0x6d0d00df,0x23016800,0x03590800,0xf002de20,0x06025908,0x080053de,
+0x5e680059,0x1228044f,0x4f5ea000,0x00a17704,0x0487de68,0xbc015948,
+0x10100360,0x52b00073,0x74100023,0x2752b000,0x00741000,0x002b52b0,
+0x1e017410,0x1000835e,0x60bc0174,0x71101203,0x0360bc01,0x0172f017,
+0x083360ac,0xb0007030,0x1800c341,0x41800200,0x1b0800c3,0xc3c18702,
+0x01590800,0xf506e083,0x8301aed7,0x700e0660,0x41280173,0xa11700cf,
+0x87de8000,0x01a1b700,0x062760bc,0xe0008249,0xa90d0a26,0x5e680082,
+0x4a28044f,0x0b26b000,0x00651000,0x00fb5e90,0xe800be97,0x97d0fa5e,
+0xde8502a1,0x49080087,0x7f5e9000,0x009f9700,0x07875ee8,0x0502a1f7,
+0x080087de,0x5ee80031,0xa197d07e,0x87de0502,0x00380800,0xf40260e8,
+0xbc01a137,0x90101b60,0x5e020064,0x970df002,0x02debf03,0x004008f0,
+0x07fb5ee8,0x9e0184f6,0x96d00260,0x609e0184,0xa137f402,0x875e6e00,
+0x003be807,0x009741e0,0x02006410,0x0df0025e,0x5ee80097,0xa197d07e,
+0x1b60bc01,0x00649010,0xf0025e02,0xbf03820d,0x08f002de,0x1ab00040,
+0x80160013,0x171ab000,0x00811600,0x001b1ab0,0xb0008216,0x16001f1a,
+0xdebf0383,0x4808f002,0x035ab000,0x00a11700,0xd0845eb0,0xb0008096,
+0x1700075a,0x5eb000a1,0x81b6d084,0x0b5ab000,0x00a11700,0xd0845eb0,
+0xb00082d6,0x17000f5a,0x5eb000a1,0x83f6d084,0x135a8800,0x039f9700,
+0xf002debf,0xb0005908,0x10000b26,0x5e900065,0xa297007f,0x8a5ee800,
+0x02a197d0,0x0087de85,0xb0005808,0x16008b5e,0x60e80084,0xa237f4fe,
+0x8bde8502,0x00540800,0x009741e0,0x02006410,0x0df0025e,0xdebf0397,
+0x5808f002,0x0360bc01,0x01801600,0x000360bc,0xbc018116,0x16000360,
+0x60bc0182,0x83160003,0x135ab000,0x009f1700,0x001340a8,0xbf030450,
+0x04f002de,0x02e000e1,0xa1200087,0x02debf03,0x005e08f0,0x000b02e0,
+0x84018220,0x10090660,0xe0840148,0x48100906,0x02debf03,0x035b09f0,
+0xf0025e30,0x68007408,0xa8064fde,0x02e00065,0x8e20003b,0x02debf03,
+0x006608f0,0x003702e0,0x23038d20,0x08f002de,0xde68007c,0x7cc8f14e,
+0x02e08701,0x01837010,0x09026084,0xb0004810,0x1700875e,0xe06e00a1,
+0x6c280003,0x02ded103,0x006d08f0,0x064f5e68,0x05026f28,0x08000b50,
+0x6082017c,0x48100906,0xbf800702,0x02730800,0x000fd207,0x80017308,
+0x97f506e0,0xdebf03ac,0x7c08f002,0xc3008702,0x00790800,0x064fde68,
+0x680079a8,0x080013d2,0x60bc0179,0x83110003,0x0360bc01,0x00821100,
+0x064fde68,0xe0007c28,0x20004f02,0xdebf0393,0x7c08f002,0x025eb003,
+0x027e08f0,0x00074104,0x83028108,0x07000741,0xdebf0328,0x8108f002,
+0x07418402,0x01280700,0xf2066080,0xbf039497,0x07f002de,0x5e9f0328,
+0x8608f002,0x02de9e03,0x023d0af0,0x00535e03,0x04023d0a,0x08004381,
+0x0100018a,0xa1170063,0x27c00201,0x00a21700,0xf486de38,0xb0038048,
+0x08f0025e,0x5200028c,0x80080017,0x2f528002,0x038e0800,0xf0025e33,
+0x3c023d0a,0x08003f52,0x523c019f,0xa117003f,0x84de6800,0x01be8804,
+0x160360bc,0xbc016410,0x10081b60,0x5e680065,0x9b280087,0x035ab000,
+0x00a21700,0xc08ade68,0xe000be08,0x30009741,0x41e00065,0x64300093,
+0x875ee800,0x00a15700,0x00875e6a,0x68009428,0x0800875e,0x5a3801a0,
+0xa1170003,0x03583801,0x00a21700,0xf486de68,0xbf03be48,0x08f002de,
+0xc18502a0,0x3d0a0007,0x1b60bc01,0x0165f007,0x050360bc,0x0200a4b7,
+0x00f0025e,0x00800289,0xbe0800c3,0x1360bc01,0x00a61719,0x007f01e0,
+0x6d00a5b7,0xc8f4965e,0x60bc01a8,0xa5971113,0x945e6800,0x00c0c80b,
+0x007b01b0,0xb0006510,0x17002752,0x52b000a2,0xa317002b,0x94416800,
+0x00b3e80b,0xd08ede68,0x6800af48,0x28d08a5e,0x41e000be,0x65b00097,
+0x96416d00,0x01acc8f4,0x111360bc,0xbf036590,0x08f002de,0x02e000ac,
+0xa220008b,0x7f01b000,0x00651000,0x002352b0,0xb0008016,0x16002752,
+0x52b00081,0x8216002b,0x0252bc01,0x01a1f7f2,0xf4025ea9,0x90008336,
+0x16016744,0xde680084,0xbda80593,0x06608401,0x008496d0,0x00975eb0,
+0xb0035f00,0x05f0025e,0xdebf0376,0x2807f002,0x8f02e000,0x03a32000,
+0xf002debf,0x9e038008,0x0af002de,0x5eb0033d,0xc508f002,0x17520002,
+0x03800800,0xf0025e33,0x84013d0a,0x97f20660,0x5eb00394,0x7605f002,
+0x02debf03,0x032807f0,0xf0025e83,0x6d00cb08,0x88033340,0x406d00c9,
+0x80880333,0x025e3003,0x033e0af0,0xf002debf,0x30037605,0x08f0025e,
+0x02e000d1,0x8c200033,0x02debf03,0x007a05f0,0x004b02e0,0x03019220,
+0x170027c0,0x5e820181,0x81b7d104,0x025e0200,0x00780bf0,0x00230088,
+0xe000a237,0xf700885e,0x5ee000a2,0x8951f486,0x06e08601,0x03801130,
+0xf002debf,0xa2037c08,0x00f002de,0xdea30334,0xf408f002,0xff01e000,
+0x017f2000,0x000360bc,0xbf03a317,0x08f002de,0x608701f6,0xa0100304,
+0x0360bc01,0x00e45100,0x009347b0,0xbc010018,0x90020360,0x62bc0104,
+0xe011000f,0x0f60bc01,0x00e83101,0x00a347b0,0xbc010018,0x11000f60,
+0x608401e8,0x48100906,0x1e602000,0x00eb0809,0x00fb01e0,0xbf037e20,
+0x08f002de,0x60bc01fc,0xa1d70e03,0x63001401,0x00a21700,0xf4865ee0,
+0xe0006550,0x3600035a,0x00030280,0xf10800c7,0x025ea903,0x02f608f0,
+0x009f5091,0x9101f508,0xf4841a60,0xdebf0327,0xf508f002,0xff01e000,
+0x017f2000,0x000360bc,0x2303a337,0x08f002de,0xe08301fc,0x48100902,
+0x0360bc01,0x018e1700,0x1002e087,0x82018370,0x10090260,0x5e020048,
+0x830bf002,0x02ded003,0x03fd08f0,0xf0025ed0,0x8201fe08,0x100902e0,
+0xded50348,0x0009f002,0x0360bc01,0x01b41000,0x000360bc,0x6800a1f7,
+0x0900a700,0x42850104,0xa137f41a,0x025e0200,0x005800f0,0x006740b0,
+0xbc01a517,0xf71fff63,0x5e0200a2,0x5d00f002,0x07608800,0x00a45701,
+0xf4865eb8,0x0200a197,0x00f0025e,0x5e68005d,0x0200008f,0xb3016800,
+0x010f0900,0x000360bc,0xbf032605,0x09f002de,0xe0200012,0x1209091e,
+0x975eb000,0x032a1400,0xf002debf,0xa8000b02,0xf0002341,0xdebf0348,
+0x0200f002,0x02608301,0x00481009,0x0230406e,0xe0001709,0x20007702,
+0x5e02009d,0x420ef002,0x025ea303,0x032807f0,0xf002dec6,0x84011a09,
+0x100906e0,0xdebf0348,0x5b09f002,0x8ae32000,0x02210009,0x00234584,
+0x91032100,0x00f0025e,0xde960321,0x2100f002,0x025e9603,0x002100f0,
+0xf0025e02,0xbc017509,0x30000360,0xe0870142,0x23712402,0x0360bc01,
+0x03206000,0xf0025e12,0xbc012509,0x40000360,0x61bc0120,0x25110083,
+0x7b00b000,0x01271100,0x111360bc,0xbc015e80,0x80111360,0xe080015f,
+0xaed7f506,0x07c10701,0x01ab1700,0x000f60bc,0xbc01e811,0x11000f62,
+0x5e0200e0,0x3b09f002,0xcf61bc01,0x015c100c,0x000360bc,0xbc015d10,
+0xf001cf61,0x60bc015e,0x5ff0083b,0xc7000302,0x010a0000,0x000360bc,
+0xbc01e803,0x03000360,0x60bc01ed,0xf2030003,0x0360bc01,0x01f70300,
+0x000360bc,0xbf03a906,0x00f002de,0x60bc010a,0x48100003,0xb35ea800,
+0x01ac5703,0x1fff63bc,0xbc0154f0,0xf01fff63,0x63bc0155,0x56f01fbf,
+0xff63bc01,0x0057f01f,0xf0025e02,0x8701420e,0x712406e0,0x60bc0123,
+0x54100003,0x0360bc01,0x01551000,0x000360bc,0xbc015610,0x10000360,
+0x60bc0157,0x1720000f,0x07c10601,0x01a11700,0x02845e82,0x070117e0,
+0x17000741,0x5eb800a1,0xa1370087,0x87de8001,0x00160000,0xf002de02,
+0x85020000,0x000037c0,0x60bc0102,0x3e600103,0x025e0200,0x02a50ef0,
+0x00374086,0x02004e09,0x0bf0025e,0x608201af,0xac97f506,0x1b02e000,
+0x03862000,0xf002de86,0x87021509,0x090037c0,0x60580115,0x2a100003,
+0x0360bc01,0x00049000,0x001340b0,0xbf03a117,0x00f002de,0x60b8010a,
+0x2490040a,0x025eaa03,0x015e09f0,0x00036058,0xbc012a10,0x90020360,
+0x40b00004,0x00180013,0x0360bc01,0x00e45100,0x009347b0,0xbc010018,
+0x11000f62,0x608001e0,0x77e6ce00,0x025e8503,0x016409f0,0x000f62bc,
+0xbc01e011,0x31010f60,0x47b000e8,0x001800a3,0x0f60bc01,0x01e81100,
+0x010360bc,0xe800a157,0x3700875e,0xde6800a1,0x6a090087,0x0360bc01,
+0x00049002,0x001340b0,0x24030018,0x04f002de,0x608601e1,0xab77f506,
+0x025e0200,0x017509f0,0x10066080,0xb0008130,0x1700875e,0x608001a1,
+0x81301002,0x02debf03,0x01e104f0,0x000361bc,0xb0008010,0x18000342,
+0xe06e0000,0x78290003,0x025e5003,0x007b09f0,0xf0025e01,0xbf030000,
+0x02f002de,0x41a80033,0x48f00423,0x02608201,0x02481009,0x00afde06,
+0xd5038009,0x09f002de,0xde500380,0x7e09f002,0x0360bc01,0x02b41000,
+0x0083c784,0xbc018309,0x11000b60,0x608e01e0,0xab77f502,0x02de0200,
+0x030000f0,0xf002dea2,0xbc022100,0x09008742,0x60bc018c,0xa4370003,
+0x0360bc01,0x01a3f71f,0x00630014,0x8800a217,0x57f40660,0xdebf03a2,
+0x9109f002,0x07608800,0x01a41701,0x00ff63bc,0x1401a317,0x17006300,
+0x5ee000a2,0xa217018b,0x06608800,0x01a257f4,0x191360bc,0x20006510,
+0x89f486c2,0x41e00097,0x65500697,0x935e8800,0x00a43700,0xf4925e20,
+0xbf032160,0x09f002de,0xde680092,0x9b49f492,0x02dea003,0x009b09f0,
+0x1623c120,0x02009309,0x09f0025e,0xde6d0075,0xa8092093,0xb35a0002,
+0x02a70900,0x00b35a3c,0x8503a709,0x00f002de,0x5e850321,0x2100f002,
+0x02dea203,0x032100f0,0xf002dea3,0x97032100,0x00f002de,0x41b00021,
+0x60100097,0x06608800,0x01a497f4,0x840a6091,0xbf0327f4,0x02f002de,
+0x6080010b,0xac96d502,0x935eb000,0x01a11000,0x000360bc,0xbf034330,
+0x09f002de,0xc2830293,0x0200001f,0x875eb000,0x03a11700,0xf002ded0,
+0xbc01fb03,0x10040360,0xde9e0342,0x0a00f002,0x3f5eb000,0x01451100,
+0x000360bc,0xb0008f17,0x1700435e,0x5eb00085,0x9017000f,0x025e0200,
+0x037509f0,0xf002debf,0x6d000a00,0x88053340,0x5eb30381,0xbb09f002,
+0x4f5e6800,0x00ed8902,0x006702e0,0xbf039920,0x09f002de,0x5e6800ed,
+0xec89024f,0x5f02e000,0x03972000,0xf0025e9f,0x9e032b0a,0x09f002de,
+0xde2103cd,0xcd09f002,0x6f02e000,0x009b2000,0xf0025e02,0x86017509,
+0x10090260,0x60800148,0x48100902,0x02e08101,0x01481009,0x020360bc,
+0x80024210,0x09001f44,0x5eb000cc,0x4511003f,0x0360bc01,0x008f1700,
+0x00435eb0,0xb0008517,0x17000f5e,0xdebf0390,0xcd09f002,0xb644a000,
+0x034571f0,0xf0025e9f,0x82022b0a,0x0900c300,0x00b000ec,0xa1170073,
+0x865ee000,0x00a117b0,0xf47a5ee1,0xe1009e37,0x170077de,0xdee1009d,
+0x9c170073,0x6fdee000,0x039b1700,0xf002de9e,0x6e00dd09,0x4a926e5e,
+0x5e6d002b,0xdd49926e,0x725e6e00,0x002b2a92,0x92725e6d,0x6e00dd29,
+0x0a92765e,0x5e6d002b,0xdd099276,0x7ade6d00,0x002bea91,0x006744b0,
+0xb000a806,0x06006b44,0x44b000a7,0xa606006f,0x7344b000,0x00a50600,
+0x23a29a68,0xe900dd29,0xd7f3a21a,0x9ae9009e,0x9db7f39e,0x9a9ae900,
+0x009c97f3,0xf3969ae8,0xe1009b77,0xf7917a5e,0x5eb000a1,0x19110087,
+0x76dee100,0x001a1192,0x9272dee1,0xe0001b31,0x51926ede,0xde68001c,
+0xe6292386,0x02de1e03,0x002b0af0,0x024f5e68,0xbc012b8a,0xb0081b60,
+0x60bc0165,0xa4970003,0x025e0200,0x008900f0,0x0093de68,0x85021b8a,
+0x0a00c300,0xc107021b,0xf7090097,0x0f5a3c01,0x01a21700,0xf4125abc,
+0xbf03a257,0x09f002de,0x5ab000f8,0xa217000f,0x0360bc01,0x03321100,
+0xf0025e33,0x8002fe09,0x0a001f44,0x5eb0001b,0x8611008b,0x0ee0a501,
+0x03801130,0xf002debf,0x9b021b0a,0x0a002f40,0x44000214,0x0e0a0007,
+0x07c40002,0x02080a00,0x00074481,0x82011b0a,0x900107e0,0x52b00010,
+0x1110002f,0x3352b000,0x00111000,0x003752b0,0xb0001110,0x11008b5e,
+0xdebf030f,0x1b0af002,0x07e08201,0x00103001,0x002f52b0,0xb0001110,
+0x10003352,0x52b00011,0x11100037,0x8b5eb000,0x030d1100,0xf002debf,
+0x82011b0a,0xd00007e0,0x52b00010,0x1110002f,0x3352b000,0x00111000,
+0x003752b0,0xb0001110,0x11008b5e,0xdebf030b,0x1b0af002,0x02de3303,
+0x00170af0,0x008b5eb0,0xbf030b11,0x0af002de,0x5e34031b,0x1a0af002,
+0x8b5eb000,0x030d1100,0xf002debf,0xb0001b0a,0x11008b5e,0xde1e030f,
+0x2b0af002,0x025e9f03,0x002b0af0,0x024f5e68,0x33032b8a,0x0af0025e,
+0x60bc012b,0x65b0081b,0x0360bc01,0x00a4b700,0xf0025e02,0x68008900,
+0xaa0093de,0xc107022b,0x270a0097,0x075a3c01,0x01881700,0x000b5a3c,
+0xbf03a117,0x0af002de,0x5a380129,0x88170007,0x0b5a3801,0x01a11700,
+0xf2865e84,0x87019497,0x912486de,0x5eb00324,0x7605f002,0x02debf03,
+0x032807f0,0xf0025e30,0xbf038008,0x05f002de,0x5eb00376,0x320af002,
+0x025e3303,0x038008f0,0xf002debf,0xb0003e0a,0x11002352,0x52b000f2,
+0xf3110027,0x2b52b000,0x01f41100,0x000360bc,0xb000f591,0x11005b00,
+0xdebf03f0,0x7605f002,0x3f523801,0x02a11700,0x00535e06,0x38013b0a,
+0x17004b52,0xde6800a1,0x3d8a0087,0x02debf03,0x032807f0,0xf0025eb0,
+0x00027605,0x0a00f300,0xde060243,0x430a0053,0x835e1801,0x00a11700,
+0x0087de68,0xbc0143aa,0x51020b60,0x52000242,0x80080017,0x02debf03,
+0x012807f0,0x000360bc,0xbc018311,0x11000360,0x40190182,0xa117002f,
+0x875e6800,0x017c0800,0x2086de99,0x31030011,0x08f0025e,0x5ea0007c,
+0xa297003b,0x4e5e2000,0x017c48f4,0x09026084,0xbf034810,0x08f002de,
+0x5e30037c,0x7c08f002,0x4fde6800,0x00542a04,0x003352b0,0xb0009f17,
+0x10002f52,0x528102eb,0x6305002f,0xab02e000,0x02aa2000,0x002f5281,
+0x08026608,0x05002f52,0xdebf0376,0x2807f002,0x0360bc01,0x01671000,
+0x000360bc,0x80014610,0x300906e0,0xc1820249,0x600a001f,0x2f60bc01,
+0x0165f01f,0x000360bc,0xe8008016,0x30009741,0xc1690065,0x5d0a0097,
+0x0b60bc01,0x01941700,0x000360bc,0xbc01ab17,0x17000360,0x60bc01ac,
+0xad170003,0x0360bc01,0x01ae1700,0x000360bc,0xbc01bf17,0x20000360,
+0x60bc0120,0xa1170003,0x025e0200,0x015800f0,0x00674038,0x1c012800,
+0x00006740,0x60bc0129,0x49500003,0x0360bc01,0x01a71700,0x000360bc,
+0xbc01a817,0x17000360,0x60bc01a9,0xac170003,0x0360bc01,0x01ad1700,
+0x0f06e082,0x06027810,0x0a00e3c1,0x80680072,0x750a00a7,0x02debf03,
+0x00760af0,0x00a78068,0xbc01768a,0xe0000b60,0x60bc0100,0x01400003,
+0x2f62bc01,0x01022003,0x1b5b60bc,0xbc010340,0x00000360,0x60bc0104,
+0x05000003,0x1b60bc01,0x01611006,0x1f1360bc,0xbc016050,0x06000360,
+0x5eb0009e,0x8517000f,0xb644a000,0x034571f0,0xf002debf,0x88012209,
+0x46ce5c5e,0x60bc0172,0x07100e1b,0x0360bc01,0x01085001,0x00066088,
+0x07020490,0x0600afc0,0xde860320,0x1509f002,0x02de0503,0x03870af0,
+0xf002de86,0x85031509,0x0af002de,0x5eb00089,0xa1170087,0x03e06e00,
+0x038d2a00,0xf002de86,0xbc011509,0x10000760,0xde020042,0x0000f002,
+0x025e2103,0x00940af0,0xf43a1ae0,0xb0008e26,0x17003b1a,0xdebf038b,
+0x9c0af002,0xb7508102,0x01990a00,0x009f501c,0xe0008b17,0x37f42e5e,
+0x5e9c018b,0x27f4842e,0x02debf03,0x019c0af0,0x009f501e,0xe0008b17,
+0x37f42e5e,0x5e9e018b,0x27f4842e,0x02de0200,0x000000f0,0x00a70068,
+0x0201a28a,0x060027c0,0x8068009d,0xa8aa00a7,0x771ae000,0x009d2600,
+0xf002de02,0xbc010000,0x26000360,0x40bc019d,0xa117002b,0x875e9800,
+0x00a11701,0x012b4098,0x6a00a217,0x2af48ade,0x60bc01a8,0x9d860003,
+0x02de0200,0x000000f0,0x002352b0,0xb0001f10,0x10002752,0x52b00020,
+0x2110002b,0x07608001,0x021d1000,0x00774080,0x0200ad0a,0x00f002de,
+0xe0870100,0xab77f502,0x025e9103,0x000200f0,0x09fee320,0x81020200,
+0x0a00535e,0x418302bb,0xb50a001f,0x53de8102,0x01c10a00,0x000360bc,
+0xbc015111,0x11000360,0x62bc0152,0x53110003,0x0360bc01,0x01505100,
+0xf2066089,0xbf039497,0x00f002de,0xc5800202,0x02000043,0x47c5f001,
+0x01561100,0x0047c507,0xf001a117,0x31f44ac5,0x60890155,0x9497f20a,
+0x0360bc01,0x02471008,0x0007c104,0x92030200,0x00f002de,0xde9e0302,
+0xc80af002,0x02deb803,0x000200f0,0x007f01b0,0x6800a117,0xc00b84de,
+0xdebf0302,0xca0af002,0x53de0302,0x00020000,0x0023de68,0x8402cb0a,
+0x0000535e,0xc4870202,0x02000093,0x0361bc01,0x00231100,0x002b01b0,
+0xb000a317,0x17000b44,0x44b000a1,0xa217000f,0x865ee900,0x00a13723,
+0x238adee8,0xe900a257,0x66f4865e,0xdee8008a,0x8b06008b,0x6f816800,
+0x00d70a00,0x00235e68,0x6800eb2a,0x2a002700,0x5ee800eb,0xa1370023,
+0x87de6900,0x00da0a00,0x01845ee0,0xb000a137,0x18001f44,0x44880000,
+0xa3570123,0x23449000,0x01a4d700,0x006f013c,0x6800a517,0x0a0097de,
+0x013801e4,0xa517006f,0x975e6800,0x00e70a00,0x00975ee8,0x6800a137,
+0x0a00875e,0xdebf03eb,0xe70af002,0x975ee800,0x00a53700,0x0194de80,
+0xe000a537,0xb70d865e,0x1ae100a1,0x8a66f42a,0x2e9ae000,0x008b86f4,
+0x00875ee8,0x6a00a137,0x0a00875e,0x1a6900e7,0xf00a002f,0x2f9a6800,
+0x00ee0a00,0x2a2a9a6e,0x8001f08a,0x97f206e0,0xdebf0394,0xf20af002,
+0x02e08001,0x039497f2,0xf002debf,0x68000200,0x0a002741,0x458402fd,
+0xf30a0023,0xa7006800,0x00f6aa00,0x00a78068,0xb000f9ca,0x17006744,
+0x44e800a1,0xa237f466,0x8b5e6d00,0x03f74a00,0xf002de92,0x02002e09,
+0x0cf0025e,0x5e02005f,0x5a0cf002,0x025e0200,0x016a0cf0,0x000f60bc,
+0x1e03e811,0x0bf002de,0x60bc0104,0x5c100003,0x0360bc01,0x015d1000,
+0x045360bc,0xbc015e10,0x10000360,0xdebf035f,0x080bf002,0x0b60bc01,
+0x015c1000,0x000360bc,0xbc015d10,0x10044360,0x60bc015e,0x5f100003,
+0x0360bc01,0x02208000,0x00bf0085,0xb0003d0b,0x11002b1a,0x1ab00051,
+0x5211002f,0x0360bc01,0x01503100,0x0c0360bc,0x00004090,0x00f002de,
+0xc1680000,0x110b0003,0x43458002,0x010d0b00,0x000360bc,0x84025011,
+0x0b004345,0x44b00012,0xa1170067,0x865e6800,0x01142b23,0x000360bc,
+0x86012040,0x11200660,0x1ae90000,0xa1372a2a,0x2e9ae800,0x00a2572a,
+0xf46644e1,0xe1001931,0x51f46ac4,0xc4e1001a,0x1b11006f,0x73c4e000,
+0x001c1100,0x001f44b0,0x88000018,0x57012344,0x449000a3,0xa4d70023,
+0x0b44b000,0x00a11700,0x000f44b0,0xe900a217,0x3723865e,0xdee800a1,
+0xa257238a,0x8bde6900,0x002b0b00,0xf40a44e1,0xe0000271,0x91f40ec4,
+0x5ee80003,0x88370023,0x23de6900,0x00200b00,0x002700e8,0xbf038837,
+0x0bf002de,0x60860120,0x00112002,0x53de0002,0x013f0b00,0xf202e080,
+0x02009497,0x0cf0025e,0x60bc015d,0x40100003,0x02debf03,0x02320bf0,
+0x00c38000,0xe000360b,0x57096444,0x5ee800a1,0xa1372186,0x66c46c00,
+0x03342bf4,0xf002debf,0xe8003f0b,0x26212a01,0x60bc018a,0x8b060003,
+0x2b1ab000,0x01511100,0x000360bc,0xbc015211,0x31000360,0x45800250,
+0x3b0b0043,0x02debf03,0x01160bf0,0x000360bc,0xb0004010,0x11002b01,
+0xde000009,0x0000f002,0x025e5603,0x00420bf0,0xf0025e02,0xb000cc00,
+0x11002f01,0x61bc0109,0x5c100ccf,0x0360bc01,0x015d1000,0x01cf61bc,
+0xbc015ef0,0xf0083b60,0x5e02005f,0x660cf002,0x025e0200,0x006f0cf0,
+0xf0025e02,0xbf03630c,0x09f002de,0x5e88012e,0x86d01006,0x075e0201,
+0x01a11700,0x10865e82,0x680086d0,0x8b00a780,0x5e9d0150,0x86d01002,
+0x1b420802,0x01670b00,0x061b60bc,0x0200a137,0x00f0025e,0x608d0158,
+0xa2370306,0x025e0200,0x015d00f0,0x006f5018,0x8002a317,0x0b001bc2,
+0x60bc015b,0x81d71d03,0x8fde0002,0x02640b00,0x008f5e00,0xbf035e0b,
+0x0bf002de,0x60bc0161,0x81f70303,0x8f5e6e00,0x00644b00,0x008f5e68,
+0x8301610b,0x37030660,0x5e0200a2,0x5d00f002,0x02debf03,0x016c0bf0,
+0x03066083,0x0200a237,0x00f0025e,0xdebf035d,0x6c0bf002,0x02608301,
+0x00a23703,0xf0025e02,0xbf035d00,0x0bf002de,0x60bc016c,0xa137061b,
+0x025e0200,0x015800f0,0x0302608d,0x0200a237,0x00f0025e,0x60bc015d,
+0x81d71d03,0x07c18102,0x026c0b00,0x00634087,0xbc016d0b,0x10070760,
+0x60bc0119,0x18700183,0x63408702,0x00700b00,0x00075eb0,0xbc011910,
+0xb0018360,0x40870218,0x730b0063,0xa7006800,0x02778b00,0x001b420b,
+0xbf03770b,0x0bf002de,0xde020077,0x0000f002,0x1354b000,0x02a11700,
+0x0007de00,0xb000820b,0x10008b41,0x60bc0165,0xa1d70103,0x025e0200,
+0x00570df0,0x00845ee0,0xe000a1d7,0xf700845e,0x5e0202a1,0x820b0007,
+0x845ee800,0x03a137d4,0xf002debf,0x0200820b,0x00f002de,0x00040200,
+0x860b00bf,0x025e0200,0x03340df0,0xf002debf,0xa0008a0b,0xb1f0b644,
+0x80070245,0x8a0b00bf,0x17c56800,0x018a0b00,0x000360bc,0x02004531,
+0x00f002de,0x00000200,0x9a0b00bf,0xa35ee000,0x00a83700,0x05a05e6d,
+0xb0009acb,0x17009726,0x5e0200a1,0x5800f002,0x6740b000,0x00a21700,
+0xffa3de68,0xb00097eb,0xd734895e,0x006d00a2,0x968b00a7,0x779a6d00,
+0x03984b00,0xf002debf,0x6800970b,0x0b00779a,0x5eb80098,0xa2d73489,
+0x025e0200,0x015d00f0,0x000360bc,0x0200a817,0x00f002de,0x5e010200,
+0xae0b00b3,0x02608101,0x01ac97f5,0x1f0f60bc,0x90016210,0x30020460,
+0x54b00086,0x8a100027,0x0361bc01,0x0080f000,0x00a702e0,0xbc01a920,
+0x10000360,0x60bc0184,0x85100003,0x0754b000,0x00e01000,0x000b54b0,
+0xbc01e110,0x901a0360,0x60bc01e3,0xe4100003,0x0360bc01,0x0192b706,
+0x1fff63bc,0xbc01c3f0,0xf01fff63,0x60bc01c4,0x84f01f03,0x0a609001,
+0x01481009,0x0902e084,0x02004810,0x00f002de,0xde000200,0xc00b00b3,
+0xb35e0002,0x02c00b00,0x001f4200,0xbc01c00b,0x10000361,0x42b00080,
+0x00180003,0x03e06e00,0x03b52b00,0xf0025e50,0x0100b80b,0x00f0025e,
+0xdebf0300,0x3302f002,0x2341a800,0x0148f001,0xf502e087,0xb000ab77,
+0x1100331a,0x02e00042,0xa720009f,0x7060a001,0x008fe6d1,0xf0025e02,
+0x8001d30b,0x900d06e0,0x5e02006c,0x8b0bf002,0x02de0200,0x030000f0,
+0xf002de28,0x2000c00b,0x0b098ae0,0x1ab000c0,0x60100053,0x571ab000,
+0x00180000,0x006300b0,0xb000a010,0x18008342,0x42680000,0xc00b0047,
+0x02608001,0x002c9485,0xf0025e02,0xb000e700,0x17004f1a,0xde6800a5,
+0xcfcb8496,0x02e08001,0x016c900d,0x8506e082,0xbf032db4,0x0bf002de,
+0xe08601c0,0xa0100304,0x8342b000,0x00001800,0x00a302e0,0xbf03a820,
+0x0bf002de,0x5e0002c0,0xd90b00b3,0x4b1ab000,0x008f1000,0x00471ab0,
+0xb0008e10,0x1000431a,0x1ab0008d,0x8c30003f,0x02608001,0x00ac97f5,
+0xf002de02,0xd8000000,0x1701035a,0x5ab801a2,0xa257f406,0x0356b000,
+0x00ae0600,0x000756b0,0xb000af06,0x06000b56,0x56b000b0,0xb106000f,
+0x1356b000,0x00b20600,0xf41256e0,0xb000b346,0x0600035a,0x5e3801ac,
+0xad06008b,0xcf1ab000,0x01a41700,0x000360bc,0xb000a217,0x10009341,
+0x5eb80065,0xa417d092,0x065ee000,0x006350f4,0x00935ef0,0xf000a317,
+0x7700935e,0x5ee000a4,0xa237008b,0x925eb800,0x00a477f4,0xf49241e0,
+0xe0006550,0x95f40256,0x56b00080,0xa4170003,0x8bde6e00,0x00e7ab00,
+0xc0925eb8,0xd800a2d7,0x37008b5e,0x1ae000a2,0xae46f4ba,0xbb1ab000,
+0x00a41700,0xc0925eb8,0xd800a2f7,0x37008b5e,0x1ae000a2,0xaf46f4be,
+0xbf1ad800,0x00a23700,0xf4c21ae0,0xd800b046,0x3700c31a,0x1ae000a2,
+0xb146f4c6,0xc71ad800,0x00a23700,0xf4ca1ae0,0xd800b246,0x3700cb1a,
+0x1ae000a2,0xb346f4ce,0xcf1ab000,0x00a21700,0xc08a5eb8,0x9000a217,
+0x37008b5e,0x5ebc01a2,0xada6d588,0x02de0200,0x010000f0,0x3c066080,
+0x8701e491,0xd13c0660,0x60a801e6,0xe6d13c02,0x02608b01,0x00e6d13c,
+0x008f5eb0,0xb0006310,0x11000356,0x56b000e7,0xe7110007,0x0b56b000,
+0x00e71100,0x000f56b0,0xa901e711,0x913c4260,0x60a801e4,0xe6d13c02,
+0x06608b01,0x00e6d13c,0x008b5eb0,0xbc016310,0x57000360,0x560402a1,
+0x150c0003,0x0360bc01,0x00a11701,0xf48e41e0,0xb0006330,0x11000356,
+0x56b000e7,0xe7110007,0x0b56b000,0x00e71100,0x008b5eb0,0xbc016310,
+0xb7000360,0xd60402a1,0x1f0c0003,0x0360bc01,0x02a11701,0x00535e06,
+0xbc011f0c,0x97010360,0x41e000a1,0x6330f48e,0x0356b000,0x00e71100,
+0x000756b0,0xb000e711,0x11000b56,0x60bc01e7,0xa1170003,0x53de0602,
+0x002a0c00,0x008b5eb0,0x06026310,0x0c00535e,0x56a00029,0xa1f7013f,
+0x02debf03,0x002a0cf0,0x013356a0,0xb000a1f7,0x1100875e,0x60bc01e7,
+0xe7110003,0x02de0200,0x010000f0,0x020760bc,0x6800e311,0x4c009bde,
+0x47e80039,0xe1110187,0x0360bc01,0x01e21100,0x000360bc,0xbc01e211,
+0x11000360,0x60bc01e2,0xe2110003,0x0360bc01,0x01e21100,0x000360bc,
+0xbc01e211,0x11000360,0x60bc01e2,0xe2110003,0x4261b000,0x00e051f4,
+0x000358b0,0xb000e211,0x11000758,0x58b000e2,0xe211000b,0x0f58b000,
+0x00e21100,0x001358b0,0xb000e211,0x11001758,0x58b000e2,0xe211001b,
+0x1f58b000,0x00e21100,0x009b5eb0,0x6800a417,0xac009bde,0x60bc0144,
+0xa4770003,0x93de9201,0x00a31702,0xf002de02,0x81020000,0x0c0007c1,
+0x60bc014d,0xa1770103,0x035ea000,0x00a2f71f,0xf0025e02,0xbc015d00,
+0xb7010360,0x5e0200a1,0x5800f002,0x6740a000,0x0081f71f,0xf002de02,
+0x81020000,0x0c0007c1,0x60bc0157,0xa1770103,0x06e08101,0x00ab77f5,
+0x1f035ea0,0x0200a2f7,0x00f0025e,0x60bc015d,0xa1b70103,0x075eb000,
+0x00a21700,0xf0025e02,0x81015d00,0x77f502e0,0xde0200ab,0x0000f002,
+0xa7006800,0x0396ce00,0xf002debf,0x02006e0c,0x0cf0025e,0x5e02005d,
+0x6f0cf002,0x02de0200,0x000000f0,0x00a70068,0x020069ce,0x00f002de,
+0x60810100,0x49300906,0xa7006800,0x00628c00,0xf0025e02,0x02007f0c,
+0x00f002de,0x5e020000,0x7f0cf002,0x02608101,0x00493009,0xf002de02,
+0x88010000,0x30090ee0,0x41b00049,0x00180027,0x2b00b000,0x00021000,
+0xf002de02,0xbc010000,0x10000360,0xe0820102,0x78100f02,0x0360bc01,
+0x00491000,0x002741b0,0x02000018,0x00f002de,0x00680000,0x70cc00a7,
+0x53de8002,0x01760c00,0x071360bc,0x0200a177,0x00f0025e,0x60900158,
+0xa2370302,0x025e0200,0x005d00f0,0xf002de02,0xbc010000,0x97071360,
+0x5e0200a1,0x5800f002,0x1e609001,0x00a23703,0xf0025e02,0xbc015d00,
+0x77071360,0x5e0200a1,0x5800f002,0x1e609001,0x00a23703,0xf0025e02,
+0x02005d00,0x00f002de,0xde000100,0xa6170053,0xa7806800,0x0184cc00,
+0x099ade81,0xb0004930,0x18002741,0xde020000,0x0000f002,0x0360bc01,
+0x03a13700,0xf002debf,0x0200860c,0x00f0025e,0x60870158,0xa2370306,
+0x9bde6800,0x018a0c00,0x03026087,0x0200a237,0x00f0025e,0xde02005d,
+0x0000f002,0x1f410202,0x029f0c00,0x00535e82,0x8201910c,0x97f20660,
+0x44b00094,0x00180067,0x6b44b000,0x00970600,0x006744b0,0xe8000018,
+0xf7d26844,0x006800a4,0x948c00a7,0x93de6d00,0x00994c00,0x036744e0,
+0x9003a317,0x0cf0025e,0xc585029c,0x9c0c0023,0x8ede6800,0x01962c23,
+0x020360bc,0xbc014710,0x90000360,0x60820143,0x9497f202,0x02608201,
+0x00adb7f5,0x00a70068,0x68009f8c,0xac00a700,0xde02009f,0x0000f002,
+0x1fc10102,0x02b20c00,0x00af5e85,0x8501a50c,0x77f50660,0x44b000ab,
+0x9a060067,0x6b44b000,0x009b0600,0xd36444e9,0xe800a157,0x77d368c4,
+0x5ed000a2,0xa1770087,0x8adee101,0x00a237f4,0x26865ee9,0xe800a197,
+0xb7268ade,0x5e6900a2,0xb20c008b,0x0361bc01,0x00331100,0xf4da44e1,
+0xe1003631,0x51f4de44,0x60850137,0xab77f502,0x0360bc01,0x01471001,
+0x000360bc,0x02004350,0x00f002de,0x45b00000,0x8117001f,0xb705b000,
+0x01a61700,0x040760bc,0xbc016410,0x10191360,0x60bc0165,0xa1170003,
+0xafde0502,0x00cb0c00,0x000f58b0,0x68008017,0x2c2c845e,0x5e0002d8,
+0xcb0c009b,0x03da8002,0x01c10c00,0x001f5818,0xe0008217,0x37000b5e,
+0x5e980182,0x07f6c00a,0x02debf03,0x01c40cf0,0x001fd819,0xe0008217,
+0x3700035e,0xde990182,0x07f6c00a,0x03def001,0x00803700,0xc0025ea0,
+0xb0008057,0x1600035e,0x44a00003,0x8217f0b6,0x0b5eb000,0x00051600,
+0xc00a5ee0,0xbf030696,0x0cf002de,0x58b000d8,0x82170013,0x065ee800,
+0x02a557f0,0x00afde00,0xe800d20c,0x97d4085e,0x5eb000a3,0xa5170007,
+0x8fde6a00,0x00d20c00,0xf4965ee8,0x6a00a577,0x0c0097de,0x58e800d6,
+0x05b6f416,0x17d86900,0x01d60c00,0x000360bc,0xb0000516,0x17001758,
+0x58e000a5,0x06b6f412,0x9341e000,0x00641002,0x069741e0,0xe0006550,
+0x3700875e,0x5e9000a1,0xa637009b,0x87de6800,0x01b88c00,0xf502e080,
+0xbc01ab77,0x11000360,0xde020047,0x0000f002,0x0360bc01,0x016c0100,
+0x000360bc,0xbc016d01,0x100a0760,0x60bc0164,0xa4d70b17,0x0360bc01,
+0x00a17700,0x008f42b0,0xa0008017,0xf701035e,0x5eb00080,0x6e010003,
+0xff63bc01,0x00a2f71f,0x0003de68,0xbc01eb0c,0x17000360,0x608800a2,
+0x8137f406,0xba052000,0x00f02cf0,0xc08ade68,0xe000f0cc,0x2100b305,
+0x05b0006c,0x6d21f0b6,0x035e6800,0x00f40c00,0xf0065e20,0x6e00fb0c,
+0xccc08ade,0xdebf03fb,0xf50cf002,0x8ade6d00,0x00fbccc0,0x00875eb0,
+0xb000a317,0x01009341,0x5eb00066,0x67010093,0x1b58b000,0x01a21700,
+0x000360bc,0xbc016c01,0x01000360,0x41e8006d,0x64100293,0x935ee800,
+0x00a45706,0x00875ee8,0x6900a137,0x0c0087de,0x5eb000eb,0x6501008f,
+0x8b5eb000,0x00640100,0xf002de02,0xb0000000,0x10009b05,0x58b00064,
+0x4511001b,0x9305b000,0x00600100,0x009b05b0,0xb0006201,0x01009f05,
+0x05b00063,0x61010097,0x0f58b000,0x00851700,0x000758b0,0xb0008317,
+0x17000b58,0x58980184,0x8c97f11e,0x1ed89901,0x008db7f1,0xf002de02,
+0x87010000,0x77f50260,0x05b000ab,0x80170097,0x005e6800,0x01322d2c,
+0x000360bc,0xbc011211,0x11000360,0x05b00015,0x6410009b,0x23450002,
+0x001c0d00,0x001f45b0,0xe8008117,0x37f09205,0xde6a0080,0x1a0d0003,
+0x035eb000,0x03451100,0xf002debf,0xbc011d0d,0x31000360,0xdebf0345,
+0x1d0df002,0x9305b000,0x00451100,0x008305b0,0xb0006901,0x01008b05,
+0x05b0006a,0x6b01008f,0x8705b000,0x00680100,0x00ab05b0,0x84026510,
+0x0d001f5a,0x5eb00026,0x83160017,0x325e9801,0x0187f6d0,0xd036de99,
+0x840187f6,0xf6d00260,0x05b00087,0x60010093,0x9b05b000,0x00620100,
+0x009f05b0,0xb0006301,0x01009705,0x05b00061,0x6410008b,0x0f58b000,
+0x00851700,0x000758b0,0xb0008317,0x17000b58,0x58980184,0x8c97f11e,
+0x1ed89901,0x038db7f1,0xf002debf,0x8701330d,0x77f50660,0xde0200ab,
+0x0000f002,0x8b05b000,0x00641000,0x2a93416e,0xa000400d,0xb7f0b644,
+0x5eb000a1,0x05160087,0x1258e000,0x020636f4,0x00f30000,0x6d003d0d,
+0x0d289341,0xde00023d,0x3d0d00af,0x0b60bc01,0x00425102,0x00875eb0,
+0x01026f01,0x0d00af5e,0x5eb00040,0x03160017,0x02608101,0x00ab77f5,
+0xf002de02,0x0c010000,0x17004381,0x60bc01a1,0x8a100003,0x875e6800,
+0x014e4d00,0x000360bc,0x68008a50,0x0d00075e,0x5e680056,0x4e0d0087,
+0x0360bc01,0x008ab000,0x00075e68,0x82024e2d,0x0d0003de,0x60bc014e,
+0x8a900003,0x03de8302,0x004e0d00,0xf40a60e0,0x68008ad0,0x0d00075e,
+0x42900156,0x8a30a12a,0x075e6800,0x01562d00,0xa02a4290,0x09018a10,
+0x170003de,0x5e8f01a2,0x8a50118a,0x8b5e6800,0x01560d00,0x110ee091,
+0x02008a50,0x00f002de,0xde090100,0xa4170003,0x065ae000,0x00a597f4,
+0xf4965e90,0x0302a597,0x0d0003de,0xde82025d,0x5d0d0003,0x94de8000,
+0x00a5f70a,0x00875e88,0xe000a177,0xd702875e,0xde8000a1,0xa137f496,
+0xb741e100,0x00a5f7ff,0x0187dee0,0x9000a1f7,0x9700875e,0x5e8800a1,
+0xa1570087,0x43010501,0x00a21700,0xf4865e88,0x0200a157,0x00f002de,
+0x19000200,0x0a0000df,0x53de8202,0x016d0d00,0x04026088,0xe0002490,
+0x06f3821a,0x1ae800a0,0x9f06f37e,0x02debf03,0x01e107f0,0x041660b8,
+0xbc012490,0xd0010360,0x5e050325,0x7f0df002,0x37c08702,0x03140900,
+0xf002de86,0xbc011509,0xe0000360,0x5e02003e,0xa50ef002,0x02de5c03,
+0x006f0df0,0x019b40d8,0xe000a117,0x3702875e,0x5ea80098,0x98770063,
+0x53de0201,0x01a11700,0xf202e082,0x88019497,0xe6ce84de,0x9a6e0077,
+0x7f0df37e,0x635ee800,0x0125d001,0x040660b8,0xbf032490,0x00f002de,
+0x60810102,0x77e6ce04,0x0a60b801,0x03249004,0xf002debf,0x28020200,
+0x0d00875e,0x41b00095,0xa4170093,0x9341e000,0x01647000,0x00875e0a,
+0xe800a217,0x50f49241,0x5e180163,0xa1170087,0x4260e800,0x00a237f4,
+0xf4025688,0x68000036,0x8df48e41,0x41e80091,0x6330008f,0x9341e800,
+0x00643000,0x028b5e68,0x9000890d,0x57f40256,0x58b000a3,0x0176f406,
+0x02debf03,0x00890df0,0xf4924168,0xe800958d,0x30009341,0x60bc0164,
+0x00160003,0x02debf03,0x00910df0,0x00875eb0,0x0200a117,0x00f002de,
+0x5e280200,0xab0d0087,0x875e0a01,0x00a21700,0xf49241e0,0x18016350,
+0x1700875e,0x60e800a1,0xa237f442,0x0360bc01,0x00a31700,0x009341e8,
+0xe0006430,0x97009341,0x58b000a4,0x0076f402,0x9341e000,0x00643000,
+0xf4025690,0x68000036,0x8df48e41,0x41e000a7,0x6330008f,0x8b5e6800,
+0x009f0d02,0xf4025688,0xbf03a357,0x0df002de,0x4168009f,0xab8df492,
+0x0360bc01,0x00011600,0x009341e0,0xbf036430,0x0df002de,0x5eb000a7,
+0xa1170087,0x02de0200,0x000000f0,0x00bb50b0,0xb0006510,0x17000b5a,
+0x01e000a1,0x7d2000f7,0xd201e000,0x007420f4,0x00bf50b0,0xb0006410,
+0x17001358,0x60bc0182,0x04160003,0x1b60bc01,0x0265d005,0x00b7d002,
+0xbc01b70d,0xf0051b60,0x50e00065,0x649000bb,0x0360bc01,0x01b41700,
+0x000360bc,0xbc018017,0x37000360,0x60bc0181,0xa5170003,0x0360bc01,
+0x00a61700,0x00335290,0xe000a497,0xb7018741,0x608701b5,0xa0100304,
+0x8342b000,0x00001800,0xf0d25e68,0xb000f64d,0x1000035e,0x00b000b5,
+0xb4700863,0xd3428302,0x01c40d00,0x090360bc,0xb000b510,0xf0006300,
+0x60bc01b4,0xb6101147,0x0360bc01,0x00b5d000,0x006300b0,0xb000b4b0,
+0x1800d342,0xde170300,0xcb0df002,0x02de9703,0x00cc0df0,0xf002d820,
+0x9000e32d,0x5700975e,0x50e000a1,0x6330f4ba,0x975e8901,0x00a21700,
+0xf41a5690,0x8800a357,0x57f43e60,0x5ea000a1,0xa3f7018f,0x8f5ee000,
+0x00a33700,0xf41a56a8,0xe0008635,0x3700975e,0x500202a5,0xe70d00b7,
+0x17239000,0x00a19700,0xf4865ee8,0x6900a197,0x0d00875e,0xde6900e7,
+0xe70d0487,0x875e0a01,0x00a21700,0xf4d65ee0,0xda016350,0x37f40260,
+0x608800a1,0xa137f406,0x02562000,0x00e72df4,0xf00258b0,0xe0000036,
+0x3600035a,0xde680080,0xf00d009b,0x1b23b000,0x012b1400,0x030ce08e,
+0xbf03a010,0x0df002de,0xde6d00f1,0xe4cdf08e,0x9b5e9000,0x01a25700,
+0x009b5e89,0xe000a117,0x50f4ba50,0x60880063,0xa237f43e,0x8e5e8800,
+0x00a337f4,0xf41a56a8,0xb0008655,0x75f41a56,0x5ee00086,0xa637009b,
+0x035ee000,0x00803700,0x00d35ee0,0xd000b437,0x3700075e,0x5e980281,
+0xc10d00d3,0x9341e000,0x03643000,0xf002debf,0x8001c10d,0x94850260,
+0x5ee8002c,0x8017f0d2,0x035e6800,0x030a0000,0xf002debf,0xd0008004,
+0x97c00660,0x41e00080,0xb5970097,0x13580a01,0x00a11700,0xf4d65ee0,
+0xb000b537,0x10000f58,0x56160163,0x81170003,0x13d86800,0x010d0e00,
+0x00630014,0xbc01a117,0x90090360,0x5e900062,0xa2370087,0x8a41e000,
+0x006250f4,0x01035488,0x00028016,0x0e00875e,0x54a00008,0x8016e003,
+0x035ae800,0x01801630,0x000360bc,0xbc018116,0x16000360,0x60bc0182,
+0x83160003,0x02debf03,0x00120ef0,0xc08e41e0,0x6e006390,0x2ec08ec1,
+0x41e80012,0x6330c08e,0x0358e800,0x00a13700,0xf48e41e0,0xbc016330,
+0x17000360,0x586800a5,0x2fee0313,0x8e416800,0x002f4ec0,0x040bda6d,
+0x16012f0e,0x17000356,0xde6800a1,0x2f2ef086,0x03565801,0x00a11700,
+0x0c875ee0,0xb000a257,0x1000d75e,0xde200062,0x260ea002,0x865ee000,
+0x00a337d0,0xd08e5ee0,0x6d00a377,0x4ef4025a,0x63bc012f,0xa4f71fff,
+0x8e5e6e00,0x002f8ef4,0xf40260e8,0xb0008336,0x16008f5e,0x5aa00081,
+0x8376000f,0x0360bc01,0x00a53700,0x000b5ae0,0xe8008236,0x56f4025a,
+0x5ed00080,0x80370003,0x1358e000,0x00043600,0x008f41e0,0x98026330,
+0x0e001358,0x5ee0002c,0xb53700d7,0x8ec16e00,0x00122ec0,0x000358b0,
+0xbf036310,0x0ef002de,0x5e680012,0x300e0097,0x02de0200,0x000000f0,
+0x000758b0,0xe000a117,0x16f00e58,0xd86e0003,0x372ef40e,0x865ee800,
+0x00a117c0,0xf40e58e8,0xe8000336,0x36000f58,0x5e180103,0xa1170003,
+0x03de6d00,0x003f0e02,0xf44260e8,0x9000a237,0x36f4125a,0x5a880084,
+0xa257f416,0x165a9000,0x008536f4,0xf4125ab0,0xbf038456,0x0ef002de,
+0x5a900041,0x8436f416,0x0360bc01,0x00851600,0xf002de02,0x58010000,
+0x10000360,0x60bc012a,0x04900203,0x0a60b801,0x01249004,0x0d02e089,
+0x02006c90,0x00f002de,0x47e80000,0xa1170187,0x875ed800,0x01eb1101,
+0x111f63bc,0xa000a1f7,0x31f40e5a,0x5ab000eb,0xeb110017,0x1b5ab000,
+0x00eb1100,0x001f5ab0,0xb000eb11,0x1100235a,0x5ab000eb,0xeb110027,
+0x2b5ab000,0x00eb1100,0x002f5ab0,0xb000eb11,0x1100335a,0x5ab000eb,
+0xeb110037,0x3b5aa000,0x00ebf101,0x009741b0,0x06026410,0x0e00535e,
+0x58b0005b,0xeb11003f,0x4358b000,0x00eb1100,0x004758b0,0xe000eb11,
+0x70009341,0xde060264,0x5e0e0053,0x3f58a000,0x00ebf101,0x009341e0,
+0x07026430,0x0e000fda,0x58b00061,0xeb11003f,0x4358b000,0x02eb1100,
+0x00ab4710,0xbc01640e,0x11000360,0xdebf03eb,0x610ef002,0xabc71101,
+0x01a11700,0x060360bc,0xe800ea11,0x5100875e,0xe08601eb,0xe8113d06,
+0x02de0200,0x020000f0,0x0053de00,0xbc01880e,0xb7091360,0x5e0200a1,
+0x5800f002,0x0260a501,0x00a23703,0xf0025e02,0xbc015d00,0x97091360,
+0x5e0200a1,0x5800f002,0x7e60a401,0x00a23703,0xf0025e02,0xbc015d00,
+0xf7161360,0x5e0200a1,0x5800f002,0x0260b401,0x00a23703,0xf0025e02,
+0xbc015d00,0x37161360,0x5e0200a1,0x5800f002,0x02e08601,0x00a23703,
+0xf0025e02,0xbc015d00,0x17161360,0x5e0200a1,0x5800f002,0x06e08101,
+0x01a23703,0x0306e085,0x0200a237,0x00f0025e,0x60bc015d,0xa1571f13,
+0x025e0200,0x015800f0,0x0302e081,0x0200a237,0x00f0025e,0x60bc015d,
+0xa1371f13,0x025e0200,0x015800f0,0x0306e081,0x0200a237,0x00f0025e,
+0xde02005d,0x0000f002,0x1360bc01,0x00a19709,0xf0025e02,0xa4015800,
+0x37030260,0x5e0200a2,0x5d00f002,0x1360bc01,0x00a11716,0xf0025e02,
+0x81015800,0x370302e0,0xe08501a2,0xa2370302,0x025e0200,0x015d00f0,
+0x1f1360bc,0x0200a137,0x00f0025e,0xe0810158,0xa2370302,0x025e0200,
+0x005d00f0,0xf002de02,0x00020000,0x0e0053de,0x60bc01a0,0xa1b70913,
+0x025e0200,0x015800f0,0x03026087,0x0200a237,0x00f0025e,0x60bc015d,
+0xa1970913,0x025e0200,0x015800f0,0x03066086,0x0200a237,0x00f0025e,
+0xde02005d,0x0000f002,0x1360bc01,0x00a19709,0xf0025e02,0x86015800,
+0x37030260,0x5e0200a2,0x5d00f002,0x02de0200,0x020000f0,0x00234584,
+0xbc01030f,0x17161760,0x5e0200a1,0x5800f002,0x67401e01,0x00a21700,
+0x008b5e68,0x6800b9ae,0x6e018bde,0x409c02d1,0xb60e0067,0x8726e000,
+0x00a12900,0x006744b0,0xe0000018,0x69006744,0x5e830391,0xb30ef002,
+0x46a66800,0x01af2e23,0x000360bc,0x83023b20,0x0e004fa6,0xe08201ed,
+0x93693205,0x0360bc01,0x033b4000,0xf002debf,0x1c01ed0e,0x17006740,
+0x5e6800a2,0xc5ce008b,0x02debf03,0x01d10ef0,0x32016081,0x80029369,
+0x0e004fa6,0xe08001bf,0x93693205,0x6744b000,0x00001800,0x006744b0,
+0xbf039109,0x0ef002de,0x266800d2,0xd20e0023,0x6544e800,0x01a13732,
+0x000360bc,0x6e003ba0,0x0e31855e,0x60bc01ed,0x3b000003,0x02debf03,
+0x01d20ef0,0x3201e080,0x81029369,0x0e004f26,0x608101cb,0x93693205,
+0x6744b000,0x00001800,0x006744b0,0xbf039209,0x0ef002de,0x266800d2,
+0xd10e0027,0x6544e800,0x01a15732,0x000360bc,0x6e003bc0,0x2e31855e,
+0x60bc01ed,0x3b000003,0x02debf03,0x01d20ef0,0x3201e088,0x81029369,
+0x0e004fa6,0x400602ec,0xd90e0037,0x37c00502,0x01d90e00,0x32056080,
+0xb0009369,0x18006744,0x44b00000,0x90090067,0x02debf03,0x02ec0ef0,
+0x004f2600,0xe800ec0e,0x17326544,0x266800a1,0xec0e001f,0x855e6e00,
+0x03deee30,0xf002debf,0x8001ec0e,0x69320160,0x42830293,0xea0e001f,
+0x23c58502,0x01e60e00,0x020360bc,0x83023b20,0x0e004fa6,0xe08201ed,
+0x93693205,0x0360bc01,0x033b4002,0xf002debf,0x8201ed0e,0x69320560,
+0x60bc0193,0xa1b70817,0x2761bc01,0x00a2970c,0xf0025e02,0xe0005d00,
+0x29003326,0x6080018c,0x93693201,0x02debf03,0x02040ff0,0x004f2602,
+0xbc01f10e,0xb7081760,0x61bc01a1,0xa2170027,0x025e0200,0x015d00f0,
+0x0906e081,0xb0004930,0x1700875e,0x5eb000a1,0xa1170087,0x875eb000,
+0x01a11700,0x0902e081,0xe0004930,0x29002b26,0x44b0008a,0x8e090067,
+0x4fa68202,0x00030f00,0x008b26e0,0xb000a229,0x09002b26,0x44b0008b,
+0x8d090067,0xef00b000,0x00510000,0x00fb00b0,0xc0013f00,0x69320160,
+0x5e020093,0x3b09f002,0x025e0100,0x010000f0,0x0906e084,0xbf034810,
+0x08f002de,0x60c0015e,0x93693201,0x02de0200,0x000000f0,0x00000000,
+0x00000000,0x0000692a,0x8de991b9,0x00000000
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/plt_firmware.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,6351 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/* Binary image file name: init_plt.dat */
+
+const unsigned int plt_firmware[] = {
+0x19171513,0x00000001,0x00000140,0x034d564e,0x00000000,0xa1003030,
+0x5544332f,0x02d09600,0x00030492,0x432f14e4,0x002104b9,0x00000000,
+0x00000000,0x17cc0000,0xfebbfa3a,0xfa3a17cc,0x1737febb,0xfea3fa48,
+0x0a030d0a,0x0b0a030d,0xf65e3e03,0x0002005a,0x000000ff,0x00000800,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x098a1d1e,
+0x14501360,0x164415a4,0x04000400,0x04000400,0x50500400,0x08505050,
+0x00030707,0xfefefefe,0x00000000,0x00000000,0xfafafa00,0xfafafafa,
+0xf2f2fafa,0xf2f2f2f2,0x07f2f2f2,0xfe000307,0x00fefefe,0xfe000000,
+0xfafefefe,0xfafafafa,0xf2fafafa,0xf2f2f2f2,0x00f2f2f2,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x20202428,0x24002020,0x20202020,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000002,
+0x00025018,0x00000000,0x000001e5,0x00000095,0x00000095,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000095,
+0x00000095,0x00000095,0x00000095,0x00000095,0x00000095,0x00000095,
+0x00000095,0x00000095,0x00000095,0x00000095,0x00000095,0x00000095,
+0x00000095,0x00000095,0x00000095,0x47004803,0x00000000,0x53485244,
+0x00000000,0x000001e5,0xb5004668,0xf3ef6982,0x21038305,0xd10d428b,
+0x68194b17,0x4b176019,0xd0074219,0x68194b16,0x4b166019,0xd0014219,
+0x61823202,0x30206941,0x3820b407,0xb4024661,0xb4f0b084,0xb40ec80e,
+0xb402c802,0x69c13810,0xf3efb402,0xb4028103,0xb4026981,0x8105f3ef,
+0x4809b402,0x29006801,0x4668d0fe,0xf802f000,0xbd00b014,0x00004708,
+0xe000ed2c,0x40000000,0xe000ed28,0x00008080,0x000001b8,0x4208490a,
+0xb662d002,0x400843c9,0x42084908,0xb661d002,0x400843c9,0x40084906,
+0xd0032800,0x680a4905,0x600a4302,0x00004770,0x80000000,0x40000000,
+0x0000ffff,0xe000e100,0x4208490a,0xb672d002,0x400843c9,0x42084908,
+0xb671d002,0x400843c9,0x40084906,0xd0042800,0x680a4905,0x400243c0,
+0x4770600a,0x80000000,0x40000000,0x0000ffff,0xe000e180,0x68094902,
+0x58882290,0x00004770,0x000001c0,0x68094902,0x5088229c,0x00004770,
+0x000001c0,0xbbadbadd,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x68114a02,0x1c086010,0x00004770,0x000001b8,0x60084901,
+0x0000e7fe,0x000001b0,0x68014873,0x400f4f73,0xd132423f,0x46982300,
+0x4a71469a,0x2118400a,0x497040ca,0x4c705843,0x4d70401c,0xd10442ac,
+0x4d6f4680,0x46a91945,0x4d6ee00e,0xd10b42ac,0x4d6b4682,0x46ab1945,
+0x1c1d240f,0x4c6a4023,0x0a2d4025,0x469c432b,0x45982300,0x459ad001,
+0x4b66d104,0x3a0118c0,0xe005d1dc,0x42004650,0x4640d002,0xd1294200,
+0x21fce7fe,0x680a5841,0x4013230f,0xd0f12b0f,0xd0012b01,0xe7f63104,
+0x4b5b3108,0x4c5b4013,0xd10642a3,0xf8dcf000,0xf0004680,0x4681f8e5,
+0x4c57e7e9,0xd1e642a3,0x681b1f0b,0x40234c55,0x40e32418,0xf000469c,
+0x4682f8cb,0xf8d4f000,0xe7d84683,0x22214950,0x4a415042,0x5889494f,
+0x421923ff,0x6851d022,0x42194b4d,0x6811d01e,0x40194b4c,0x24036ad3,
+0x4c4b4023,0x240342a1,0xe013d000,0xd01142a3,0x4c474b48,0xd00042a1,
+0x4947e00c,0x42195889,0x4946d008,0x40195889,0xd1fa4299,0x69114b37,
+0xd0fc4219,0x423f4649,0x2398d104,0x241058cb,0xe00140e3,0x58cb4b3e,
+0x4023241c,0xd0012b00,0xf8a4f000,0x493b4640,0x46486008,0x6008493a,
+0x600f493a,0x46514660,0x588a2200,0x21f01c13,0x091b400b,0xd3072803,
+0x49351c16,0x2114400e,0x2e0040ce,0x3b01d000,0x400a210f,0x2401320e,
+0x1c254094,0x2803435d,0x2e00d306,0x3e01d004,0x2401360e,0x192d40b4,
+0xd0fe2d00,0x600d4929,0x46ad3d04,0x43ec9d00,0x41dd2310,0xd10942ac,
+0x00a40c24,0x602c4d24,0x1b1b466b,0x602b4d23,0x469d3b04,0x49234822,
+0xc0042200,0xd8fc4281,0xfc7ef016,0x0000e7fe,0x18000000,0xf0000000,
+0x0f000000,0x00000ffc,0x00008ff0,0x000082a0,0x00000f00,0x000080e0,
+0x00007000,0x00001000,0x000fff00,0x00082a00,0x00080e00,0xff000000,
+0x000001e0,0x00000604,0x00380000,0x0000ffff,0x00004329,0x00000400,
+0x00000618,0x0000060c,0x00000408,0x000001c0,0x000001c4,0x000001bc,
+0x00f00000,0x0001bc38,0x0001bc40,0x0001bc3c,0x0001c530,0x0001c710,
+0x220f6808,0x40023104,0xd1f92a05,0x40104a01,0x000046f7,0xfffff000,
+0x220f6808,0x40023104,0xd1f92a05,0x42102280,0x4a01d0f6,0x46f74010,
+0xfffff000,0x0000e7fe,0x47706cc0,0x6642b510,0xf8d06683,0xf8d02080,
+0x9c02308c,0x0382eb03,0x3080f8d3,0x660165c4,0xbd106583,0x66032300,
+0x46c04770,0xb9336803,0x308cf8d0,0x31c0f8d3,0x0fe8f8d3,0x2b01e009,
+0x2000d001,0xf8d0e005,0xf8d3308c,0xf8d332c0,0x47700100,0x308cf8d0,
+0x2080f8d0,0x0382eb03,0x0080f8d3,0x46c04770,0x0080f8d0,0x46c04770,
+0x4604b570,0x5080f8d0,0xffecf7ff,0x20004601,0xe0094602,0x308cf8d4,
+0x0382eb03,0x3080f8d3,0xbf08428b,0x32013001,0xd1f342aa,0x46c0bd70,
+0xf3c06980,0x477060c0,0x4694b510,0xf8d04604,0x20002084,0xe00c4686,
+0x308cf8d4,0x0380eb03,0x3080f8d3,0xd103428b,0xd00545e6,0x0e01f10e,
+0x42903001,0x2011d1f0,0x46c0bd10,0x46c04770,0x30fff04f,0x46c04770,
+0x47702000,0xf0006bc0,0x28030003,0x2000bf14,0x47702001,0x4a036bc3,
+0x0303f003,0x0023f852,0x46c04770,0x00016eb0,0x460db570,0xf7ff4604,
+0x462aff73,0x46204601,0xfc3cf001,0x46c0bd70,0x4604b510,0xff68f7ff,
+0x46204601,0xfc22f001,0x46c0bd10,0x4604b510,0xff5ef7ff,0x46204601,
+0xfc44f001,0x46c0bd10,0x4604b510,0x2200b330,0x108cf8d4,0x3022f851,
+0x2300b113,0x3022f841,0x2a103201,0xf8d4d1f4,0xf893308c,0x1e4a12c4,
+0xf8832901,0xd10922c4,0x7232f44f,0xf8d46ce0,0xf003108c,0x4b06fd6d,
+0x601a2200,0x429c4b05,0x6ce0d004,0x22904621,0xfd62f003,0x46c0bd10,
+0x0001c538,0x0001c540,0x2000b510,0xff96f000,0x46c0bd10,0x490bb510,
+0xf7ff4604,0xb280fff5,0x6f60b978,0xf0004907,0xb280ff89,0x6f60b948,
+0xf0004905,0xf64fff83,0xb28073ff,0xbf082800,0xbd104618,0x00016ec0,
+0x00016ec6,0xe92d6e01,0x460441f0,0xf8d0b171,0xf8d02080,0xeb03308c,
+0xf8d30382,0x6d832080,0xd103429a,0x47886dc0,0xe0004606,0x46202600,
+0xf0016ce1,0x6e65fc6d,0xb16d4607,0x2080f8d4,0x308cf8d4,0x0382eb03,
+0x2080f8d3,0x429a6da3,0x6de0d102,0x47a84631,0xe8bd4638,0x46c081f0,
+0x4604b510,0xfed4f7ff,0x46204601,0xfccef001,0x46c0bd10,0x4604b510,
+0xfecaf7ff,0x46204601,0xfc1ef001,0x46c0bd10,0xe92d6e01,0x460441f0,
+0xf8d0b171,0xf8d02080,0xeb03308c,0xf8d30382,0x6d832080,0xd103429a,
+0x47886dc0,0xe0004606,0x46202600,0xf0016ce1,0x6e65fbd9,0xb16d4607,
+0x2080f8d4,0x308cf8d4,0x0382eb03,0x2080f8d3,0x429a6da3,0x6de0d102,
+0x47a84631,0xe8bd4638,0x46c081f0,0xb5106803,0xf000b90b,0xbd10fa49,
+0xb5106803,0xf000b913,0xe003fb35,0xd1012b01,0xfc88f000,0x46c0bd10,
+0xb5106803,0xf000b913,0xe003fa89,0xd1012b01,0xfc66f000,0x46c0bd10,
+0x6804b537,0xb91c9d06,0xf0009500,0xe006fa3f,0xd0012c01,0xe0022000,
+0xf0009500,0xbd3efc8b,0x4604b573,0xf7ff460e,0x4632fe63,0x46204601,
+0xfd68f001,0x2b146963,0x256ddd17,0x200ae003,0xfff8f003,0x21003d0a,
+0x460b2210,0x91004620,0xffd6f7ff,0xbf142e00,0x5380f44f,0xf4002300,
+0x42985080,0x2d09d001,0xf44fd1e9,0xf003707a,0xbd7cffe1,0xb5132b02,
+0x4611460c,0xb902d00c,0x4a09b154,0x6813b113,0xe004401c,0xea446812,
+0xea230302,0x40210402,0x22649100,0x46232100,0xffaef7ff,0x46c0bd1c,
+0x0001c534,0xb5132b02,0x4611460c,0xb902d00c,0x4a09b154,0x6813b113,
+0xe004401c,0xea446812,0xea230302,0x40210402,0x22689100,0x46232100,
+0xff92f7ff,0x46c0bd1c,0x0001c534,0xb5132b02,0x4611460c,0xb902d00c,
+0x4a09b154,0x6813b113,0xe004401c,0xea446812,0xea230302,0x40210402,
+0x226c9100,0x46232100,0xff76f7ff,0x46c0bd1c,0x0001c534,0xb5106803,
+0xf000b913,0xe005f96d,0xd0012b01,0xe0012000,0xfb98f000,0x46c0bd10,
+0xb5106803,0xf000b913,0xe005f93d,0xd0012b01,0xe0012000,0xfbacf000,
+0x46c0bd10,0xb5106803,0xf000b913,0xe005f90d,0xd0012b01,0xe0012000,
+0xfb8ef000,0x46c0bd10,0xb5106803,0xf000b913,0xe005f963,0xd0012b01,
+0xe0012000,0xfb2ef000,0x46c0bd10,0x4604b510,0xfe02f7ff,0x4601280f,
+0x6823d80b,0x4620b91b,0xf94ef000,0x2b01e006,0x4620d103,0xfb1af000,
+0x2000e000,0x46c0bd10,0x41f0e92d,0x4616460c,0x6100f44f,0x46052200,
+0x8080f8d0,0xffdef7ff,0xf8c02300,0x33053658,0x465cf8c0,0xf8c04641,
+0xf8c03658,0x4628665c,0xffc2f7ff,0x81f0e8bd,0x41f0e92d,0x4616460c,
+0x6100f44f,0x46052200,0x8080f8d0,0xffc2f7ff,0xf8c02300,0xf8d03658,
+0x4641365c,0xf0436023,0xf8c00301,0x2305365c,0x3658f8c0,0x365cf8d0,
+0xf0436033,0xf8c04300,0x4628365c,0xff9cf7ff,0x81f0e8bd,0x41f0e92d,
+0x4616460d,0x6100f44f,0x46042200,0x8080f8d0,0xff9cf7ff,0xf8c02300,
+0xf8d03650,0x46413654,0x0305ea23,0xf8c04333,0x46203654,0xff80f7ff,
+0x81f0e8bd,0xf2446b02,0x429a3319,0x4605b573,0xd11b460e,0xb9cc6b44,
+0x2302b1d9,0x46219300,0x33fff04f,0x72f0f44f,0xfeb2f7ff,0xf6404622,
+0x4628011a,0xff72f7ff,0x21014628,0xfe9cf7ff,0xf44f4628,0x46226100,
+0xff68f7ff,0xbf082e01,0x46282602,0xf2402100,0xf04f6234,0x960033ff,
+0xfe96f7ff,0x46c0bd7c,0xb5104b03,0xfb03681b,0xf7fff101,0xbd10ffc7,
+0x0001c53c,0xb5106803,0xf000b913,0xe005f833,0xd0012b01,0xe0012000,
+0xfaa6f000,0x46c0bd10,0xb5106803,0xf000b913,0xe005f81b,0xd0012b01,
+0xe0012000,0xfa90f000,0x46c0bd10,0x47706808,0x4770600a,0xb5106fc1,
+0x6170f501,0xf7ff31fc,0xf648fff5,0xea0073f0,0x09180303,0x46c0bd10,
+0xb5106fc1,0x6170f501,0xf7ff3118,0xf000ffe7,0xbd10003f,0xb5106fc1,
+0x6170f501,0xf7ff31fc,0xf400ffdd,0xf00043e0,0xea40000f,0xbd102013,
+0xe92d6fc3,0x460541f0,0xf5034617,0x460e6870,0xb172b901,0x0498f108,
+0xf7ff4621,0xea6fffc7,0xea004306,0x46210203,0xea424628,0xf7ff4207,
+0x4628ffbf,0x0198f108,0xffb8f7ff,0xe8bd0c00,0x46c081f0,0xe92d6fc3,
+0x460541f0,0xf5034617,0x460e6870,0xb172b901,0x049cf108,0xf7ff4621,
+0xea6fffa5,0xea004306,0x46210203,0xea424628,0xf7ff4207,0x4628ff9d,
+0x019cf108,0xff96f7ff,0xe8bd0c00,0x46c081f0,0xb5106fc1,0x6170f501,
+0xf7ff3198,0x4b04ff8b,0x0303ea00,0x3f80f5b3,0x2000bf14,0xbd102001,
+0x00010007,0x208cf8d0,0x0381eb02,0x01c0f8d3,0x3021f852,0xf842b90b,
+0xf8520021,0x47700021,0x3084f8d0,0x4299b570,0x460d4604,0x2000d301,
+0xf7ffe004,0xf8c4ffe7,0x67e05080,0x46c0bd70,0x46c04770,0x0303f010,
+0xf020d102,0xe00c00ff,0xd1042b01,0x607ef420,0x001ff020,0x2b02e005,
+0x2000d001,0x0c00e001,0x47700400,0x41f0e92d,0xf8d04696,0x461c208c,
+0x3021f852,0x9f064606,0xeb02b92b,0xf8d30381,0xf84231c0,0xf8d63021,
+0xf853308c,0xeb0e1021,0xb9040501,0xf5beb1b7,0xea6f6f70,0xd30a0404,
+0xf7ff4629,0xea00ff2b,0x46290204,0x433a4630,0xff26f7ff,0xf85ee009,
+0x40233001,0xf84e433b,0xe0073001,0x6f70f5be,0x4630d304,0xf7ff4629,
+0xe000ff15,0xe8bd6828,0x46c081f0,0xe92d6fc3,0xf50341f3,0xf1076770,
+0x46880498,0x46054621,0xff04f7ff,0x0f01f010,0x808cf040,0x46214628,
+0xfefcf7ff,0x3f80f410,0x4621d078,0xf7ff4628,0x4621fef5,0x0202f040,
+0xf7ff4628,0x4621fef1,0xf7ff4628,0x9001feeb,0xf0032001,0x4e3afd6f,
+0x200ae003,0xfd6af003,0xf1073e0a,0x4628049c,0xf7ff4621,0xf010fedb,
+0xd0010f04,0xd1f02e09,0x46284621,0xfed2f7ff,0xf1074628,0xf7ff01f8,
+0xf010fecd,0xd0230f80,0x0490f107,0x46284621,0xfec4f7ff,0xf0404621,
+0x46287200,0xfec0f7ff,0x46284621,0xfebaf7ff,0x20019001,0xfd3ef003,
+0xe0034c21,0xf003200a,0x3c0afd39,0xf1074628,0xf7ff0190,0xf010feab,
+0xd0017fc0,0xd1f12c09,0x0498f107,0x4208ea4f,0x1203f042,0x46214628,
+0xfe9ef7ff,0x46284621,0xfe98f7ff,0x200a9001,0xfd1cf003,0xf1074628,
+0xf7ff01f8,0xf010fe8f,0xd00b0f80,0x0490f107,0x46284621,0xfe86f7ff,
+0xf0204621,0x46287200,0xfe82f7ff,0x4208ea4f,0xf1074628,0xf0420198,
+0xf7ff0203,0x2001fe79,0xfcfcf003,0x81fce8bd,0x000186a9,0x43f7e92d,
+0x807cf8d0,0x0501ea42,0x6470f508,0x46294689,0x0503f045,0xf1044606,
+0x042d0798,0xff4ef7ff,0x0201f045,0x46394630,0xfe5af7ff,0x46304639,
+0xfe54f7ff,0x9001349c,0xf0032001,0x4630fcd7,0xf7ff4621,0xf010fe4b,
+0xd0040f01,0x46214630,0xf7ff2200,0xf508fe45,0x46306479,0xf7ff4621,
+0x9001fe3d,0xf4139b01,0xd0092fc0,0x46304621,0xfe34f7ff,0xf4204621,
+0x463022c0,0xfe30f7ff,0x4630462a,0xf7ff4639,0x4639fe2b,0xf7ff4630,
+0x9001fe25,0xf0032001,0xf049fca9,0x46300201,0x04124639,0xfe1cf7ff,
+0x46394630,0xfe16f7ff,0x20019001,0xfc9af003,0x83fee8bd,0x469eb500,
+0xf853680b,0x600b0b04,0xf010b142,0xd0f70f01,0xd003280f,0x0302ea00,
+0xd1f14573,0x46c0bd00,0x47f0e92d,0x22014615,0x46074613,0xf8dd460e,
+0xf8dd8028,0xf8dd902c,0xf7ffa030,0xf000ffdf,0x2b040306,0xd1084604,
+0x2303f3c0,0xd10442ab,0xf0009b08,0x429a02c0,0x6833d004,0x3b042400,
+0xe0386033,0x637ef420,0xf0239a09,0x6013031f,0x0308f010,0x2200d008,
+0x46314638,0xf7ff4613,0xf8c8ffbd,0xe0010000,0x3000f8c8,0x0230f004,
+0x2a302500,0x5000f8ca,0x462bd117,0x46314638,0xf7ff462a,0xf420ffab,
+0xf023637e,0xf010031f,0xf8c90f08,0xd00e3000,0x46314638,0x462b462a,
+0xff9cf7ff,0x0000f8ca,0x0912e005,0x5380f44f,0xf8c94093,0x46203000,
+0x87f0e8bd,0x208cf8d0,0xea4fb530,0xeb0e0e81,0xf8d30302,0xf8d341c0,
+0xf8d05280,0x42993084,0x2400d301,0xf852e01a,0xb90b3021,0x4021f842,
+0x308cf8d0,0x4021f853,0x0203eb0e,0xf8d267c4,0xb90b3240,0x5240f8c2,
+0x308cf8d0,0x1080f8c0,0xf8d34473,0x67c43240,0x3088f8c0,0xbd304620,
+0x3088f8d0,0x0100f8d3,0x001ff000,0x46c04770,0x308cf8d0,0x2080f8d0,
+0x0382eb03,0x0103f893,0x46c04770,0x2088f8d0,0x3408f8d2,0x0303f003,
+0xd0012b01,0xe0052000,0x3800f8d2,0x0301f003,0x0001f083,0x46c04770,
+0xf8d0b500,0x468e0088,0xb132b901,0x3408f8d0,0x030eea23,0xf8c04313,
+0xf8d03408,0xbd000408,0xf8d0b500,0x468e0088,0xb132b901,0x3500f8d0,
+0x030eea23,0xf8c04313,0xf8d03500,0xbd000500,0xf8d0b513,0xf8d44088,
+0xf0133800,0xd10c0f01,0x1408f8c4,0x3408f8d4,0x9301200a,0xfba6f003,
+0xf8c42001,0xf0030800,0xbd1cfba1,0xf8d0b537,0x460c5088,0x0101ea42,
+0xffe2f7ff,0x0303f044,0x3408f8c5,0x3408f8d5,0x93012001,0xf8c52300,
+0xf0443800,0xf0030401,0xf8c5fb89,0xf8d54408,0x20013408,0xf0039301,
+0xbd3efb81,0x4604b570,0x008cf8d0,0xeb004696,0x461d0281,0x3240f8d2,
+0xb91b9e04,0x31c0f8d2,0x3021f840,0x308cf8d4,0x0021f853,0x0200eb0e,
+0xb136b905,0x3000f85e,0x0305ea23,0xf84e4333,0x68103000,0x46c0bd70,
+0xe0022000,0x68098a8b,0x290018c0,0x4770d1fa,0xe0004608,0x68034618,
+0xd1fb2b00,0x46c04770,0xe0012000,0x30016809,0xd1fb2900,0x46c04770,
+0xb510230c,0xfb014614,0x68930203,0x68d3b113,0xe000605c,0x220c6094,
+0x0202fb01,0x60d48a13,0x82133301,0x330188c3,0x884380c3,0xbfbc428b,
+0x8043b2cb,0xbd104620,0xb500230c,0x4611468e,0x0203fb0e,0xb9036893,
+0x689360d1,0x604b6091,0x33018a13,0x88c38213,0x80c33301,0x45738843,
+0xfa5fbfbc,0x8043f38e,0xbd004608,0xfb01230c,0xb5100203,0x68904604,
+0x6843b158,0xb9036093,0x8a1360d3,0x82133b01,0x3b0188e3,0x230080e3,
+0xbd106043,0xfb01230c,0xb5100303,0x68984604,0x68dbb1c0,0xe0012200,
+0x68404602,0xd1fb4298,0x2300b112,0xe0036053,0xfb01230c,0x609a4303,
+0xfb01230c,0x60da4303,0x3a018a1a,0x88e3821a,0x80e33b01,0x46c0bd10,
+0x4604b510,0xb18088c0,0xe002f8b4,0x20004622,0x6893e003,0xb913320c,
+0x45703001,0xb101d1f9,0x230c6008,0x4303fb00,0xbd1068d8,0x4604b530,
+0x460888e3,0x2b004615,0xe001d031,0x80631e53,0xb15b8863,0x230c461a,
+0x4303fb02,0x2b00689b,0xe004d0f4,0xb312390c,0xe0053a01,0x230c461a,
+0xf303fb02,0x18e13308,0x40932301,0xd0f14203,0x2b00680b,0x230cd0ee,
+0x4103fb02,0xb1786888,0x608b6843,0x60cbb903,0x3b018a0b,0xb105820b,
+0x88e3602a,0x80e33b01,0x60432300,0x2000e000,0x46c0bd30,0x460db530,
+0x3001e000,0xe000f890,0xf8134b2c,0xf013300e,0xd1f60320,0x0f2bf1be,
+0x3001d101,0xf1bee002,0xd0010f2d,0xe001461c,0x24013001,0x7803b982,
+0xd0012b30,0xe016320a,0x1c427843,0xd0042b78,0xd0022b58,0x22084610,
+0x3002e00d,0xe00a2210,0xd1082a10,0x2b307803,0x7843d105,0xd0012b78,
+0xd1002b58,0xf04f3002,0xe0080c00,0x3c0cfb02,0xd203458c,0xf04fb914,
+0xe01d3cff,0xf8903001,0x4b0ee000,0xf8134661,0xf013300e,0xd00e0f44,
+0x0f04f013,0xf1aed002,0xe0060330,0x0f02f013,0xf1aebf14,0xf1ae0357,
+0x42930337,0xb10cd3de,0x0c00f1cc,0x6028b105,0xbd304660,0x00016efe,
+0x460db537,0x24009001,0x98012210,0xf7ffa901,0x9b01ff95,0xf8135560,
+0x34012b01,0xb10a9301,0xd1f12c06,0xbf142c06,0x20012000,0x46c0bd3e,
+0x89034619,0x2b08b510,0xe8dfd817,0x050cf003,0x05050505,0x00080505,
+0xdd092a03,0x8943e00b,0xdb05429a,0xb141e007,0xf06fb12a,0xe006000e,
+0x000df06f,0x2000e003,0xf06fe001,0xbd100016,0xf810e005,0xea823c01,
+0x4a040303,0x39015cd2,0xf1b13001,0xd1f43fff,0x47704610,0x00017640,
+0x1841b500,0xe00a4696,0x3b01f810,0xea8e4a06,0xf0030303,0xf85203ff,
+0xea833023,0x42882e1e,0x4670d3f2,0x46c0bd00,0x00017240,0x4684b500,
+0x46862000,0xf81ee00a,0xe003200c,0x30011e53,0x0202ea03,0xd1f92a00,
+0x0e01f10e,0xd1f2458e,0x46c0bd00,0x60c26042,0x60816001,0x46c04770,
+0xb517b40e,0x4604ab05,0x2b04f853,0x68616800,0xf0009301,0xf1b0f907,
+0xd0033fff,0x42986863,0xb910da00,0x60632300,0x1a1be004,0x68236063,
+0x6023181b,0x401ee8bd,0x4770b003,0xb51328ff,0x460c4686,0xf000d808,
+0x4a0c030f,0x46089300,0x1303f3ce,0xe00d2108,0x5200ea4f,0xf4000d12,
+0x92004370,0x46084a06,0x5f80f5b3,0x2341bf14,0x21082350,0xfb1ef000,
+0xbd1c4620,0x0001702d,0x0001700d,0x7842b510,0x7803b086,0x78829200,
+0x9201460c,0x920278c2,0x92037902,0x46087942,0x21129204,0xf0004a02,
+0x4620fb05,0xbd10b006,0x00017220,0x4604b570,0xb1e9460e,0xf0004608,
+0x4605f9e5,0xe00fb1c0,0x46314620,0xf000462a,0xb928f9b3,0x2b3d5d63,
+0x1c63d102,0xe00c1958,0x3b01f814,0xd1fb2b00,0x7823b114,0xd1eb2b00,
+0xf0054630,0xe000f991,0xbd702000,0xf7ffb510,0xb118ffd9,0x460a2100,
+0xfea0f7ff,0x46c0bd10,0x4614b570,0xfb01220c,0x460ef202,0x21003208,
+0xf0004605,0x462bfa5d,0x802e2200,0xe00280ac,0x320188a9,0x330c80d9,
+0xdbf942b2,0x46c0bd70,0x41f0e92d,0x230c461f,0x1303fb02,0x6899460d,
+0x46164680,0x240ce011,0x5404fb06,0x4640684b,0x230060a3,0x463a604b,
+0xfd6af002,0x68a18a23,0x82233b01,0x3b0188eb,0x290080eb,0x230cd1eb,
+0x5303fb06,0xe8bd60d9,0x46c081f0,0x41f0e92d,0x460d4607,0x24004616,
+0x4622e006,0x46294638,0xf7ff4633,0x3401ffcd,0x429c882b,0xe8bddbf5,
+0x46c081f0,0xb085b5f0,0x9e0b9c0a,0x460f4605,0x4611469e,0x200046ec,
+0xf2fefbb1,0x1312fb0e,0xf10c5cf1,0xf80d0c01,0x30011000,0x2a004611,
+0xb10cd1f2,0xdc014284,0xe0154662,0x0e04ebc0,0x46724661,0x2330e003,
+0x3c01f801,0x31013a01,0xd1f82a00,0x44f44470,0x42bde7ee,0xf812bf9c,
+0x702b3c01,0x3a013501,0x429a466b,0xb005d1f5,0x46c0bdf0,0x47f3e92d,
+0x461d4401,0xf1001e4f,0x468133ff,0xbf38429f,0x37fff04f,0xf04f4604,
+0xe0d90a00,0xd0052b25,0xbf9842bc,0x34017023,0xe0d13201,0x1c567853,
+0xbf082b23,0x78333601,0x0e00f04f,0xbf082b2d,0xe00b3601,0x0330f1a2,
+0xf816449e,0x5ccb3f01,0x0f04f013,0x230ad002,0xfe03fb0e,0xb1e27832,
+0x5c8b4962,0x0304f013,0x2a2ed1ec,0x3601d115,0xe00b469a,0x0330f1a2,
+0xf816449a,0x5ccb3f01,0x0f04f013,0x230ad002,0xfa03fb0a,0xb1227832,
+0x5c8b4956,0x0f04f013,0x7833d1ec,0xbf082b6c,0x78303601,0xd0462869,
+0x2858d809,0xd801d063,0xe0082850,0xd07c2863,0xd03c2864,0x2873e081,
+0xd802d008,0xd0652870,0x2875e07b,0x2878d045,0xe076d051,0x4b46682a,
+0x0804f105,0xbf082a00,0xf1be461a,0xd1170f00,0x0f00f1ba,0xe010d005,
+0xbf9842bc,0x34017023,0x78133201,0xd1f72b00,0x42bce064,0x7023bf98,
+0x32013401,0x3efff11e,0x4621d102,0xe0094672,0x2b007813,0xe7f8d1f1,
+0xd80142bc,0x70232320,0x3a013401,0xd1f72a00,0x040eeb01,0x682ae04a,
+0xda052a00,0xd80142bc,0x7023232d,0x42523401,0xf1054b2a,0x46200804,
+0xf8cd4639,0x9301e000,0x4b26e008,0xe000f8cd,0x682a9301,0x0804f105,
+0x46394620,0xf7ff230a,0x1824ff0d,0x4b1fe02a,0xf855491f,0x28582b04,
+0x4619bf08,0x46a89101,0x46394620,0xf8cd2310,0xe7ece000,0x49184b17,
+0x2b04f855,0xbf082850,0x23084619,0x91019300,0x462046a8,0x18db4639,
+0x682be7dd,0xbf9842bc,0xf1057023,0x34010804,0x42bce004,0x7020bf98,
+0x340146a8,0x46451c72,0x2b007813,0xaf22f47f,0xbf9542bc,0x0004ebc9,
+0x0007ebc9,0x703b7023,0x87fce8bd,0x00016efe,0x00017751,0x00017758,
+0x00017740,0x460cb510,0xf06f4613,0x46224100,0xfef8f7ff,0x46c0bd10,
+0x4684b500,0x0e00f04f,0xe00e4610,0x200cf81e,0x3001f81e,0xd202429a,
+0x30fff04f,0xf10ee007,0xd9010e01,0xe0022001,0x28003801,0xbd00d1ee,
+0xeb00b500,0x46020e02,0xd00a4572,0xf802780b,0xb1233b01,0xe7f73101,
+0xf8022300,0x45723b01,0xbd00d1fa,0x20004602,0x3001e000,0x2b005c83,
+0x4770d1fb,0xe0064602,0xd3114283,0x2001d901,0x3201e010,0x78083101,
+0x7813b110,0xd1f32b00,0xb1237813,0x0001f1d0,0x2000bf38,0xb108e002,
+0x30fff04f,0x46c04770,0x4604b510,0x4283e007,0xd901d315,0xe0162001,
+0x31013401,0x78083a01,0x7823b120,0x2a00b113,0xe00bd1f1,0x7823b152,
+0xf1d0b123,0xbf380001,0xe0042000,0xf04fb110,0xe00030ff,0xbd102000,
+0xf04fb500,0x78020e00,0x429ab2cb,0x4686bf08,0x3001b10a,0x4670e7f7,
+0x46c0bd00,0xe000b510,0xf8903001,0x4b29e000,0x300ef813,0x0320f013,
+0xf1bed1f6,0xd1010f2b,0xe0023001,0x0f2df1be,0x461cd001,0x3001e001,
+0xb9822401,0x2b307803,0x320ad001,0x7843e016,0x2b781c42,0x2b58d004,
+0x4610d002,0xe00d2208,0x22103002,0x2a10e00a,0x7803d108,0xd1052b30,
+0x2b787843,0x2b58d001,0x3002d100,0x0c00f04f,0xfb02e002,0x30013c0c,
+0xe000f890,0xf8134b0d,0xf013300e,0xd00e0f44,0x0f04f013,0xf1aed002,
+0xe0060330,0x0f02f013,0xf1aebf14,0xf1ae0357,0x42930337,0xb10cd3e5,
+0x0c00f1cc,0x6008b101,0xbd104660,0x00016efe,0xb5002a07,0xf010d90f,
+0xd10c0f03,0x460bb909,0xb2cbe004,0x2303ea43,0x4303ea43,0x2a033a04,
+0x3b04f840,0x4613d8fa,0x0e00f04f,0xf80ee004,0x3b011000,0x0e01f10e,
+0xd1f82b00,0xbd001880,0xb5002a03,0xd90c4684,0x0f03f011,0xf01cd109,
+0xd1060f03,0x3b04f851,0x2a033a04,0x3b04f840,0xf04fd8f8,0xe0060e00,
+0x3001f81e,0xf80e3a01,0xf10e3000,0x2a000e01,0x4660d1f6,0x46c0bd00,
+0xb530b40f,0xab46b0c3,0x2b04f853,0x3801a801,0x1101f240,0xf7ff9341,
+0x2400fdd5,0xe0054605,0x3b01ab01,0xf0025ce0,0x3401fb5b,0xdbf742ac,
+0xb0434628,0x4030e8bd,0x4770b004,0xb503b40e,0xf852aa03,0x92011b04,
+0xfebcf7ff,0x400ce8bd,0x4770b003,0xb507b40c,0xf853ab04,0x93012b04,
+0xfdb0f7ff,0x400ee8bd,0x4770b002,0x47702001,0x98019900,0xb138b141,
+0x78134a04,0x3301b90b,0x23007013,0x6003600b,0x47702000,0x0001c5d1,
+0x4ff0e92d,0x6d82f5ad,0xf8ddb081,0x46806438,0x0f01f016,0x46924689,
+0xf8dd469b,0xd152743c,0x0501f017,0x19bcd14f,0x7f00f5b4,0xac84d84b,
+0x95019500,0x94029503,0xffd0f7ff,0x28004605,0xf8b4d141,0x48232080,
+0x1040f8b4,0xff90f7ff,0x3040f8b4,0x3272f245,0xd0054293,0x3080f8b4,
+0xd0014293,0xe010462a,0xab842200,0x74dcf44f,0x93029200,0x94019203,
+0x46494640,0x465b4652,0xffacf7ff,0x22dcb9f8,0xf2454625,0x429e53aa,
+0xea4fac04,0xd1040242,0x21ff4620,0xff28f7ff,0xa984e011,0xf7ff4620,
+0xf026ff43,0x18200001,0x1440f8dd,0xf7ff463a,0xb125ff3b,0x1e694620,
+0xf7ff22ff,0x2001fbe5,0xf50db005,0xe8bd6d80,0x46c08ff0,0x000177c6,
+0xb5706943,0xdc012b14,0xe0042541,0x6a0b4a0a,0xea036812,0x4c090502,
+0x2c04f854,0xf854b132,0xea153c08,0xd0010103,0x47906820,0x340c4b04,
+0xd1f1429c,0x46c0bd70,0x0001c610,0x0001c5dc,0x0001c618,0x47f0e92d,
+0x46804615,0x461e460f,0xfc32f7fe,0x46812100,0xf7fe4640,0x2200fe39,
+0x46114604,0x180b480f,0xb973685b,0xfb02330c,0x501df303,0x6a63181a,
+0x60966057,0xea454a0a,0x60130303,0x24016263,0x3201e004,0x2a05310c,
+0x2400d1e8,0x46494640,0xfe1af7fe,0xe8bd4620,0x46c087f0,0x0001c5d4,
+0x0001c610,0x47f0e92d,0x46894604,0xfbccf7fe,0x46202100,0xfe08f7fe,
+0x46204605,0xf8d46967,0xf0028018,0x2f0afe6b,0xd9164682,0xd0192f0f,
+0xf7fe4620,0x2f14fceb,0xd9034606,0xf02368ab,0x60ab0308,0xf04368ab,
+0x60ab0301,0x68abd903,0x0308f043,0x220160ab,0x2f02e011,0x4e1ad802,
+0xe00c2230,0xf7fe4620,0xf8d5fcdb,0x460630a4,0x03fff023,0x0302f043,
+0x30a4f8c5,0xb15f2202,0xf01368ab,0xd1070f01,0x0318f008,0xbf142b08,
+0x16e1f44f,0xf6f2fbb6,0x0803f008,0xe00f2400,0x7040f505,0xeb00b117,
+0xe0012004,0x00c4eb00,0x0f00f1b9,0x4651d003,0x23004632,0x340147c8,
+0xdbed4544,0x87f0e8bd,0x053ec600,0x47704800,0x00017804,0x460eb573,
+0xf89d2400,0x46151018,0x469e4684,0x20014622,0xf302fa10,0x0f0eea13,
+0xf8c5d004,0xf8d52620,0x431c3624,0x2a1f3201,0x4623d1f1,0xb13cb149,
+0x46319000,0x462a4660,0xffe0f7ff,0x0300ea44,0x4620461c,0x46c0bd7c,
+0x46c04770,0x4604b570,0xfb72f7fe,0x46052100,0xf7fe4620,0x4620fd79,
+0xf7fe4629,0x2001fd75,0x46c0bd70,0x4604b570,0xfb62f7fe,0x46052100,
+0xf7fe4620,0x4620fd69,0xf7fe4629,0xbd70fd65,0x2200b510,0xf7ff4604,
+0x4620ffed,0xfb50f7fe,0x46204601,0xfd58f7fe,0x46c0bd10,0x4605b570,
+0xfb46f7fe,0x46062100,0xf7fe4628,0x4631fd4d,0x460cf8d0,0xf7fe4628,
+0xf3c4fd47,0xbd702080,0x4604b570,0xfb34f7fe,0x46052100,0xf7fe4620,
+0x69e3fd3b,0xd1042b01,0x3600f8d0,0x7300f423,0xdd05e004,0x3600f8d0,
+0x7300f443,0x3600f8c0,0x2b026b63,0xf8c0d110,0xf8d03658,0xf443365c,
+0xf8c07380,0x2303365c,0x3658f8c0,0x365cf8d0,0x0304f043,0x365cf8c0,
+0x46294620,0xfd14f7fe,0x46c0bd70,0x4604b570,0xfb02f7fe,0x46062100,
+0xf7fe4620,0x6b63fd09,0x4d0bb90b,0x2301e00d,0x3660f8c0,0x3664f8d0,
+0xf0034a08,0xfbb203ff,0xf44ff2f3,0xfb02737a,0x4620f503,0xf7fe4631,
+0x4628fcf3,0x46c0bd70,0x0249f000,0x000d6d80,0xf7ffb510,0xbd10ffd7,
+0x4605b570,0xfad8f7fe,0x46062100,0xf7fe4628,0xf8d0fcdf,0x46283600,
+0x0484f3c3,0xff2af7ff,0x7883e003,0xd00442a3,0xb120300c,0x2b008803,
+0x8803d1f7,0x4805b903,0x46318804,0xf7fe4628,0xf44ffcc7,0xfb04707a,
+0xbd70f000,0x000178a0,0x4604b570,0xfab0f7fe,0x46052100,0xf7fe4620,
+0x4620fcb7,0xf7fe4629,0xf640fcb3,0xbd7030b8,0x41f0e92d,0xf7fe4606,
+0x2100fa9f,0x46304607,0xfca6f7fe,0xf8c02301,0xf8d03650,0x4c2e3654,
+0x0304f023,0x3654f8c0,0x3654f8d0,0xf0434605,0xf8c00304,0xe0033654,
+0xf002200a,0x3c0afbf3,0xf0136aeb,0xd1010f08,0xd1f52c09,0x6aea2000,
+0x0658f8c5,0x365cf8d5,0x1247f3c2,0x4360f023,0xea432101,0xf8c57342,
+0xf8c5365c,0xf8d51658,0xf002365c,0xf023040f,0xea430301,0xf8c503d4,
+0xf8c5365c,0xf8d50650,0xf0233654,0xea434340,0xf8c57382,0xf8c53654,
+0xf8d51650,0xf0233654,0xea430303,0xf8c50394,0xf8c53654,0xf8d50650,
+0x46303654,0x5300f043,0x3654f8c5,0x1650f8c5,0x3654f8d5,0xf0234639,
+0xf8c50304,0xf7fe3654,0xe8bdfc47,0x46c081f0,0x00989689,0x41f0e92d,
+0x46804f0f,0xb9c4683c,0xfa2ef7fe,0x46064621,0xf7fe4640,0xf8d0fc35,
+0x46045614,0x7010f242,0xfb90f002,0x3614f8d4,0x1b5b2264,0xf302fb03,
+0x603b4640,0xf7fe4631,0x6838fc23,0x81f0e8bd,0x0001c614,0x41f0e92d,
+0x46164607,0xfa0cf7fe,0x46802100,0xf7fe4638,0x4604fc13,0xf0002e00,
+0x463880a6,0xfe5ef7ff,0xe0024605,0xd00642b3,0x2d00350c,0x809bf000,
+0x2b00882b,0x882bd1f6,0xf0002b00,0xf8d48094,0x78aa3600,0x0384f3c3,
+0xf0004293,0xf8d4808c,0xf6433618,0xf42326a1,0xf8c41340,0xf8d43618,
+0xf423361c,0xf8c41340,0xe003361c,0xf002200a,0x3e0afb45,0x31e0f8d4,
+0x3f00f413,0x2e09d001,0x2300d1f4,0x3660f8c4,0x792b78ea,0x1664f8d4,
+0x0512061b,0x6370f003,0x0270f402,0x617ff021,0x430b4313,0x3664f8c4,
+0xb9536b7b,0xf8c43301,0xf8d43660,0xf4233664,0xf443437f,0xf8c46360,
+0x23023664,0x3660f8c4,0xf8d488ea,0x4b291664,0xea020512,0xf0210303,
+0xf42151fe,0xf4431178,0x430b3300,0x3664f8c4,0xf8c42303,0xf8d43660,
+0x68ab2664,0x427ff002,0x437ff023,0xf8c44313,0x23053664,0x3660f8c4,
+0x2664f8d4,0xf0024b1a,0xea4202ff,0xf8c40303,0x69fb3664,0xdd052b01,
+0x3600f8d4,0x6380f443,0x3600f8c4,0xf8d478aa,0x88290600,0xf64f0092,
+0xea007383,0xf0020303,0x317f027c,0x11c9431a,0x39016b7b,0x4001ea42,
+0xf8d4b93b,0xf4203630,0x041b7080,0xf8c40c1b,0xf8c43630,0x46380600,
+0xf7fe4641,0xe8bdfb65,0x46c081f0,0x1ff00000,0x88888800,0x4616b570,
+0x460d6b42,0x2312f240,0x490d2000,0xbf8c2a01,0x2412461c,0xf95ef7ff,
+0x2100b120,0xf7ff460a,0x4604f825,0x49072000,0xf954f7ff,0x4806b908,
+0x2100e003,0xf7ff460a,0x602cf819,0xbd706030,0x000178c4,0x000178c9,
+0x003ff63e,0x43f0e92d,0x4607b085,0x4690460c,0xf964f7fe,0x28004605,
+0x4638d145,0xf91cf7fe,0x46814629,0xf7fe4638,0x2301fb23,0x46214606,
+0x46329300,0x6380f44f,0xf7ff4638,0xaa02fd6f,0xa9034604,0x95034638,
+0xf7ff9502,0x9b03ffb3,0x0203ea24,0x0f00f1b8,0xf8d6d019,0xf44f3618,
+0xf443707a,0x43136380,0x3618f8c6,0xfa62f002,0x24a1f643,0x200ae003,
+0xfa5cf002,0xf8d63c0a,0xf413360c,0xd10a6f80,0xd1f42c09,0xf8d6e007,
+0xf4423618,0xea236280,0xf8c60302,0x46383618,0xf7fe4649,0xb005fae5,
+0x83f0e8bd,0x4ff0e92d,0xb0852400,0x94034607,0xf7fe9402,0x4621f8cd,
+0x46384683,0xfad4f7fe,0x4a466b7b,0x4b4642a3,0xbf144605,0x46994691,
+0x4a446a3b,0x2a04f3c3,0xbf147813,0x26012602,0x3620f8c0,0x46a08853,
+0x3628f8c0,0x2108e014,0x4a3d4668,0xf7ff4643,0x2000fbc5,0xf7ff4669,
+0xb138f8c1,0xf8c52100,0x460a8620,0xff86f7fe,0x0628f8c5,0x0801f108,
+0xd1e845d0,0x1406eb09,0x3c04f854,0xb1133e01,0x47984638,0x2100b330,
+0x2301e022,0xf854408b,0x42132c10,0xf8c5d01b,0xf9141620,0xb12b3c0c,
+0xd0062b01,0x3ffff1b3,0xe010d009,0x3c08f854,0xf8d5e00b,0xf8543624,
+0x43132c08,0xf8d5e005,0xf8543624,0xea232c08,0xf8c50302,0x31013624,
+0xd1da4551,0x2e003c10,0xe014d1ce,0x46682108,0x46334a18,0xfb7af7ff,
+0x46692000,0xf7ff466c,0xb138f875,0xf8c52100,0x460a6620,0xff3af7fe,
+0x0624f8c5,0x45463601,0x4638d1e8,0xaa02a903,0xfef8f7ff,0xb10b9b03,
+0x3618f8c5,0xb10b9b02,0x361cf8c5,0x46594638,0xfa4af7fe,0xe8bdb005,
+0x46c08ff0,0x000178e8,0x000178d8,0x000177fe,0x000178ce,0x000178d3,
+0x30b4f890,0xf8d0b1a3,0xb91330c0,0x30c4f8d0,0x461ab173,0xf443681b,
+0x60136300,0xf4136813,0xd0056f00,0x6300f423,0x23016013,0x3140f8c0,
+0x46c04770,0x477020a4,0xf890b510,0xb10b30b4,0xe0004903,0x22904903,
+0xfadaf7ff,0x46c0bd10,0x00017908,0x00017998,0x9c03b530,0x4619468c,
+0x46969b04,0x682204db,0x43130cdb,0x46056023,0x0138f8d0,0x4f80f1b0,
+0xf01ed102,0xd1094240,0xeb0e00c9,0xeb0c0300,0x60530201,0xf84c6823,
+0xe00e3001,0x3392ea43,0xf8d56023,0x00c82138,0x4340f02e,0xeb0c189b,
+0x604b0100,0xf84c6823,0xbd303000,0x469cb570,0x468e9b05,0xf8d0045d,
+0x0c6d3138,0x4f80f1b3,0x9e044614,0xf012d102,0xd1054240,0x110cea4f,
+0x0201eb0e,0xe00918e3,0x110cea4f,0x4340f024,0x3592ea45,0x4380f103,
+0x0201eb0e,0xf8d06093,0x60d3313c,0xf84e6833,0x60553001,0x3140f8d0,
+0xea4fb1db,0xeb0e120c,0x68a00402,0xf85e68e3,0x40432002,0x40536861,
+0xea83404b,0xea834313,0xea832313,0xea831313,0xea830393,0xf0130353,
+0xbf1c0f01,0x2380f445,0xbd706063,0xf443680b,0x600b3340,0x680b6808,
+0x3040f400,0x3340f423,0x3f40f5b0,0x2000bf14,0x600b2001,0x46c04770,
+0x30b4f890,0x468eb500,0x1130f8d0,0xf1b1b32b,0xd1024f80,0x4c40f012,
+0xf1bed10d,0xeb020f01,0xbf0c0301,0x20c0f8d0,0x20c4f8d0,0xf8d06093,
+0x60d33134,0xf1bee035,0xf0220f01,0xbf0c4340,0x20c0f8d0,0x20c4f8d0,
+0x4380f103,0xf8d06093,0xea4f3134,0x60d3319c,0xf1b1e01d,0xd1024f80,
+0x4c40f012,0xf1bed109,0xbf0c0f01,0x30b8f8d0,0x30bcf8d0,0x605a440a,
+0xf1bee013,0xf0220f01,0xbf0c4340,0x20b8f8d0,0x20bcf8d0,0x4380f103,
+0x319cea4f,0x68136053,0x3340f423,0x0303ea41,0xbd006013,0x30b4f890,
+0xf8d0b113,0xe00120c0,0x20b8f8d0,0xf0436813,0x60130304,0x46c04770,
+0x30b4f890,0xf8d0b153,0xf8d03140,0xf8d020c4,0xb10b012c,0xe0080043,
+0xe0040043,0x312cf8d0,0x20bcf8d0,0xf443005b,0xf0436300,0x60130301,
+0x46c04770,0xf8d0b510,0x460140d4,0xf890b1d4,0xb12b30b4,0x30c0f8d0,
+0xf3c3691b,0xe0041e08,0x30b8f8d0,0xf3c368db,0xf8d10ec8,0xe00720d8,
+0x30e0f8d1,0x0022f853,0x3201b928,0x401a1e63,0xd1f54572,0xbd102000,
+0xf8c02300,0x47703090,0x10d4f8d0,0x30dcf8d0,0x20d8f8d0,0x1a9bb510,
+0x401c1e4c,0x39011b09,0x1090f8c0,0x46c0bd10,0xf8d04603,0xf8d320d4,
+0xf8d030d8,0x3a0100dc,0xea021ac0,0x47700000,0x30b4f890,0xf8d0b12b,
+0x691b30c0,0x1208f3c3,0xf8d0e004,0x68db30b8,0x02c8f3c3,0x30dcf8d0,
+0x00d4f8d0,0x38011a9b,0x0000ea03,0x46c04770,0xf8d04603,0xf8d32100,
+0xf8d03104,0x3a010108,0xea021ac0,0x47700000,0xf8c02300,0xf8c03094,
+0xf8c03098,0x4770309c,0x30b8f8d0,0xf1b06818,0xd1013fff,0xe0013001,
+0x0001f000,0x46c04770,0x30d4f8d0,0xf8d0b12b,0x681320b8,0x0302f043,
+0x47706013,0x30d4f8d0,0xf8d0b12b,0x681320b8,0x0302f023,0x47706013,
+0x30d4f8d0,0x2001b90b,0xf8d0e004,0x681b30b8,0x0040f3c3,0x46c04770,
+0x30b8f8d0,0xf40068d8,0xf5b04070,0xbf145f40,0x20012000,0x46c04770,
+0x30bcf8d0,0xf40068d8,0xf5b04070,0xbf145f40,0x20012000,0x46c04770,
+0x3100f8d0,0x2001b90b,0xf8d0e009,0x68da30bc,0x0512689b,0x429a0d12,
+0x2000bf14,0x47702001,0x30bcf8d0,0xf1b06818,0xd1013fff,0xe0013001,
+0x0001f000,0x46c04770,0x30d4f8d0,0x2b00b530,0xf8d0d038,0xb11120d8,
+0x40dcf8d0,0xf8d0e004,0x68db30b8,0x04c8f3c3,0x4611b112,0xe0172500,
+0x30dcf8d0,0xd825429c,0xf8d0e7f7,0x4a1330cc,0x03c1eb03,0xf8d0605a,
+0x230020e0,0x5021f852,0x3021f842,0x30d4f8d0,0x3b011c4a,0x0103ea02,
+0xd00142a1,0xd0e82d00,0x30d4f8d0,0x20dcf8d0,0x10d8f8c0,0x1e591a52,
+0x1a9b400a,0xf8c03b01,0xe0003090,0x46282500,0x46c0bd30,0xdeadbeef,
+0x47f0e92d,0xf7ff4604,0xf8d4ff1f,0xf8d430b8,0x68db90d8,0x58d3ea4f,
+0x30d4f8d4,0x0208ebc9,0xea021e59,0x1a1b0701,0xd24c429f,0x30dcf8d4,
+0xea033b01,0xe0260c01,0x00ccf8d4,0x0307eb0c,0x050eea03,0x03ccea4f,
+0x58c318c6,0xf0234575,0xbf085180,0x5180f041,0x50c100eb,0x687318c2,
+0x018cea4f,0xf8d46053,0x4b1820e0,0x58536073,0x3025f842,0x50532300,
+0x30d4f8d4,0x32fff10c,0xea023b01,0xf8d40c03,0xf10910d4,0xf10133ff,
+0xea0e3eff,0x459c0303,0xf8d4d1ce,0xf8c430dc,0x18fb80d8,0x030eea03,
+0x0203ebc8,0x020eea02,0x0201ebc2,0xf8c43a01,0xf8d42090,0xf8c420b8,
+0x00db30dc,0xe8bd6093,0x46c087f0,0xdeadbeef,0x30c0f8d0,0xf1b06818,
+0xd1013fff,0xe0013001,0x0001f000,0x46c04770,0x30d4f8d0,0xf8d0b12b,
+0x681320c0,0x0302f043,0x47706013,0x30d4f8d0,0xf8d0b12b,0x681320c0,
+0x0302f023,0x47706013,0x30d4f8d0,0x2001b90b,0xf8d0e004,0x681b30c0,
+0x0040f3c3,0x46c04770,0x30c0f8d0,0xf0006918,0xf1b04070,0xbf145f40,
+0x20012000,0x46c04770,0x30c4f8d0,0xf0006918,0xf1b04070,0xbf145f40,
+0x20012000,0x46c04770,0x3100f8d0,0x2001b90b,0xf8d0e009,0x691a30c4,
+0x04d2685b,0x429a0cd2,0x2000bf14,0x47702001,0x30c4f8d0,0xf1b06818,
+0xd1013fff,0xe0013001,0x0001f000,0x46c04770,0x30d4f8d0,0x2001b90b,
+0xf8d0e00d,0x681320c0,0x0002f013,0x6913d007,0x4370f003,0x5f00f1b3,
+0x2000bf14,0x47702001,0x30d4f8d0,0x2b00b530,0xf8d0d039,0xb11120d8,
+0x40dcf8d0,0xf8d0e004,0x691b30c0,0x1408f3c3,0x4611b112,0xe0182500,
+0x30dcf8d0,0xd826429c,0xf8d0e7f7,0x4a1330d0,0x1301eb03,0x60da609a,
+0x20e0f8d0,0xf8522300,0xf8425021,0xf8d03021,0x1c4a30d4,0xea023b01,
+0x42a10103,0x2d00d001,0xf8d0d0e7,0xf8d030d4,0xf8c020dc,0x1a5210d8,
+0x400a1e59,0x3b011a9b,0x3090f8c0,0x2500e000,0xbd304628,0xdeadbeef,
+0x4604b530,0x0100f8d0,0xb908460a,0xe03e4605,0x00b4f894,0x1104f8d4,
+0x3108f8d4,0x4299b1c0,0xb932d034,0x30c4f8d4,0xf3c3691b,0x42991308,
+0xf8d4d02c,0x2300210c,0x5021f852,0x3021f842,0x30fcf8d4,0xeb034a13,
+0x609a1301,0xe01560da,0xd01b4299,0xf8d4b932,0x68db30bc,0x03c8f3c3,
+0xd0134299,0x310cf8d4,0xf8534a0a,0xf8435021,0xf8d40021,0xeb0330f8,
+0x605a03c1,0x3100f8d4,0x3b011c4a,0xf8c44013,0xe0003104,0x46282500,
+0x46c0bd30,0xdeadbeef,0xf443680b,0x600b3340,0x680b6808,0x3040f400,
+0x3340f423,0x3f40f5b0,0x2000bf14,0x600b2001,0x46c04770,0x47f0e92d,
+0xf7ff4605,0xf8d5fda1,0xf8d530c0,0x695b90d8,0x180cf3c3,0x30d4f8d5,
+0x0208ebc9,0xea021e59,0x1a1b0701,0xd251429f,0x30dcf8d5,0xea033b01,
+0xe02b0c01,0x00d0f8d5,0x0307eb0c,0x060eea03,0x130cea4f,0x58c318c4,
+0xf0234576,0xbf085180,0x5180f041,0x50c10133,0x686318c2,0x018cea4f,
+0x68a36053,0x68e36093,0xf8d560d3,0x4b1820e0,0x60e360a3,0xf8425853,
+0x23003026,0xf8d55053,0xf10c30d4,0x3b0132ff,0x0c03ea02,0x10d4f8d5,
+0x33fff109,0x3efff101,0x0303ea0e,0xd1c9459c,0x30dcf8d5,0x80d8f8c5,
+0xea0318fb,0xebc8030e,0xea020203,0xebc2020e,0x3a010201,0x2090f8c5,
+0x20c0f8d5,0x30dcf8c5,0x6053011b,0x87f0e8bd,0xdeadbeef,0x4604b510,
+0xfbcef7fd,0x46202100,0xf7fd460a,0xf410fded,0xd0055f80,0xf7fd4620,
+0xb108fc13,0xe0002040,0xbd102020,0x20d4f8d0,0x4604b510,0x1e53b1e2,
+0xf8c02100,0xf8c03090,0xf8c010dc,0x011210d8,0x00d0f8d0,0xfe90f7fe,
+0x3140f8d4,0x20c0f8d4,0x2301b10b,0xf640e001,0x60130301,0x21014620,
+0x20ecf8d4,0xfc54f7ff,0x46c0bd10,0x20d4f8d0,0x4604b510,0x2100b1ba,
+0xf8c01e53,0xf8c010dc,0xf8c010d8,0x00d23090,0x00ccf8d0,0xfe6cf7fe,
+0x20b8f8d4,0x0301f640,0x46206013,0xf8d42101,0xf7ff20ec,0xbd10fc35,
+0x2100f8d0,0x4604b510,0xf890b1d2,0x230010b4,0x3108f8c0,0x3104f8c0,
+0xf8d0b121,0x461900fc,0xe0020112,0x00f8f8d0,0xf7fe00d2,0x4620fe49,
+0xfc7af7ff,0x21024620,0x2118f8d4,0xfc14f7ff,0x46c0bd10,0x41f0e92d,
+0x30b4f890,0x46884604,0xd0442b00,0xf8d02901,0xbf0c50c8,0x30d4f8d0,
+0x3100f8d0,0x011e1e6f,0x5f80f417,0x1976bf18,0xd1182901,0xf1044630,
+0xf00101ec,0xb358fc6f,0xfbb3183b,0xfb05f3f5,0xf8d4f303,0xf8c420ec,
+0x1a1b30d0,0x464118d2,0x30f0f8c4,0x20ecf8c4,0x60f4f8c4,0x4630e019,
+0x718cf504,0xfc56f001,0x183bb190,0xf3f5fbb3,0xf303fb05,0x2118f8d4,
+0x30fcf8c4,0x18d21a1b,0xf8c42101,0xf8c4311c,0xf8c42118,0xe0006120,
+0xb2c82100,0x2901e040,0xf8d0d109,0xf10430d4,0x00dd01ec,0xf0014628,
+0xb398fc35,0xf8d0e009,0xf5043100,0x00dd718c,0xf0014628,0xb348fc2b,
+0xf500e013,0x331f637e,0x637ef423,0x031ff023,0x20ecf8d4,0x30ccf8c4,
+0x18d21a1b,0x30f0f8c4,0x20ecf8c4,0x50f4f8c4,0xf500e012,0x331f637e,
+0x637ef423,0x031ff023,0x2118f8d4,0x30f8f8c4,0x18d21a1b,0x311cf8c4,
+0x2118f8c4,0x5120f8c4,0xe0002001,0xb2c02000,0x81f0e8bd,0x4604b510,
+0xd04f2800,0x30b4f890,0xf8d0b15b,0xb12b30d0,0x00f0f8d0,0x0003ebc0,
+0xfbe8f001,0x30fcf8d4,0xf8d0e00a,0xb12b30cc,0x00f0f8d0,0x0003ebc0,
+0xfbdcf001,0x30f8f8d4,0xf8d4b12b,0xebc0011c,0xf0010003,0xf8d4fbd3,
+0xb13110e0,0x20d4f8d4,0x00acf8d4,0xf0010092,0xf8d4f8cf,0xb131110c,
+0x2100f8d4,0x00acf8d4,0xf0010092,0xf8d4f8c5,0xb13110e8,0x20d4f8d4,
+0x00acf8d4,0xf0010092,0xf8d4f8bb,0xb1311114,0x2100f8d4,0x00acf8d4,
+0xf0010092,0xf8d4f8b1,0x462100ac,0x72a2f44f,0xf8aaf001,0x46c0bd10,
+0x4ff7e92d,0x91014683,0x70a2f44f,0x46162100,0xf8dd461f,0xf8dd9034,
+0xf8dda038,0x9d12803c,0xfebaf000,0x28004604,0x8126f000,0xf44f2100,
+0xf7fe72a2,0x4b94fd3d,0x2d002100,0x461dbf08,0x50a0f8c4,0x460a4630,
+0xfc72f7fd,0xf3c02300,0xf8c43000,0xb2c33140,0x00b4f884,0xb0acf8c4,
+0x60b0f8c4,0x9b0cb1b3,0x0ffff1b9,0x30c4f8c4,0x5300f44f,0x70c0f8c4,
+0x30c8f8c4,0xf1bad806,0xbf9c0fff,0x5380f5a3,0x30c8f8c4,0xf7ff4620,
+0xe004fa2f,0xf8c49b0c,0xf8c470b8,0x220830bc,0xf1049901,0xf7fe00a4,
+0x2300fc47,0x30abf884,0x90d4f8c4,0xa100f8c4,0xfa34f7ff,0xbf864580,
+0x0308ebc0,0x3124f8c4,0x8124f8c4,0x22009b10,0x3128f8c4,0xf8c49b11,
+0xf8c42130,0xf8c4312c,0x68732138,0xd11f2b01,0xf5b368b3,0xd1056f02,
+0x30b4f894,0xf04fb113,0xe00b4300,0xf2446b32,0x429a3322,0xf04fbf0c,
+0xf04f4300,0xf8c44380,0x23003130,0x3134f8c4,0x3130f8d4,0x3138f8c4,
+0x3134f8d4,0x313cf8c4,0xf7fd4630,0xf640fa07,0x42980329,0x4630d10c,
+0xfcd4f7fd,0x4630b140,0xfcd0f7fd,0xd8032802,0xf8842300,0xe01c30b5,
+0x30b4f894,0xf8d4b15b,0xb91110c0,0x10c4f8d4,0xf8d4b181,0xf7ff00ac,
+0x2001fd6f,0xf8d4e00b,0xb91110b8,0x10bcf8d4,0xf8d4b121,0xf7ff00ac,
+0xe000fa59,0xf8842000,0xf1b900b5,0xd00d0f00,0x0589ea4f,0x21004628,
+0xfdfef000,0x00e0f8c4,0xd06b2800,0x462a2100,0xfc82f7fe,0x0f00f1ba,
+0xea4fd00d,0x4628058a,0xf0002100,0xf8c4fded,0x2800010c,0x2100d05a,
+0xf7fe462a,0xf1b9fc71,0xd0050f00,0x21014620,0xfe2cf7ff,0xd04d2800,
+0x0f00f1ba,0x4620d005,0xf7ff2102,0x2800fe23,0xf8d4d044,0xf1b33130,
+0xd1074f80,0x30ecf8d4,0x4f80f1b3,0xf894d902,0xb3bb30b5,0x3130f8d4,
+0x4f80f1b3,0xf8d4d107,0xf1b33118,0xd9024f80,0x30b5f894,0xf1b9b353,
+0xd00d0f00,0x0589ea4f,0x21004628,0xfdb0f000,0x00e8f8c4,0x2100b1f0,
+0xf7fe462a,0xe001fc35,0x90e8f8c4,0x0f00f1ba,0xea4fd00d,0x4628058a,
+0xf0002100,0xf8c4fd9d,0xb1580114,0x462a2100,0xfc22f7fe,0xf8c4e001,
+0x4620a114,0xf958f7ff,0xe0034620,0xf7ff4620,0x2000fe69,0x8ffee8bd,
+0x0001c618,0x3100f8d0,0x4604b570,0x2001b90b,0xf8d0e016,0x230020c4,
+0x7519f242,0xe0036013,0xf001200a,0x3d0afabf,0x30c4f8d4,0xf013691b,
+0xd0014070,0xd1f32d09,0x0001f1d0,0x2000bf38,0x46c0bd70,0x30d4f8d0,
+0x4604b570,0x2001b90b,0xf8d0e033,0x230220c0,0x7519f242,0xe0036013,
+0xf001200a,0x3d0afa9f,0x30c0f8d4,0xf013691b,0xd0074370,0x5f00f1b3,
+0xf1b3d004,0xd0015f40,0xd1ed2d09,0x20c0f8d4,0xf2422300,0x60137519,
+0x200ae003,0xfa86f001,0xf8d43d0a,0x691b30c0,0x4670f013,0x2d09d001,
+0xf44fd1f3,0xf0017096,0xf1d6fa79,0xbf380001,0xbd702000,0x30d4f8d0,
+0x4604b510,0x2001b90b,0xf8d0e01a,0x681320b8,0x0f02f013,0x68d3d013,
+0x4370f403,0x5f00f5b3,0x2002d10d,0xfa5ef001,0x30b8f8d4,0xf40368db,
+0xf5b34370,0xbf145f00,0x20012000,0x2000e000,0x46c0bd10,0x3100f8d0,
+0x4604b570,0x2001b90b,0xf8d0e016,0x230020bc,0x7519f242,0xe0036013,
+0xf001200a,0x3d0afa3f,0x30bcf8d4,0xf41368db,0xd0014070,0xd1f32d09,
+0x0001f1d0,0x2000bf38,0x46c0bd70,0x30d4f8d0,0x4604b570,0x2001b90b,
+0xf8d0e033,0x230220b8,0x7519f242,0xe0036013,0xf001200a,0x3d0afa1f,
+0x30b8f8d4,0xf41368db,0xd0074370,0x5f00f5b3,0xf5b3d004,0xd0015f40,
+0xd1ed2d09,0x20b8f8d4,0xf2422300,0x60137519,0x200ae003,0xfa06f001,
+0xf8d43d0a,0x68db30b8,0x4670f413,0x2d09d001,0xf44fd1f3,0xf0017096,
+0xf1d6f9f9,0xbf380001,0xbd702000,0x47ffe92d,0x93032300,0x60dcf8d0,
+0x460f4604,0x460d4692,0xf8d4e037,0xf10630d4,0xf8d40801,0xf10320d8,
+0xea083eff,0x4293030e,0xc010f8d5,0x8b298aa8,0x9000f8d5,0x180ad057,
+0x2300d022,0x930342bd,0xf103bf04,0x93034300,0x0f00f1b9,0x9b03d103,
+0x43c0f043,0x45769303,0x9b03d103,0x5380f043,0xab039303,0x92019300,
+0xf8d44633,0x462010d0,0xf7ff4662,0xf8d4f873,0x3b0130d4,0x0603ea08,
+0x2d00464d,0x9803d1c5,0x4f80f010,0xf8d4d10a,0x1e7230d4,0x401a3b01,
+0x10d0f8d4,0xf0400112,0x508b43c0,0x20d4f8d4,0x30e0f8d4,0x3a011e71,
+0xf8434011,0xf8c47021,0xf1ba60dc,0xd0030f00,0x20c0f8d4,0x60530133,
+0x00d8f8d4,0x20d4f8d4,0x10dcf8d4,0x1a091e53,0x1ad2400b,0x46283a01,
+0x2090f8c4,0xf8d4e00f,0x463900ac,0xf0002201,0x2300fdeb,0x3090f8c4,
+0x309cf8d4,0x30fff04f,0xf8c43301,0xb004309c,0x87f0e8bd,0x4604b570,
+0xe004460d,0x00acf8d4,0xf0002201,0x4629fdd5,0xf7ff4620,0x4601fadd,
+0xd1f32800,0x46c0bd70,0x47ffe92d,0x93032300,0x60dcf8d0,0x460f4604,
+0x460d4692,0xf8d4e037,0xf10630d4,0xf8d40801,0xf10320d8,0xea083eff,
+0x4293030e,0xc010f8d5,0x8b298aa8,0x9000f8d5,0x180ad057,0x2300d022,
+0x930342bd,0xf103bf04,0x93034300,0x0f00f1b9,0x9b03d103,0x43c0f043,
+0x45769303,0x9b03d103,0x5380f043,0xab039303,0x92019300,0xf8d44633,
+0x462010cc,0xf7fe4662,0xf8d4ffab,0x3b0130d4,0x0603ea08,0x2d00464d,
+0x9803d1c5,0x4f80f010,0xf8d4d10a,0x1e7230d4,0x401a3b01,0x10ccf8d4,
+0xf04000d2,0x508b43c0,0x20d4f8d4,0x30e0f8d4,0x3a011e71,0xf8434011,
+0xf8c47021,0xf1ba60dc,0xd0030f00,0x20b8f8d4,0x609300f3,0x00d8f8d4,
+0x20d4f8d4,0x10dcf8d4,0x1a091e53,0x1ad2400b,0x46283a01,0x2090f8c4,
+0xf8d4e00f,0x463900ac,0xf0002201,0x2300fd51,0x3090f8c4,0x309cf8d4,
+0x30fff04f,0xf8c43301,0xb004309c,0x87f0e8bd,0x4604b570,0xe004460d,
+0x00acf8d4,0xf0002201,0x4629fd3b,0xf7ff4620,0x4601f923,0xd1f32800,
+0x46c0bd70,0x4604b510,0xf8d4e004,0x220000ac,0xfd2af000,0x46202101,
+0xfa76f7ff,0x28004601,0xbd10d1f3,0x4604b570,0xe0252500,0xf8d42d00,
+0xdd092124,0x0305ebc2,0x00acf8d4,0xea232200,0xf00075e3,0xe017fd11,
+0xf8d4690b,0x881b012c,0x42931a12,0xb10bd90d,0x0503ebc2,0x00acf8d4,
+0xf0002200,0xf8d4fd01,0x33013094,0x3094f8c4,0x18c3e002,0xe006828b,
+0x46202100,0xfa44f7ff,0x28004601,0x4608d1d2,0x46c0bd70,0x4604b510,
+0x49044608,0xf916f7fe,0x2000b108,0xf104e001,0xbd100090,0x00017a28,
+0x43f0e92d,0x2100f8d0,0x5108f8d0,0x3104f8d0,0xebc33a01,0x401a0305,
+0x3128f8d0,0xebc2b085,0xf8d00903,0x46043124,0xbf8c2ba4,0x270027a4,
+0x46982300,0xe0519303,0x1124f8d4,0x00acf8d4,0xf0001879,0x4601fcd3,
+0xf8d4b928,0x33013098,0x3098f8c4,0xb12fe044,0x19db6903,0x8a836103,
+0x82831bdb,0x210cf8d4,0x2300690e,0xf8426033,0x93031025,0x30b4f894,
+0x2100f8d4,0x1e53b19b,0xbf08429d,0x5380f04f,0x2124f8d4,0x9303bf08,
+0x9300ab03,0xf8d49201,0x462010fc,0x462b4632,0xfed8f7fe,0x1e53e012,
+0xbf08429d,0x5380f04f,0x2124f8d4,0x9303bf08,0x9300ab03,0xf8d49201,
+0x462010f8,0x462b4632,0xfe96f7fe,0x3100f8d4,0x3b011c6a,0x0503ea02,
+0x0801f108,0xd1ab45c8,0x30b4f894,0x5108f8c4,0xf8d4b123,0x012b20c4,
+0xe0036053,0x20bcf8d4,0x609300eb,0xe8bdb005,0x46c083f0,0x4b15b537,
+0x60134615,0x4b13e001,0x32046013,0x037cf1ad,0xd3f8429a,0xf0203003,
+0x4b0f0003,0x0401ebc0,0x4b0e601c,0x60192100,0xf5054b0d,0x60195200,
+0x3c084b0c,0x4b0c6019,0x601d6041,0x601a4b0b,0x22084b0b,0x4b0b6019,
+0x4b0b601a,0x60586004,0x46c0bd3e,0x5354414b,0x0001c680,0x0001c628,
+0x0001c654,0x0001c684,0x0001c62c,0x0001c630,0x0001c63c,0x0001c61c,
+0x0001c670,0xe0074906,0xd1044282,0x600b6813,0x60932300,0x4611e003,
+0x2a00680a,0x4770d1f4,0x0001c658,0xb5106a83,0x2300b123,0x30106283,
+0xffe8f7ff,0xbd102001,0xf000b510,0xbd10fee7,0x4604b510,0xfedcf000,
+0xf0004620,0x4620fe91,0xfff2f7ff,0x46c0e7fb,0x4d03b570,0xf000682c,
+0x1900fe63,0xbd706028,0x0001c620,0xb5104b0d,0xf7ff681c,0x490cfff1,
+0x1ac2680b,0x6008d010,0x6863e00c,0xd8064293,0x23001ad2,0x33016063,
+0x68247423,0x1a9be002,0xe0016063,0xd1f02c00,0x46c0bd10,0x0001c658,
+0x0001c650,0xb5104b03,0x4b036818,0xf7fe6819,0xbd10f987,0x0001c634,
+0x0001c64c,0xb5704b09,0xf7fc6818,0x4b08fdbb,0x681c4605,0x68e3e007,
+0xd003421d,0xb10b6863,0x479868a0,0x2c006824,0xbd70d1f5,0x0001c634,
+0x0001c648,0x6fe0f5b1,0x4605b573,0x4616460c,0x6a03d106,0x21009100,
+0x681c9101,0xe00c460a,0x22004b0d,0xf7fc6818,0x4601ffcd,0x6a2bb180,
+0x94002200,0x681c9201,0x46334628,0xb13847a0,0x62a84a06,0x20006813,
+0x626e632b,0xe0016015,0x30fff04f,0x46c0bd7c,0x0001c634,0x0001c638,
+0x4b07b570,0x681c4605,0x4620e005,0xf7fd4629,0xb110ff9d,0x2c006b24,
+0x4620d1f7,0x46c0bd70,0x0001c638,0x41f0e92d,0x4616460d,0x4604461f,
+0x6883b310,0xf7ffbb03,0x4912ff71,0xe0014628,0x46111ac0,0xb122680a,
+0x42836853,0x1a1bd9f8,0x4b0c6053,0x600c6022,0x60a6681b,0x60e7429c,
+0xd10b6060,0x781b4b08,0xf000b143,0x2201fe2b,0x46104b06,0xe002701a,
+0xe0002000,0xe8bd2001,0x46c081f0,0x0001c658,0x0001bc44,0x0001c644,
+0x460db570,0xb1484604,0x62832301,0x626162c2,0x0010f100,0x46234a02,
+0xffbcf7ff,0x46c0bd70,0x00003c7d,0xb5104a11,0x4c112300,0x68237013,
+0xf7ffb17b,0xe007ff2b,0x688a680b,0x23006023,0x740b608b,0x479068c8,
+0xb1116821,0x2b017c0b,0x4b06d0f2,0xb943781b,0x681b4b05,0x6858b11b,
+0xfde8f000,0xf000e001,0xbd10fd89,0x0001c644,0x0001c658,0x41f0e92d,
+0x4a3e4b3d,0x8140f8df,0x4e3d1ad2,0xf8d84b3d,0x1af65000,0x4b3d4c3c,
+0xf505b08e,0x483c5500,0x18ad1ae4,0xf7fd920b,0x0ab3ffef,0x19ad9a0b,
+0x23089300,0x4611192d,0x0a929401,0x93030aa4,0x46334834,0x4e349402,
+0xffdef7fd,0x68304b33,0xf8d86819,0xebc04000,0x0a9a0301,0x0a809001,
+0x90029200,0x94030a8a,0x0aa4482d,0xf7fd9404,0x4b2cffcb,0x6819482c,
+0x18c96833,0x0a8a0aab,0x462b9300,0xffc0f7fd,0x48294b28,0xf7fd6819,
+0x4b28ffbb,0x4b28681f,0x429a683a,0x4827d003,0xffb2f7fd,0x970de024,
+0x6832e005,0x429a4b22,0x1d33d105,0x9e0d930d,0x429eab0c,0x4b20d3f5,
+0x0006ebc7,0xab0d681a,0x0103ebc7,0x0402ebc3,0x0502ebc6,0x91019200,
+0x90039102,0x46399004,0x46324818,0x94069405,0x95089507,0xff8cf7fd,
+0xe8bdb00e,0x46c081f0,0x00000000,0x0001bc35,0x0001c530,0x0001bc38,
+0x0001c710,0x0001c530,0x00017a31,0x00017a40,0x0001c628,0x0001c680,
+0x00017a78,0x0001c654,0x00017abc,0x0001c63c,0x00017af4,0x0001c62c,
+0x5354414b,0x00017b0e,0x0001c630,0x00017b31,0x0001c684,0xb5704b19,
+0x4a19681e,0xebc64686,0x68040000,0x4d176813,0x60131b1b,0x68134a16,
+0x60131b9b,0x4281e002,0x460dd203,0x29006869,0xeb0ed1f9,0x428b0304,
+0xf85ed107,0x19332004,0x6003189b,0x6043684b,0x6041e000,0xf102682a,
+0x194b0108,0xd1064283,0x594a1993,0x602b189b,0x606b6843,0x6068e000,
+0xbd702000,0x0001c61c,0x0001c628,0x0001c670,0x0001c654,0xb108b510,
+0xffc0f7ff,0x46c0bd10,0x4604b510,0x6a83b1b8,0x6ac3b1ab,0x6283b90b,
+0xf100e006,0x6a610010,0x46234a07,0xfe96f7ff,0xb10b68a3,0x47984620,
+0x3030f894,0xd1022b01,0xf7ff4620,0xbd10ffdf,0x00003c7d,0xb5701cc3,
+0x0503f023,0xebc0460a,0x42910105,0xebc1d81c,0xf0230302,0x4b0e0003,
+0xf1016819,0x42980308,0x4a0cd312,0x0400ebc1,0x18c36813,0x4a0a6013,
+0x6813602c,0x18e31868,0x4a086013,0x185b6813,0xf7ff6013,0xe000ff7b,
+0x46202400,0x46c0bd70,0x0001c61c,0x0001c680,0x0001c628,0x0001c654,
+0x408b2301,0x5f80f5b3,0xf44fbf28,0xe92d5380,0x2b044ff7,0x469bbf2c,
+0x0b04f04f,0xf04f4b3a,0xf8d30900,0x4b39a000,0x681f3003,0xc0f0f8df,
+0x0503f020,0x46c8464e,0x9004f8cd,0x6820e017,0xd31342a8,0xeb0119e1,
+0xf1cb0e00,0xebc50200,0x401a030e,0xd309428a,0x0300ebc5,0xd2054553,
+0x462646f1,0xc004f8cd,0x4690469a,0xf8dc46a4,0x2c004004,0x4634d1e3,
+0xd03b2e00,0x0309ebc8,0x0103ebc5,0x0008f107,0xd8014281,0xe00b186d,
+0xeb086833,0x1a5b0205,0xebc76033,0xf8480301,0x68733005,0x60726053,
+0x1b5b6833,0xf1bbd004,0xd1050f04,0xd8034283,0x9a016873,0xe00a6053,
+0xd20442bb,0x68134a12,0x60133301,0x511de012,0x1bdb199e,0x490f6023,
+0x680b6832,0x4a0e18d0,0x68136008,0x601319db,0x68134a0c,0xbf884298,
+0xb92e6010,0x20004a06,0x33016813,0xe0006013,0xe8bd19f0,0x46c08ffe,
+0x0001c680,0x0001c61c,0x0001c63c,0x0001c628,0x0001c654,0x0001c684,
+0x0001c670,0x47f0e92d,0x460f2010,0x46902100,0xf7ff4699,0x4606ff65,
+0xf06fb910,0xe01c001a,0x68204c0f,0xfb38f7fc,0x46424639,0x68204605,
+0xfd4cf7fc,0xf7fc6820,0x2301fe07,0x4a094083,0x9b0860f3,0x9004f8c6,
+0x681360b3,0x60336820,0x60164629,0xfd2cf7fc,0xe8bd2000,0x46c087f0,
+0x0001c634,0x0001c648,0x4b21b530,0xa904b085,0x3d04f841,0x5100f5a1,
+0x481e460a,0xfc8ef7ff,0xfbc4f000,0xf9b4f000,0xf0002000,0x4b1af911,
+0x60184d1a,0xfd46f018,0x60282100,0xfd08f7fc,0x24004b17,0x4b176018,
+0x6070f500,0xf44f4622,0x60186100,0x46204b14,0xf7ff9400,0x6828ffa3,
+0xfbf0f000,0xfb3cf000,0xf0006828,0x4622f9c3,0x490f480e,0xf974f000,
+0x490f480e,0xf0004622,0x4b0ef96f,0x605c6828,0x601c4b0d,0xbd30b005,
+0xdeaddead,0x00025014,0x0001c66c,0x0001c634,0x0001c64c,0x0001c624,
+0x00003901,0x00017bae,0x00003aa9,0x00017bb1,0x00003fc9,0x0001c678,
+0x0001c640,0x41f0e92d,0x46884607,0x21002034,0x461e4615,0xfed4f7ff,
+0xb1584604,0x22342100,0xfd5af7fd,0x60272300,0x60e660a5,0x8004f8c4,
+0x62e362a3,0xe8bd4620,0x46c081f0,0x461db570,0xf7ff2300,0x4604ffdf,
+0x2301b160,0x3030f880,0x22004629,0xfd40f7ff,0x2000b108,0x4620e004,
+0xfe58f7ff,0x0015f06f,0x46c0bd70,0xb5702901,0x6850d940,0x220a2100,
+0xfcd4f7fd,0x46044b20,0x4290681a,0x491fd91d,0xb10b684b,0xe7fb4619,
+0x0504ebc2,0xe011460c,0x6080f44f,0xf7ff2100,0x6060fe8f,0xf44fb330,
+0x21006280,0xfd14f7fd,0x68644a13,0x3d016813,0x60133301,0xd1eb2d00,
+0xd217e018,0xebc44b0f,0x68580502,0x6843e00a,0x3d014c0c,0xf7ff6063,
+0x4a09fde1,0x68136860,0x60133b01,0x2800b10d,0x4b05d1f1,0xb90a681a,
+0x605a4b04,0x48044b02,0xf7fd6819,0xbd70fd2d,0x0001c640,0x0001c678,
+0x00017bb4,0xe003460a,0x68126803,0x60033301,0xd1f92a00,0x47704608,
+0x460ab510,0x46084604,0x6823e003,0x3b016812,0x2a006023,0xbd10d1f9,
+0x4604b570,0xb122460d,0xb1136883,0x220068c0,0x462a4798,0x6823e003,
+0x3b016812,0x2a006023,0x4628d1f9,0xf826f000,0x46c0bd70,0x4604b510,
+0xf0004608,0xb110f82d,0x33016823,0xbd106023,0x4608b510,0xfd8ef7ff,
+0x46c0bd10,0xb108b510,0xfd88f7ff,0x46c0bd10,0x2100b570,0x20104605,
+0xfe12f7ff,0x22102100,0xf7fd4604,0x4620fc99,0xbd706065,0xe005b510,
+0x68044b04,0xf7ff6103,0x4620fd71,0xd1f72800,0x46c0bd10,0xdeadbeef,
+0xe92d1cc3,0xf02341f0,0x46070603,0x013cf106,0x4b102200,0x320458d5,
+0xd90242a9,0xd1f82a18,0xb19de014,0x21004628,0xfde6f7ff,0x2100b170,
+0x4604223c,0xfc6cf7fd,0x033cf104,0x195b60a3,0x60e33b3c,0x61231b9b,
+0xe00082a7,0x46202400,0x81f0e8bd,0x00017bc4,0x40998983,0x5cc86883,
+0x46c04770,0xb2d28983,0x68834099,0x477054ca,0xb5704b17,0x4605681c,
+0x280ab34c,0x200dd102,0xfff6f7ff,0xb1726962,0x54d56923,0x33014a11,
+0x0202ea03,0xda052a00,0xea6f3a01,0xea6f5282,0x32015292,0xf8d46122,
+0xb183309c,0x3ffff1b3,0x2105d00d,0x009cf8d4,0xffcef7ff,0x0f20f010,
+0xf8d4d0f7,0x2100009c,0xf7ff462a,0xbd70ffcb,0x0001c69c,0x800003ff,
+0xe92d4b0a,0x460541f0,0x2010460e,0x681c2100,0xf7ff4690,0xf8d4fd85,
+0x600530a0,0x604660c3,0x8008f8c0,0x00a0f8c4,0x81f0e8bd,0x0001c69c,
+0x20a4b570,0xf7ff2100,0x4d14fd73,0xb1806028,0x22a42100,0xfbf8f7fd,
+0x6080f44f,0x682c2100,0xfd66f7ff,0x68286160,0xb92c6944,0xfccef7ff,
+0xf04f602c,0xe00f30ff,0xf44f6144,0x46206280,0xf7fd2100,0x682afbe1,
+0x69532000,0xf44f6093,0x60d36380,0x601a4b02,0x46c0bd70,0x0001c698,
+0x0001c69c,0x2240b570,0x49272300,0x4d274606,0xfce0f7fd,0x23004a26,
+0x682b6093,0x4c25b933,0xb90b6823,0xffbcf7ff,0x602b6823,0x23884c1f,
+0x605a6822,0xd0362a00,0x3b0e6bb3,0xd9032b01,0x491d4630,0xfcfaf7fd,
+0x688a4919,0x6823b132,0x109cf8c3,0x25004b15,0xe01c681c,0x601a6823,
+0xf04f605a,0xf8c332ff,0xe7f3209c,0x309cf8d4,0x3ffff1b3,0x2105d00e,
+0x009cf8d4,0xff38f7ff,0x0f20f010,0x6963d0f7,0x009cf8d4,0x5d5a2100,
+0xff34f7ff,0x69233501,0xd3e7429d,0x49084807,0xf7ff4622,0xbd70ff65,
+0x000043e1,0x0001c69c,0x0001c688,0x0001c698,0x0000436d,0x00017bdc,
+0x00004351,0xf8d0b510,0xe00440a0,0x48036821,0xfbaaf7fd,0x2c0068e4,
+0xbd10d1f8,0x0001a52e,0x4d1bb570,0x2e0068ae,0x0914d131,0x81ab602c,
+0x4461f504,0x33e1f44f,0xf4f3fb94,0x606960a8,0x21034628,0xf7ff2280,
+0x4628fef9,0xb2e24631,0xfef4f7ff,0x21014628,0xf7ff1222,0x2103feef,
+0x4628460a,0xfeeaf7ff,0x460a2101,0xf7ff4628,0x4628fee5,0x22082104,
+0xfee0f7ff,0x21024628,0xf7ff2201,0xf44ffedb,0xf000707a,0xbd70f9eb,
+0x0001c688,0xe92d4b64,0x681e47f0,0x009cf8d6,0xf0002800,0xf1b080be,
+0xd0073fff,0xf7ff2102,0xf000febf,0x2801000f,0x80b3f000,0x009cf8d6,
+0x3ffff1b0,0x6834d110,0xf0002c00,0x61b480aa,0x19732500,0x35017f18,
+0xfeb6f7ff,0xd1f842a5,0xf7ff200a,0xe031feb1,0xf7ff2105,0xf010fea1,
+0xf0000f01,0x21008096,0x009cf8d6,0xfe98f7ff,0x4604280d,0x2808d011,
+0x287fd001,0x69b3d10e,0xf0002b00,0x3b018086,0x200861b3,0xfe94f7ff,
+0xf7ff2020,0x2008fe91,0x240ae074,0xf7ff4620,0x69b3fe8b,0xeb032c0a,
+0xd0050206,0x2b7f3301,0x61b37714,0xe001d96d,0x77132300,0xf8d67f33,
+0x2b0080a0,0xf04fd052,0x464d0900,0xf1062700,0x4638011c,0x3101e000,
+0x2c20780c,0xb304d0fb,0xf849b10d,0x37011027,0x2b22e00d,0xf080d10a,
+0xb13d0001,0xf812460a,0xf8023f01,0x2b003c01,0x3901d1f9,0x780b3101,
+0x2800b11b,0x2b20d1ed,0x2d00d1eb,0x2b00d0e0,0x2300d0de,0x3b01f801,
+0xb92de7da,0x00801c78,0xf7ff4621,0x4681fc09,0x2d023501,0xf849d1ca,
+0xb94f4027,0xf8d8e013,0xf8d90000,0xf7fd1000,0xb128f9e5,0x800cf8d8,
+0x0f00f1b8,0xe018d1f3,0x3004f8d8,0x0008f8d8,0x464a4639,0x46484798,
+0xfb58f7ff,0x309cf8d6,0xf1b32200,0xbf083fff,0x61b26032,0xf7ff203e,
+0x2020fe1b,0xfe18f7ff,0x4804e003,0xfaa4f7fd,0xe8bde7e9,0x46c087f0,
+0x0001c69c,0x00017bde,0xb5104b09,0x4c09681b,0x1614f8d3,0xebc36823,
+0x4b070201,0x42826818,0x2000d201,0x6021e002,0xf0f0fbb2,0x46c0bd10,
+0x0001c64c,0x0001c6ac,0x0001bc48,0x681a4b03,0xf8c22300,0xf8d23644,
+0x47703644,0x0001c64c,0x46c04770,0x6801b513,0xf1a14604,0x2b0f0310,
+0xf7ffd802,0xe02af99f,0x686268c3,0x48149300,0xf7fd68a3,0x69e3fa65,
+0x93006921,0x69a36962,0xf7fd4810,0x6ae3fa5d,0x93006a21,0x6aa36a62,
+0xf7fd480d,0x6be3fa55,0x93006b21,0x6ba36b62,0xf7fd480a,0x6ce3fa4d,
+0x93004809,0x6c626c21,0xf7fd6ca3,0xf240fa45,0xf7fb10e3,0xbd1cfdd3,
+0x00017be1,0x00017c12,0x00017c44,0x00017c76,0x00017ca8,0xf04fb510,
+0xf7fb4000,0xbd10fd81,0xf04fb510,0xf7fb4000,0xbd10fd5d,0xf000b510,
+0xbd10f8e1,0x4c12b510,0x68234a12,0xd90a4298,0x0300ebc3,0xf7ff6013,
+0x4b0ff917,0x61a0f04f,0x68206018,0x2300e003,0xf04f6013,0xb9086110,
+0xe0033002,0x681b4b09,0xf000fb03,0x681a4b08,0x0301ea40,0x3644f8c2,
+0x3644f8d2,0x46c0bd10,0x0001bc4c,0x0001c6a8,0x0001c6a4,0x0001bc48,
+0x0001c64c,0xf7ffb510,0xbd10fa95,0x460cb510,0xf7ff210c,0xb100fb21,
+0xbd106020,0x4604b510,0xf8eef000,0xf7fb4816,0x4620fd6d,0xf89cf000,
+0x4a154b14,0xfbb318c3,0x4a14f3f2,0x60134620,0xffdaf7fb,0x7078f500,
+0xf44f3007,0xfbb0737a,0x4b0ff0f3,0x60184a0f,0x490f69e3,0xbfcc2b00,
+0x437ff06f,0x33fff240,0x4a0a6013,0xfbb36813,0x6013f3f0,0x22204620,
+0xf7fd2300,0xbd10fa8f,0x000045c9,0x000f423f,0x000f4240,0x0001bc50,
+0x0001bc48,0x0001bc4c,0x00004761,0xb5104b10,0xf8d2681a,0xf0133644,
+0xd0187f00,0x4c0d2340,0x3608f8c2,0x3608f8d2,0xff18f7ff,0xb1636823,
+0xf892f7ff,0x681b4b08,0x0300ebc3,0x42986820,0x1ac0d903,0xff66f7ff,
+0xf7ffe001,0xbd10f95b,0x0001c64c,0x0001c6a8,0x0001c6a4,0x4604b570,
+0xfcecf7fb,0x46054b07,0xfb03681b,0x42840404,0xf7fbd203,0x42a8fce3,
+0xf7fbd8fb,0x42a0fcdf,0xbd70d3fb,0x0001bc50,0x41f0e92d,0x783e4f0c,
+0x4b0cb9a6,0x1b5c4d0c,0x4631d008,0x46224628,0xf91ef7fd,0x46214628,
+0xfa5cf7ff,0x46214807,0xf956f7fd,0x701e4b06,0x703b2301,0x81f0e8bd,
+0x0001c6a0,0x00025014,0x0001c710,0x00017cd9,0x0001c6b0,0x4770bf30,
+0x4604b510,0xfe1cf7fb,0x46204601,0xfb6cf7fd,0x46c0bd10,0x47f0e92d,
+0x461e4607,0x460c4615,0xfe0ef7fb,0xf7fb4638,0x4629fe3f,0x46814632,
+0xf7fc4638,0x4638f853,0xf90ef7fc,0x012af640,0x22004606,0xf7fc4638,
+0x4605f849,0x2401b18c,0xf306fa14,0xea326982,0xd1020803,0xf7fb4620,
+0x1c70fc63,0xf000fa14,0xfc40f7fb,0x8018f8c5,0x2401e00c,0xfa141c70,
+0xf7fbf000,0x4620fc55,0xf7fb40b4,0x69abfc33,0x61ac431c,0x46494638,
+0xf816f7fc,0x87f0e8bd,0x4605b570,0xfdd0f7fb,0xf6404628,0x2200010e,
+0xf818f7fc,0xb1c84604,0x46286806,0xf8c2f7fc,0xd9132804,0x49312000,
+0xfe30f7fc,0xf3c6b970,0xe0031203,0x3a014b2e,0x61636122,0xd1f92a00,
+0x31e8f8d4,0x0310f023,0x31e8f8c4,0xf6402200,0x4628012a,0xfff6f7fb,
+0x60204c26,0xf7fc4628,0x4b25f8a1,0x60186822,0x24a1f643,0xf8c22300,
+0xe00331e0,0xf7ff200a,0x3c0aff39,0x68334e1d,0x31e0f8d3,0x3f00f413,
+0x2c09d101,0x2100d1f2,0x4628460b,0x6200f44f,0xff70f7ff,0x460b2100,
+0xf6404628,0xf7ff0212,0x2100ff69,0x0229f640,0x4628460b,0xff62f7ff,
+0xf2476832,0x68135439,0x7380f043,0xe0036013,0xf7ff200a,0x3c0aff0f,
+0x681a4b08,0x31e0f8d2,0x3f00f413,0x2c09d101,0x6a13d1f2,0x0303f043,
+0xbd706213,0x00017d0b,0x21017fff,0x0001c6b4,0x0001c6b8,0x4604b570,
+0xfd52f7fb,0xf7fc4620,0x4605f85b,0xf7fb4620,0x2200fd7f,0xf6404606,
+0x4620012a,0xff92f7fb,0x40ab2301,0x42136982,0x2500d001,0x3501e000,
+0x46314620,0xff78f7fb,0xbd704628,0x8a934602,0x1a406900,0x611018c9,
+0x47708291,0x8a934602,0x1a5b6900,0x61101840,0x47708293,0x47708281,
+0x69c06942,0x40186a13,0x47706210,0x4604b510,0xfff6f7ff,0x6220b108,
+0xbd102001,0x22006943,0x6a9b629a,0x47706182,0x694369c2,0x629a6182,
+0x46c04770,0x4604b510,0xffe2f7ff,0x43036a23,0xbd106223,0x30fcf8d0,
+0xf8904319,0xf8c03177,0xb1e310fc,0x0f04f011,0xf890d005,0xea413178,
+0xf8c06303,0xf8d030fc,0x694230fc,0x0f0af013,0xf443bf1c,0xf8c02380,
+0xf8d030fc,0x64d330fc,0xf8c02300,0xf88030fc,0x33083177,0x47706453,
+0x41f3e92d,0x5020f89d,0x4607460e,0x21004698,0x5d8be002,0x3101b113,
+0xd1fa4291,0xb1135c73,0x0001f06f,0xb15de07c,0x1c4c1d4b,0xd9024293,
+0x000df06f,0xa801e074,0x22041931,0xffc0f7fc,0x46201d34,0xf7fc4937,
+0xb928fef9,0xd0542d00,0x2b0f9b01,0xe04ad85f,0x49334620,0xfeeef7fc,
+0x3001b908,0x4620e042,0xf7fc4930,0xb908fee7,0xe03b3002,0x492e4620,
+0xfee0f7fc,0xb90db990,0xe03b3003,0x2a009a01,0x68fbd02f,0xf0136bdb,
+0xd1430f04,0xd83e2a07,0x40932301,0x0f83f013,0xe038d123,0x49234620,
+0xfec8f7fc,0x3004b908,0x4620e01c,0xf7fc4920,0xb908fec1,0xe0153005,
+0x491e4620,0xfebaf7fc,0x3006b908,0x4620e00e,0xf7fc491b,0xb908feb3,
+0xe0073007,0x49194620,0xfeacf7fc,0x3008b9d0,0x2003e000,0x9b01b135,
+0x0280eb07,0x3194f8c2,0x4628e00b,0x0180eb07,0x71caf501,0x22044630,
+0xff5af7fc,0xf8c82304,0x20003000,0xf06fe004,0xe001001c,0x0016f06f,
+0x81fce8bd,0x00017d34,0x00017d41,0x00017d4d,0x00017d59,0x00017d60,
+0x00017d69,0x00017d70,0x00017d7b,0x00017d87,0x4604b570,0xe0062500,
+0x68a0b125,0x22014629,0xfa42f7ff,0x6a604635,0x6ac32100,0x46064798,
+0xd1f12800,0xf8d4b175,0xb11910f4,0x220168a0,0xfa32f7ff,0x30f8f8d4,
+0x50f4f8c4,0xbf0842ab,0x60f8f8c4,0x46c0bd70,0x41f0e92d,0x27004605,
+0xf895e055,0xb12331b9,0x31b8f895,0x4620b10b,0x68a8e00a,0xf7fc4631,
+0xf8d5fa57,0x681b30f0,0xd9064298,0x0028f105,0x46322100,0xfa70f7fc,
+0x6a68e04a,0x47986e03,0xf8956a68,0xf8d04105,0x47983084,0xf8851824,
+0x69344106,0x71a32300,0x3178f895,0x72234631,0x3106f895,0xf8852201,
+0xb2db3107,0xf8d57263,0x6a6831c4,0xf8c53301,0x6a0331c4,0xb9d04798,
+0x10f8f8d5,0x29007963,0xf013d033,0xd0300f0f,0x78237862,0x2302ea43,
+0x091b330f,0x690a0a1a,0x2300bf18,0xf8957193,0x72133178,0x2301e021,
+0x31b8f885,0xf8d5461f,0x681b30f0,0xf105b143,0x46200428,0xf7fc2100,
+0x4606fa41,0xd19c2800,0x696ab117,0x64532304,0x2b0c8deb,0x6928d903,
+0xf8e6f001,0x2b07e00d,0x6928d80b,0xf8e2f001,0xf895e007,0xf8c531b9,
+0x2b0060f8,0x2701d1d7,0xe8bde7d9,0x46c081f0,0xf8d0b570,0x461531a4,
+0x46048dc2,0x468e429a,0x2d02d30c,0x6880d10a,0xf7ff2201,0xf8d4f995,
+0x200031a8,0xf8c43301,0xe00e31a8,0xf1042100,0x46720028,0xf9d0f7fc,
+0xd1022d02,0x31a0f8d4,0x4620b913,0xff58f7ff,0xbd702001,0x4ff0e92d,
+0xb0872400,0x94049201,0xf8909403,0x4680a174,0xf8d0460e,0xf1ba9008,
+0xd0010f00,0xe0134648,0x688a690b,0x0501f003,0x0b0cf105,0x455b1a9b,
+0x8a8fd21f,0xf1074648,0x1949010c,0xf972f7ff,0xb9304604,0x46314648,
+0xf7ff2201,0x4620f955,0x4659e07b,0xfe0ef7ff,0x463a6931,0xf7fc6920,
+0x6833fe3b,0x60234631,0x46524648,0xf944f7ff,0xb1454626,0x46302101,
+0xfdf4f7ff,0x21006930,0xf7fc2201,0x210cfe09,0xf7ff4630,0x4648fdeb,
+0x69374631,0xf960f7fc,0x300cf8d8,0x0016f8ad,0xa034f8d3,0x0f02f1ba,
+0x6bdbd124,0x0f04f013,0xf898d020,0x2b0131ba,0x4631d11c,0xf7fc4648,
+0xf8bdf953,0x8a843016,0x4605330f,0x030ff023,0x4638a905,0xf8ad4652,
+0xf7fc3014,0xf8bdfdfd,0x46283014,0xf8bd18e4,0x1ae43016,0xf7ffb2a1,
+0xe005fdc9,0xf10d4638,0x22020116,0xfdecf7fc,0x3016f8bd,0x43dba906,
+0x3d02f821,0x1cb82202,0xfde2f7fc,0xa9039a01,0xf8980213,0xf4032104,
+0x43136370,0x630bea43,0x1d382208,0xf7fc9303,0x4640fdd3,0x9a014631,
+0xff3af7ff,0xf898b128,0x20013104,0xf8883301,0xb0073104,0x8ff0e8bd,
+0x2200b510,0xff52f7ff,0x46c0bd10,0x690bb510,0xf002791a,0x2a6002f0,
+0x2201bf14,0xf7ff2202,0xbd10ff45,0xb5708dc3,0xbb4b4605,0x211c6880,
+0xf8d0f7ff,0xb3184606,0xf7ff210c,0x6a68fd7b,0x47986e03,0xf8956a68,
+0xf8d04105,0x47983084,0x210c1824,0x4106f885,0xf7ff4630,0x4628fd63,
+0x22014631,0xff22f7ff,0xf8d5b928,0x330131cc,0x31ccf8c5,0xf8d5e004,
+0x330131c8,0x31c8f8c5,0x46c0bd70,0xf890b510,0xb90b3178,0xffcaf7ff,
+0x46c0bd10,0x3ffff1b2,0xd101b510,0xe00723ff,0xd0002a02,0xf082b90a,
+0x23010202,0xb2db4093,0xf8902901,0xd1012178,0xe0014313,0x0303ea22,
+0x3178f880,0xffaef7ff,0x46c0bd10,0x4604b570,0x25006a40,0x47986c83,
+0x68836a60,0x6a604798,0x47986e43,0x21016a60,0x47986a83,0x460a2100,
+0xf7fb68e0,0x68e0fbb5,0xfbacf7fb,0x10f4f8d4,0x5105f884,0x5104f884,
+0x50fcf8c4,0x68a0b129,0xf7ff2201,0xf8c4f849,0xf8c450f4,0x622550f8,
+0x5174f884,0x46c0bd70,0xe92d68c2,0x6b5341f3,0x2b024605,0x690f460e,
+0x6bd3d112,0x0f04f013,0xf890d00e,0x2b0131ba,0x883bd10a,0xb29b4630,
+0xb29b009b,0x8a89803b,0x39180089,0xfceaf7ff,0x46302108,0xfcdef7ff,
+0xb299887b,0x020ff011,0xf011d021,0xd0040f01,0x3154f8d5,0xf8c53301,
+0xf0113154,0xd0040f02,0x3158f8d5,0xf8c53301,0xf0113158,0xd0040f04,
+0x315cf8d5,0xf8c53301,0xf011315c,0xf0000f08,0xf8d580c2,0x33013160,
+0x3160f8c5,0x8ab3e0bb,0xd8072b03,0x3144f8d5,0x330168a8,0xf8c54631,
+0xe0b33144,0x69312202,0x0006f10d,0xfcd8f7fc,0x22026931,0xa8013102,
+0xfcd2f7fc,0x6b5368ea,0xd1262b02,0xf0136bd3,0xd0220f04,0x31baf895,
+0xd11e2b01,0xf8bd883b,0xb29b2006,0xd004429a,0x3148f8d5,0xf8c53301,
+0xf8bd3148,0x69303004,0xb29c43db,0xf1048801,0xf64f020f,0xea0273f0,
+0x42990303,0xb2a3d105,0x803b8004,0xf8ad883b,0x883b3006,0x1006f8bd,
+0x428bb29b,0x43cbd106,0xf8bd041b,0x0c1b2004,0xd015429a,0xb29b883b,
+0xd004428b,0x3148f8d5,0xf8c53301,0x43cb3148,0xf8bd041b,0x0c1b2004,
+0xd05c429a,0x314cf8d5,0xf8c53301,0xe056314c,0x46302104,0xfc4ef7ff,
+0x2b078ab3,0x6933d94f,0x78dc2108,0xf8934630,0x781f8001,0xf7ff3c0c,
+0x8ab3fc41,0x428bb2e1,0x4630d341,0xfc3af7ff,0x3105f895,0xd006429f,
+0x3150f8d5,0x7105f885,0xf8c53301,0xf8953150,0xf0083105,0x3301040f,
+0x3105f885,0x31b9f895,0xf018b1e3,0xd1010f40,0xd1172c01,0x31b4f8d5,
+0x2c013301,0x31b4f8c5,0xf8d5d105,0x330131bc,0x31bcf8c5,0xf8d5e004,
+0x330131c0,0x31c0f8c5,0xf8852300,0x462831b8,0xfd22f7ff,0x6928b924,
+0xf0004631,0xe00bfee1,0xd1042c02,0x46316928,0xfee0f000,0x68a8e004,
+0x22004631,0xff38f7fe,0x81fce8bd,0x4605b570,0x6c836a40,0xe0024798,
+0xf7ff4628,0x6a68feed,0x47986dc3,0x28004601,0x6a68d1f6,0x47986e43,
+0x6c436a68,0x6a684798,0x47986e03,0xf8956a68,0xf8d04105,0x47983084,
+0xf8851824,0x46284106,0xfe50f7ff,0x46c0bd70,0xf8d0b5f0,0xb0e521a4,
+0x2101460c,0x18524605,0xaf324668,0xf96cf7fc,0x21014638,0xf7fc2210,
+0x4628f967,0xfcb0f7ff,0x26006a68,0x60f8f8c5,0x47986883,0xf8d5b1ac,
+0xb19220f4,0x46314638,0xff36f7fb,0x60f4f8c5,0xf8bde00b,0xf8bd20ce,
+0x429a30cc,0x4668bf2c,0x4622a832,0xf7fb2100,0x6a68ff27,0x6ac32101,
+0x46044798,0xd1ec2800,0x4668e00e,0x888388c2,0xd204429a,0x46222100,
+0xff16f7fb,0x68a8e004,0x22014621,0xfec8f7fe,0x0628f105,0x21004630,
+0xff40f7fb,0x28004604,0x6a68d1e7,0x47986843,0x690be006,0x795a4628,
+0x020ff002,0xfd10f7ff,0xa8322100,0xff2ef7fb,0x28004601,0xe014d1f1,
+0xf8d58dea,0x429a31a4,0x68a8d90a,0x22014621,0xfea2f7fe,0x31a8f8d5,
+0xf8c53301,0xe00431a8,0x21004630,0xf7fb4622,0x4668fedf,0xf7fb2100,
+0x4604ff11,0xd1e32800,0xbdf0b065,0x4605b570,0x68436a40,0x6a684798,
+0x47986c43,0x6e036a68,0x6a684798,0x4105f895,0x3084f8d0,0x18244798,
+0xf8856a68,0x49224106,0x47986f03,0x1180f8d5,0x00f0f8c5,0xf8d5b189,
+0x23022184,0x0202ea81,0xf7fb68e8,0xf8d5fa17,0x23021180,0x460a68e8,
+0xfa2cf7fb,0xf8852300,0xf895317c,0xb10b3176,0xe0004b14,0x68ea4b14,
+0x6b5361eb,0xd8052b01,0xf0136bd3,0xd0010f04,0xe0002301,0xf8852300,
+0x696a31b9,0xf8852301,0xf8853175,0xf04f3177,0xf8c27380,0xf1033100,
+0x4628437f,0x317af885,0xfb16f7ff,0x21084628,0xfb20f7ff,0x46c0bd70,
+0x00017a28,0xc701ff0f,0x0701ff0f,0x41f0e92d,0x26006a04,0x4780f014,
+0x62064605,0xf7ffd006,0x4628fdb5,0xff92f7ff,0xe12c4634,0xda2e2c00,
+0x685b6943,0x0604f013,0xf890d017,0xb92b3174,0xf7ff4639,0x4628ff01,
+0xfed8f7ff,0xf8856928,0xf0007174,0x696afd3d,0x68134628,0xf0432102,
+0x60130304,0xfaeaf7ff,0x2301e011,0x3174f880,0xf0006900,0x4628fd2f,
+0xf7ff4631,0x4628fee5,0xfebcf7ff,0x6813696a,0x0304f023,0xf8956013,
+0xb10e6174,0xe0f62400,0x0f01f014,0x4628d007,0xf7ff2101,0x4628fed1,
+0xf7ff2101,0xf014fac7,0xd0090f02,0xf8852301,0xf8d53177,0xb11b30fc,
+0x46314628,0xfabaf7ff,0x7f80f414,0xf8d5d004,0x33013164,0x3164f8c5,
+0x7f00f414,0xf8d5d012,0xf8d53168,0x330110f4,0x3168f8c5,0x68a8b131,
+0xf7fe2201,0x2300fdb9,0x30f4f8c5,0x21004628,0xfea2f7ff,0x7f00f014,
+0xf8d5d004,0x3301316c,0x316cf8c5,0x6f80f014,0xf8d5d004,0x33013170,
+0x3170f8c5,0xea044859,0xb9080000,0xe0a24604,0x4f7cf414,0xf414d063,
+0xd1026080,0x46064607,0x6a68e00b,0x47986d03,0xbf181e07,0x6a682701,
+0x47986a43,0xbf181e06,0xf4142601,0xd00b6f00,0x6d036a68,0x28004798,
+0x2701bf18,0x6a436a68,0x28004798,0x2601bf18,0x5f80f414,0x6a68d00b,
+0x47986d03,0xbf182800,0x6a682701,0x47986a43,0xbf182800,0xf4142601,
+0xd0045f00,0x3138f8d5,0xf8c53301,0xf4143138,0xd0094f80,0x313cf8d5,
+0x33012701,0x313cf8c5,0x313cf8d5,0x3138f8d5,0x4f00f414,0xf8d5d00f,
+0xf8d53140,0x330110f4,0x3140f8c5,0x68a8b131,0xf7fe2201,0x2300fd45,
+0x30f4f8c5,0xb90f2601,0xe008b90e,0x4628b126,0xf7ff2100,0xb117fe29,
+0xf7ff4628,0xf014fdff,0xd0027f80,0xf7ff4628,0xf414fae3,0xd10c3390,
+0xe02c461e,0x36014628,0xfce6f7ff,0xd1052e04,0xf4436a2b,0x622b3380,
+0x2600e006,0x6dc36a68,0x46014798,0xd1ed2800,0x6e036a68,0x6a684798,
+0x4105f895,0x3084f8d0,0xf8954798,0x18242107,0x4293b2e3,0x4106f885,
+0xf895d009,0xebc33105,0xb2db0302,0xd8022b02,0xf7ff4628,0x2e03fc3b,
+0x2400bf94,0x8deb2401,0xf8d5b12b,0xb91331a0,0xf7ff4628,0x4620fac9,
+0x81f0e8bd,0x0101fc00,0x2400b570,0xf8804605,0x69004175,0xfccaf000,
+0xf7ff4628,0x68e8fc73,0xf7fb4621,0xf8d5f845,0xb1280190,0xf8caf7fe,
+0x0190f8d5,0xfac2f7fe,0x018cf8d5,0xf7feb128,0xf8d5f8c1,0xf7fe018c,
+0x68e8fab9,0xff5cf7fa,0x462968a8,0x72e8f44f,0xfce2f7fe,0x46c0bd70,
+0xb5102901,0xdd074604,0xf8c02300,0xf8c031b4,0xf8c031bc,0xe02831c0,
+0x21a4f8d4,0x48138de1,0xf9bef7fc,0x11a8f8d4,0xf7fc4811,0xf8d4f9b9,
+0xf8d431c0,0xf8d421bc,0x480e11b4,0xf9b0f7fc,0x113cf8d4,0xf7fc480c,
+0xf894f9ab,0xf8941106,0x480a2107,0xf9a4f7fc,0xf8d44809,0xf8d411c4,
+0xf8d421c8,0xf7fc31cc,0xbd10f99b,0x00017d8e,0x00017da4,0x00017db7,
+0x00017de2,0x00017dfe,0x00017e27,0x43f0e92d,0xf2414698,0xb08943e4,
+0x46164299,0xd1059f10,0x33f4f244,0xd101429a,0xe0002301,0x2b002300,
+0x80a6f000,0x70e8f44f,0xf7fe2100,0x4604faa9,0xf0002800,0x2100809d,
+0x72e8f44f,0xf7fc4605,0x2310f92b,0x31a4f8c4,0x0028f104,0x22312101,
+0x8008f8c4,0xf7fb6167,0x2300feb7,0x93019300,0x46309302,0x463a4641,
+0xf0179b11,0x60e8f8e7,0xd0772800,0xfe56f7fa,0x68e06020,0xf926f7fb,
+0x46066068,0x4a3d6960,0x493d6843,0x0301f083,0x0301f003,0xbf182b00,
+0x68224611,0x3176f884,0x0329f640,0xf8d4429a,0xf8d49008,0xd10ac00c,
+0xf500b926,0xf5007e00,0xe0087304,0x7e00f500,0x7308f500,0xf500e003,
+0xf5007e00,0x93007304,0x7344f240,0x23069303,0x33029304,0x93052710,
+0x46482600,0x46734662,0x97029701,0xf7fd9606,0x6260fb7b,0xd0352800,
+0x46314620,0x464368e2,0xfbecf000,0xb3686120,0xf8c42305,0x23023194,
+0x3198f8c4,0xf8c4331e,0x3344319c,0x31b0f8c4,0xf88468e3,0xf8c46179,
+0xf8c471a4,0xf8c461ac,0x6b5b61a0,0xd9092b01,0x49124630,0xfe3af7fb,
+0x4811b120,0xf8e8f7fc,0xe0032301,0xf7fc480f,0x2300f8e3,0x31baf884,
+0x490e480d,0xf7fe4622,0xe006fc7f,0x462168a0,0x72e8f44f,0xfbe4f7fe,
+0x46282500,0xe8bdb009,0x46c083f0,0x00017e5b,0x00017e63,0x00017e6d,
+0x00017e77,0x00017e90,0x00017eaa,0x00005715,0x30fff04f,0x46c04770,
+0xb5106a83,0xf0006998,0xbd10fb81,0x4604b510,0xf7ff6880,0xb130fd73,
+0xf1042100,0x460a001c,0xf86af7fe,0x68a0e002,0xf872f7ff,0x46c0bd10,
+0x6a84b510,0xf7ff68a0,0xb128f85d,0xf7ff68a0,0x4620f861,0xffe2f7ff,
+0x46c0bd10,0xb5106a83,0xf0006998,0xbd10fb61,0xb5106a8b,0x46116998,
+0xfb36f000,0x46c0bd10,0x6a84b510,0xf7ff68a0,0x68e0fe87,0xfb96f7fe,
+0xbd102000,0x6a84b570,0x69a04601,0xfadcf000,0x69a04605,0xfaa8f000,
+0x22342100,0x001cf104,0xf82ef7fc,0x68a04b03,0x62246263,0xfccaf7ff,
+0xbd704628,0x000059ed,0x6844b510,0xf7ff68a0,0x4620f831,0xffa6f7ff,
+0x46c0bd10,0x47f3e92d,0x46994f25,0x4605683b,0x46882b07,0xdc3f4692,
+0xfb6af7fe,0x46062100,0xf7fe2050,0x4604f97d,0xd0352800,0x22502100,
+0xf802f7fc,0x6065683b,0xf8a46023,0xf8c49014,0x60e68010,0xf2414620,
+0x464a41e4,0xf8cd4633,0xf8cd8000,0xf7ffa004,0x60a0fea1,0x2000b1e0,
+0x9a0b990a,0x95004b0f,0xf9ecf7fe,0x68a0b118,0xfe26f7ff,0x4b0ce010,
+0x681b490c,0x61a3683a,0xf7fc4628,0x480af837,0xf7fc4629,0x683bf815,
+0x33014620,0xe000603b,0xe8bd2000,0x46c087fc,0x0001c6bc,0x0000596d,
+0x0001c70c,0x00017eb3,0x00017ebf,0x8a934602,0x1a5b6900,0x61101840,
+0x47708293,0xf0008ac0,0x47700007,0xf0018ac3,0xf0230107,0x43190307,
+0x477082c1,0xf3c08ac0,0x47701000,0xb5708a8b,0x460c2b03,0xd9266880,
+0x782b690d,0x2b01091b,0x8acbd121,0xf64f78aa,0xea03611f,0xf0120101,
+0xbf18020f,0x1342ea41,0xbf1882e1,0x786982e3,0xf0014620,0xf7ff0107,
+0x782bffd5,0x0f08f013,0x8ae3d003,0x0308f043,0x462082e3,0xf7ff2104,
+0x2000ffbd,0x4621e004,0xf7fe2200,0x2001faa9,0x46c0bd70,0x688b690a,
+0x41f0e92d,0x0302ebc3,0x460c2b03,0xdc2c6886,0x46308a8f,0xf7fe1d39,
+0x4605faad,0x4621b930,0x22014630,0xfa90f7fe,0xe038462c,0xf7ff4620,
+0x4601ffa1,0xf7ff4628,0x4620ffa1,0xffa6f7ff,0xb1108aeb,0x0310f043,
+0xf023e001,0x69280310,0x82eb6921,0x3004463a,0xff66f7fb,0x46304621,
+0xf7fe2201,0x462cfa71,0x1f13e004,0x8a8b610b,0x828b3304,0x23106925,
+0x4620702b,0xff86f7ff,0x2314b108,0x4620702b,0xff74f7ff,0x8ae37068,
+0xf3c378aa,0x431a1343,0x8b6370aa,0x462070eb,0x81f0e8bd,0xb5104601,
+0x68802234,0xfa6cf7fe,0x46c0bd10,0x4ff0e92d,0x4688690d,0x6014f8b8,
+0xb08d68aa,0x2e0f2100,0x4682682f,0x910b9205,0x468bd803,0x91079106,
+0x686ce01b,0x041b0c23,0xb16b940b,0x04230c1a,0x42960c1b,0xd206930b,
+0xf06f468b,0x910b040d,0x91079106,0x4614e0b6,0xf5b0980b,0xd9075f00,
+0x930b2300,0x469b9306,0xf06f9307,0xe0a90417,0xbf284284,0x90074620,
+0x2100b158,0xf854f7fe,0xb1084683,0xe0089006,0x041af06f,0x9006900b,
+0xf8dde098,0xf8cdb01c,0xb14cb018,0x0210f1a6,0xf1054658,0x42940110,
+0x4622bf38,0xfee8f7fb,0x429f4b7c,0x463dd001,0x2c07e00a,0x9a05d9d5,
+0x5004f8db,0x0202f042,0x0b08f10b,0x92053c08,0x19ef4f75,0x7f99f5b7,
+0x462fbf88,0x7f83f5b7,0xd804d038,0xd0442f02,0xd0102ffd,0xf240e047,
+0x429f1307,0x3304d01f,0xd140429f,0x0000f8da,0x4a6a2100,0x737af44f,
+0xf94cf7fe,0xf89be035,0xf89b1002,0x04093001,0x2103ea41,0x3000f89b,
+0x0000f8da,0xf89b4319,0x24003003,0x6103ea41,0xf91cf000,0x4658e046,
+0x2204495d,0xfdf8f7fb,0xb9e04606,0xf8da2301,0x93000004,0x46224659,
+0xe00b4633,0x49564658,0xf7fb2204,0xb970fde9,0x9a0b9000,0x0004f8da,
+0xab0b4659,0xfea8f7fe,0xf8dae003,0xf0000000,0x4604f8cb,0x2300e022,
+0x930a9309,0xa90a9b05,0x0202f013,0xab09d00a,0xf8da9300,0x23010000,
+0x93029101,0x465a4629,0xe0084623,0x9300ab0b,0x0000f8da,0x91019b0b,
+0x46299202,0xf000465a,0x4604f895,0x9b0ab108,0x462f930b,0xf8da4641,
+0x22000008,0xf968f7fe,0x902cf8dd,0x7343f240,0xbf0c2c00,0x2600464e,
+0x022cf106,0xbf94429a,0xf44f4635,0xf8da65e3,0xf1050008,0xf7fe012c,
+0x4680f969,0xd0462800,0x031cf105,0x210c8283,0xfe58f7ff,0xf8d89a05,
+0x0c130010,0xf8c06007,0x041b9004,0xf043b10c,0x60c40301,0xf1bb6083,
+0xd0070f00,0x4659b135,0x462a3010,0xfe24f7fb,0x1b7644ab,0xe01c4647,
+0x7344f240,0xbf34429e,0x461c4634,0x0008f8da,0xf7fe4621,0x4605f93b,
+0xf8dab930,0x46410008,0xf7fe2201,0xe012f91d,0x69004659,0xf7fb4622,
+0x44a3fe07,0x1b36603d,0xf1bb462f,0xd0010f00,0xd1dd2e00,0x0004f8da,
+0xf7ff4641,0x9b06f835,0xf8dab12b,0x46190008,0xf7fe9a07,0xb00df921,
+0x8ff0e8bd,0xfffeda3e,0x001bebe0,0x00005f6d,0x00017edf,0x41f0e92d,
+0x460e4680,0x21002034,0x461d4617,0xff30f7fd,0xb1404604,0x22342100,
+0xfdb6f7fb,0x602660e5,0xf8c46067,0x46208008,0x81f0e8bd,0x9c08b57f,
+0xf89d6c00,0x6a056028,0x9c099400,0x94019602,0x47a0696c,0xbd70b004,
+0x46c04770,0x46c04770,0x46c04770,0x46c04770,0x4604b510,0x6a036c00,
+0x4798685b,0x2301b910,0x3045f884,0x46c0bd10,0xf890b570,0xb0864044,
+0xb9bc4605,0xb1936c03,0xffeaf7ff,0x23042601,0x46214628,0x9400aa05,
+0x96029401,0xffcaf7ff,0xdb042800,0x4b049a05,0xbf08429a,0x230163ae,
+0x3044f885,0xbd70b006,0x14e46c77,0x6880b510,0xfd76f7fa,0x46c0bd10,
+0xb5106803,0x21016898,0xfd3cf7fa,0x46c0bd10,0x4604b537,0x460d4811,
+0xfd0ef7fd,0x46286420,0xfd0af7fd,0x63e06c23,0xb198b1a3,0x6be26358,
+0x68606c23,0x6c236353,0xf1d34621,0xbf380301,0x93002300,0x462b6822,
+0xff78f7ff,0xb10860e0,0xe0012000,0x30fff04f,0x46c0bd3e,0x00017ee4,
+0x68c0b510,0xfe16f7ff,0x46c0bd10,0x4604b570,0x460d68c0,0xfd7ef7ff,
+0x4629b988,0xf7fe6860,0x6c21f847,0x6a0b4602,0x68db6be0,0xb1184798,
+0x33016aa3,0xe00262a3,0x33016923,0xbd706123,0x4604b570,0xf7fe6840,
+0x4601f829,0xf7ff68e0,0x4605fd95,0x6820b178,0xf7fe4629,0xb138ff67,
+0x69e28aab,0x696318d2,0x330161e2,0xe0026163,0x33016ae3,0x200062e3,
+0x46c0bd70,0x6800b510,0xff90f7fe,0x46c0bd10,0x6800b510,0xff92f7fe,
+0x46c0bd10,0xb5106c03,0x2200b11b,0x6bc3635a,0x68c0635a,0xfdbef7ff,
+0x46c0bd10,0x41f0e92d,0x461e4d0f,0x4607682b,0x46902b07,0x2048dc14,
+0xf7fd2100,0x4604fe45,0x2100b170,0xf7fb2248,0x682bfccb,0x63636027,
+0x602b3301,0x60664b05,0x8008f8c4,0xe000601c,0x46202400,0x81f0e8bd,
+0x0001c6c0,0x0001c70c,0xf5020052,0x5a886200,0x4770b280,0xb570690b,
+0x68036103,0x695b4604,0x2b15460d,0x2b18d003,0x2b1bd001,0x230cd101,
+0x2b17e004,0x2b18d001,0x2314dd01,0x6a226223,0x82a31d13,0x82e38923,
+0xf4136923,0xd0087f80,0x46294620,0xffd8f7ff,0x100ff3c0,0x82e0b283,
+0x8aa3e000,0x89238323,0x69238363,0x7f00f413,0x6a22d00a,0x46294620,
+0xf7ff3201,0xf3c0ffc5,0xb283100f,0xe0008360,0x83a38b23,0x83e38923,
+0x46c0bd70,0x00408900,0x46c04770,0xb5108983,0xfbb2460c,0xfb03f1f3,
+0x02092311,0x03fff003,0x4321f043,0x417ff401,0x2200430b,0xe00061a3,
+0x69a33201,0xda032b00,0x429a4b05,0xe004d1f8,0x429a4b04,0x2000d801,
+0xf04fe001,0xbd1030ff,0x00989680,0x0098967f,0x41f0e92d,0x460f4680,
+0x0115461e,0xfa562400,0xf013f304,0xd0060f01,0x46394640,0xf7ff1962,
+0x4603ffc9,0x3401b918,0xd1f02c10,0x46182300,0x81f0e8bd,0x30fff04f,
+0x46c04770,0xb5108983,0xfbb2460c,0xfb03f1f3,0x02092311,0x03fff003,
+0x4300f043,0x417ff401,0x2200430b,0xe00061a3,0x69a03201,0xda032800,
+0x429a4b07,0xe008d1f8,0x429a4b06,0xf010d805,0xd1025f80,0x7040f3c0,
+0xf04fe001,0xbd1030ff,0x00989680,0x0098967f,0xe92d3901,0x46044ff8,
+0x461e4693,0xd8052907,0xf001e8df,0x17040f07,0x2b040404,0x0001f06f,
+0x8ac3e051,0xebc28a82,0x69030503,0x7f80f413,0x8b43e022,0xebc28b02,
+0x69030503,0x7f00f413,0x6903e01a,0x6f80f413,0x2302d104,0xf06f6033,
+0xe038001d,0x2b016833,0x2302d802,0xe0126033,0x25026a03,0x0802f103,
+0x8bc3e011,0xebc28b82,0x69030503,0x6f00f413,0x6035d101,0x6833e7e7,
+0xd20342ab,0xf06f6035,0xe01c000d,0x68204690,0xf906f7fa,0x46822100,
+0xf7fa6820,0x2700fb0d,0xe0084681,0x0208eb07,0x46494620,0xfef0f7ff,
+0x0017f82b,0x42af3701,0x6820d1f4,0xf7fa4651,0x6035fafb,0xe8bd2000,
+0x46c08ff8,0x4ff0e92d,0xb0874607,0x46146800,0x9101461d,0xf8e0f7fa,
+0x46832100,0xf7fa6838,0x4681fae7,0xf7ff4638,0x4621ff15,0x462a4682,
+0xf7fba802,0x2600f88b,0xf016e02d,0xd1040f03,0x491ea802,0xf7fb0072,
+0x9b01f887,0x4638b933,0x46324649,0xfeb8f7ff,0xe0164604,0xea4f2400,
+0x46251806,0x46494638,0x0208eb05,0xff3af7ff,0x3ffff1b0,0xf64fd102,
+0xe00674ff,0xf305fa10,0x43233501,0xb29c2d10,0xa802d1ec,0x4622490c,
+0xf862f7fb,0xebb63601,0xd3ce0f5a,0x4909a802,0xf85af7fb,0x46596838,
+0xfaa2f7fa,0x98049b02,0x0003ebc0,0xe8bdb007,0x46c08ff0,0x00017ef0,
+0x00017ef9,0x0001a336,0x4ff8e92d,0x46041e0d,0x469a4690,0x2500da0f,
+0xf894e008,0x23012027,0x409318aa,0x420b6921,0x3501d005,0x3026f894,
+0x429d3b01,0xf894dbf1,0x23012027,0x409318aa,0xea136921,0xd0020601,
+0x30fff04f,0x6820e047,0xf862f7fa,0x46834631,0xf7fa6820,0xf894fa69,
+0xf04f3024,0xfa1131ff,0xea6ff303,0xf8940903,0x46073025,0x40911c5a,
+0xf303fa0a,0x0101ea48,0x0803ea41,0xf0436943,0x61434300,0x2301e00e,
+0xea0840b3,0x421a0209,0xeb04d007,0x8d1a0345,0x46394620,0xf7ff18b2,
+0x3601fe79,0x3024f894,0xd3ec429e,0x6820697b,0x4300f023,0x2100617b,
+0xf98ef7fa,0x21016820,0xf98af7fa,0x46394620,0xfe20f7ff,0x46596820,
+0xfa2af7fa,0xe8bd2000,0x46c08ff8,0x41f0e92d,0x46144607,0x010d461e,
+0xf014e00f,0xd0090f01,0x0301f006,0xf04f4638,0x462a31ff,0xff80f7ff,
+0xb9284603,0x08643501,0x2c000876,0x4623d1ed,0xe8bd4618,0x46c081f0,
+0x4ff0e92d,0x9200b085,0x46996a02,0x46041e4b,0x92029101,0xf2002b07,
+0xe8df810d,0x0008f013,0x010b0012,0x010b001d,0x010b010b,0x8ac3002b,
+0x1a9b8a82,0xf2004599,0x690380fa,0x2500f3c3,0x8b43e008,0x1a9b8b02,
+0xf2004599,0x690380f0,0x2540f3c3,0xe01c4690,0xf4136903,0xf0406280,
+0xf1b980e9,0xf2000f02,0x6a0380e2,0xf1034615,0xe00e0802,0xf4136903,
+0xf0406100,0x8bc280db,0xebc38b83,0x45990302,0x80d1f200,0x0802ebc9,
+0x6820460d,0xffb0f7f9,0x90032100,0xf7fa6820,0x4606f9b7,0x46abb90d,
+0xea4fe028,0x21000049,0xfbc6f7fd,0xb9104683,0x051af06f,0x2700e0b2,
+0xe019463d,0x46209a00,0x46315aaa,0x200bf825,0x0208eb07,0xfd88f7ff,
+0x52e89b00,0x300bf835,0x0203ea30,0xf06fd002,0xe0920501,0xea809a00,
+0x52ab0303,0x35023701,0xd1e3454f,0xf04f6973,0xf0430a00,0x61734300,
+0x9d00e00a,0x0208eb0a,0x301af835,0x46314620,0xfdd6f7ff,0x0a01f10a,
+0xd1f245ca,0x01159a02,0x1e539a01,0xd83e2b07,0xf003e8df,0x293d1204,
+0x2e3d3d3d,0x0309eb08,0x4631011b,0xb29b6a22,0xf7ff4620,0x4620fdbd,
+0xf1054631,0xe028023c,0x1308ea4f,0x4631b29b,0x46206a22,0xfdb0f7ff,
+0xeb086a22,0x011b030a,0x32014631,0x4620b29b,0xfda6f7ff,0x46314620,
+0x023df105,0x4620e011,0xf1054631,0xe00c023e,0xea4f6a22,0x46311308,
+0xb29b3201,0xf7ff4620,0x4620fd93,0xf1054631,0xf7ff023f,0x6973fd67,
+0xf0236820,0x61734300,0xf7fa2100,0x6820f881,0xf7fa2101,0x4620f87d,
+0xf7ff4631,0xf1bbfd13,0xd0050f00,0x46599800,0x024aea4f,0xf9dcf7fb,
+0xe0132700,0x0508eb07,0x4620462a,0xf7ff4631,0x9a00fcfb,0x3017f832,
+0xb2824058,0x4629b12a,0xf7ff4620,0x4605fedf,0x3701b918,0xd1e94557,
+0xf1bb2500,0xd0050f00,0x46596860,0x0249ea4f,0xfceaf7fd,0x99036820,
+0xf8f2f7fa,0xf06fe004,0xe001050e,0x35fff04f,0xb0054628,0x8ff0e8bd,
+0x6943b5f0,0x2b14b08d,0xf3404607,0xf7f98095,0x4605ff15,0xf0402800,
+0x4638808f,0xff36f7f9,0xf0002800,0x4c468089,0x4629223c,0xf7fb4620,
+0x6027f973,0xf7f94638,0x69bbfe8b,0xf3c36060,0x2b0143c2,0x2b05d002,
+0xe075d009,0x0320f04f,0xf04f8163,0x81a30340,0x0380f04f,0xf04fe007,
+0x81630360,0x0340f04f,0xf44f81a3,0x812373c0,0x2b15697b,0x2b18d001,
+0x4c31d119,0xae062510,0x462a4930,0xf7fb4630,0xf104f967,0x46310028,
+0xf7fb462a,0x2308f961,0x3026f884,0xf8843307,0x230b3024,0x3025f884,
+0x5027f884,0x2b1be032,0xd1164d23,0x4924ac0a,0x46202208,0xf94cf7fb,
+0x0028f105,0x22084621,0xf946f7fb,0xf8852304,0x330b3026,0x3024f885,
+0xf885230b,0x33093025,0xf10de016,0x49190406,0x46202212,0xf934f7fb,
+0x0028f105,0x22124621,0xf92ef7fb,0xf8852309,0x33083026,0x3024f885,
+0xf885230d,0x33033025,0x3027f885,0xf7f94638,0x2100fe4f,0x46384604,
+0xf856f7fa,0x48064601,0xfc44f7ff,0x46214638,0xf84ef7fa,0xe0004802,
+0xb00d2000,0x46c0bdf0,0x0001c6c4,0x00017f02,0x00017ee8,0x00017f12,
+0x41f0e92d,0x46804b13,0xe01e681e,0x68b368f4,0x18e74640,0xf82ef7fb,
+0xe0104605,0x46414620,0xf7fa462a,0xb930fffd,0x2b3d5d63,0x1c63d103,
+0xd10d1958,0xf814e008,0x2b003b01,0x42bcd1fb,0x7823d202,0xd1e92b00,
+0x2e006836,0x4630d1de,0x81f0e8bd,0x0001c700,0x2010b570,0x2100460c,
+0xf7fd4615,0xb910fa25,0x001af06f,0x4a05e008,0x60432310,0x60c46813,
+0x60856003,0x20006010,0x46c0bd70,0x0001c700,0xb5104b06,0xb93b681b,
+0x68194b05,0x4b05b121,0xb10a681a,0xffdcf7ff,0xbd102000,0x0001c700,
+0x0001bc3c,0x0001bc40,0xf001fb00,0x46c04770,0xf001fb00,0x46c04770,
+0x4604b570,0x460d1400,0xfff6f7ff,0x4606b2a1,0xf7ff4628,0xeb06ffed,
+0xbd704020,0x47702000,0x47706880,0xb51068c3,0x47986840,0x46c0bd10,
+0xb5106883,0xb1186b58,0x699b6a03,0x4798b103,0x46c0bd10,0x4608b510,
+0x4611b119,0xf7fd461a,0xbd10f85b,0x6803b510,0x7c584604,0x6860b118,
+0xf0032101,0x6823ff5d,0xb1537c5b,0x2100b130,0x0038f104,0xf7fd460a,
+0xe002f847,0xf0006860,0xbd10fdff,0x6a84b513,0x0107f10d,0xf0016860,
+0xb128fee9,0x3007f89d,0x4620b113,0xffdaf7ff,0x46c0bd1c,0x6840b510,
+0xfdeaf000,0x46c0bd10,0x6a83b507,0x92002200,0x21026858,0xf0044613,
+0xbd0efd5b,0x47ffe92d,0xf46f4699,0x440b4309,0x46174688,0x468a6a85,
+0xd80a2b0a,0xf003e8df,0x2c29130d,0x64615c57,0x00200667,0x08a2f04f,
+0x2000e074,0x3afff04f,0x2200e071,0xf8cd9700,0x92029004,0x2301e005,
+0xf8cd9700,0x93029004,0x92032200,0x49386868,0xf0044613,0xe05efcb3,
+0x97002200,0x9004f8cd,0x92039202,0x49336868,0xf240e7f2,0xe02d53dc,
+0x7c5b682b,0x6868b113,0xfe1cf000,0x2400682a,0x33e0f8d2,0x612b62ac,
+0x33a4f8d2,0x616b62ec,0x33e4f8d2,0x61ab4638,0x33a8f8d2,0x0110f105,
+0xf8d261eb,0x622b33e8,0x33b0f8d2,0xf8d2626b,0xf1b93570,0xbf340f24,
+0x2224464a,0xf7fa632b,0x4620ffdf,0x682be027,0x3022f893,0xe021603b,
+0x683b682a,0x3022f882,0xf04fe01c,0xe0190809,0x080af04f,0x682ae016,
+0x24002306,0xf3f3fb99,0xf8c24626,0xe0083114,0xfb042206,0x19f11002,
+0xf7fa3052,0x3401ffbd,0x68293606,0x3114f8d1,0xd3f1429c,0x45d02000,
+0x2300d007,0x68689300,0x463a4641,0xf004464b,0xb004fcc3,0x87f0e8bd,
+0x0001a020,0x0001a02e,0x6a8cb510,0x68234611,0xf7fd6c98,0x6862fa97,
+0x03a0f243,0x58d04601,0xfdf4f006,0x46c0bd10,0x4ff0e92d,0xb0894606,
+0x2084460d,0x46172100,0xf8dd4699,0xf7fd804c,0x4604f8db,0xd0442800,
+0x22842100,0xff60f7fa,0xf7fd4630,0xab07fab9,0x93059001,0xf04f4683,
+0x46200a00,0x41e4f241,0x4643464a,0xf8cd9502,0x9703a000,0xf0169404,
+0x4605ff4f,0xd02a2800,0x60206060,0x465060a6,0x46429912,0x96004b1a,
+0xf944f7fd,0xb9f04607,0x49194b18,0x67236363,0x67a36763,0x464267e3,
+0xf7fa4630,0x68abff8f,0x6b1a4641,0x4b144813,0xff6af7fa,0x46284b13,
+0x49139300,0x46234a13,0x97029701,0xf946f016,0x4620b908,0x9907e00c,
+0xf7fa480f,0x6860ff59,0xf968f016,0x46214658,0xf7fd2284,0x2000fa61,
+0xe8bdb009,0x46c08ff0,0x000069b1,0x0dadbeef,0x0001a03d,0x0001a042,
+0x0001a078,0x00006949,0x0001a0ec,0x0001a082,0x0001a085,0xe92d6883,
+0x460541f0,0x69106b5f,0x89824616,0xd0422f00,0x036cf648,0xd026429a,
+0xf0136afb,0xd0220f01,0xb3027b6a,0x0f01f012,0x7803d005,0x0f01f013,
+0x2301d101,0xf012e011,0xd00e0302,0x78427803,0x401a7901,0x40137883,
+0x401a78c2,0x40117943,0x2bff400b,0x2300bf14,0x461a2301,0x682bb91b,
+0x6c984631,0x682be01b,0x6c984631,0xf9e4f7fd,0xf9968b42,0xf0223027,
+0x431302ff,0x6a3b8343,0x68db4604,0x463968a8,0x47984622,0x4620b148,
+0xfa18f7fd,0x682be005,0x6c984631,0xf7fd463a,0xe8bdf9d7,0x46c081f0,
+0x4608b510,0x2001b909,0xf7fce001,0xbd10fdbf,0x4608b510,0xffb6f7fc,
+0x46c0bd10,0xb510460b,0x4a024611,0xf926f7fd,0x46c0bd10,0x00006951,
+0x4a06b507,0x92006803,0x46084a05,0x681a9201,0x4b054904,0xfb90f7fa,
+0x46c0bd0e,0x0001a0d0,0x0001a078,0x0001a0ac,0x0001a0c4,0x6803b510,
+0x7c5b4604,0x6840b12b,0xfd06f004,0x23006822,0xbd107493,0x6a80b510,
+0xfff0f7ff,0xbd102000,0x6803b510,0x7c5b6842,0x2400b10b,0xf243e007,
+0x58d003a0,0xf946f006,0xf7fd4604,0x4620fd29,0x46c0bd10,0x6840b510,
+0xfc14f000,0x46c0bd10,0x6840b510,0xf926f001,0x46c0bd10,0x6840b510,
+0xff36f001,0xbd102000,0x2100b510,0x22344604,0x0038f100,0xfe38f7fa,
+0x63e44b04,0x46206423,0xffecf7ff,0xf0056860,0xbd10f81b,0x00006ddd,
+0x6844b510,0x7c5b6823,0x6860b12b,0xfce8f001,0xf7ff4620,0xbd10fdc7,
+0x8a934602,0x1a406900,0x611018c9,0x47708291,0x8a934602,0x1a5b6900,
+0x61101840,0x47708293,0x47708281,0xf0008ac0,0x47700007,0xf0018ac3,
+0xf0230107,0x43190307,0x477082c1,0xf4004602,0x0600437f,0x2003ea40,
+0x037ff402,0x2013ea40,0x6012ea40,0x46c04770,0x78007843,0x2003ea40,
+0x46c04770,0x47706ac0,0x47702000,0x37fcf8d0,0x38007818,0x2001bf18,
+0x46c04770,0xf8d0b510,0xf8904328,0x4602e32c,0xe0092100,0xf8931853,
+0xf010032c,0xd0020f80,0x007ff000,0x3101e004,0xd1f342a1,0x007ff00e,
+0x46c0bd10,0x290e3901,0xe8dfd827,0x0b08f001,0x2626110e,0x14262626,
+0x201d1a17,0xf6420023,0xe01923d0,0x23d1f642,0xf642e016,0xe01323d2,
+0x23d3f642,0xf642e010,0xe00d23d4,0x23d5f642,0xf642e00a,0xe00723d6,
+0x23d7f642,0xf642e004,0xe00123d8,0x23d9f642,0x477054c2,0x43e4f241,
+0xd0014298,0xe0592000,0x3320f244,0xd0544299,0x42993305,0x3b22d051,
+0xd04e4299,0x4299331e,0x3303d04b,0xd0484299,0x42993b0c,0x3301d045,
+0xd0424299,0x42993301,0x3b09d03f,0xd03c4299,0x42993302,0x3b01d039,
+0xd0364299,0x433cf501,0xb29b33d8,0xd9302b02,0x43d5f64b,0xb29b18cb,
+0xd92a2b02,0x3314f244,0xd0264299,0x42993301,0x3301d023,0xd0204299,
+0x42993305,0x3301d01d,0xd01a4299,0x42993301,0x3312d017,0xd0144299,
+0x42993305,0x3301d011,0xd00e4299,0x42993301,0x3301d00b,0xd0084299,
+0x42993301,0x3301d005,0xbf144299,0x20012000,0x2001e000,0x46c04770,
+0xf1d07d80,0xbf380001,0x47702000,0x7d82b510,0xb10a4604,0x32fff04f,
+0x3308f642,0x230054e2,0x3db4f8c4,0xf7ff4620,0xf884ffeb,0xbd100d09,
+0xd9022902,0x001cf06f,0xb139e00e,0x3848f8d0,0x4299685b,0xf06fd002,
+0xe005000c,0xbf181e0b,0xf8802301,0x20003cf4,0x46c04770,0xf8d0b139,
+0x685b3848,0xd0024299,0x000cf06f,0xf8d0e007,0x7a1b3844,0xbf142b00,
+0xf06f2000,0x4770000a,0x2a07b530,0xf89d4604,0x4618500c,0x2100dc01,
+0x6849e00b,0x2903b149,0xf8d4d007,0x685b3848,0xd0024299,0x000cf06f,
+0xb135e00a,0x3844f8d4,0xb9137a1b,0x000af06f,0xb108e002,0x20006001,
+0x46c0bd30,0x0deaf8b0,0x46c04770,0xf44169d1,0x61d17100,0x180cf8d0,
+0x1180f8d1,0x6293185b,0x46c04770,0x4604b510,0x4608b10a,0xf8d0e019,
+0x7b030848,0xf642b183,0x5ce323d0,0xf001b163,0x2b02037f,0x2b04d008,
+0x2b0bd006,0x2b16d004,0xf890d002,0xe00400b2,0x037ff001,0xf89318c3,
+0xbd10009c,0x380cf8d0,0x71a0f503,0xf013680b,0xd1fb0f08,0xb12a7d82,
+0x3de0f890,0x0f08f013,0xb912d000,0x0302f04f,0x4770800b,0x469eb510,
+0xf0014b12,0x565b017f,0x2b004604,0x004ada11,0x0315f102,0x03ceeb03,
+0xf3f2fbb3,0xf8d40099,0xf1013848,0x685b0014,0xd10d2b02,0x001af101,
+0x1e4be00a,0x130eeb03,0x0f01f012,0xf0f1fbb3,0x3060d001,0x30c0e000,
+0x46c0bd10,0x0001bae4,0xf8d0b510,0xf0013848,0x185b017f,0x109cf893,
+0xf7ff230e,0xbd10ffcb,0x47f0e92d,0xf8d0461f,0x46063848,0x4688685b,
+0xbf142b01,0x2510250a,0xf7ff4691,0x1828ffe5,0xb157b280,0x46410044,
+0x464a4630,0xf7ff463b,0xb2a4ffb1,0x19001828,0xe8bdb280,0x46c087f0,
+0x41f0e92d,0xf8d04698,0x46063848,0xf89d685b,0x2b015018,0x230abf14,
+0xb9492310,0x24034611,0xfb03462a,0xf7fff404,0x1824ffbf,0xe000b2a7,
+0x4641005f,0x4630462a,0xffb6f7ff,0x46044641,0x4630462a,0xf7ff9b07,
+0x1824ff85,0xb2a019e4,0x81f0e8bd,0x468cb500,0xb1224696,0x3848f8d0,
+0x429a685b,0xf8d0d113,0xf04f0848,0x6f410e00,0xeb00e00b,0xf893030e,
+0xf00c2078,0x429a037f,0x2001d101,0xf10ee004,0x458e0e01,0x2000d1f1,
+0x46c0bd00,0x690cb510,0x304cf894,0x0107f003,0x3844f8d0,0xeb036011,
+0x68db0381,0x2b02681b,0xeb00d80c,0xf8b30341,0xf8b02dba,0xea233db8,
+0xf8a00302,0xf06f3db8,0xe00a000f,0xf3c37923,0x2b020381,0xf8d0d004,
+0x330133b4,0x33b4f8c0,0xbd102000,0x4615b530,0x522cf500,0x469c4604,
+0xf04f3248,0x68100e01,0xf10eb178,0xfa5f0301,0x320cfe83,0x0f41f1be,
+0xf8d4d1f5,0xf04f3460,0x330130ff,0x3460f8c4,0x230ce00f,0x4303fb0e,
+0x323cf642,0xf5035099,0x601d532d,0xf10c7158,0x7a0a011c,0xf881711a,
+0xbd30e008,0x47f0e92d,0x071cf101,0x7a3a4691,0xb1ca4680,0x240ce012,
+0x8404fb02,0xf5042301,0xf642552d,0x716b363c,0x59a3682a,0x46494640,
+0x23004798,0x51a3792a,0x712b716b,0xb2db1e53,0xd9e82b3f,0x723b2300,
+0x87f0e8bd,0xb5102a2f,0xd8024696,0x000df06f,0xf8b0e02d,0x600b3826,
+0x3828f8b0,0xf8d0604b,0x681c3848,0x8a227ca3,0xea43071b,0x68823302,
+0x6b53608b,0x0f3bf1be,0x684360cb,0x6a53610b,0x6a93614b,0xf8b0618b,
+0x61cb3384,0x382cf8d0,0x4b07624b,0x6853620b,0x6b13628b,0xd90562cb,
+0x630b6823,0x634b6863,0x638b68e3,0xbd102000,0x04da0000,0x468eb500,
+0xf06fb111,0xe00b0001,0x338cf8d0,0xf0132203,0xf8c00380,0xbf162814,
+0x2814f8c0,0x46084618,0x46c0bd00,0x2200b500,0x48074686,0xf8300091,
+0x45733022,0x180bd102,0xe0038858,0x2a0e3201,0x2000d1f3,0x46c0bd00,
+0x0001a860,0x3848f8d0,0x47706858,0x3848f8d0,0x47706818,0x3088f8d0,
+0x2084f8d0,0xf042b10b,0xf8d06280,0xb11b308c,0x2380f422,0x3200f443,
+0xf8c36983,0x47702120,0x37c4f8d0,0xea23b510,0x43110101,0xd0054299,
+0x17c4f8c0,0x60e8f500,0xffe0f7ff,0x46c0bd10,0xb5107c03,0x7d83b13b,
+0xf890b92b,0xb9133d48,0x7280f04f,0x2200e000,0x71a0f04f,0xffe0f7ff,
+0x46c0bd10,0x7d83b510,0xb11b4601,0x3848f8d0,0xb9237b1b,0x3d34f8d1,
+0x02fff033,0x4608d004,0x1180f44f,0xe001460a,0x1180f44f,0xffc8f7ff,
+0x46c0bd10,0x3088f8d0,0xea23b510,0xf8c00301,0xb9333088,0x3084f8d0,
+0x6f80f013,0xf7ffd101,0xbd10ffa5,0xb5707853,0x78947816,0x2603ea46,
+0xf8d078d3,0xea44580c,0x79102403,0xf0417953,0xea400120,0xb2892003,
+0x1420f8a5,0x6422f8a5,0x4422f8a5,0x0422f8a5,0x46c0bd70,0x5342f500,
+0x42993368,0x460ab510,0x2103d103,0xf7ff32d4,0xbd10ffd9,0x2103b510,
+0xf7ff4a01,0xbd10ffd3,0x0001a847,0x5342f500,0x42993368,0x460ab510,
+0x2100d103,0xf7ff32da,0x2000ffc5,0x46c0bd10,0x3848f8d0,0x280cf8d0,
+0x1130f8a3,0xf8c24b02,0xf8c23160,0x47701164,0x00020003,0x3848f8d0,
+0x280cf8d0,0x1132f8a3,0xf8c24b02,0xf8c23160,0x47701164,0x00020004,
+0x468cb500,0xf04f6981,0xe00d0e00,0x030eeb0c,0x2a02885a,0x889bd102,
+0xe003520b,0xbf042a04,0x500b685b,0x0e08f10e,0x000cf83e,0x73fff64f,
+0xd1eb4298,0x46c0bd00,0x2d00f8d0,0x380cf8d0,0x2cfcf8c0,0x212cf8c3,
+0x46c04770,0x3844f8d0,0xb12b7a1b,0x380cf8d0,0x1cfcf8c0,0x112cf8c3,
+0x46c04770,0x0381eb00,0x4604b570,0x0778f8d3,0x6983460d,0xb1484798,
+0x380cf8d4,0x2150f8d3,0x40ab2301,0xbf144213,0x20012000,0x46c0bd70,
+0x2101b510,0xffe6f7ff,0x46c0bd10,0x0381eb00,0x4604b570,0x0778f8d3,
+0xb108460d,0x47986943,0x17c1f894,0x2301b159,0xea2140ab,0xf8840303,
+0xb92337c1,0x60e8f504,0xf7ff2108,0xbd70ff2f,0x280cf8d0,0xf443088b,
+0xf8c23380,0xf0113160,0xbf140f02,0x3166f8b2,0x3164f8b2,0x4770b298,
+0x41f0e92d,0x4844f8d0,0x343431e0,0x18a74615,0xf7ff4606,0x4601ffe5,
+0x42815960,0x2000d101,0xbf98e00d,0x3380f5c0,0x628cf506,0xebc0bf8c,
+0x18580001,0x59533204,0x5153181b,0xe8bd6039,0x46c081f0,0x7c43b570,
+0x2b004604,0x8181f000,0x460a2100,0xffd4f7ff,0x22042102,0xf7ff4620,
+0x2104ffcf,0x46202208,0xffcaf7ff,0x220c2106,0xf7ff4620,0x2108ffc5,
+0x46202210,0xffc0f7ff,0x210a4620,0xf7ff2214,0x2500ffbb,0x00aa260c,
+0x32184631,0x35014620,0xffb2f7ff,0x2d063602,0x211cd1f5,0x46202238,
+0xffaaf7ff,0x223c211e,0xf7ff4620,0x2124ffa5,0x46202240,0xffa0f7ff,
+0x22442126,0xf7ff4620,0x2128ff9b,0x46202248,0xff96f7ff,0x224c212a,
+0xf7ff4620,0x212cff91,0x46202250,0xff8cf7ff,0x2254212e,0xf7ff4620,
+0x2130ff87,0x46202258,0xff82f7ff,0x225c2132,0xf7ff4620,0x2260ff7d,
+0x46202134,0xff78f7ff,0x46202136,0xf7ff2264,0x2138ff73,0x46202268,
+0xff6ef7ff,0x226c213a,0xf7ff4620,0x213cff69,0x46202270,0xff64f7ff,
+0x2274213e,0xf7ff4620,0x2140ff5f,0x46202278,0xff5af7ff,0x227c2142,
+0xf7ff4620,0x2144ff55,0x46202280,0xff50f7ff,0x22842146,0xf7ff4620,
+0x2148ff4b,0x46202288,0xff46f7ff,0x214a228c,0xf7ff4620,0x214cff41,
+0x22904620,0xff3cf7ff,0x2294214e,0xf7ff4620,0x2150ff37,0x46202298,
+0xff32f7ff,0x229c2152,0xf7ff4620,0x2154ff2d,0x462022a0,0xff28f7ff,
+0x22a42156,0xf7ff4620,0x215aff23,0x462022a8,0xff1ef7ff,0x22ac215c,
+0xf7ff4620,0x215eff19,0x462022b0,0xff14f7ff,0x22b42160,0xf7ff4620,
+0x22b8ff0f,0x46202162,0xff0af7ff,0x46202164,0xf7ff22bc,0x2166ff05,
+0x462022c0,0xff00f7ff,0x22c42168,0xf7ff4620,0x216afefb,0x462022c8,
+0xfef6f7ff,0x22cc216c,0xf7ff4620,0x216efef1,0x462022d0,0xfeecf7ff,
+0x22d42170,0xf7ff4620,0x2172fee7,0x462022d8,0xfee2f7ff,0x22dc2174,
+0xf7ff4620,0x2176fedd,0x462022e0,0xfed8f7ff,0xf44f217a,0x462072aa,
+0xfed2f7ff,0xf44f2120,0x462072e4,0xfeccf7ff,0xf44f2122,0x462072e6,
+0xfec6f7ff,0x14d0f8d4,0x343cf8d4,0x2440f8d4,0x0301ebc3,0x3560f8c4,
+0x34b0f8d4,0x1a9b4625,0x3574f8c4,0x3468f8d4,0x2444f8d4,0x1a9b1a5b,
+0x3564f8c4,0x0778f8d5,0xf8d0b1b0,0xf8d4209c,0x189b33c0,0x33c0f8c4,
+0x2098f8d0,0x33f0f8d4,0xf8c4189b,0xf8d033f0,0xf8d42094,0x189b3408,
+0x3408f8c4,0x47986f43,0xf1043504,0x429d0318,0xf8d4d1e0,0xf8d423c0,
+0x210033c4,0xf8d4189b,0x189b23d4,0x23c8f8d4,0xf8d4189b,0x189b2448,
+0x244cf8d4,0xf8d4189b,0x189b2450,0x33b0f8c4,0x2420f8d4,0x33f0f8d4,
+0xf8d4189b,0x189b2400,0x2404f8d4,0xf8d4189b,0x189b2408,0x240cf8d4,
+0xf8d4189b,0x189b2414,0x33e8f8c4,0xf8d41863,0xf8d323e8,0x31043424,
+0x291818d2,0x23e8f8c4,0xbd70d1f4,0xf0014a0a,0x56d3037f,0x2b005c51,
+0xf44fbfac,0xf44f7300,0xf00173e0,0xb510010f,0x0141eb03,0xfe34f7ff,
+0xb2800040,0x46c0bd10,0x0001bae4,0x080cf8d0,0xf443088b,0xf0113380,
+0xf8c00f02,0xbf143160,0x2166f8a0,0x2164f8a0,0x46c04770,0xf642b570,
+0x5341350e,0x71c4f44f,0xf7ff4604,0x5b63fe15,0x7270f420,0x4620431a,
+0xf44fb292,0xf7ff71c4,0x2122ffdd,0xf7ff4620,0x5b63fe07,0x7270f420,
+0x4620431a,0xb2922122,0xffd0f7ff,0x46c0bd70,0x330af642,0xb5105cc3,
+0xf642b923,0xf04f330e,0xe0070240,0xbf072b01,0x330ef642,0xf6422280,
+0x2200330e,0x7c4352c2,0xf642b123,0x5ac1330e,0xffc4f7ff,0x46c0bd10,
+0x2208b573,0x460d4606,0x49074668,0xfff0f7f9,0xf83d2400,0x5b621004,
+0x34024630,0xffa2f7ff,0xd1f62c08,0x46c0bd7c,0x0001a11c,0x41f3e92d,
+0x46049e08,0x46174688,0x22084668,0x461d4924,0xffd6f7f9,0xd82d2e03,
+0xf006e8df,0x02090502,0x1848f8d4,0xf504e006,0x311c613a,0xf504e002,
+0x31046128,0xea4fb1f1,0xeb0c0c48,0xf8b20201,0xea20006c,0xea430307,
+0xf8d40e05,0xf8a23844,0x7a1be06c,0x4586b173,0xf8d4d00c,0x42993848,
+0xaa02d108,0x0302eb0c,0xf8334620,0x46721c08,0xff60f7ff,0xd1102e03,
+0x0148eb04,0x3af0f8b1,0xb29243fa,0x0303ea02,0xf8a1432b,0xf8b13af0,
+0x401a3c28,0xf8a1432a,0xe8bd2c28,0x46c081fc,0x0001a124,0xf8d0b537,
+0x00494844,0x19084605,0x19498c83,0x84831a9b,0x2db8f8b5,0x3dbaf8b1,
+0xf8a54313,0x7dab3db8,0xc024f8b4,0xe026f8b4,0x8d618d20,0xf895b1a3,
+0xf0122de0,0xd00f0f08,0x030ceb0e,0x185b181b,0xb94bb29b,0x03f7f002,
+0x3de0f885,0x380cf8d5,0x0202f04f,0x2140f8a3,0xb1737dab,0x3de1f895,
+0xf8d5b15b,0x8d9b3844,0xf885b93b,0x46283de1,0x22402101,0xf7ff9300,
+0xbd3eff6d,0x4602b507,0xb159468e,0xf8802300,0x33013d3c,0x3d3bf880,
+0x33022280,0x21029300,0xe0064613,0xf8822303,0x93001d3b,0x22802102,
+0xf7ff4673,0xbd0eff53,0x460cb570,0xbf0c2a00,0x21b421a4,0x46062c64,
+0x46184615,0xf06fd902,0xe016001c,0x4622b90c,0xf1c4e004,0x011b0364,
+0xf2f4fb93,0x4630b118,0xf7ffb292,0xb125fed3,0x2310f243,0x52f42000,
+0xf243e003,0x52f42312,0xbd704628,0x41f0e92d,0x460c4606,0x0725f101,
+0xe00d2500,0xf893192b,0x5d7a3026,0x71b0f505,0x2203eb02,0xb2924630,
+0xfeb4f7ff,0xb29d1cab,0x2024f894,0xd3ed4295,0x21484630,0xfeaaf7ff,
+0x81f0e8bd,0x47f0e92d,0x46064b1f,0x9000f8d3,0x2700791b,0x087ff003,
+0x4b1be031,0x18fb4a1b,0xf8d67918,0xf0003848,0xf000007f,0x18e3047f,
+0x109cf893,0x29005715,0x4641bf08,0x037ff001,0x5c5156d3,0xbfac2b00,
+0x7300f44f,0x73e0f44f,0x010ff001,0xeb035c14,0x46300141,0xfca8f7ff,
+0xbfac2d00,0x7508f44f,0x75f0f44f,0x040ff004,0xeb054602,0x46300144,
+0xfe6cf7ff,0x454f3701,0xe8bdd1cb,0x46c087f0,0x0001b9bc,0x0001bae4,
+0x41f0e92d,0x22004616,0x4607460d,0x1018f99d,0x469862f2,0xf8d0b133,
+0xeb022844,0x8c930245,0x849318cb,0xd1092d04,0x21a86933,0x404cf893,
+0x204df893,0x2202ea44,0xfe44f7ff,0x0385eb07,0x0778f8d3,0x6a034631,
+0x47984642,0x81f0e8bd,0xf642b570,0x2154330e,0x5ac44605,0xfc60f7ff,
+0x7070f420,0x21544304,0xb2a24628,0xfe2af7ff,0x46c0bd70,0xf8d0b510,
+0xb131380c,0x2207f240,0x2684f8a3,0x22092110,0xf240e005,0xf8a32212,
+0x21102684,0xf7ff2214,0xbd10fe15,0x41f0e92d,0x46801e1e,0x4615460f,
+0x2400dd0b,0x464019e1,0xfc36f7ff,0x5560192b,0x0a003402,0x705842b4,
+0xe8bddbf4,0x46c081f0,0x2101b510,0x480cf8d0,0xf8d4460a,0xf7ff3120,
+0x2301fb17,0x3128f8c4,0x3120f8d4,0x3128f8d4,0x46c0bd10,0x380cf8d0,
+0x0180f8d3,0xf8d36008,0x60133184,0x46c04770,0x460cb513,0xa901466a,
+0xfff0f7ff,0x0c139a01,0x041b0412,0xea440c12,0x42940003,0xf5a0bf88,
+0xbd1c3080,0x180cf8d0,0xf44f4a19,0xf8c13080,0xb5100160,0x4164f8d1,
+0x0160f8c1,0x2164f8c1,0x0160f8c1,0x3164f8d1,0xd11e4293,0xf8c14a11,
+0xf8c10160,0xf8c12164,0xf8d10160,0x42933164,0x2300d113,0x0160f8c1,
+0x4164f8c1,0x318cf8c1,0x0120f8d1,0x42984b08,0x2001d101,0x4b07e006,
+0xbf144298,0x20012000,0x2000e000,0x46c0bd10,0xaa5555aa,0x55aaaa55,
+0x04000400,0x84000400,0xf2412200,0xb57073f0,0x460450c2,0x19634615,
+0x0778f8d3,0x6a83b110,0x47982101,0x2d183504,0xf8d4d1f5,0x6e430778,
+0xbd704798,0xf8d0b570,0x46053844,0xb1637a1b,0x380cf8d0,0x2120f8d3,
+0x4304f240,0x0303ea02,0x6180f5b3,0x2101bf18,0x6880e003,0xfb1cf7f8,
+0xbb494601,0x4d08f895,0xf8d5b144,0xb31b3710,0x3848f8d5,0xf0066818,
+0xe01dfdf1,0x3848f8d5,0x68184621,0xfdeaf006,0x3848f8d5,0x68184621,
+0xf81af006,0x73f4f241,0xb13358eb,0xf04f68a8,0x462231ff,0xf7f84623,
+0xf8d5fc7d,0x46213844,0x68a8721c,0xfbf8f7f8,0x46c0bd70,0xb5102301,
+0xf8804604,0xf8d03d08,0xf7fe073c,0x2300fedf,0x3d08f884,0xbd1074a3,
+0xf8d0b570,0x4606480c,0x3120f8d4,0x3ffff1b3,0xf8d4d01c,0xf1b33128,
+0xd0173fff,0x22002101,0xfa3af7ff,0xe0034d0c,0xf7fc200a,0x3d0afbf7,
+0x3128f8d4,0x0f01f013,0x2d09d101,0xf8d4d1f4,0xf8d43128,0xf1b33120,
+0xd1033fff,0x073cf8d6,0xfeb0f7fe,0x46c0bd70,0x00014441,0xf8d0b570,
+0x46053844,0xb9087a18,0xe0124606,0x380cf8d5,0xf8d52400,0x20016cfc,
+0x412cf8c3,0x312cf8d3,0xfbccf7fc,0x3cf8f8d5,0x4cfcf8c5,0xbf1842a3,
+0x46304626,0x46c0bd70,0xf8d0b570,0x46043844,0x460e7a1b,0xd03e2b00,
+0xf8d0b9d9,0x2021280c,0x31e0f8d2,0x25a1f643,0x0302f043,0x31e0f8c2,
+0xfbacf7fc,0x200ae003,0xfba8f7fc,0xf8d43d0a,0xf8d3380c,0xf41331e0,
+0xd1243f00,0xd1f22d09,0x6883e021,0xb9b369db,0x380cf8d0,0x31e0f8d3,
+0x0f12f013,0xf643d00f,0xe00325a1,0xf7fc200a,0x3d0afb8d,0x380cf8d4,
+0x31e0f8d3,0x3f00f413,0x2d09d101,0xf8d4d1f2,0xf8d2280c,0xf02331e0,
+0xf8c20302,0xf1d631e0,0xbf380301,0xf8842300,0xbd70381d,0x4605b570,
+0xf7fc2028,0xf8b5fb6f,0xf1033824,0xe0030409,0xf7fc200a,0x3c0afb67,
+0x46282140,0xfaacf7ff,0xd1012804,0xd8f32c09,0x46c0bd70,0xf8d0460a,
+0xb51017c8,0xb9214604,0x37c4f8d0,0x6f80f013,0xea42d004,0xf8c40301,
+0xe00837c8,0x27c8f8c0,0x60e8f500,0xf972f7ff,0xf7ff4620,0xbd10ffcf,
+0x408b2301,0xf890b570,0xb2dc27c1,0x0302ea04,0x460542a3,0xd010460e,
+0x2108b912,0xffd6f7ff,0x37c1f895,0x0303ea44,0x37c1f885,0x0386eb05,
+0x0778f8d3,0x6903b108,0xbd704798,0xf10db573,0x460d0602,0x21004604,
+0x22064630,0xfc5cf7f9,0x4620b175,0xf7ff2101,0x4620ffd3,0xf7ff2103,
+0x4620ffcf,0x46322100,0xf994f7ff,0xe0142301,0x3dc6f894,0x4620b91b,
+0xf7ff2101,0x4620fa33,0xf7ff2103,0x4620fa2f,0xf1044629,0xf7ff024c,
+0xf8d4f981,0xb16b37cc,0xf8c42300,0xf8d437cc,0xf40337c4,0xf5b323c0,
+0xd0033f00,0x60e8f504,0xf914f7ff,0x46c0bd7c,0xb5102101,0x1dc6f880,
+0xff9ef7ff,0x46c0bd10,0x7d83b570,0xb98b4605,0x380cf8d0,0x61c0f04f,
+0x4120f8d3,0x6280f04f,0x64c0f004,0xf90cf7ff,0x7f00f1b4,0x4628d102,
+0xff54f7ff,0x46c0bd70,0x3ffff1b1,0x41f0e92d,0x460e4604,0xf8d0d106,
+0x68193848,0x460eb909,0x688ee000,0x781df894,0x4620b91f,0xf7ff4639,
+0x68a0feef,0xfb22f7f8,0x2500b170,0xf8d31963,0xb1080778,0x47986883,
+0x2d183504,0xf8d4d1f6,0xb1080778,0x47986c83,0x5d08f894,0x2200b13d,
+0x2cf8f8c4,0x21034620,0xf8d2f7ff,0xf8d4e033,0x46313844,0x68a0721d,
+0xf7f8462a,0xf8d4fa59,0x23012844,0x46207213,0xf04f4a14,0xf8c431ff,
+0xf8c457c4,0xf8c457c8,0xf7ff57cc,0x4620f8b9,0xf7ff4629,0xf8d4feb5,
+0x68a13848,0xf0076818,0xf44ff821,0x460a6180,0xf7ff4620,0x4620f8a9,
+0x462a2104,0xf8a4f7ff,0x5cf8f8c4,0x4620b91f,0xf7ff2102,0xe8bdfe9d,
+0x46c081f0,0x04000400,0xf890b510,0x46023d05,0xf8d0b97b,0xf0133394,
+0xd10a0f04,0xf8802301,0xf8d23d05,0xf8d01d2c,0xf44f073c,0xf7fe7248,
+0x2001fb25,0x46c0bd10,0x7c43b510,0xb12b4604,0xffe2f7ff,0x073cf8d4,
+0xfd04f7fe,0x46c0bd10,0x738ef44f,0x0303fb01,0x2844f8d0,0x6304f503,
+0x429a330c,0x4604b570,0xd016460d,0x3844f8c0,0x381cf890,0xf890b13b,
+0xb9222d08,0xf44f6880,0xf7f85100,0x68a0faab,0x0112f640,0xf7f8462a,
+0xf8c4fac1,0xf8c4080c,0xbd700758,0x739cf44f,0xf303fb01,0x6328f503,
+0x330418c3,0xf8c0b570,0x460d3848,0x03c1eb00,0x1840f8d0,0x63ecf503,
+0xf8c04604,0x2901375c,0x4629bf8c,0xf7ff2100,0xf894ffbf,0xb15b381c,
+0x3d08f894,0xf44fb943,0x68a05100,0xbf0c2d00,0x2200460a,0xfa76f7f8,
+0x46c0bd70,0xf890b570,0x4604581d,0xb915460e,0xf7ff4629,0xf8d4fe19,
+0xb2713848,0xf0066818,0xf8d4fbff,0x68a13848,0xf0066818,0xf8d4ff7f,
+0x68183848,0xfae4f00b,0x4620b91d,0xf7ff2102,0xbd70fe03,0x6984b5f7,
+0xf8c4461d,0xf8d41130,0x46163120,0x3780f403,0xa801e00e,0x22044629,
+0xfb16f7f9,0x9801b11f,0xfcf0f7fe,0x9b019001,0xf8c43504,0x3e043134,
+0xdcee2e00,0x46c0bdfe,0x4615b570,0x460b3203,0xf44f4604,0xf500618d,
+0xf02260e8,0x69860203,0xffd4f7ff,0x211a4620,0xf7ffb2aa,0xf8d6faaf,
+0xf0433124,0xf8c60302,0xbd703124,0x4615b570,0x460b3203,0x21684604,
+0x60e8f500,0x0203f022,0xf7ff6986,0x4620ffbb,0xb2aa2118,0xfa96f7ff,
+0x3124f8d6,0x0301f043,0x3124f8c6,0x46c0bd70,0x41f0e92d,0x460e4605,
+0xf8d04617,0xb12b480c,0xffdcf7ff,0x46314628,0xe00c463a,0x3124f8d4,
+0x0f01f013,0xf7ffd102,0xe006ffd1,0x3124f8d4,0x0f02f013,0xf7ffd101,
+0xe8bdffaf,0x46c081f0,0x784cb570,0x34024605,0xf7f94622,0x1928faad,
+0x46c0bd70,0x2a00b570,0x70014604,0x70624615,0x3002dd03,0xf7f94619,
+0x1ca0fa9f,0xbd701940,0xf8d0b570,0xb19557d0,0x22006884,0x46294613,
+0xf7f84620,0x4629f987,0x2300462a,0xf7f84620,0x2200f965,0x46294620,
+0xf7f84613,0xbd70f943,0x41f0e92d,0xf8d0461d,0x46043848,0x460e6818,
+0xf00a4690,0xf8d4ff5d,0x46293848,0x46326818,0xfbb4f006,0x3848f8d4,
+0x31fff04f,0x22006818,0xff3ef008,0x46414620,0xfde0f7ff,0x81f0e8bd,
+0x7c43b530,0x4605b085,0xb11b460c,0xf06fb111,0xe0920004,0xd9022c03,
+0x0001f06f,0xd107e08d,0x3814f8d5,0xd1012b02,0xe0122400,0xe0002402,
+0xf8d5b17c,0x2b023814,0xf8d5d104,0xf0133388,0xe0050f01,0xd1042b03,
+0x3834f8d5,0x5f00f013,0xf8c5d071,0xa8024810,0x22082100,0xfa14f7f9,
+0x3008f8bd,0xd03f2c00,0x0310f043,0x3008f8ad,0x3814f8d5,0xf8d52b02,
+0xd1203830,0x5300f023,0x3830f8c5,0x3388f8d5,0x4f80f413,0x300af8bd,
+0xf443d008,0xf8ad7380,0x2330300a,0x37d0f8c5,0xe0092320,0x7380f423,
+0x300af8ad,0x73c0f44f,0x37d0f8c5,0x7380f44f,0x37d4f8c5,0xf043e009,
+0xf8c55300,0xf8bd3830,0xf423300c,0xf8ad5380,0xf8bd300c,0x2c02300a,
+0xf443bf0c,0xf4237300,0xf8ad7300,0xe009300a,0x0310f023,0x3008f8ad,
+0x3830f8d5,0x5300f023,0x3830f8c5,0xf8bd2402,0x46283008,0x22102100,
+0xf7ff9400,0xf8bdf9fb,0x4628300a,0xf44f2101,0x94007240,0xf9f2f7ff,
+0xf8bd4628,0x4621300c,0x1208f241,0xf7ff9400,0x2000f9e9,0xf06fe001,
+0xb0050002,0x46c0bd30,0x41f0e92d,0x3844f8d0,0x780cf8d0,0x46047a1b,
+0xf8d7460e,0xb1535128,0x2120f8d7,0x4304f240,0x0303ea02,0x6080f5b3,
+0x2001bf18,0x6880e005,0xff1af7f7,0xbf183800,0xb1102001,0x36fff04f,
+0xf1b5e02d,0xd1013fff,0xe0284606,0xf8d4b116,0xe0013cfc,0x3d00f8d4,
+0x0605ea13,0xf8d4d01f,0x2500380c,0x512cf8c3,0x0f80f416,0x312cf8d3,
+0x5cfcf8c4,0x2301d00a,0xf8844629,0x46203d3c,0xff1ef7ff,0x46294620,
+0xfa30f7ff,0x4f00f416,0xf44fbf18,0xf8c73380,0xbf186128,0x4630623b,
+0x81f0e8bd,0x2300b570,0x7c43700b,0x460d4604,0xf8d0b163,0xb14b3cfc,
+0xf7ff2101,0xb128ffa1,0x702b2301,0x0cf8f8c4,0xe0004618,0xbd702000,
+0x2100b510,0xf7ff4604,0xf1b0ff93,0xd1013fff,0xe0053001,0x3cf8f8d4,
+0xf8c44303,0x20013cf8,0x46c0bd10,0x4ff0e92d,0x4682b0d3,0x9848f8d0,
+0x4693460f,0x226d2100,0x00dbf10d,0xf8dd461c,0xf7f98170,0x2100f919,
+0xf10d226d,0xf7f9006e,0xa801f913,0x21003803,0xf7f9226d,0xf8daf90d,
+0x7b1b3848,0x4620b93b,0x7b04f840,0x463a4659,0xf922f7f9,0x6822e07e,
+0x21004b4b,0xbf142a00,0x46184620,0x1843e007,0xab01791a,0x027ff002,
+0x549a3b03,0x68033101,0xd3f44299,0x46352600,0xe0124630,0x100bf810,
+0xf001aa01,0x3a03037f,0xf50d5cd2,0x44737ea4,0x3501b11a,0x1c6df803,
+0xf803e002,0x36011cda,0x42b83001,0x6823d1ea,0xf8d8bb13,0xb9fb3000,
+0x1074f8d9,0xe0134628,0x3901f815,0xf003af52,0x18fa037f,0x3cdaf812,
+0xf802b133,0x3e013c6d,0xf8022300,0xe0023cda,0x29003901,0x3001daec,
+0xd8052807,0xeb01b126,0xf1030309,0xe7f40578,0x22282100,0xf7f94620,
+0x4640f8ab,0x22282100,0xf8a6f7f9,0xe01d2500,0x0305eb09,0x3078f893,
+0x7ea4f50d,0x037ff003,0x0003eb0e,0x1c6df810,0x6823b121,0x330118e2,
+0x60237111,0x1cdaf810,0xf8d8b139,0xeb083000,0x33010203,0xf8c87111,
+0x35013000,0x3074f8d9,0xd3dd429d,0x038cf243,0x0003f81a,0x6822b188,
+0xd8042a07,0x711818a3,0x60231c53,0xf8d8e009,0x2a072000,0xeb08d805,
+0x71180302,0xf8c81c53,0xb0533000,0x8ff0e8bd,0x0001bb54,0xf6422100,
+0x50c1634c,0x5038f500,0x3050b510,0x7200f44f,0xf85af7f9,0x46c0bd10,
+0x41f0e92d,0x3ffff1b2,0x4615bf14,0x46062500,0x460a461f,0x2902b111,
+0xe033d003,0x4848f8d0,0xf8d0e007,0x685b3848,0xd12b2b02,0x6428f500,
+0xb12d3404,0x46294630,0xf7fe2301,0xb308fc23,0x2b026863,0x7b23d10c,
+0xb14db953,0x037ff005,0xd0052b02,0xd0032b04,0xd0012b0b,0xd1112b16,
+0x5f60f415,0xf642d004,0x5cf3330d,0xd0092b01,0x2000b117,0xe0076425,
+0x63e54630,0xffb2f7ff,0xe0014638,0x30fff04f,0x81f0e8bd,0x3848f8d0,
+0x41f0e92d,0x049cf103,0x4607226d,0x4620460d,0xf7f92100,0x2200f805,
+0x18abe00a,0xf013791b,0xd0040f80,0x037ff003,0xbf982b6c,0x320154e3,
+0x429a682b,0xf04fd3f1,0x46750e00,0xe02646f4,0x0302eb0c,0x2078f893,
+0x5ca34814,0xf00218a6,0xb133017f,0x2b005643,0x4696bfb8,0x4615bfa8,
+0x5641e013,0x0321ea1e,0x462bbf38,0xb96354a3,0xdb012900,0xe0074613,
+0xd9012a2f,0xe0032330,0xbf942a17,0x2318230c,0xf10c7033,0xf8d70c01,
+0x6f532848,0xd3d3459c,0x81f0e8bd,0x0001bae4,0x4616b570,0xf0014a2f,
+0x461d017f,0x2b005653,0x5c54da1a,0x22064628,0xf7f82100,0x782bffb1,
+0x040ff004,0x030ff023,0x431c0532,0x78ab0d12,0xea430152,0x70ab4312,
+0xea43786b,0x706b2312,0x4313b2e3,0xe03b702b,0xd00c2904,0x2902dc02,
+0xe003d007,0xd008290b,0xd0112916,0x46022000,0x00f3e021,0x00b3e00a,
+0x0133e008,0xf2f1fbb3,0xfb00b290,0x4293f201,0x1c43d014,0xe011b298,
+0x00f2240b,0xf3f4fbb2,0xfb00b298,0x429af304,0x1c43d008,0xfb00b298,
+0x1a9bf304,0xd9012b07,0xe0002280,0x23052200,0xf303fb01,0xf042702b,
+0x706b0304,0x70eb0a03,0x70a82300,0x716b712b,0x46c0bd70,0x0001bae4,
+0x3848f8d0,0x47f3e92d,0x4606685b,0xbf142b01,0x0a0af04f,0x0a10f04f,
+0x46884b20,0x9000f8d3,0xe0372700,0x46304b1d,0x791c18fb,0xf0043701,
+0x4621047f,0xff02f7fe,0x46054621,0x46304642,0x0302f10d,0xff78f7ff,
+0x22004621,0x46304643,0xfa9cf7fe,0x3003f89d,0x2002f89d,0xeb02b284,
+0x46302203,0x010af105,0xf7feb292,0xf89dfeff,0xf89d3005,0x46302004,
+0x2203eb02,0x010cf105,0x4454b292,0xfef2f7fe,0xf1054630,0xb2a20110,
+0xfeecf7fe,0xd1c5454f,0x87fce8bd,0x0001b9bc,0x3454f8d0,0x3301b510,
+0xf8c04604,0x68803454,0xfe34f7f7,0x4620b110,0xfd38f7fe,0xf8842300,
+0xf8d43d54,0x7a1b3844,0xf8d4b16b,0xf8d3380c,0xf2402120,0xea024304,
+0xf5b30303,0xbf146f80,0x20012000,0x68a0e006,0xfc76f7f7,0x0001f1d0,
+0x2000bf38,0x4620b120,0x31fff04f,0xfad4f7ff,0xf7ff4620,0xf8d4f921,
+0x21000844,0x6348f642,0x84c18481,0x85418501,0x85c18581,0x303450e1,
+0xf7f822e8,0xbd10fec9,0xb5702300,0x3dc6f880,0x3848f8d0,0x68184605,
+0xffacf005,0x00c4f3c0,0xf2411828,0x5cc4436c,0x3848f8d5,0xf0056818,
+0xf000ffa1,0x41040007,0x0f01f014,0x4628d103,0xf7fe2101,0xbd70fc97,
+0xf890b570,0x46053024,0xf8d0b17b,0xf8b03848,0x68184324,0xff8af005,
+0xd1064284,0x5142f505,0x31684628,0xfbf6f7fe,0x4628e00b,0xfbfef7fe,
+0xf44f2300,0xf8853100,0x46283d35,0xf7fe460a,0x4628fb83,0xfba2f7fe,
+0xf7fe4628,0xbd70fb8d,0xf001b510,0x460c007f,0xf8def00d,0xb203b280,
+0x3ffff1b3,0x2000bf08,0x0200b200,0x0002f040,0x24c2f3c4,0xea40b280,
+0xbd1000c4,0x4ff0e92d,0xbf0c2b00,0x23032302,0x690db09d,0xf101460c,
+0x930d011c,0x786b9112,0x782a4693,0xea424607,0xf3c32303,0xf1ba0a81,
+0xf8dd0f02,0x6c8080ac,0xd0019305,0xe0022300,0xf3c29a05,0xb2db13c0,
+0x93104621,0xf9a4f7f8,0x30049b2a,0xb11b9007,0x300ff993,0x900718c0,
+0x3830f8d7,0xda1e2b00,0xb1e0982a,0x2b027a03,0xf642d119,0x5cfb1385,
+0xf8d7b9ab,0xf8d33dc8,0xf0133094,0xd10e0f08,0x2b357983,0x2b03d80b,
+0x2b0bd909,0x9927d807,0xd1042901,0x91139a07,0x92073208,0x2300e001,
+0x21069313,0xf7fd4620,0x2168fff3,0x46209006,0xffeef7fd,0x21002268,
+0xf7f84606,0xf8dbfe09,0x4baa2004,0x0303ea02,0x9805b1c3,0x03fcf000,
+0xd1132b88,0xf013792b,0xd10f0f01,0xf7fd4620,0x9c27ffe9,0x0140eb0b,
+0x1e639826,0xf8b14298,0xd10a2168,0xf8a11c53,0xe0063168,0x0f01f1ba,
+0x2200d012,0x0910f04f,0xf1bae004,0xd00b0f01,0x0900f04f,0xf0019926,
+0xea43030f,0xb29b1302,0x0a1b75ab,0xe00175eb,0x0900f04f,0x2a049a28,
+0xf896d118,0xf896204d,0xf507304c,0x882054bf,0x2302ea43,0x0218f248,
+0x0202ea03,0xf6470141,0xf04273e0,0xea010204,0x431a0303,0x92093001,
+0xe0188020,0x98269c27,0xf2411e63,0x429871de,0xd1015a7a,0x527b1c53,
+0x9c289926,0x030ff001,0x1302ea43,0xf647015b,0xea0372e0,0xf0040202,
+0x431a0307,0x98059209,0x03fcf000,0x4b742b80,0xf049bf08,0xea080920,
+0xb93b0303,0x3848f8d7,0x803cf8d3,0xea084b6e,0xb10b0303,0xe01d4642,
+0x3848f8d7,0x4b6a6c1a,0x0303ea02,0x792bb11b,0x0f01f013,0x792bd112,
+0x0f01f013,0xf1bad10a,0xd0070f00,0x0f01f1ba,0x9912d004,0xf013680b,
+0xd0030210,0x30f4f89b,0x027ff003,0x461168bb,0xb9636b5b,0x7a239c2a,
+0xd1082b02,0x037ff002,0xd9042b30,0x037ff022,0x0230f043,0xf4214611,
+0xf44363e0,0xf4227300,0xf44262e0,0xf0037200,0xf1ba007f,0x93170f02,
+0x90119216,0xf1bad002,0xd10c0f00,0x5327f507,0x9907881b,0xdd064299,
+0xf083792b,0xf0030301,0x930c0301,0x2200e001,0xf8d7920c,0x7b1b3848,
+0xf642b1c3,0x5cfb23d0,0x4b40b1a3,0x571b9c11,0xda0f2b00,0x99169827,
+0x28029a17,0x2116bf28,0x2216bf28,0xf04fbf2c,0xf04f0800,0x91160801,
+0xe0019217,0x0800f04f,0x9c179b16,0xf0049812,0xf003047f,0xea4b0b7f,
+0x61434304,0x46389415,0x9a079917,0xf10d9b06,0xf7ff046a,0x4638fd45,
+0x9a079916,0xf7ff4623,0x2206fd3f,0x0036f106,0xf7f84621,0xf1bbfd19,
+0xd0080f02,0x0f04f1bb,0xf1bbd005,0xd0020f0b,0x0f16f1bb,0x9907d106,
+0x2307f3c1,0x103af886,0x303bf886,0x9a154b1b,0x2b00569b,0x9c06da05,
+0xf0037823,0x930a030f,0x9806e002,0x900a7800,0x29a49905,0x792bd00f,
+0xf0131d2c,0xd1120f01,0x9a0d9917,0x46389b29,0xf86af7fe,0xf3c070a8,
+0x70e8200f,0x78abe007,0xea4378ea,0xf8862302,0x0a1b303c,0x7823e006,
+0x0f01f013,0x2300d00c,0x303cf886,0x303df886,0x46c0e012,0x00010040,
+0x0800007f,0x0001bae4,0x9a0d9916,0x46389b29,0xf846f7fe,0x003cf886,
+0x200ff3c0,0x003df886,0x68139a12,0x7f00f413,0x8993d00d,0x5900f449,
+0x3042f886,0xf8860a1b,0x89d33043,0x3044f886,0xf8860a1b,0x9b263045,
+0xf049b90b,0x1d2c0908,0x792b9414,0x0f01f013,0x9812d10b,0xf4136803,
+0xd1065f80,0xb1119910,0x3d7bf897,0xf049b90b,0xf1ba0901,0xd1070f02,
+0x3d3df897,0x9a11b123,0xbf882a04,0x5980f449,0xb10b9b13,0x4900f449,
+0x2319ea4f,0x9000f886,0x9c2a7073,0xf642b19c,0x5cfb1385,0xf8d7b97b,
+0xf8d33dc8,0xf0133094,0xd1080f08,0x2a3579a2,0x7b23d805,0x0307f003,
+0x1302ea43,0x2300e000,0x0a1b70b3,0x70f32400,0x46291d30,0xf7f82202,
+0x71b4fc63,0xf88671f4,0xf886402c,0x982a402d,0xd0392800,0x1385f642,
+0x2b005cfb,0xf8d7d134,0xf8d33dc8,0xf0133094,0xd12d0008,0x798b992a,
+0xd8292b35,0xf1059a05,0xf4020118,0xf5b37340,0x9b107f40,0xf105bf08,
+0xb103011e,0x9c2a3102,0x2b027a23,0x4632d111,0x18239c2a,0x30bcf8b3,
+0xf3c37593,0x75d32307,0x32021c83,0x46182b0a,0xf106d1f2,0x22030020,
+0x9b2ae004,0x0016f106,0x200ef993,0xfc20f7f8,0xf1062206,0x99140026,
+0xfc1af7f8,0x22009c09,0xf8860a23,0xf886404c,0xf886304d,0xf886204e,
+0x980c204f,0x4690b108,0xf1b8e003,0xf0000f00,0x99178093,0x23022200,
+0xf7fd4638,0x2200ff17,0x2302900f,0x99164638,0xff10f7fd,0x46827832,
+0xf1b87873,0xd0040f00,0x2303ea42,0x6300f443,0xea42e003,0xf0432303,
+0x70330306,0x0f00f1b8,0x2114bf0c,0x0a1b210e,0xf1067073,0x91080950,
+0x4638ac19,0x9a08990f,0xf7ff464b,0x4623fbf9,0x46514638,0xf7ff9a08,
+0x4621fbf3,0xf1062206,0xf7f8002e,0x9c07fbcd,0xf1069b0d,0x94010256,
+0x920e2400,0x9a0f9300,0x46419b17,0x46389402,0xff5ef7fd,0x0058f886,
+0x200ff3c0,0x0059f886,0x9907980d,0x90009b16,0x94029101,0x46414638,
+0xf7fd4652,0xf886ff4d,0xf3c00034,0xf886200f,0xf1060035,0xf1b8005a,
+0xd0090f00,0x033bf06f,0x010af105,0xf8862206,0xf8863056,0xe0074057,
+0x034bf06f,0x3056f886,0x8057f886,0x220c9914,0xfb8ef7f8,0x9c0a9a0f,
+0x037ff002,0x98164a92,0x2b0056d3,0xf899bfb6,0xf8963000,0xf0033050,
+0x021b030f,0x0404ea43,0x037ff00a,0xbf88459b,0x940a4650,0xe01c900b,
+0x22064641,0x0050f106,0xfb4ef7f8,0x22104641,0x0056f106,0xfb48f7f8,
+0xf1064641,0x2206002e,0xfb42f7f8,0x8034f886,0x8035f886,0xf8cd9916,
+0x910b8038,0xf8cd46c2,0x9a0a803c,0xf1bb0a13,0x74b20f02,0xd00b74f3,
+0x0f04f1bb,0xf1bbd008,0xd0050f0b,0x0b16f1bb,0xf04fbf18,0xe0010b01,
+0x0b00f04f,0xf0049c0f,0x2b02037f,0x2b04d009,0x2b0bd007,0xf1b3d005,
+0xbf180916,0x0901f04f,0xf04fe001,0xf00a0900,0x2b02037f,0x2b04d008,
+0x2b0bd006,0xf1b3d004,0xbf180416,0xe0002401,0xf8d72400,0x68183848,
+0xfbecf005,0x3848f8d7,0x681bb2c0,0xf0056819,0xea4bfbe7,0xea430389,
+0xea431304,0xb29b2300,0x7533b29b,0x75730a1b,0x28029815,0x2804d008,
+0x280bd006,0xf1b0d004,0xbf180316,0xe0002301,0x990d2300,0xf983fa1f,
+0x0f01f011,0x9a0bd05b,0x037ff002,0xd0042b02,0x3308f642,0x2b0156fb,
+0x78aad14a,0xea5278eb,0xd0092303,0x9b299917,0x22004638,0xfe64f7fd,
+0xf3c070a8,0x70e8200f,0x203cf896,0x303df896,0x2303ea52,0x9916d00b,
+0x46389b29,0xf7fd2200,0xf886fe53,0xf3c0003c,0xf886200f,0x9b0e003d,
+0xd02c2b00,0x78db789a,0x2303ea52,0x9807d027,0x9a0f2400,0x90019b17,
+0x94004641,0x46389402,0xfe5af7fd,0x7088990e,0x200ff3c0,0x9a0770c8,
+0x92019b16,0x94029400,0x46414638,0xf7fd4652,0xf886fe4b,0xf3c00034,
+0xf886200f,0xe0060035,0x33b8f8d7,0x0910f049,0xf8c73301,0xf64233b8,
+0x5afb330e,0xf4034638,0xea497370,0x72330303,0x230ff3c3,0x99177273,
+0xfbeef7ff,0xf3c072b0,0x72f0200f,0x46389916,0xfbe6f7ff,0xf3c07330,
+0x7370200f,0xb9139b0c,0x0f00f1b8,0x990fd00f,0xf7ff4638,0x73b0fbd9,
+0x200ff3c0,0x465173f0,0xf7ff4638,0x7430fbd1,0x200ff3c0,0x9c127470,
+0x68239809,0x0304f043,0xb01d6023,0x8ff0e8bd,0x0001bae4,0x2325b570,
+0x2303700b,0xf641704b,0x5cc3032c,0x708b4605,0x032ef641,0x460c5ac0,
+0xfca0f003,0x032df641,0x5ceb70e0,0x71231d60,0x46c0bd70,0x4ff7e92d,
+0x9de4f8b0,0xfb09230c,0xf5000303,0xf503675e,0x4680665e,0x360c3704,
+0x0a00f04f,0xe01f9101,0x46384659,0xfdc2f7f7,0xf7fd4604,0x9b01fc23,
+0xd0084298,0x46594638,0x2d004622,0x4625bf08,0xfd7ef7f7,0xf8d8e005,
+0x46210048,0xf7fa2201,0xf856fd2f,0x42ab3c0c,0xf10ad1e2,0x3e0c0a01,
+0x0309ebca,0xf10345ca,0xd0013bff,0xe7f02500,0x8ffee8bd,0x4ff0e92d,
+0x9107b089,0x461d9206,0x7c43680f,0xf8b74604,0xb1a39014,0x3de0f890,
+0xd1352b00,0xf7fd4638,0xf8b4fbed,0x6a823324,0x4370f403,0x5f80f5b3,
+0x2300bf14,0x429a2301,0x69464683,0xf8d4d005,0x330133c4,0x33c4f8c4,
+0x4638e081,0xfbb6f7fd,0xf8134b48,0xf8d48000,0xea4f3844,0x18cb0148,
+0x2024f9b3,0x36fcf8b4,0x8000f8c5,0xdb0e429a,0x0f03f1b8,0x190bd80b,
+0x2dbaf8b3,0x3db8f8b4,0x0302ea23,0x3db8f8a4,0x000ff06f,0xf8d4e06f,
+0x330133d0,0x33d0f8c4,0x785b693b,0xf413021b,0xd15f4380,0xe00a461d,
+0x30acf8d6,0x3ffff1b3,0xeb06d04d,0xf8d30383,0x2d0050b0,0xf8d4d047,
+0xeb033844,0x68db0388,0x2b03681b,0xeb04d802,0xe7d10348,0xb155464e,
+0x300ff995,0x1af64638,0x2b027a2b,0x3e08bf08,0xf7fd4631,0xf8dbfb65,
+0xf04f3004,0x465a0a00,0x0380f3c3,0x0901f04f,0x46394620,0xa000f8cd,
+0x9004f8cd,0x8008f8cd,0xa00cf8cd,0xf8cd9504,0xf7ffa014,0x9a07faf3,
+0x42bb6813,0x6ca0d004,0x464a4639,0xfc84f7fa,0x46509b06,0x9000f8c3,
+0x33a4f8d4,0xf8c43301,0xf8d433a4,0x199b33a8,0x33a8f8c4,0x9a06e00f,
+0x60132300,0x46396ca0,0xf7fa2201,0xf04ffc6d,0xe00430ff,0x5010f8db,
+0xd1a82d00,0xb009e79c,0x8ff0e8bd,0x0001bd7a,0x41f0e92d,0x46047c45,
+0x680e4617,0xf7ffb115,0xe010ff39,0x33c4f8d0,0x33014631,0x33c4f8c0,
+0x6c806015,0xfc7cf7f7,0x46316ca0,0xf7fa2201,0xf04ffc47,0xe8bd30ff,
+0x46c081f0,0x2207b510,0xf840f00d,0x46c0bd10,0x47f0e92d,0x46812600,
+0x46b0460d,0xeb05e016,0x687c0708,0x6e21b17c,0xf8d9b129,0xf8b40048,
+0xf7fa2064,0xf8d9fc49,0x46210048,0xf7fa2290,0x2300fc43,0x3601607b,
+0x0804f108,0x429e682b,0x2300d3e5,0xe8bd602b,0x46c087f0,0xf8d0b57f,
+0x460e3848,0x685d6818,0xf0056804,0x23fff9c1,0x2100b2c0,0x90039301,
+0x46304622,0x9100462b,0xf00c9102,0xbd7ffb9d,0x41f0e92d,0x3024f890,
+0x7d1af5ad,0xf8d04606,0xb16b7848,0x2324f8b0,0x6328f500,0x4270f402,
+0x5f00f5b2,0xf44fbf14,0x2200729c,0x189f3304,0x2c006bfc,0x4621d14c,
+0x72daf44f,0xf7f8a802,0xf506f8af,0xa86f5538,0x22844621,0xf8a8f7f8,
+0x46a43550,0x682b46a0,0xf003a802,0xea4f0e7f,0x686b018e,0xf10c5842,
+0x18d20c01,0xbf844542,0x46744690,0xf1bc3508,0x50420f40,0xbb3cd1eb,
+0x3d44f8d6,0xbf181e1a,0xf8962201,0xb1333024,0xf5064621,0xf00c704a,
+0x4604fafb,0xf107e018,0x46210574,0xf00c4628,0x687bfaf3,0x2b024604,
+0x7b3ad10e,0x33fdb962,0x46289300,0xa9902301,0xf00c9201,0x9b90faab,
+0x18d3aa9a,0x4c25f813,0xf50d4620,0xe8bd7d1a,0x46c081f0,0x9c04b513,
+0x9c059400,0xf2439401,0x590004a0,0xfac0f003,0x46c0bd1c,0x47f0e92d,
+0x46049d09,0x6c804688,0x01baf105,0x469a4691,0xfb90f7fa,0x0718f105,
+0xb9284606,0x33c0f8d4,0xf8c43301,0xe03033c0,0xf7fd21a2,0x4630fa25,
+0xf7fd4639,0x6932fa29,0xe0023517,0x54ab1c6b,0x2d003d01,0x6934d1fa,
+0x2318ea4f,0xf8847063,0x70a58000,0x1d2070e5,0x22064649,0xf844f7f8,
+0x000af104,0x22064651,0xf83ef7f8,0x0010f104,0x22069908,0xf838f7f8,
+0x75e575a5,0x34189b0a,0x4630601c,0xf7fd2107,0x4630fa05,0x87f0e8bd,
+0x41f0e92d,0x4698b088,0x460d9b0e,0x93014614,0x9200ab07,0x21089302,
+0x4623462a,0xf7ff4606,0x4607ffa5,0x3801b908,0x2401e01a,0xf8d62500,
+0x95002848,0x94029401,0x95049503,0x8014f8cd,0x23baf642,0x46395cf3,
+0x46306912,0xf97af7ff,0x46214630,0x4623463a,0xf7fe9400,0x4628f955,
+0xe8bdb008,0x46c081f0,0xf241b537,0x59034454,0x68194605,0xf00ca801,
+0x592bfe0b,0x68182400,0x7b03e008,0x0f02f013,0x1c63d001,0xa801b2dc,
+0xfe04f00c,0xd1f42800,0xbd3e4620,0x2300b513,0x3007f88d,0x3006f88d,
+0x3007f88d,0xf5007d83,0x3418542c,0xf243b153,0x58c30388,0xb12b781b,
+0x3007f89d,0x0304f043,0x3007f88d,0xffccf7ff,0x428379a3,0xf89dd10b,
+0x79e32007,0xd1064293,0x2006f89d,0x42937a23,0x2000d101,0x71a0e007,
+0x3007f89d,0x71e32001,0x3006f89d,0xbd1c7223,0x43f0e92d,0xac0db0a1,
+0x46894605,0x21004690,0x46202228,0xf7f7461e,0xa803ff7f,0x22282100,
+0xff7af7f7,0x5026f505,0x68033008,0x7dabb93b,0xf8d5b97b,0x7b1b3848,
+0xd1042b05,0x46214889,0xf9e8f00c,0x2b04e005,0x4628d103,0xf7ff4621,
+0xab03fe7d,0x46289300,0xf8d5ab0d,0xf5051328,0xf7fe724b,0x220cfe2f,
+0x21004630,0xff54f7f7,0x3320f895,0xf8957233,0x72733321,0x2326f995,
+0x2301b122,0x3b0172b3,0xe00272f3,0x72b32302,0xf8d572f2,0x685b3848,
+0xd10d2b02,0x3352f8b5,0x0f20f013,0x7ab3d008,0xea437af2,0xf0432302,
+0x72b30320,0x72f30a1b,0x3848f8d5,0xb1637b1b,0x23bbf642,0xb1435ceb,
+0x7af27ab3,0x2302ea43,0x6380f443,0x0a1b72b3,0xf1b972f3,0xf1060f80,
+0xd110070c,0x3045f898,0xf10db16b,0x2100045f,0x2024f898,0xf7f74620,
+0xf898ff0f,0x46382024,0x46232100,0xf898e005,0x46382024,0xf1082100,
+0xf7fe0325,0x2101fc77,0x9a0dab0e,0xfc72f7fe,0x3324f8b5,0xf4034604,
+0xf5b34370,0xd1095f00,0x70032303,0x70432301,0x0324f8b5,0xf95af003,
+0x340370a0,0x3326f995,0xf1b9b18b,0xd10e0f80,0x70232305,0x70633b01,
+0x720cf241,0x3b015cab,0x5cab70a3,0x230070e3,0x71637123,0xf9953406,
+0xb95b3326,0x70233306,0x70632302,0x3322f8b5,0xf8b570a3,0x0a1b3322,
+0x340470e3,0x032df641,0xb13b5ceb,0x3326f995,0x4621b123,0xf7ff4628,
+0x4604fc79,0x3848f8d5,0xb3837b1b,0xf88d2300,0xf642307f,0x5ceb23bd,
+0x2301b113,0x307ff88d,0x23bcf642,0xb12b5ceb,0x307ff89d,0x0302f043,
+0x307ff88d,0x23bef642,0xb12b56eb,0x307ff89d,0x0304f043,0x307ff88d,
+0x077ff10d,0x463b4620,0x2201212a,0xfc06f7fe,0x532bf505,0x4604781b,
+0x212fb12b,0x463b2201,0xfbfcf7fe,0xf8d54604,0x7b1b3848,0xf243b91b,
+0x5ceb038c,0x9a03b13b,0x4620b12a,0xab042132,0xfbecf7fe,0xf1b94604,
+0xbf140f80,0x22012202,0x00d0f8d8,0xf0034621,0xf642f86b,0x5ceb3319,
+0xb12b4602,0x512cf505,0xf7fe3118,0x4602fbcd,0x1b929b28,0xb021601a,
+0x83f0e8bd,0x0001ba34,0x43f0e92d,0x9d0db085,0x682c9e0c,0x3c1e4691,
+0xf842aa04,0x92004d04,0xf106461a,0x460f031e,0xf7ff4680,0x9b03feb9,
+0x331e2100,0x602b221e,0xf7f74630,0x2f80fe3d,0x9a03d10a,0x46494640,
+0x4633321c,0xfe74f7fe,0x46494640,0xffd0f7fd,0x71b3b2bb,0x2f800a1b,
+0xd10571f3,0x000af106,0x2206490a,0xfe44f7f7,0x014cf108,0xf1062206,
+0xf7f70010,0xf508fe3d,0xf10651be,0x31160016,0xf7f72206,0xb005fe35,
+0x83f0e8bd,0x0001a898,0xf44fb5f0,0xf5ad7300,0x460d7d05,0xab839383,
+0xae034617,0x21509301,0x462b2200,0x96004604,0xffa6f7ff,0x4620b117,
+0xf8aaf7fe,0x46339a83,0xf5043203,0xf44f60e8,0xf022711a,0xf7fe0203,
+0x4620fae9,0xf8bd214a,0xf7fd220c,0x4620fdc3,0xf7fd4629,0x9983fef7,
+0x39024620,0xb2899183,0xfe82f7fe,0x4620b117,0xffb6f7fd,0x7d05f50d,
+0x46c0bdf0,0x4605b570,0x2400460e,0xf8d3192b,0xb1391dc8,0xb12b798b,
+0xb11b790b,0x46324628,0xffb6f7ff,0x2c103404,0xbd70d1f0,0xf8d0b570,
+0xf5ad3d00,0xf0237d04,0xf8c00302,0x790b3d00,0x460e4605,0xd0342b00,
+0x30e4f8d1,0x0f20f013,0xf8d0d02f,0xf8d2280c,0xf0033124,0x2b030303,
+0x3b01d102,0x3128f8c2,0x3124f8d2,0x0303f003,0xd1062b03,0x3d00f8d5,
+0x0302f043,0x3d00f8c5,0xf44fe017,0x93837300,0xffb0f7fc,0x0370f243,
+0xab8350e8,0xac034602,0x46289301,0x46332180,0xf7ff9400,0x4628ff2d,
+0x9a834621,0xf7fe2300,0xf50dfacb,0xbd707d04,0x4605b570,0x192b2400,
+0x1dc8f8d3,0x798bb131,0x790bb123,0x4628b113,0xffacf7ff,0x2c103404,
+0xbd70d1f1,0xf890b510,0x46043d4b,0xf002b1b3,0xf894ff23,0x21003d48,
+0x18624318,0x13b4f642,0x31025ad2,0x1329f640,0xbf98429a,0x0001f040,
+0xd1f2290c,0x0301f1d0,0x2300bf38,0x3d4af884,0x46c0bd10,0x4ff0e92d,
+0x468b4681,0x1048f8d9,0x9100b089,0x302af892,0x8b904617,0x9301b90b,
+0xf892e002,0x92012022,0x302cf897,0xf410b9a3,0xd0116f00,0x683a9b01,
+0x0143eb0b,0x7dd27d93,0x1158f8b1,0x2302ea43,0xd1054299,0x355cf8d9,
+0xf8c93301,0xe184355c,0xf0138c3b,0xf0400204,0xf4008180,0x637b4380,
+0xf243b13b,0xf85903a0,0x63ba0003,0x22024639,0xf897e15b,0xf3c0502c,
+0x2d002a80,0x8111f040,0xeb0b9901,0x68390041,0x4158f8b0,0x7d8b7dca,
+0x2302ea43,0x3158f8a0,0x7d8a7dcb,0xea429901,0xf0122203,0xea4f000f,
+0xd14b0381,0x040beb03,0x1118f8d4,0x9800b149,0xf7fa462a,0xf8c4f819,
+0xf8c45118,0xf8c45138,0xf1ba524c,0xf0000f00,0x697b80eb,0xf8c448a5,
+0x68fb3118,0xf5c36879,0xf8c463e4,0x22083138,0xfbfef7f7,0x3004f8db,
+0xf023b110,0xe0010308,0x0308f043,0x3004f8cb,0x03a0f243,0x2003f859,
+0x4b999801,0x4b995c19,0xeb025c5b,0x6b130283,0xf243b933,0xf8390394,
+0x2b003003,0x811ef000,0x464869bb,0x7c597c1a,0x2101ea42,0xfea4f7fd,
+0xeb0b9901,0xf8c30381,0xe10f024c,0x060beb03,0x1118f8d6,0xf022b1a1,
+0xf024020f,0x429a030f,0xf004d104,0x3301030f,0xd00f4298,0x462a9800,
+0xffc2f7f9,0x5118f8c6,0x5138f8c6,0x524cf8c6,0x3400f8d9,0xf8c93301,
+0xe0ea3400,0xf8d668ba,0x429a3138,0xf243d8ea,0xf85903a0,0x98012003,
+0x5c194b75,0x5c5b4b75,0x0283eb02,0xb9248e14,0x0394f243,0x4003f839,
+0x69bbb1cc,0x7c1a4648,0xea427c59,0xf7fd2101,0xf8d6fe5f,0x1ac0324c,
+0xd30c42a0,0xf8d69800,0x462a1118,0xff8cf7f9,0x5118f8c6,0x5138f8c6,
+0x524cf8c6,0x9901e0b9,0xeb0b68bd,0xf8d60681,0x462a4118,0x8014f8b4,
+0x68796920,0xf7f74440,0x4620fc67,0x0105eb08,0xfe32f7fc,0x3138f8d6,
+0x1b5b9800,0x3138f8c6,0x22006979,0xff68f7f9,0x0f00f1ba,0x809ef040,
+0x3118f8d6,0xa138f8c6,0xf8c6617b,0x697ba118,0xa24cf8c6,0x8a99691a,
+0x0318f102,0xf1a1607b,0x60bb0318,0x3029f897,0x60f9603a,0xf102b12b,
+0x607b031e,0x031ef1a1,0xf89760bb,0xb143302a,0x9a01687b,0x607b3302,
+0xf88768bb,0x3b022022,0x683a60bb,0x78527813,0x2302ea43,0x6b7b83bb,
+0x6bb9b173,0xf991687b,0x189b200e,0xf991607b,0x68bb200e,0x60bb1a9b,
+0xf1bae002,0xd15d0f00,0xf10d6839,0x3104061a,0x46302206,0xfc0cf7f7,
+0xad056839,0x2206310a,0xf7f74628,0x6839fc05,0x040ef10d,0x31104620,
+0xf7f72206,0xf897fbfd,0xb12b3029,0xa8026839,0x22063118,0xfbf4f7f7,
+0xf4138bbb,0xf4037f80,0xd1057300,0xbf142b00,0x462b4623,0xe004677e,
+0xb90b677c,0xe001673d,0x673bab02,0x66fb683b,0xb16b6bbb,0x2b017a1b,
+0x2b03d00a,0xf243d008,0xf85903a0,0x46390003,0xf0032203,0xe019f84f,
+0x781b6f7b,0x0f01f013,0xf8d9d004,0x33013570,0x3570f8c9,0x370cf8d9,
+0xf8cb4639,0xf2433020,0xf85903a0,0x22000003,0x9800e7e7,0x22006979,
+0xfec6f7f9,0xe8bdb009,0x46c08ff0,0x0001bbec,0x0001bd7a,0x0001a110,
+0x47f0e92d,0xb0a22400,0x4026f88d,0x402ff88d,0x402cf88d,0x4064f88d,
+0x9306461f,0x46058a9b,0x468a2b21,0x94214691,0x940a940f,0xd93f9207,
+0x8010f8d7,0xa81f2206,0xf7f74641,0xf108fb8d,0x92010206,0xf8987852,
+0xea433006,0xf8ad2302,0xf3c33020,0xf8ad0381,0xf8bd3022,0xf3c33020,
+0xf4031203,0xf5b37340,0xbf147f40,0x23012300,0x302df88d,0x3022f8bd,
+0x2024f8ad,0xbf0a2b02,0x3024f8bd,0xf3c34623,0xf89d03c0,0xb2db402d,
+0x302ef88d,0xbf0c2c00,0x22282222,0x3202b103,0x302ff89d,0x3204b103,
+0x8a9b9b06,0xd2054293,0x3404f8d5,0xf8c53301,0xe1cd3404,0x7da89901,
+0xf003790b,0xf88d0201,0x28002030,0x7c2bd144,0xd0412b00,0x3024f895,
+0xb99cb1a3,0x3020f8bd,0x7f80f413,0x3104d001,0xf413e005,0xd0017f00,
+0xe000310a,0x46283110,0xf0022201,0x3800fcef,0x2001bf18,0x0034f88d,
+0xf1059801,0x3004014c,0xf7f72206,0xb340fa2d,0x3020f8bd,0x7f80f413,
+0xf89dd105,0xb1133030,0x3034f89d,0xf89db9eb,0xb113302d,0x3030f89d,
+0x7c2bb9bb,0xf0002b00,0xf89d818b,0x2b003034,0x8186f000,0x2b007dab,
+0x8182f040,0xe0092601,0x9901b93a,0x31044628,0xfcbcf002,0xf0002800,
+0x26008177,0x21069806,0xfcbaf7fc,0xf1029a01,0x93020318,0x302df89d,
+0xf102b113,0x9302031e,0xf88d2300,0xf89d3031,0xb1eb302e,0xf7fc9802,
+0xf3c0fccb,0xf88d13c0,0x2b003031,0x8158f040,0xf0004ba9,0xf88d0207,
+0x5c9a2026,0x5c9b4ba7,0xf3c0930a,0xf88d1300,0x9b02302c,0x93023302,
+0x3026f89d,0x3064f88d,0x3031f89d,0x9806b90b,0x4650e003,0xf7f69906,
+0x8a81fe03,0xf7fc3904,0x9a06fc87,0x8a939c02,0x93046912,0x1b1b1aa4,
+0x46394650,0xf7f69303,0x1b00fdeb,0xbb269005,0x03a0f243,0x990158e8,
+0xab219a07,0xfceaf002,0xf0402800,0xe121811d,0x3020f8bd,0x7f80f413,
+0xe012d00d,0x2020f8bd,0x3023f895,0x7240f402,0xbf142b00,0x7300f44f,
+0x429a2300,0xf8d5d005,0x330133f8,0x33f8f8c5,0x7dabe102,0xf89db1bb,
+0x9a21302d,0x6953b11b,0x309ef8b3,0xf8b2e036,0xf8ad30e8,0xf8bd306c,
+0xf4133020,0x68535f80,0xf443bf14,0xf4233300,0x60533300,0xf895e028,
+0xb1033023,0x9b21b1fe,0xf899b9eb,0xf8992012,0x99013013,0x2203ea42,
+0x02c7f3c2,0x310a4628,0xbfd42a0e,0x22012200,0xfb6af00c,0xb9509021,
+0x3023f895,0xf0402b00,0xf8d580cb,0x3301340c,0x340cf8c5,0x9b21e0c4,
+0x30e8f8b3,0x306cf8ad,0x3030f89d,0x2b007daa,0x2a00d03e,0x80b8f040,
+0x3023f895,0x9801b14b,0x014cf105,0x32063010,0xf93af7f7,0xf0002800,
+0x990180ab,0x78a31d0c,0x401a7862,0x7921790b,0x78e24013,0x7963401a,
+0x400b4011,0xd01f2bff,0x3022f895,0x461eb9e3,0x2206e008,0x5102fb06,
+0x31524620,0xf91cf7f7,0x3601b168,0x3114f8d5,0xd3f2429e,0x03a4f243,
+0xb13358eb,0xf2438822,0x429a3333,0x2300d101,0x2301e000,0xd17b2b00,
+0x46414648,0xfc00f00b,0xf89d6338,0x2b003030,0xf000d167,0x2816007f,
+0xd80cd03a,0xd025280b,0x2802d804,0x2804d016,0xe05ad01a,0xd023280c,
+0xd0272812,0x2830e055,0xd804d03c,0xd02d2818,0xd0312824,0x2860e04d,
+0x286cd040,0x2848d044,0xe046d036,0x35d8f8d5,0xf8c53301,0xe04035d8,
+0x35dcf8d5,0xf8c53301,0xe03a35dc,0x35e0f8d5,0xf8c53301,0xe03435e0,
+0x35e4f8d5,0xf8c53301,0xe02e35e4,0x35e8f8d5,0xf8c53301,0xe02835e8,
+0x35ecf8d5,0xf8c53301,0xe02235ec,0x35f0f8d5,0xf8c53301,0xe01c35f0,
+0x35f4f8d5,0xf8c53301,0xe01635f4,0x35f8f8d5,0xf8c53301,0xe01035f8,
+0x35fcf8d5,0xf8c53301,0xe00a35fc,0x3600f8d5,0xf8c53301,0xe0043600,
+0x3604f8d5,0xf8c53301,0x46283604,0xaa019921,0xfc1cf7ff,0x46c0e00f,
+0x0001bd7a,0x0001a110,0x99064650,0xf7f92200,0xe004fc8b,0x2b007dab,
+0xaee0f43f,0xb022e6d8,0x87f0e8bd,0x4a2db5f0,0x7813b097,0x460f4604,
+0xd1512b00,0x70133301,0x6db8f8b0,0x69cbe02f,0xf013ad13,0xd0060f04,
+0x46202301,0x9314462a,0xfd44f7fc,0x4620e005,0xaa14a903,0xf7ff462b,
+0xb978f803,0xe0094605,0x93002301,0xf852aa03,0x46202025,0xf7fd9913,
+0x3501fa9f,0x429d9b14,0xe00cdbf2,0x0f10f110,0x4638d109,0x9a039915,
+0xfcaef7f6,0x3db8f8b4,0xd00a429e,0xb146461e,0x46384631,0xf7f6aa15,
+0x4601fd09,0x28009003,0x6aa1d1c5,0xf8b4b169,0x2b0f3dea,0xf421d809,
+0x62a17180,0xf8d4b929,0xf04f073c,0xf7fc32ff,0x4b02f88f,0x701a2200,
+0xbdf0b017,0x0001c708,0x4ff0e92d,0x9105b09f,0x180cf8d0,0x3844f8d0,
+0x7a1b9107,0xb1534607,0x2120f8d1,0x4304f240,0x0303ea02,0x6080f5b3,
+0x2001bf18,0x6880e005,0xfe6af7f5,0xbf183800,0xb1282001,0x073cf8d7,
+0xfa5cf7fc,0xe3782000,0x2cf8f8d7,0x0cf8f8c7,0x0f40f012,0xd0029206,
+0xf7fc4638,0x7dbbfc1b,0x9b06b133,0x0f02f013,0x4638d002,0xfb40f7ff,
+0xf0119906,0xf0005f00,0x9a0581aa,0x2a002300,0xf04fbf0c,0x220832ff,
+0x93099208,0xf8ade17e,0x0c12206e,0x206cf8ad,0xf8d36cba,0x920c3174,
+0x206ef8bd,0x3072f8ad,0x4307f3c3,0x3074f8ad,0x0360f002,0x0100f04f,
+0xf8ad2b40,0xf8bd1070,0xd106106c,0x3568f8d7,0x3312eb03,0x3568f8c7,
+0xf001e156,0xeb070107,0xf8d30381,0x910d0778,0x21006ac3,0x091cf002,
+0x69044798,0x78224680,0xea427863,0xf1002503,0x930a031c,0x306ff894,
+0x206ef894,0x2b03ea42,0x3026f894,0x0f01f013,0x990ad013,0x3009f991,
+0x0383eb07,0x2dc8f8d3,0x3324f8b7,0x4370f403,0x5f80f5b3,0x2300bf14,
+0xeb022301,0x6d150283,0xf3c5e007,0x463812c0,0x0126f104,0xffe2f00b,
+0xb10d4605,0x502cf8c8,0xf0037823,0x930b0304,0x306ef8bd,0xf3c30b1e,
+0xd0052a03,0x33acf8d7,0x199b3b01,0x33acf8c7,0x0f00f1ba,0xf8d7d005,
+0x3b0133ac,0xf8c74453,0xf48b33ac,0x6cb86380,0xf3c34641,0xf7f62b80,
+0xf8bdfb8b,0xf013306e,0xd02e0f02,0x3548f8d7,0xf8c73301,0xf8d73548,
+0x3b013568,0x2e01199b,0x3568f8c7,0xf642dd05,0x58bb6248,0x199b3b01,
+0xf1bb50bb,0xd0150f00,0x3578f8d7,0x6248f642,0xf8c73301,0x58bb3578,
+0xf8d7b123,0x33013554,0x3554f8c7,0x2b0158bb,0xf8d7d904,0x33013558,
+0x3558f8c7,0x3501b9c5,0xf013e096,0xd1170ffe,0x68139a0a,0x5f80f413,
+0xf8d7d012,0x33013548,0x3548f8c7,0x0f00f1bb,0xf8d7d004,0x33013578,
+0x3578f8c7,0xd07c2d00,0x370cf8d7,0xe078622b,0x0f0cf1b9,0xf1b9d075,
+0xd1050f10,0x35b0f8d7,0xf8c73301,0xe06c35b0,0x0f14f1b9,0xf8d7d105,
+0x330136d8,0x36d8f8c7,0xf1b9e063,0xd1100f04,0x2b007dbb,0x2d00d05d,
+0x4638d05b,0xfb12f7fc,0xf0137b2b,0xd1560f02,0xf0137e6b,0xd1520f01,
+0xf1b9e04f,0xd04e0f08,0x0f18f1b9,0xf8bdd049,0xb12b3074,0x33d8f8d7,
+0xf8c73301,0xe04033d8,0x3026f894,0x0f01f013,0xb126d019,0x3548f8d7,
+0xf8c73301,0xf1bb3548,0xd0320f00,0xb9137dbb,0x3023f897,0xf8d7bb6b,
+0x33013578,0x3578f8c7,0xf8d7b33e,0x3301354c,0x354cf8c7,0x9b0be021,
+0xf642b913,0xe00613c2,0x13c2f642,0x459a5afb,0xf642d004,0x5afb13c4,
+0xd10d429e,0x3568f8d7,0xf8c718f3,0xf1bb3568,0xd00a0f00,0x3550f8d7,
+0xf8c73301,0xe0043550,0x33bcf8d7,0xf8c73301,0x250133bc,0x2500e000,
+0x990d4638,0xf7fc2201,0x990bffed,0x03a0f243,0x290058f8,0xf04fbf08,
+0x464b0a00,0x46412400,0x9600aa1a,0xa004f8cd,0xf0029402,0xf898fbef,
+0xb12b3024,0x46414638,0x206ef8bd,0xfb9ef7fc,0x980cb125,0x22014641,
+0xfa6af7f9,0x0f00f1bb,0xf642d002,0x50fc6348,0x9b089a09,0x429a3201,
+0xd2079209,0x380cf8d7,0x2170f8d3,0x0f01f012,0xae79f47f,0x03a0f243,
+0x210058f8,0xfa76f002,0x3deaf8b7,0xf507b12b,0x4638615e,0xf7ff3104,
+0x9909fdc5,0x42919a08,0xf8d7d305,0xf0433cf8,0xf8c75300,0x9b063cf8,
+0x0f04f013,0xf8d7d00a,0x99073458,0xf8c73301,0xf2433458,0x58f803a0,
+0xf96af002,0xf0119906,0xd00b0f20,0xf6429b07,0xf8d33138,0x587b2124,
+0x9a074313,0x3124f8c2,0x507b2300,0xf4139b06,0xd0046f00,0x33d8f8d7,
+0xf8c73301,0x990633d8,0x4f00f411,0x8094f000,0x25009a05,0xbf0c2a00,
+0x3afff04f,0x0a08f04f,0x46a8462c,0xb90ce008,0xe000461d,0xf1086063,
+0x45d00801,0x461cd207,0x0778f8d7,0x47986dc3,0x28004603,0xf8d7d1ef,
+0x6e030778,0xe0694798,0x692e2300,0xb004f8d5,0x606b211e,0xf8d74628,
+0xf7fc9048,0x7b33f89d,0x0f04f013,0x8aabd006,0xd9102b01,0x21024628,
+0xf892f7fc,0x69288aab,0xd9082b07,0x79c27983,0x2202ea43,0xf0137bb3,
+0xd0060f01,0xf8d7e040,0x33013404,0x3404f8c7,0xf3c2e03a,0x2c020481,
+0xbb2cd000,0x0110f100,0x784a788b,0x431a7c00,0xea4078cb,0x43130202,
+0x431a790a,0x4313794b,0xf010d002,0xd0050f01,0x3414f8d7,0xf8c73301,
+0xe01d3414,0x356cf8d7,0x2c023301,0x356cf8c7,0x4638d106,0x46324649,
+0xf7ff462b,0xe014fae1,0xd8082c01,0x03a0f243,0x6cb958f8,0x462b4632,
+0xfaf8f002,0xf8d7e009,0x33013410,0x3410f8c7,0x46294648,0xf7f92200,
+0x465df987,0xd1932d00,0xd30545d0,0x3cf8f8d7,0x4300f443,0x3cf8f8c7,
+0xf4139b06,0xd0083f80,0x21014638,0xfc16f7fc,0xf8d7b118,0xf00b07f8,
+0x9906f9dd,0x2f80f411,0xf8d7d004,0x68183848,0xf840f004,0xf4129a06,
+0xf0005f00,0x683980c2,0x270cf8d7,0xf7f6486c,0xf8d7fe6b,0x6839680c,
+0x270cf8d7,0xf7f64869,0xf8d6fe63,0xf8d62154,0xf8b63158,0xb2891434,
+0xf8b69111,0xf8b61436,0xb289b3e8,0x83eaf8b6,0xf8b69110,0xf8b6a50e,
+0xf8d693ee,0xf8b61180,0x910e0490,0x17c0f8b6,0x57d0f8b6,0x47d2f8b6,
+0xf8adb280,0xb2891012,0xb2ad910f,0xb2a46839,0x48559000,0xfe38f7f6,
+0x4623462a,0x4853990f,0xfe32f7f6,0xfb8bfa1f,0x4851990e,0xfe2cf7f6,
+0xf888fa1f,0x9911465b,0xfa1f9a10,0xfa1ffa8a,0x484cf989,0x8000f8cd,
+0xfe1ef7f6,0x4651464a,0xf7f64849,0xf8d7fe19,0x4848380c,0x14d0f8b3,
+0xf7f6b289,0xf8d7fe11,0x4845380c,0x14d2f8b3,0xf7f6b289,0xf8d7fe09,
+0x4842380c,0x14d4f8b3,0xf7f6b289,0x217efe01,0xf7fc4638,0x21a2fbc5,
+0x46384604,0xfbc0f7fc,0x46024621,0xf7f6483a,0xf241fdf3,0x4638311a,
+0xfbb6f7fc,0x3116f241,0x46384605,0xfbb0f7fc,0x3118f241,0x46384604,
+0xfbaaf7fc,0x46034622,0x48304629,0xfddcf7f6,0x3126f241,0xf7fc4638,
+0x4601fb9f,0xf7f6482c,0x482cfdd3,0xfdd0f7f6,0xe0342500,0x2154f8d6,
+0x50caab12,0x29203104,0x2400d1f8,0x58e1ab12,0x34044825,0xfdc0f7f6,
+0xd1f72c20,0x35014823,0xfdbaf7f6,0xd11e2d08,0x35b4f8d7,0x073cf8d7,
+0xf8c73301,0xf7fb35b4,0x9a06ff2f,0xda032a00,0x280cf8d7,0x61932300,
+0x3deaf8b7,0xf507b12b,0x4638615e,0xf7ff3104,0xf8d7fc0d,0x1e183cf8,
+0x2001bf18,0x2100e001,0xb01fe7c8,0x8ff0e8bd,0x0001a12c,0x0001a16c,
+0x0001a1a0,0x0001a1d8,0x0001a20b,0x0001a21e,0x0001a267,0x0001a286,
+0x0001a298,0x0001a2aa,0x0001a2bc,0x0001a2d9,0x0001a31c,0x0001a331,
+0x0001a338,0x0001a336,0x41f0e92d,0x46084606,0xf7fb4688,0x4604ff1f,
+0x0010f8d8,0x78437802,0x2303ea42,0x0281f3c3,0xd1052a02,0x7f40f413,
+0x2200bf14,0xe0082201,0x2200b10a,0xf3c3e005,0x2b091303,0x2200bf14,
+0x79032201,0xf0131d01,0xd00d0f01,0x3324f8b6,0x1238f243,0x4370f403,
+0x113cf243,0x5f80f5b3,0x460abf08,0xe02558b7,0xf8b6b19a,0x46302324,
+0x4270f402,0x5f80f5b2,0x2200bf14,0xf00b2201,0x4607fe2b,0xf8d6b9b0,
+0x330133c0,0x33c0f8c6,0x4630e03c,0xfc7ef00b,0xb1284607,0x5342f506,
+0x33686942,0xd005429a,0x33c4f8d6,0xf8c63301,0xe02b33c4,0xb2e44b19,
+0x4b195d1a,0xeb065c9b,0xf8d30383,0xb91b3eb0,0x0390f243,0xb12358f3,
+0x46394630,0xf7fb4642,0xf506fff1,0x781b5345,0x021cf108,0x4b0f7253,
+0x0407f004,0xf8d76117,0x463901f0,0x51ecf8d7,0x5d1b4642,0xf50647a8,
+0x4630615e,0xf7ff3104,0xe004fb5d,0x46416cb0,0xf7f82201,0x2000ffd9,
+0x81f0e8bd,0x0001bd7a,0x0001a110,0x0001a89e,0x461db5f7,0x33fff04f,
+0x330d9301,0x1303fb05,0x8a19460c,0x46068a5b,0x46174299,0x88e1d206,
+0x429988a3,0x4620d204,0xe0294629,0xe0069501,0xa9014620,0xf868f7f6,
+0x42ab9b01,0x9901dc24,0xdb1a2900,0x3d7cf896,0x42a9410b,0x0301f003,
+0xb1cbd101,0xb11be000,0xf7f64620,0xe002f81f,0xf7f64620,0x4601f82f,
+0x6cb02201,0xff98f7f8,0x33c0f8d6,0xf8c63301,0x462033c0,0x463a4629,
+0xffd6f7f5,0xe0002001,0xbdfe2000,0x615ef500,0x3104b570,0x46154604,
+0xffb2f7ff,0x6ca0b920,0x22014629,0xff7cf7f8,0xb96b6aa3,0x3deaf8b4,
+0xd9092b1f,0x7380f44f,0xf8d462a3,0x2101073c,0x32fff04f,0xfbd0f7fb,
+0x46c0bd70,0x47f0e92d,0x46894605,0x0881f100,0xbf342a20,0x27204617,
+0x26004604,0xf816e01d,0xf1bee009,0xd1060f5c,0xf8034623,0xf884eb01,
+0x1c5ce001,0x4b0de010,0x300ef813,0x0f97f013,0xf804d002,0xe007eb01,
+0xebc44620,0x4a080108,0xf7f64673,0x1824fc7b,0x42be3601,0x2300d1df,
+0x0004ebc5,0xe8bd7023,0x46c087f0,0x00016efe,0x0001a341,0xf890b510,
+0x46023d05,0x2001b90b,0x2300e008,0x3d05f880,0x1d2cf8d2,0x073cf8d0,
+0xfd4ef7fb,0x46c0bd10,0xf89db5f7,0x460e5020,0x88c94617,0xb165461a,
+0x0f80f011,0x7c43d001,0xf011b98b,0xd0010f40,0xb1637c43,0x7f80f411,
+0xf411e013,0xd0016f00,0xb9237c43,0x6f80f411,0x7c43d009,0x7c43b93b,
+0xbf0c2b00,0x0403f06f,0x0404f06f,0xf411e059,0xd0045f80,0x3844f8d0,
+0x2b007a1b,0x2300d04f,0x46309301,0x462b4639,0xf86af7f6,0x28004604,
+0x2d00d147,0x8933d045,0x2b063b01,0x4639d841,0x2204a801,0xfbccf7f6,
+0x99018933,0x2b053b02,0xe8dfd837,0x0305f003,0x22070a0c,0xe0222200,
+0xe0092300,0x4300f06f,0x2300e002,0x2300e017,0x33d3ea6f,0x33c3ea6f,
+0xf04388f0,0xf010027f,0xd0010320,0xe0032301,0x0f10f010,0x43d3bf08,
+0xdb114299,0xdc0f4291,0xf04fe013,0xea6f33ff,0xea6f4213,0x88f34202,
+0x0f20f013,0xb119d000,0x03fff042,0xd9044299,0x041cf06f,0xf06fe001,
+0x4620040a,0x46c0bdfe,0x4ff8e92d,0x646ef500,0x468b4680,0x34044691,
+0xf04f2700,0xfb070a34,0xf503f30a,0xeb08636c,0x46300603,0xf7f64659,
+0x4605fab5,0x6823b948,0xd106454b,0x46294630,0xf7f64652,0x4628fb4d,
+0x3701e005,0x2f163434,0xf06fd1e3,0xe8bd001d,0x46c08ff8,0x4ff0e92d,
+0x4690b089,0x2050f89d,0xb04cf8dd,0x46894607,0x92069307,0x646ef500,
+0x0a00f04f,0xb1956825,0x213a4648,0xfac4f7f6,0x464eb908,0x1c46e006,
+0x4631e004,0xfa82f7f6,0x350cb120,0x28006828,0xe000d1f7,0xf10ab945,
+0x34340a01,0x0f16f1ba,0xf06fd1e4,0xe0370416,0x0f00f1b8,0xf8ddd103,
+0xf8cd8048,0x892bb01c,0x4619b90b,0x2b08e003,0x4659bf0c,0x9b062104,
+0xb11388aa,0x1c5e0053,0x0056e000,0x23349a07,0x9a129201,0x7303fb0a,
+0x9a159202,0x92059104,0x8000f8cd,0xb00cf8cd,0x4eecf8d3,0x0ee4f8d3,
+0x46324629,0x47a0464b,0x0f01f016,0xd0074604,0xf7fe4638,0xf8d7fd77,
+0x33013d50,0x3d50f8c7,0xb0094620,0x8ff0e8bd,0xab06b57f,0x2d04f843,
+0x23049300,0x93012200,0x93022301,0x92034613,0xff88f7ff,0xbd00b007,
+0x41f3e92d,0xf8d0461f,0x46053844,0x460c7a1b,0xf8dd4616,0xb1638020,
+0x380cf8d0,0x2120f8d3,0x4304f240,0x0303ea02,0x6080f5b3,0x2001bf18,
+0x6880e005,0xf83cf7f5,0xbf183800,0xb1302001,0x073cf8d5,0xfc2ef7fb,
+0x30fff04f,0x2c34e038,0xdc05d014,0xdb0e2c02,0xdd0f2c03,0xe0092c1b,
+0xd00b2cd6,0x2ca3dc01,0x2cfbe004,0xf240d006,0x429c130b,0xb1ced002,
+0xdd172f00,0x46214628,0x463b4632,0x8000f8cd,0xf9fef001,0x0f17f110,
+0xf243d10a,0x58e803a0,0x46324621,0xf8cd463b,0xf0018000,0xe00bff2f,
+0xe009b910,0x0001f06f,0x0325f100,0xd9012b25,0xe0012000,0x0708f8c5,
+0x81fce8bd,0x4603b510,0xb1187c40,0x073cf8d3,0xfc12f7fb,0x46c0bd10,
+0x7c43b510,0xf8d0b11b,0xf7fb073c,0xbd10fc03,0x4604b570,0xb929460d,
+0x37c0f890,0xf890b17b,0xb9633d05,0xb11868a0,0x462a2103,0xffd0f7f4,
+0x581cf884,0xf884b91d,0xf8845970,0xbd705854,0x41f0e92d,0x681cf890,
+0xb9164604,0xf7ff2101,0xf8d4ffdf,0x7a1d3844,0x68a0b955,0x462a4629,
+0xf8b6f7f5,0x6180f44f,0x460a4620,0xff20f7fb,0x380cf8d4,0x7158f8d3,
+0x68a0b91d,0xf7f54629,0xb91ef8b3,0x46314620,0xffc2f7ff,0x3710f8d4,
+0x3f80f417,0xf043bf14,0xf0230302,0xf8c40302,0xe8bd3710,0x46c081f0,
+0x4605b570,0x4616460c,0xfcccf001,0x3024f895,0xd06c2b00,0xf0014620,
+0x4604fc69,0x0324f8b5,0xfc64f001,0xd1624284,0x2700f895,0x36fff995,
+0x1a9b4631,0x78330098,0x42984632,0x4603bfb8,0x78737033,0xbfb84298,
+0x70734603,0x428378b3,0x4603bfa8,0x78f370b3,0xbfa84283,0x70f34603,
+0x42987913,0x4603bfb8,0x7b137113,0xbfb84298,0x73134603,0xf1063201,
+0x429a0308,0x4632d1f0,0x7d132400,0x42983401,0x4603bfb8,0x7f137513,
+0xbfb84298,0x77134603,0x302cf892,0xbfb84298,0xf8824603,0xf892302c,
+0x42983034,0x4603bfb8,0x3034f882,0x2c083201,0x2200d1e3,0x3024f891,
+0x42983201,0x4603bfb8,0x3024f881,0x303cf891,0xbfb84298,0xf8814603,
+0x3101303c,0xd1ed2a08,0x3044f896,0xbfb84298,0xf8864603,0xbd703044,
+0x2201b570,0x4605b092,0xf001460e,0xb1e0fc33,0x0403f10d,0x46314628,
+0xf7ff4622,0xb2f3ff79,0x01d3eb05,0x426cf241,0xf0035c8a,0x411a0307,
+0x46234628,0xf0024631,0xf7fc0201,0xf642ff0d,0x52ee13b0,0xf7fd4628,
+0xb012fac3,0x46c0bd70,0x41f0e92d,0x3d07f890,0x2b004604,0x80c0f040,
+0x2b007c43,0x80bcf000,0xf8802301,0xf8d03d07,0x7a1b3844,0xf8d0b163,
+0xf8d3380c,0xf2402120,0xea024304,0xf5b30303,0xbf186780,0xe0032701,
+0xf7f46880,0x4607fed5,0x2300b11f,0x3cfcf8c4,0x2104e00c,0x07f8f8d4,
+0xff62f00a,0x073cf8d4,0xfaeaf7fb,0x46394620,0xfc2ef7fc,0x1354f8d4,
+0x6ca0b149,0x2358f8b4,0xfc7af7f8,0xf8c42300,0xf8a43354,0x26003358,
+0x23344635,0x4203fb05,0x3ef0f8d2,0xf8d2b11b,0x47980ee4,0x35011836,
+0xd1f22d16,0x3d64f894,0xf8d4b153,0xf8d4073c,0xf7fb1d14,0xb900fa69,
+0x23003601,0x3d64f884,0x0334f641,0x073cf8d4,0xf7fb58e1,0xb900fa5d,
+0x6aa33601,0x74652500,0x5044f884,0x62a5b13b,0x073cf8d4,0xf04f4629,
+0xf7fb32ff,0xf504f885,0x6ca0615e,0x22013104,0xfec0f7f5,0xb17b7da3,
+0x0385eb04,0x1dc8f8d3,0x798bb139,0x790bb12b,0x4620b11b,0xfaaef001,
+0x35011836,0xd1ef2d04,0x2300b157,0x381cf884,0x3970f884,0x3854f884,
+0xf7fc4620,0xe01ffb15,0x3d08f894,0x4620b913,0xfe4af7fc,0xf7f468a0,
+0xb188fff5,0x380cf8d4,0x3120f8d3,0x0f01f013,0x4620d002,0xfb68f7fc,
+0x073cf8d4,0xfa6ef7fb,0x46201836,0xfb0ef7fc,0x2848f8d4,0x73532300,
+0x3d08f894,0xb91fb923,0x46394620,0xfe50f7ff,0xf8842300,0xe0003d07,
+0x46302600,0x81f0e8bd,0x4ff0e92d,0xb08d7c84,0xb99c4607,0xf7ff2101,
+0x68b8fe3f,0xfe1af7f4,0x46384621,0xfb88f7fc,0xf7fc4638,0xf8d7fe0d,
+0x68183848,0xfb42f002,0x74bb2301,0x46382101,0xfe2af7ff,0xf7f468b8,
+0x2100fe05,0xf7fc4638,0xf8b7fb73,0xf2442828,0x429a3321,0x3b0ed010,
+0xd00d429a,0x429a3307,0x3310d00a,0xd007429a,0x429a3b14,0x3307d004,
+0xd001429a,0xe0052300,0x3840f8d7,0xbf142b02,0x23012300,0x0840f8d7,
+0xe0004619,0x28023101,0xf244d114,0x429a3321,0x3b0ed00e,0xd00b429a,
+0x429a3307,0x3310d008,0xd005429a,0x429a3b14,0x3307d002,0xd101429a,
+0xe0002302,0x42992301,0x4638d3e4,0xfdfcf7ff,0x3710f8d7,0x4638b13b,
+0xfc96f7fc,0x21004638,0xfddaf7ff,0x4638e114,0xfc28f7ff,0xf04f4638,
+0xf7fc31ff,0xf8b7fc1d,0xf2441828,0x42993321,0x3b0ed012,0xd00f4299,
+0x42993307,0x3310d00c,0xd0094299,0x42993b14,0x3307d006,0xbf144299,
+0x21012100,0xe0019109,0x93092301,0x99094638,0x0b28f10d,0xfcb2f7fc,
+0x21084658,0xf8d74a76,0xf7f63740,0xf8d7f867,0x2e006778,0xf8d7d16e,
+0xf8d71758,0xf501074c,0xf8d77100,0xf7f79748,0xf8d7f939,0xf8d73758,
+0xf503274c,0x93007308,0x93022310,0x7344f240,0x23089303,0x93044d67,
+0x93053316,0x46334659,0x96014648,0xf7f79506,0xf8d7fa7f,0xf8c73758,
+0xf8d70778,0x4604274c,0x0a20f04f,0xf5034659,0x46487310,0xf8cd9600,
+0x9602a004,0x96049603,0x95069605,0xfa68f7f7,0x3758f8d7,0x077cf8c7,
+0x274cf8d7,0xf5034680,0x46487330,0x96004659,0xa004f8cd,0x96039602,
+0x96059604,0xf7f79506,0xf1d4fa53,0xbf380401,0xf1b82400,0xbf080f00,
+0x0401f044,0xbf142800,0xf0444623,0xf8c70301,0xb10b0784,0xe0304633,
+0x461d463c,0x0778f8d4,0x6f03b120,0x47984940,0x07a8f8c4,0x34043501,
+0xd1f32d06,0x4848f8d7,0x22082100,0x006cf104,0xf7f56825,0xf8d7ff81,
+0xf0133388,0xd0050f20,0x306cf8b4,0x6380f443,0x306cf8a4,0xf2428a2a,
+0x429a0350,0x7cabd108,0xd8052b05,0x306ef8b4,0x0304f043,0x306ef8a4,
+0xf0132301,0xd04b0fff,0xf1b39b09,0xf43f3fff,0xf8d7af3a,0xf8d72844,
+0xf8d737a8,0x60d3073c,0x37acf8d7,0x61132401,0x37b0f8d7,0xf8d76153,
+0x619337b4,0x37b8f8d7,0xf8d761d3,0x621337bc,0xf906f7fb,0x23032100,
+0x7280f44f,0x46389300,0xf7fb460b,0x4638ff7b,0xf00a747c,0xf8d7ff49,
+0xf8d7073c,0xf44f1d14,0x4623727a,0xfecef7fa,0xf8874638,0xf7fe4d64,
+0x4638f9c1,0xff6af7fd,0x4638b130,0xf9a8f7fe,0x46214638,0xf94af7fe,
+0x21024638,0xfa18f7fc,0x073cf8d7,0xfee6f7fa,0xb00d2000,0x8ff0e8bd,
+0x0001a03d,0x0001c704,0x00017a28,0x5142f500,0x4f70e92d,0xf04f3168,
+0xf8c00901,0xf8801dc8,0x46049d04,0xf0012600,0xf642f943,0x54e623ba,
+0xf04f330a,0xf80435ff,0x3b059003,0x3b0454e5,0x330654e6,0x9003f804,
+0x54e63b03,0x539ff504,0x2102701d,0x4620462a,0xf91cf7fb,0x46494620,
+0xf7fb4632,0x210cf917,0x4620462a,0xf912f7fb,0x4620210b,0xf7fb4632,
+0x210ef90d,0x4620462a,0xf908f7fb,0x4620210d,0xf7fb4632,0x2104f903,
+0x46202202,0xf8fef7fb,0x532bf504,0x0a03f04f,0x9000f883,0x3309f642,
+0xa003f804,0xf804444b,0xf5a3a003,0xf64073c2,0x52e6122a,0x52e2332c,
+0x52e23302,0x52e23302,0x52e23302,0x52e23302,0x52e23302,0x52e23302,
+0x5327f504,0x122bf640,0xf642801a,0xf04f13c2,0x52e20207,0xf04f3302,
+0xf04f0204,0x52e20b02,0xf8243302,0x445ba003,0xb003f824,0xf6414b3c,
+0xf8c4023c,0xf6423d00,0x54e61385,0x53c8f504,0x50a33314,0x131af641,
+0x9016f884,0x9023f884,0x6d5bf884,0x6d55f884,0x6d56f884,0x6d57f884,
+0x6d58f884,0x6d59f884,0x6d5ef884,0x6da0f884,0x6d60f884,0x6d5af884,
+0x9d7df884,0xf50454e6,0x333053e8,0x52c2f504,0xf6416013,0xf8045336,
+0xf5049003,0x334c5304,0x0244f641,0xf24250a3,0xf8041352,0xf504b003,
+0x33685314,0x50a33204,0x3818f642,0x536ef242,0xa003f804,0x0508eb04,
+0xf8842364,0x463136fe,0xf884220b,0x61e6603e,0x903ff884,0x6d4af884,
+0x9d4bf884,0x6d50f8c4,0x6d4cf884,0x6708f8c4,0xf7f54628,0xf06ffe31,
+0xf8040322,0x332c3008,0xeb05706b,0x4909000b,0xf7f54652,0xf241fe45,
+0xf88573e4,0xf804b005,0x444b9003,0x9003f804,0x603cf884,0x8f70e8bd,
+0xb0e7a864,0x00016e89,0x4ff0e92d,0xb81df890,0x4605b0a3,0x0f00f1bb,
+0x4659d102,0xf904f7fc,0x073cf8d5,0xffb8f7fa,0x57b7f505,0x3848f8d5,
+0xf8d3883e,0xf4069008,0xf04f6340,0xf5b30800,0xf8956f40,0x9003acf4,
+0x8cf4f885,0x4630d110,0xf85cf001,0x88384604,0xf858f001,0x6430f444,
+0xbf8c280e,0x5080f44f,0x5000f44f,0xb2a64304,0x4628ac16,0xf7fc4649,
+0x4628fa89,0xf7fd4621,0xf8d5fcf1,0x237f1848,0x93004642,0x31744620,
+0xf8cd4643,0xf00a8004,0x4628f809,0xf7fc4621,0x4628fdb5,0x46424631,
+0xf86cf001,0x4628b920,0xf0012101,0x4606f88f,0x3848f8d5,0x0413f10d,
+0x46316818,0xfea0f002,0x46284622,0xf7ff4631,0xf8d5fba7,0x46213848,
+0x46326818,0xff0af002,0x3848f8d5,0x68184642,0x31fff04f,0xfa94f005,
+0x3848f8d5,0xacf4f885,0xf0026818,0x2201fde9,0x2310f243,0x46285ae9,
+0xf7fb4613,0xf243fe7d,0x5ae92312,0x23014642,0xf7fb4628,0x68a8fe75,
+0x7758f8d5,0xfc0af7f4,0x4204f240,0xf04f4628,0xf7fb31ff,0xf8d5fa79,
+0x46281810,0xfb34f7fc,0x31fff04f,0x1128f8c7,0x4a144628,0xfa6cf7fb,
+0xf5054c13,0xe00368e8,0xf7f8200a,0x3c0afc27,0x3128f8d7,0x0f01f013,
+0x2c09d101,0x4628d1f4,0x4140f44f,0xf8d72200,0xf8d53128,0xf7fb680c,
+0xf8d5fa53,0xb16c47d4,0x349ef8b6,0x0303ea44,0x47d0f8d5,0xf8a6b29b,
+0xe006349e,0x00020402,0x000f4249,0xf7fc4628,0xf8d5fac7,0x68a83388,
+0x0f02f013,0x46216a42,0x43a4f240,0xf444bf1c,0x43217400,0xd002429a,
+0x6f96f5b2,0xf8b5d11f,0x051b3384,0xf5b30d1b,0xdb187f00,0xf2446b02,
+0x429a3322,0x6b43d113,0xf8b6b98b,0xf444349e,0xb29b5480,0x5380f443,
+0x349ef8a6,0x349cf8b6,0xf4234321,0x041b5380,0xf8a60c1b,0x4622349c,
+0x68a82300,0xfc22f7f4,0x49b24640,0xfaa8f7fb,0x080cf8d5,0x26002406,
+0x3844f8d5,0x6b190232,0x4200f442,0xb2925d8b,0xb29b18e3,0xea443b01,
+0xb29b2303,0x2540f8a0,0x3520f8a0,0x2540f8a0,0x36015d8b,0x2e0618e3,
+0xd1e5b29c,0x780a784b,0xea424628,0x21982203,0xfcbcf7fb,0x3844f8d5,
+0x6b1b4628,0x78dc219a,0xea42789a,0xf7fb2204,0xf8d5fcb1,0x46283844,
+0x219c6b1b,0x791a795c,0x2204ea42,0xfca6f7fb,0x219e4628,0xf7fb2200,
+0x4633fca1,0x21984628,0x0282f10d,0xfe86f7fb,0x33012300,0xd1fc2b06,
+0x21804628,0xf7fb2208,0x4628fc91,0x220a215c,0xfc8cf7fb,0x7380f04f,
+0x3100f8c7,0xf44f4628,0x22002180,0xf9a4f7fb,0x3100f44f,0x4628460a,
+0xf99ef7fb,0x1386f642,0x46285aea,0xf7fb2174,0xf895fc75,0xf2423d40,
+0x21827210,0xbf182b00,0x62bcf44f,0xf7fb4628,0xf642fc69,0x5ce923bb,
+0x4628b111,0xfe3af7fb,0x4300f04f,0x3188f8c7,0x4302f103,0x318cf8c7,
+0x4380f44f,0xf8c72110,0xf5033128,0x460a4340,0x68a8627b,0xfbc2f7f4,
+0xf7f468a8,0xb283fa87,0x0824f8a5,0xf8a72100,0x462836a8,0xfa70f7fb,
+0x46042102,0xf7fb4628,0xea40fa6b,0xf8c54004,0x2156082c,0xf7fb4628,
+0xf241fa63,0x00404358,0xf8d550e8,0x2b003830,0x4628da07,0xf7fb21b2,
+0xf241fa57,0x0040435c,0x462850e8,0x88aa2116,0xfc20f7fb,0x21c04628,
+0x2830f8b5,0xfc1af7fb,0x21c24628,0x2832f8b5,0xfc14f7fb,0x46284b4a,
+0x3160f8c7,0x13c2f642,0x21445aeb,0x3164f8c7,0x24004b46,0x3160f8c7,
+0x13c4f642,0xf8c75aeb,0xf6423164,0x5aea13c6,0xfbfcf7fb,0x13c8f642,
+0x21464628,0xf7fb5aea,0x4628fbf5,0xfbb2f7fc,0x0384eb05,0x1dc8f8d3,
+0x4628b111,0xf986f7fb,0x2c043401,0xf505d1f4,0x46285142,0xf7fb3168,
+0x2200f969,0x73f0f241,0x461450ea,0x0384eb05,0x0778f8d3,0x6843b108,
+0x34014798,0xd1f52c06,0x0778f8d5,0x64e8f505,0x47986c43,0x0778f8d5,
+0x47986e03,0x1848f8d5,0x316c4628,0xfc10f7fb,0x46204923,0xf984f7fb,
+0x3848f8d5,0xf0076818,0xf642fbb7,0x5ae9330e,0xf7fb4628,0xf8d5fbc3,
+0x46283848,0x1130f8b3,0xf956f7fb,0x3848f8d5,0xf8b34628,0xf7fb1132,
+0xf642f95d,0x5ce923bb,0xf7fb4628,0x4628fd77,0xfcf4f7fb,0x3848f8d5,
+0x681b4628,0x881a2152,0xfb94f7fb,0x3848f8d5,0x681b4628,0x889a2150,
+0xfb8cf7fb,0xf7fc4628,0x7dabfd07,0xf895b973,0xb15b3023,0x7496f44f,
+0x46c0e00a,0x00017f28,0x00020006,0x00020007,0x00018ca8,0x74faf44f,
+0x3848f8d5,0x681b4a2e,0xf023691b,0x4293437f,0xf5b4d104,0xbf386f16,
+0x6416f44f,0x21944628,0xf7fb4622,0xf8d5fb63,0x23012848,0xf5057353,
+0xf04f605a,0x210033ff,0xf8a5220c,0x301a3db8,0xfb7af7f5,0x33fff04f,
+0x3dbcf8a5,0x3dc0f8a5,0x37c8f8d5,0xf0434628,0xf8c50304,0xf7fb37c8,
+0xf8d5fd47,0x9903073c,0xfd14f7fa,0xb13b6aab,0x62a92100,0x073cf8d5,
+0x32fff04f,0xfaf0f7fa,0x2100686b,0xf8852b09,0xd9041dc6,0x280cf8d5,
+0xf8c24b0c,0x7dab33dc,0x7c6bb11b,0xf8c5b10b,0xf1bb1ddc,0xd1030f00,
+0x21024628,0xfe40f7fb,0x3848f8d5,0xf0066818,0xb023fcaf,0x8ff0e8bd,
+0x00082050,0x00989680,0x43f0e92d,0xb0bd4606,0xf8d0460f,0xf7fa073c,
+0x4968fca3,0xf7f54638,0xf8d6f83b,0x49662454,0xf7f54638,0xf506f835,
+0x30186002,0xf7f5a934,0xf10df871,0x460408b0,0xf1064641,0xf7f5004c,
+0x4622f869,0x495d4603,0xf7f54638,0x68b3f821,0xf8b64641,0x6a5c0384,
+0xf838f7f5,0x46034958,0x46384622,0xf814f7f5,0x3384f8b6,0xd1042b01,
+0x49544638,0xf7f522ff,0x494ef80b,0xf7f54638,0x4951f807,0x2bf8f8d6,
+0x3ac0f8d6,0xf7f44638,0xf642ffff,0x5cf23309,0x46383301,0x56f3494b,
+0xfff6f7f4,0x655cf506,0xf04f3508,0x682b0900,0xd04f2b00,0x4638493f,
+0xffeaf7f4,0x21004b44,0x221f7f5b,0x0091f10d,0x3090f88d,0xfad0f7f5,
+0xf10d682b,0xf893080f,0xf1032024,0x46400125,0xfe8cf7fe,0xf8d6682b,
+0x68d9073c,0xfa4cf7fa,0x4601ac24,0x4620221f,0xf9fef7f5,0xf88d2300,
+0x493430af,0x4643464a,0xf7f44638,0x6829ffc1,0x794a4638,0x68c9790b,
+0x91009401,0xf7f4492e,0x682bffb7,0x10acf8d3,0x2094f8d3,0x3ffff1b1,
+0x4098f8d3,0xeb03d006,0xf8d30381,0xb10b30b0,0xe0007a1b,0x91002300,
+0x46389301,0x46234923,0xff9ef7f4,0x0901f109,0xf1b93504,0xd1a60f04,
+0x46384914,0xff94f7f4,0xf506a934,0xf7f4703d,0x491bffd1,0x46384602,
+0xff8af7f4,0x040ff10d,0x713ef506,0xf8963105,0x462022fc,0xfe36f7fe,
+0x49144638,0xf7f44622,0x7db3ff7b,0x4638b12b,0xf8d64911,0xf7f42ddc,
+0x2000ff73,0xe8bdb03d,0x46c083f0,0x0001a336,0x0001a42c,0x0001a437,
+0x0001a45b,0x0001a474,0x0001a487,0x0001a4a2,0x00016e70,0x0001a4ba,
+0x0001a4cf,0x0001a4ef,0x0001a51c,0x0001a532,0x0001a549,0x294bb500,
+0xe004f8dd,0xd0269a02,0x2921dc06,0x293dd01b,0x291fd015,0xe005d01c,
+0xd006298d,0xd01d29a2,0xd01d294c,0x0016f06f,0xf890e028,0xb90b3cf4,
+0xe0024618,0x3848f8d0,0x60106858,0xf642e01d,0x56c3330a,0xf642e002,
+0x5ac313c4,0xe0146013,0x13c2f642,0xf241e7f9,0xe7f663dc,0xe7f57c43,
+0x32fff10e,0x73fef64f,0xd902429a,0x001cf06f,0xf241e004,0xf82063dc,
+0x2000e003,0x46c0bd00,0x47f3e92d,0x2d40460d,0x46044616,0x990a461f,
+0x902cf8dd,0x8030f8dd,0xa038f8dd,0x280cf8d0,0x80ccf000,0x2d20dc11,
+0x8115f000,0x2d1ddc04,0x2d1ed024,0xe019d044,0xf0002d3e,0xf3008081,
+0x2d2280a1,0x80f5f000,0x2d8ee010,0xdc05d034,0xd00e2d62,0xf0002d7f,
+0xe00780c3,0xd0672da3,0xf5a5db04,0x2b017389,0x8102f240,0x0516f06f,
+0x4631e13b,0xf7fa461a,0xe01ffe45,0x3848f8d0,0xf0026818,0xb2c0faab,
+0xf8946030,0xb1133024,0x3324f894,0xf504e002,0x781b53b7,0xf8d42500,
+0x607307f8,0x788360b5,0xf0002b00,0xf00980d2,0xb2c0fcf1,0xe11860b0,
+0xfc7ef7fa,0xe1144605,0xbfcc290e,0x5280f44f,0x5200f44f,0xd90229e0,
+0x0512f06f,0xf441e109,0xea426330,0xb29d0303,0x22014629,0xfc36f000,
+0xf06fb910,0xe0fc0513,0x53b7f504,0x7c63801d,0xf0002b00,0xf89480aa,
+0x2e006024,0x80a5f040,0x3848f8d4,0xf0026818,0x42a8fa65,0x809df000,
+0xf7fb4620,0x4629fc21,0xf7fe4620,0x4620ffdd,0xfb46f7fb,0xe0dc4635,
+0xf8802301,0xf8803d0a,0xf7fb3d06,0xe088fc03,0x2b041c4b,0x80ccf200,
+0xf013e8df,0x00060005,0x00ca0006,0x21030005,0x330af642,0x7c6354e1,
+0xd0762b00,0xf7fb4620,0x4620fbfb,0xf954f7fb,0x0370f243,0x58e14620,
+0xfae2f7fb,0xf7fb4620,0xe066fb1b,0xb9287c40,0x3309f642,0xf8c95ce3,
+0xe7933000,0x3848f8d4,0x0107f10d,0xf0026818,0xb120fac3,0x3007f89d,
+0x3000f8c9,0xf642e051,0x5ce33309,0xf8c94605,0xe0963000,0x2b041c4b,
+0x808ef200,0x3ffff1b1,0x2103bf08,0xf642b2c9,0x54c13309,0x3848f8d0,
+0xf0046818,0xe038fd6b,0x0f00f1b8,0x2b0cd07f,0xf898d117,0xf1083004,
+0xf0130104,0xd1760501,0xf898f00a,0xf241b138,0x58e24354,0x71132301,
+0x5000f8c8,0xf89ae06d,0xb1400006,0x051df06f,0x2b04e067,0xf89ad163,
+0x28000006,0xf642d15f,0x58e313cc,0x3000f8c8,0x1e4be744,0xd8532bfe,
+0x10c4f642,0x3844f8d4,0x7a1b5221,0x4b2ab12b,0x3160f8c2,0xf8c2b28b,
+0x25003164,0x1e4be049,0xd8412bfe,0x10c2f642,0x3844f8d4,0x7a1b5221,
+0xd0f22b00,0xe7eb4b21,0x0f01f017,0xf8d0d137,0xf7fa073c,0x4681fa75,
+0xf7f368a0,0x4680fe77,0x68a0b918,0xf7f32101,0x68a0ff6b,0xff28f7f9,
+0xf06fb910,0xe012051d,0x1313f240,0xd107429d,0x21012302,0xfb974632,
+0xf7f9f3f3,0xe005fdf9,0x46312202,0xf2f2fb97,0xfc70f7f9,0xf1b84605,
+0xd1030f00,0x464168a0,0xff4af7f3,0x073cf8d4,0xf7fa4649,0xe004fa3f,
+0x051cf06f,0xf06fe001,0x46280501,0x87fce8bd,0x00020007,0x00020006,
+0x41f0e92d,0x4614b088,0x46059a0e,0x461e4688,0xf8d0b91a,0xf1033dc8,
+0x68130208,0xbf0c2b01,0xf8d56897,0xb13c7dc8,0xd9052e03,0x4621a807,
+0xf7f52204,0xe001f889,0x93072300,0x46289b07,0x6cab9300,0x93034641,
+0x46334622,0x94029401,0xf7ff9704,0xf110fe59,0xd1080f17,0x46289b07,
+0x46419300,0x46334622,0xf7ff9401,0xb008fe0b,0x81f0e8bd,0x4ff0e92d,
+0x6805b08f,0xf8dd9f1a,0x2300806c,0xf002930d,0x93000301,0x46284614,
+0x4643463a,0xa060f8dd,0x9064f8dd,0xfc44f7fe,0x28004606,0x81ecf040,
+0x0f03f1b9,0xa80dd904,0x22044651,0xf848f7f5,0x2c169a0d,0x81d5f200,
+0xf014e8df,0x0041003e,0x00490044,0x01d30058,0x01d30050,0x01d3005c,
+0x01d30033,0x00260023,0x01d30074,0x01d30067,0x009501d3,0x01d30110,
+0xac050017,0x46394620,0xf7f44642,0xf8d5fd0f,0x4621073c,0xf974f7fa,
+0xf895e1ba,0xe0333d09,0xbf181e14,0xb12c2401,0xf7fa4628,0x2800fab9,
+0x81a3f000,0x4d09f885,0xac05e1aa,0x46394620,0xf7f44642,0x4628fcf3,
+0xf7ff4621,0xe00ffcad,0x3bf8f8d5,0x4628e004,0xe0062101,0x3ac0f8d5,
+0x037ff003,0x4628e010,0x23002102,0xff7cf7fb,0xe18d4606,0x21404638,
+0xf8d54a92,0xf7f53708,0xe185f835,0x3708f8d5,0xe181603b,0xf7fa4628,
+0x4638fdfd,0x7168f505,0x7225f44f,0xffdcf7f4,0x68a8e176,0xfd52f7f3,
+0xd0052801,0xd0032802,0xf04fb110,0xe16b36ff,0xe1696038,0xf7f368a8,
+0x4604fd65,0x68a8b918,0xf7f32101,0x68a8fe59,0xfe16f7f9,0xf06fb910,
+0xe008061d,0x463a990d,0xf7f94643,0x2800fbff,0xf06fbfd8,0x2c00060d,
+0x814ef040,0x462168a8,0xfe42f7f3,0xa809e148,0x220c4639,0xffa8f7f4,
+0x2b009b09,0x8138f040,0xf011990a,0xf0400f01,0x980b8133,0x0f01f010,
+0x812ef040,0xf0402900,0xf1a8812b,0x4283030c,0x8129f2c0,0xf8e4f7f7,
+0x28004680,0x8126f000,0x010cf107,0xf7f49a0b,0x68a8ff87,0xfcfef7f3,
+0x46042801,0x2802d02b,0xf06fd002,0xe045061d,0x073cf8d5,0xf90cf7fa,
+0x68a84607,0xfd0ef7f3,0xb9184604,0x210168a8,0xfe02f7f3,0xf7f968a8,
+0xb910fdbf,0x061df06f,0x9b0be006,0x46422101,0xf7f940cb,0x4606fc95,
+0x68a8b91c,0xf7f34621,0xf8d5fdef,0x4639073c,0xf8e4f7fa,0x68a8e01e,
+0xfce2f7f3,0xb9184607,0x462168a8,0xfcd0f7f3,0x68a89b0a,0x9b0b9300,
+0x8008f8cd,0x68419301,0x280cf8d5,0xf7f46cab,0x2800ffa7,0xf04fbf18,
+0xb91f36ff,0x463968a8,0xfcbaf7f3,0x9a0b6ca8,0xe0bf4641,0x0f0bf1b9,
+0x80c5f240,0x0f0bf1b8,0x80c1f240,0x4651a809,0xf7f4220c,0x9b09ff25,
+0xf0402b00,0x9b0a80b5,0xf0402b00,0x9b0b80b1,0x0401f013,0x80acf040,
+0x7f00f5b3,0x80a8f200,0x7000f44f,0xf7f74621,0x4681f863,0xf0002800,
+0x462180a5,0x7200f44f,0xfee6f7f4,0xf7f368a8,0x2801fc7d,0x0a0cf1a8,
+0x2802d002,0xe074d034,0x90099b0b,0xb913940a,0x7300f503,0x3301e002,
+0x0301f023,0x930b459a,0xf06fda02,0xe06a060d,0xf7f368a8,0x4604fc79,
+0x68a8b918,0xf7f32101,0x9b0bfc67,0x220068a8,0x93019200,0x9008f8cd,
+0x68419203,0x280cf8d5,0xf7f46cab,0x2800ff2b,0xf04fbf18,0x2c0036ff,
+0x68a8d14d,0xf7f34621,0xe048fc4f,0x0001701e,0xf8d59009,0x940a073c,
+0xf856f7fa,0x68a84683,0xfc58f7f3,0xb9184680,0x210168a8,0xfd4cf7f3,
+0xf7f968a8,0x4604fd09,0xf7f9b1d8,0x0840fa1f,0x464a900c,0x4620ab0c,
+0xf7f92101,0x9b0cfa89,0x005b9a0b,0xf110930c,0xbf180f1e,0xb1124606,
+0xf0231c53,0x459a0301,0xda05930b,0x060df06f,0x900be002,0x061df06f,
+0x0f00f1b8,0x68a8d103,0xf7f34641,0xf8d5fd21,0x4659073c,0xf816f7fa,
+0x2300e005,0x930a9309,0xf06f930b,0xa909061d,0x4638220c,0xfe7cf7f4,
+0x9a0b4649,0x000cf107,0xfe76f7f4,0x46496ca8,0x7200f44f,0xf9a0f7f7,
+0xf06fe00a,0xe0070616,0x0601f06f,0xf06fe004,0xe001060d,0x061af06f,
+0xb00f4630,0x8ff0e8bd,0x18432100,0x2dc8f8d3,0xf8d2b12a,0xb93b3094,
+0x309df892,0x3104b923,0xd1f22910,0xe0002000,0x47702001,0x790bb510,
+0xb143460c,0xb1316cc9,0xf44f6c80,0xf7f77200,0x2300f973,0x200064e3,
+0x46c0bd10,0x41f0e92d,0x460f4680,0x25004616,0x0305eb08,0x4dc8f8d3,
+0xb116b154,0x01d4f104,0xf104e001,0x463801da,0xf7f42206,0xb118fd35,
+0x2d103504,0x2400d1ec,0xe8bd4620,0x46c081f0,0x4615b570,0xe0114604,
+0x421d6863,0xf413d00d,0xbf167f80,0x46084608,0x7a627a21,0x21ddbf08,
+0x030af104,0xfb62f7fb,0x68244601,0xd1eb2c00,0xbd704608,0x41f0e92d,
+0x0482eb01,0x460e6d27,0xb10f4615,0xe01a2000,0x719cf44f,0xf101fb02,
+0x6128f501,0x31041841,0xfe1cf009,0xb9106520,0x001af06f,0x2301e00b,
+0x61467603,0x49056d20,0x22063019,0xfde4f7f4,0x46386d23,0xe8bd629d,
+0x46c081f0,0x0001a9c4,0xf44fb570,0x460c7294,0x46084605,0xf7f42100,
+0x2201fdb3,0x33fff04f,0x30acf8c4,0xf8c4189b,0xf8843094,0xf8a4309d,
+0xf8d4309e,0x60a230e4,0x0303f003,0x0360f043,0x60256124,0x209cf884,
+0x30e4f8c4,0x46c0bd70,0x46c04770,0x47702001,0x46c04770,0x7340f400,
+0x7f40f5b3,0xb2c0d101,0xf5b3e00d,0xb2c07f00,0x28ddd103,0x1c83d803,
+0x2802e004,0x2000d801,0x1e83e001,0x4770b2d8,0x4370f401,0x5f80f5b3,
+0xf5b3d002,0xd10b5f00,0x6340f401,0x6f00f5b3,0xf401d106,0xf5b37340,
+0xbf187040,0xe0002001,0x47702001,0xb5102901,0xdd024602,0xf8c02300,
+0xf8d232d0,0x480212d0,0xfd9af7f4,0x46c0bd10,0x0001aa68,0x4605b570,
+0xf7ff460c,0xb138ffd5,0x6829480a,0x46234a0a,0xfd8af7f4,0xe00c2000,
+0x4370f404,0xf5b3b2e2,0xbf145f80,0x23012300,0xbf8c2a0e,0xf0834618,
+0xbd700001,0x0001abde,0x0001ae37,0x504cf500,0x6800b510,0xfde6f000,
+0x46c0bd10,0x3848f8d0,0x6818b510,0xf0016859,0xbd10fe19,0x0ffff011,
+0xd103b510,0xf7ff2101,0xe004fff1,0x3848f8d0,0xf0016818,0xbd10fe07,
+0x6800b510,0xfbacf7fe,0x46c0bd10,0x6805b570,0xf7fe4628,0xf642fc71,
+0x5aeb13b0,0xb9734606,0x46282101,0xffd6f7ff,0x46284604,0xffb0f7fa,
+0x46214628,0xfb6cf7fe,0xf7fa4628,0x2300fed5,0x7274f241,0x463050ab,
+0x7370f241,0x02fff04f,0xbd7052ea,0x6804b570,0xf8d44606,0x3301370c,
+0x370cf8c4,0x3710f8d4,0x4620b11b,0xf95cf7fb,0xf894e033,0xb1c33024,
+0x3844f8d4,0xf44f4620,0xf8d3719d,0xf7fa50dc,0x42a8fadb,0xf5c5bf36,
+0xebc53380,0x181a0200,0x32d0f8d6,0xf8c6189b,0xf8d432d0,0xf8c33844,
+0xf89600dc,0xb11b3230,0x21014630,0xfa1cf000,0x0778f8d4,0x646ef504,
+0x47986e03,0x25003408,0xb1136823,0x0c04f854,0x35014798,0x2d163434,
+0xbd70d1f6,0xf000b510,0xbd10fa07,0x47f0e92d,0x6804b0e2,0x91b0f8dd,
+0x23009e6d,0xf0029361,0x93000301,0x46154680,0x464a4620,0xf7fe4633,
+0x4682f8a3,0x4985b128,0x4885462a,0xfcccf7f4,0x9b6be100,0xd9042b03,
+0x996aa861,0xf7f42204,0x1eabfca3,0x2b0f9961,0x80edf200,0xf013e8df,
+0x00f20010,0x00eb0014,0x009d00eb,0x00a300eb,0x00ac00a8,0x00bf00eb,
+0x00c800eb,0x00e800eb,0xf8c94b74,0xe0dd3000,0x7f9cf5b6,0x7000f8d8,
+0x4871d209,0x46324971,0x739cf44f,0xfc9cf7f4,0x0a0df06f,0xae02e0ce,
+0xf44f2100,0x4630729c,0xfc52f7f4,0x21004b6a,0x23056033,0xf04f7633,
+0x83b303a0,0x76b32320,0x25022301,0xab5e76f3,0x83f17675,0xaa609300,
+0xf8d7ab5f,0xac500a84,0xf0019150,0xf507fee7,0x4620612e,0xf0083118,
+0x9b60ff2b,0x0a84f8d7,0x9b5f6233,0x02b8f106,0x9b5e6273,0xf8d762b3,
+0xf0021a88,0xf8d7f8c1,0x9a503a84,0x1d218a1b,0xa8046072,0xf7f4932e,
+0x2304fc3b,0xf886220a,0xf8863049,0x330c304a,0x2048f886,0x504bf886,
+0x304ef886,0x304ff886,0x32c4f8d8,0x204cf8a6,0xbf0c42ab,0x4b464b45,
+0x6473a91f,0x4638223c,0xf880f7fa,0xad024b43,0x4b43681a,0x681b992a,
+0xea43ac5a,0x48414302,0x2080f8d5,0xf7f49328,0x2240fc2f,0xf1054620,
+0xf7f401f8,0xf8d7f8f3,0x4621073c,0xfd58f7f9,0x46294648,0x729cf44f,
+0xf8d4e01e,0xf7f9073c,0x4682fd77,0xf8d4e04e,0xf7f9073c,0xe049fd5f,
+0xf1044648,0xe00e014c,0xb1137c63,0x0a04f06f,0x4649e040,0x004cf104,
+0xf7f42206,0xf8d4fbe5,0x46490dc8,0x220630da,0xfbdef7f4,0x0089e032,
+0x534cf504,0x68189161,0xf000b249,0xe029fd63,0x4000f8d8,0x5000f899,
+0x37f8f8d4,0xbf942d0e,0x5600f44f,0x5680f44f,0xb123789b,0x481b491a,
+0xfbe2f7f4,0x4620e016,0xfe4ef7fa,0x6130f445,0x43314620,0xfa08f7fe,
+0xf7fa4620,0xe009fd71,0x1218f8c8,0x4812e006,0x462a4904,0xfbccf7f4,
+0x0a16f06f,0xb0624650,0x87f0e8bd,0x0001ae4a,0x0001ad14,0x00012345,
+0x0001ad2d,0x0001a9df,0xdeadbeef,0x004480f1,0x004080f1,0x00018dc8,
+0x00017f24,0x0001ad5f,0x0001a9ca,0x0001ad89,0x0001adc4,0xb5106842,
+0x46196c90,0xf7f62200,0xbd10fe93,0xb5106843,0x69496c98,0xf7f62200,
+0xbd10fe8b,0x69ccb57f,0xf414460d,0xf89d4f00,0xd0096028,0x4400f424,
+0x9c0861cc,0x94009602,0x94019c09,0xf92af000,0x46c0bd7f,0x43f0e92d,
+0x9f0eb087,0x460c4681,0x46984615,0xb91f6806,0x3dc8f8d6,0x0708f103,
+0xf1b8b145,0xd9050f03,0x4629a804,0xf7f42204,0xe001fb4f,0x93042300,
+0x9a042c03,0xdc04d022,0xd0112c01,0xb164dc15,0x2c0ee051,0xdc02d00e,
+0xd01b2c0c,0xf5a4e04b,0x2b017383,0x2300d847,0x4b31e021,0xe00b602b,
+0xe058602c,0x602b6833,0x7c74e055,0xd1522c00,0x073cf8d6,0xfca4f7f9,
+0xe04d4620,0xf7ff4648,0xe048fdeb,0xf7fc4630,0xf44ffa2f,0xf00073fa,
+0xfb00007f,0xfbb0f003,0x6028f0f3,0x4543e03b,0xf06fd102,0xe02f000d,
+0x33015d5a,0xd1f62a00,0x7f83f5b4,0x0403eb05,0x0308ebc3,0x9202d108,
+0x46294630,0x95004622,0x8004f8cd,0xe0079703,0x23019301,0x94009302,
+0x46309703,0x46134629,0xff90f7fd,0x3a00e00f,0x2201bf18,0x3848f8d6,
+0xf10d9200,0x92020217,0x68189501,0x46424621,0xf006462b,0xb138f815,
+0x0325f100,0xd8022b25,0x0708f8c6,0x2000e000,0xe8bdb007,0x46c083f0,
+0x14e46c77,0x8a934602,0x1a406900,0x611018c9,0x47708291,0x8a934602,
+0x1a5b6900,0x61101840,0x47708293,0x47708281,0x41f0e92d,0xf8d04607,
+0x28000224,0xb9f1d077,0xf8d3683b,0xf9b11844,0xf9b12024,0x189b3026,
+0x2028f9b1,0xf9b1189b,0x42d3202a,0xf8d7d00f,0xf5c03218,0x2b0162e1,
+0x2318bf14,0x429a2398,0xf8d7dd05,0xf8d72228,0x429a322c,0x687bd357,
+0x7144f240,0xf7f66c98,0x4606fdb9,0x2301b940,0x3230f887,0x3231f897,
+0xf8873301,0xe0463231,0x21802500,0x5230f887,0xffb8f7ff,0xf04f6934,
+0x78230801,0xf3682204,0xb2db0303,0x1307f362,0xf8d77023,0x18a03224,
+0xb29b189b,0x0a1b70a3,0xf8d770e3,0xf8d72224,0xf7f41220,0x78a3fa69,
+0x463078e1,0x2101ea43,0xffa0f7ff,0xf8d74629,0xf8d72224,0xf7f40220,
+0xf8d7fa3b,0xf8d71228,0xf8c722c0,0xf8525224,0x44433021,0x3021f842,
+0xf8c7683b,0xf8d35228,0x4629073c,0x46324643,0xfb2cf7f9,0xf8d3683b,
+0x6e030778,0x20004798,0x81f0e8bd,0x4ff8e92d,0xf890469b,0x46063230,
+0x46174689,0x8028f8dd,0xa030f89d,0x2101b113,0xff6ef7ff,0x3224f8d6,
+0x2220f8d6,0x0418f103,0xf8d6189d,0xf8c63218,0x2b014224,0xb167d112,
+0x46391914,0x46202210,0xfa1af7f4,0x0010f104,0x1010f8d9,0xf7f4226e,
+0xf8d6fa13,0x33803224,0x3224f8c6,0xf1bab117,0xd0020f00,0x23012200,
+0x990be012,0xb9116832,0x13c2f642,0xf642e007,0x5ad313c2,0x4299990b,
+0xf642d004,0x5ad313c4,0xd1064598,0x23072200,0x716a712b,0x71ea71aa,
+0xf1bbe00a,0xd1020f14,0x23082200,0x2300e7f4,0x716b712b,0x71eb71ab,
+0x011cf109,0x702b7e0b,0x706b7e4b,0x70ab7e8b,0x70eb7ecb,0x0f00f1b8,
+0xf108d003,0x752b33ff,0xf885e001,0x23008014,0x736b732b,0x73eb73ab,
+0x746b742b,0x74eb74ab,0x3016f8b9,0xf0034a10,0x5cd30307,0x9a0b756b,
+0xb112694b,0x0f02f1b8,0xf1b8e001,0xbfcc0f03,0x0c1ab29a,0x726b0a13,
+0x72ab2300,0x722a0e13,0xf8d672eb,0x46303228,0xf8c63301,0x21003228,
+0xfee6f7ff,0x8ff8e8bd,0x0001af03,0x41f0e92d,0x8a884607,0x2803b086,
+0xf240460e,0x690c8123,0xf0037823,0x2d01050f,0x811cf040,0x78e378a2,
+0x2103ea42,0xf2004281,0x46308115,0xfec6f7ff,0x46302104,0xfebaf7ff,
+0x091b7823,0xd0472b02,0xf0002b03,0x2b0180a1,0x8104f040,0x21146934,
+0xf7ff4630,0x7862feab,0x68387823,0x2302ea43,0x498178a2,0x4302ea43,
+0xea4378e2,0x63736302,0x4b7e7c22,0x8af35c9a,0x0207f002,0x0307f023,
+0x69f3431a,0xf44382f2,0x61f34300,0x46334632,0xfd68f7f9,0xdb052800,
+0x46316838,0xf7fd2200,0xe0d5fbfb,0x46382400,0x46224631,0x94004623,
+0x94029401,0xff06f7ff,0x4631687b,0x46226c98,0xfc4ef7f6,0x46294638,
+0xfe7af7ff,0xe0c84620,0x46302104,0xf7ff6934,0x687bfe69,0x6c984631,
+0xf7f36935,0x2100fc6d,0x3101e000,0xd1014281,0xe0024601,0x2b005d4b,
+0x7862d1f7,0x31017823,0x2302ea43,0xea4378a2,0x78e24302,0x0400ebc1,
+0x6302ea43,0x7f83f5b3,0x0201eb05,0xf5a3d109,0x93027383,0x95009303,
+0x68389001,0x46234629,0x9200e008,0x22002301,0x94019302,0x68389203,
+0x46134629,0xfd9af7fd,0x46042104,0xf7ff4630,0x6932fe25,0x2307f3c4,
+0xf3c47053,0x70934307,0x70d30e23,0x21047014,0xf7ff4630,0x6934fe17,
+0x46202204,0xf7f42100,0x7823f8c3,0xf3652501,0xb2db0303,0xe04f2205,
+0x46302104,0x5017f88d,0xf7ff6934,0x687bfe0b,0x6c984631,0xf7f36935,
+0x4680fc0f,0xa804b12d,0x22044629,0xf8c8f7f4,0x9504e000,0x7821683b,
+0x0848f8d3,0x78e27863,0x2103ea41,0x950178a3,0x4103ea41,0xea419b04,
+0x3b006102,0x2301bf18,0xf10d9300,0x93020317,0x462b4642,0xf0056800,
+0x2104fddf,0x46304604,0xfdd4f7ff,0xf3c46932,0x70142307,0xf3c47053,
+0x0e244307,0x70d47093,0x46302104,0xfdc6f7ff,0x22046934,0x21004620,
+0xf872f7f4,0x25017823,0x0303f365,0x2208b2db,0x1307f362,0x687b7023,
+0x6c984631,0xfbc4f7f3,0x70a0b280,0x70e00a00,0x2100683b,0x073cf8d3,
+0x462b4632,0xf95ef7f9,0xe0062000,0x4631687b,0x22006c98,0xfb80f7f6,
+0xb0062001,0x81f0e8bd,0x0000d9a5,0x0001aefe,0xf243b530,0x58c403a0,
+0xb08569d3,0x4f00f413,0xd0194611,0x46202500,0x462b462a,0x95019500,
+0xf7ff9502,0x6863fe17,0x7144f240,0xf7f66c98,0x4601fb75,0x6863b140,
+0x6c98462a,0xfb58f7f6,0x21014620,0xfd84f7ff,0xbd30b005,0xb5102901,
+0xdd086804,0x68502100,0xf7f3460a,0x2806fc4f,0xf8a4bfd8,0xf8b406fc,
+0x480216fc,0xf850f7f4,0x46c0bd10,0x0001ae72,0xb5702901,0xdc014605,
+0xe0112400,0x02c0f8d0,0x22802100,0xf800f7f4,0xf8852300,0xe0153231,
+0xdd052c03,0x0f03f014,0x4810d102,0xf834f7f4,0x32c0f8d5,0xf8534621,
+0x480d2024,0xf7f43401,0x2c20f82b,0x4809d1ec,0xf826f7f4,0x122cf8d5,
+0x2228f8d5,0xf7f44807,0xf895f81f,0xf8951231,0x48052230,0xf818f7f4,
+0x46c0bd70,0x0001a336,0x0001ae86,0x0001ae90,0x0001aebe,0xb5102901,
+0xdd094604,0x68502100,0xf7f3460a,0x1e43fbfb,0xbf982b1e,0x022cf8c4,
+0x122cf8d4,0xf7f34801,0xbd10fffb,0x0001aee6,0x7943b510,0xb10b460c,
+0xe01eb2d8,0xb9097901,0xe01a2001,0xf8931903,0xf04fc01f,0xb9140e01,
+0x3024f890,0xf890e001,0x44633049,0xb25bb24a,0x0f43ebb2,0xfa5fdd02,
+0xe006f08e,0x0e01f10e,0xf1be3009,0xd1ea0f05,0xbd102004,0x468cb530,
+0x461d4614,0x0209f1a2,0xfb0c2309,0xf89d2303,0xb2db100c,0xb911181b,
+0x2024f893,0xf893e001,0x18432048,0xe01ff893,0x0f01f1bc,0x0302eb0e,
+0xd102b2da,0xfe82fa5f,0x1903e009,0xf893b911,0xe0013024,0x3048f893,
+0xfa5f4473,0xb939fe83,0xb9141940,0x006cf890,0xf890e005,0xe002007b,
+0xf8931943,0xf1bc008a,0xd0040f01,0x2b00b243,0x4610dc01,0x1813e008,
+0xb242b2d8,0xf38efa4f,0xbfc8429a,0xf08efa5f,0x46c0bd30,0x41f3e92d,
+0xf881fa5f,0x4170f401,0x5f00f5b1,0x2602bf14,0x79412600,0x46144607,
+0xb2cdb109,0x4631e003,0xff7ef7ff,0x46294605,0x46432200,0x46389600,
+0xff9cf7ff,0xf0000040,0x702000fe,0x70a07060,0x462970e0,0x46432201,
+0x46389600,0xff8ef7ff,0xf0000040,0x712000fe,0x46297160,0x46432202,
+0x46389600,0xff82f7ff,0xf0000040,0x71a000fe,0x462971e0,0x46432203,
+0x46389600,0xff76f7ff,0xf0000040,0x722000fe,0x96007260,0x46294638,
+0x46432204,0xff6af7ff,0xf0000040,0x72a000fe,0xe8bd72e0,0x46c081fc,
+0x460cb5f7,0xf4027941,0x46064370,0xf5b34617,0xbf145f00,0x25002502,
+0xb2cbb109,0x4629e003,0xff2af7ff,0xf0044603,0x2916017f,0xdc0cd020,
+0xd01d290b,0x2902dc04,0x2904d01a,0xe015d018,0xd017290c,0xd0152912,
+0x2930e010,0xdc04d016,0xd0112918,0xd00f2924,0x2960e008,0x296cd004,
+0x2948d002,0xe001d00a,0xe0082204,0xe00622ff,0xe0042200,0xe0022201,
+0xe0002202,0x46192203,0x46309500,0xf7ffb2fb,0xf340ff1d,0x00400006,
+0x46c0bdfe,0x4370f402,0x504cf500,0x5f80f5b3,0x468eb500,0xd11c6801,
+0xf102b2d2,0xb2db0348,0xd8012b0c,0xe0152001,0x0322f1a2,0x2b0eb2db,
+0x2002d801,0xf1a2e00e,0xb2db0334,0xd8012b0c,0xe0072003,0x0364f1a2,
+0x2b3db2db,0x2004d801,0x2000e000,0xf893180b,0x44700177,0xbd00b240,
+0x2904b570,0x6806b092,0x20ffd901,0x7141e020,0x3848f8d6,0x0503f10d,
+0xf0006818,0x462aff5b,0x46304601,0xfc60f7fd,0x3848f8d6,0x4620681c,
+0xff50f000,0x46024629,0xf0004620,0xf8d6ffbf,0xf04f3848,0x681831ff,
+0xf0032200,0x2000fb49,0xbd70b012,0x6805b570,0xf8d57101,0xb0923848,
+0xf0006818,0xf10dff37,0x46010603,0x46284632,0xfc3af7fd,0x3848f8d5,
+0x4620681c,0xff2af000,0x46024631,0xf0004620,0xf8d5ff99,0xf04f3848,
+0x681831ff,0xf0032200,0xb012fb23,0x46c0bd70,0x460eb573,0x24004615,
+0x2200e00c,0xf7f3a901,0x55a0fa59,0x1c629801,0xb90b7803,0xe0044610,
+0x46143001,0xd1f042ac,0xbd7c4628,0xf8a36c83,0xf8b313f6,0xb28003fa,
+0x46c04770,0xf8a36c83,0xf8a313f6,0x477023fa,0xf7ffb510,0xbd10fff7,
+0x2b066983,0x2901d103,0xf441bf18,0x46087100,0x46c04770,0x4604b510,
+0xfff2f7ff,0x46204601,0xffdcf7ff,0x46c0bd10,0x4604b570,0x4615460e,
+0xffe6f7ff,0x46204601,0xffd0f7ff,0xea004631,0x46200205,0xffd2f7ff,
+0x46c0bd70,0x4604b570,0x4615460e,0xffd4f7ff,0x46204601,0xffbef7ff,
+0x0205ea40,0x46204631,0xf7ffb292,0xbd70ffbf,0x41f0e92d,0x46064615,
+0x461c4688,0xffc0f7ff,0x46304601,0xffaaf7ff,0xea20402c,0x43220205,
+0x46414630,0xf7ffb292,0xe8bdffa9,0x46c081f0,0xf8a36c83,0xf8b313fc,
+0xb28003fe,0x46c04770,0xf8a36c83,0xf8a313fc,0x477023fe,0xf8a36c83,
+0xf8b313fc,0x400a13fe,0x23fef8a3,0x46c04770,0xf8a06c80,0xf8b013fc,
+0xb29b33fe,0xf8a0431a,0x477023fe,0x40136c80,0x13fcf8a0,0x13fef8b0,
+0xea21b289,0x430b0102,0x33fef8a0,0x46c04770,0x2100b500,0x32fff04f,
+0x4300f06f,0xf880468e,0xf8a01039,0xf8c02cde,0xf8a03664,0xf8a02660,
+0xf880226e,0xf8a02cdc,0xe00b2252,0xf04f3201,0x2a0933ff,0x3b01f801,
+0xf10ed1f8,0xf1be0e01,0xd0080f20,0xfb0e2309,0xf503f303,0x18c36396,
+0x22001c99,0xbd00e7ea,0x4604b510,0xf240b131,0xf64f413b,0xf7ff72f8,
+0xe00affa9,0x413cf240,0xf7ff2207,0x4620ffad,0x413bf240,0xf7ff2207,
+0xbd10ffa7,0xf8802301,0x47703037,0x47f0e92d,0x680d460c,0x6889469a,
+0x460668e3,0x2381ea43,0xb29a4611,0x8020f8bd,0xff82f7ff,0x46b92700,
+0x6923e01d,0xd10b2b20,0x2005f859,0x46514630,0xf7ff0c12,0xf839ff75,
+0x46302005,0xe0094641,0xd1042b10,0x2017f835,0x46414630,0x5d7ae002,
+0x46414630,0xff64f7ff,0xf1093701,0x68630904,0xd3de429f,0x87f0e8bd,
+0x4ff8e92d,0x680e460d,0x6889469b,0x460768eb,0x2381ea43,0xb29a4611,
+0x9028f8bd,0xff4cf7ff,0x0800f04f,0xe02546c2,0x2b20692b,0x4649d10f,
+0xf7ff4638,0x4659ff39,0xf84a4604,0x46380006,0xff32f7ff,0x4400ea44,
+0x4006f84a,0x2b10e00e,0x4638d106,0xf7ff4649,0xf826ff27,0xe0050018,
+0x46494638,0xff20f7ff,0x0006f808,0x0801f108,0x0a04f10a,0x4598686b,
+0xe8bdd3d6,0x46c08ff8,0x21feb510,0x22884604,0xfebaf7ff,0x21ff4620,
+0xf7ff2288,0x4620feb5,0x228821fc,0xfeb0f7ff,0x21fd4620,0xf7ff2288,
+0xbd10feab,0x43f0e92d,0x41dff240,0x4604b08b,0xfef6f7ff,0x2b7fb2c3,
+0x3fb8f8a4,0x2007f3c0,0xf5a3bfc4,0xf8a47380,0x287f3fb8,0xf5a0bfc8,
+0xf8a47380,0xbfc80fba,0x3fbaf8a4,0x93052311,0x080cf10d,0x2702332f,
+0x26209306,0x4357f240,0x0920f10d,0x4556f240,0x46414620,0x4255f240,
+0x900cf8cd,0x96079704,0xf7ff9500,0x9b08ff75,0xd9012b3f,0x93083b80,
+0xf8c49b08,0x9b093fbc,0xd9012b3f,0x93093b80,0xf2409b09,0xf8c44134,
+0x46203fc0,0xfeb4f7ff,0x287fb2c0,0xf5a0bfc4,0xb2987380,0x0fc4f884,
+0x4124f240,0xf7ff4620,0xf3c0fea7,0xf8a42007,0xf2400fc6,0x46204125,
+0xfe9ef7ff,0xb2c0230d,0x330f9305,0x0fc8f8a4,0x46209306,0x4357f240,
+0xf2404641,0xf8cd4255,0x9704900c,0x95009607,0xff36f7ff,0xf8c49b08,
+0x9b093fa8,0x3facf8c4,0xf8c44b04,0x4b043fb0,0x3fb4f8c4,0xe8bdb00b,
+0x46c083f0,0xf1e64d96,0xf1e60018,0x47f0e92d,0x463cf240,0x46044631,
+0xfe6ef7ff,0x483bf240,0x46414682,0xf7ff4620,0xf04afe67,0x46810201,
+0x46204631,0xf7ffb292,0xf049fe67,0x46200201,0xf64f4641,0xb29275fe,
+0xfe5ef7ff,0x46314620,0x0205ea0a,0xfe58f7ff,0x46414620,0x0205ea09,
+0xfe52f7ff,0x46314620,0xf7ff4652,0x4620fe4d,0x464a4641,0xfe48f7ff,
+0x87f0e8bd,0x4b61b570,0xe8934604,0x4b600003,0x681eb08a,0x2500aa08,
+0x0003e882,0xf240e00d,0x495c4356,0x23149300,0x1103fb02,0xf2404620,
+0xf2404255,0xf7ff4357,0xb2aafe99,0x42b23501,0x22ffd3ed,0x462023a2,
+0x4116f240,0xfe3af7ff,0x231422ff,0xf44f4620,0xf7ff6184,0x4620fe33,
+0x41fff240,0x427cf44f,0x53c0f44f,0xfe2af7ff,0x230b220f,0xf44f4620,
+0xf7ff6185,0x2207fe23,0x46132130,0xf7ff4620,0x2207fe1d,0x46202303,
+0x412ff240,0xfe16f7ff,0x22382320,0xf2404620,0xf7ff412f,0x6c63fe0f,
+0x6a5b689b,0x639ef5a3,0x2b013b0d,0x4b38d85c,0x681e2500,0xf240e00d,
+0x49364356,0x23149300,0x1103fb02,0xf2404620,0xf2404255,0xf7ff4357,
+0xb2aafe49,0x42b23501,0x2208d3ed,0x46204613,0x41def240,0xfdeaf7ff,
+0xf2404620,0x227f41e1,0x3020f8bd,0xfde2f7ff,0x46209b09,0xf240021b,
+0xf44f41e1,0xf40342fe,0xf7ff437f,0xab08fdd7,0x23029303,0x330f9304,
+0x33319305,0x23209306,0xf2409307,0x93004356,0xa9034620,0x4255f240,
+0xf7ff3301,0x4620fe17,0x6184f44f,0x427ff44f,0x5390f44f,0xfdbaf7ff,
+0xf2404620,0xf44f4124,0xf44f427f,0xf7ff5300,0x4620fdb1,0x514bf240,
+0x3233f246,0xfd90f7ff,0x22444620,0x414af240,0xfd9af7ff,0xf2404620,
+0x2280414a,0xfd84f7ff,0xbd70b00a,0x0001b4e8,0x00019858,0x0001981c,
+0x00019dcc,0x00019b64,0x2900b570,0x2380bf14,0x1e0c2300,0x2401bf18,
+0xf44f2280,0x46056196,0xfd84f7ff,0x01a403a3,0xf44f4628,0xf44f6196,
+0xf4034280,0xb2a44340,0xfd78f7ff,0xf2404628,0x2240413b,0xf7ff4623,
+0xbd70fd71,0xf240b510,0xf7ff41fb,0xf3c0fd49,0xbd102006,0x4370e92d,
+0x4605460c,0xfff2f7ff,0x88238862,0x79fff64f,0x2302ea43,0x464a4606,
+0xf2404628,0xb29b41b5,0xfd54f7ff,0x88a30236,0xf647b2b6,0x462878ff,
+0xea464642,0xf2400303,0xf7ff41fb,0x8862fd47,0x46288823,0x2302ea43,
+0x41fcf240,0xb29b464a,0xfd3cf7ff,0x464288a3,0x0303ea46,0xf2404628,
+0xf7ff41fd,0x88e6fd33,0x4439f240,0x46284621,0xfd0af7ff,0x437ff640,
+0x0303ea00,0x13c6ea43,0x46214628,0x72fff640,0xf7ffb29b,0x4628fd1f,
+0xf7ff2101,0xe8bdff89,0x46c08370,0xb089b500,0x0209ab08,0x1d02f823,
+0x23019302,0x3b019303,0x33579304,0x23109305,0xf2409306,0x93004356,
+0xf240a902,0x33014255,0xfd54f7ff,0xbd00b009,0xf8d36bc3,0xf0133830,
+0xd0085f00,0xf04f6c83,0xf8a30203,0xf04f26b4,0xf8a302ff,0x477026b8,
+0xf101fb00,0x01400252,0x2000fb03,0x4100f501,0x0040eb01,0xfb900049,
+0x4770f0f1,0xb089b500,0x031ef10d,0x23019302,0x3b019303,0x33579304,
+0x23109305,0xf2409306,0x93004356,0xf240a902,0x33014255,0xfd54f7ff,
+0x001ef8bd,0xb0090a00,0x46c0bd00,0x020cb570,0x4605b2a4,0xf2404623,
+0xf44f41fb,0xf7ff42fe,0x4628fcb9,0x41fdf240,0x42fef44f,0xf7ff4623,
+0xbd70fcb1,0x4370e92d,0x21fe460e,0x46904699,0xf7ff4605,0x21fefc3f,
+0x46284604,0xfc3af7ff,0x040ff004,0x1003f3c0,0x70341a24,0x462821ff,
+0xfc30f7ff,0x460421ff,0xf7ff4628,0xf004fc2b,0xf3c0040f,0x1a241003,
+0x4000f888,0x462821fc,0xfc20f7ff,0x460421fc,0xf7ff4628,0xf004fc1b,
+0xf3c0040f,0x1a241003,0x4000f889,0x462821fd,0xfc10f7ff,0x460421fd,
+0xf7ff4628,0xf004fc0b,0xf3c0040f,0x9b061003,0x701c1a24,0x8370e8bd,
+0x460db570,0x4139f240,0xf7ff4606,0xf3c0fc41,0x80e810c2,0x41b5f240,
+0xf7ff4630,0xf240fc39,0x460441fb,0xf7ff4630,0xf004fc33,0xb2c003ff,
+0x2407f3c4,0x806c802b,0xbd7080a8,0x2300b500,0x9307b08b,0x93093310,
+0x030ef10d,0x23019305,0x33549306,0xf2409308,0xf8ad4356,0x9300100e,
+0xf240a905,0x33014255,0xfc88f7ff,0xbd00b00b,0xbf142900,0x23002302,
+0x2a00b510,0xf043bf18,0x46040301,0xf2402203,0xf7ff414d,0x4620fc23,
+0x414cf240,0xf7ff2203,0xbd10fc13,0x2940b530,0x4605b089,0xf240d105,
+0x2200414e,0xfbf8f7ff,0x2310e02a,0xf10d9306,0x9302031e,0x93032301,
+0x4356f240,0x9105240f,0xa9029300,0xf2403301,0x94044255,0xfc88f7ff,
+0xf2404628,0x22ff414e,0xfbdef7ff,0x301ef8bd,0xf2404628,0x4622414f,
+0xf7ff4023,0xf8bdfbef,0x22f0301e,0xf2404628,0x4013414f,0xfbe6f7ff,
+0xbd30b009,0xf240b510,0xf64f414c,0xf7ff72fc,0xbd10fbc9,0x460cb570,
+0x22074605,0xf2404623,0xf7ff41ea,0x4628fbd3,0x41ebf240,0x46232207,
+0xfbccf7ff,0x46c0bd70,0xb5702280,0x46044613,0xf240460e,0xf24061d1,
+0xf7ff65d7,0x4620fbbf,0xf44f2207,0xf7ff61da,0x4620fb9f,0x22014629,
+0xf7ff2300,0x2202fbb3,0x46294620,0xf7ff4613,0x2204fbad,0x46294620,
+0xf7ff4613,0x4620fba7,0x22084629,0xf7ff2300,0x4620fba1,0x22104629,
+0xf7ff2300,0x4620fb9b,0x22204629,0xf7ff2300,0x4620fb95,0x22404629,
+0xf7ff2300,0x4620fb8f,0x22804629,0x23003506,0xfb88f7ff,0x46294620,
+0x46332201,0xfb82f7ff,0x46200073,0x22024629,0xf7ff3d01,0x2201fb7b,
+0x46294620,0xf7ff2300,0x2202fb75,0x46294620,0xf7ff4613,0x2204fb6f,
+0x46294620,0xf5a54613,0xf7ff75ec,0x3d01fb67,0x7200f44f,0x46294620,
+0xf7ff4613,0x4620fb5f,0xf44f4629,0x23007200,0xfb58f7ff,0xf7ff4620,
+0xbd70fcbd,0x2a3fb570,0x4614b088,0x9e0c461d,0x2900dc23,0x004adb21,
+0x00642318,0x3201b264,0x33089305,0xeb059307,0xb2550384,0xebc49303,
+0x33010305,0xf2409304,0x93004356,0x4255f240,0x3301a903,0xf7ff9406,
+0xb2a2fbbb,0x2301e003,0x18d354b3,0x42aab29a,0xb008ddf9,0x46c0bd70,
+0x47f0e92d,0xf2404688,0x460461b7,0xf7ff4691,0xf240fafb,0x460561b6,
+0xf7ff4620,0xf240faf5,0x460661b5,0xf7ff4620,0xf240faef,0x460761b4,
+0xf7ff4620,0xf04ffae9,0x46620c00,0xfa504664,0xf013f304,0xd0010101,
+0xe0032101,0x0301f10c,0xfc83fa5f,0xb2da1c53,0xd0122a10,0x29003401,
+0xe00ed0ed,0x0310f1a2,0xf303fa57,0x0f01f013,0x2101d001,0xf10ce003,
+0xfa5f0301,0x1c53fc83,0x2a1fb2da,0x2900d811,0xe00ed0ec,0x0320f1a2,
+0xf303fa56,0x0f01f013,0x2101d001,0xf10ce003,0xfa5f0301,0x1c53fc83,
+0x2a2fb2da,0x2900d811,0xe00ed0ec,0x0330f1a2,0xf303fa55,0x0f01f013,
+0x2101d001,0xf10ce003,0xfa5f0301,0x1c53fc83,0x2a3fb2da,0x2900d801,
+0xf04fd0ec,0x22000e3f,0xfa55240f,0xf013f304,0xd0010101,0xe0032101,
+0x33fff10e,0xfe83fa5f,0xb2da1c53,0xd0122a10,0x29003c01,0xe00ed0ed,
+0x031ff1c2,0xf303fa56,0x0f01f013,0x2101d001,0xf10ee003,0xfa5f33ff,
+0x1c53fe83,0x2a1fb2da,0x2900d811,0xe00ed0ec,0x032ff1c2,0xf303fa57,
+0x0f01f013,0x2101d001,0xf10ee003,0xfa5f33ff,0x1c53fe83,0x2a2fb2da,
+0x2900d811,0xe00ed0ec,0x033ff1c2,0xf303fa50,0x0f01f013,0x2101d001,
+0xf10ee003,0xfa5f33ff,0x1c53fe83,0x2a3fb2da,0x2900d801,0xf888d0ec,
+0xf889e000,0xe8bdc000,0x46c087f0,0x2202b510,0x23004604,0x41e7f240,
+0xfa58f7ff,0x22204620,0x6189f44f,0xf7ff2300,0x4620fa51,0x61daf240,
+0x72eff64f,0xfa36f7ff,0x46c0bd10,0x460db570,0x41a4f240,0x46164604,
+0xfa1ef7ff,0x4f60f410,0x4620d019,0x41abf240,0xfa16f7ff,0x4f00f410,
+0x7028d011,0x41a4f240,0xf7ff4620,0xf400fa0d,0xf5b04060,0xd0014f60,
+0xe0012000,0x0169f894,0x181b782b,0x2300e001,0x7033702b,0x46c0bd70,
+0x46c04770,0x13c3f640,0xd8014298,0xe00b2000,0x43c8f241,0xd8014298,
+0xe0052001,0x6344f241,0xbf8c4298,0x20022003,0x46c04770,0x47702000,
+0x313cf890,0xb112600b,0x324cf890,0x20007013,0x46c04770,0xb5106c83,
+0x3120f8d3,0x46046c43,0x3710f8d3,0x0f01f013,0xb1a1d115,0x414cf240,
+0x02fff24e,0xf9d6f7ff,0xf44f4620,0xf24f6196,0xf7ff72f7,0x4620f9cf,
+0x41f9f240,0x72f7f64f,0xf9c8f7ff,0x4620e02f,0x414df240,0x32fff248,
+0xf9c0f7ff,0xf2404620,0xf44f414c,0xf7ff52f8,0x4620f9c3,0x41b7f240,
+0x02fff248,0xf9b2f7ff,0xf2404620,0xf64d41b1,0xf7ff72ff,0x4620f9ab,
+0x6196f44f,0x0208f640,0xf9aef7ff,0xf2404620,0xf64f41fa,0xf7ff72f7,
+0x4620f99d,0x41f9f240,0xf7ff2208,0xbd10f9a1,0xfbb0b500,0xfb01fef1,
+0xf001001e,0xeb0c0c01,0xe00b0151,0xbf284288,0x0300ebc1,0x0e4eea4f,
+0xeb0cbf26,0xf10e0043,0x00400e01,0xb2da1e53,0xd1ef2aff,0xbf284288,
+0x0e01f10e,0xbd004670,0x0030f990,0x46c04770,0x1030f880,0x46c04770,
+0x47708581,0x47708d80,0x46c04770,0xf890b510,0x468c4cdd,0x0e00f04f,
+0xf85e4b11,0x290e1003,0xf44fbf8c,0xf44f5380,0xf4415300,0x43136230,
+0xb11cb298,0xd9012994,0xd90a29a5,0x0f02f1bc,0x290ed102,0xe004d90b,
+0x0f01f1bc,0x290ed101,0xf10ed805,0xf5be0e14,0xd1dd7f8c,0xbd1020ff,
+0x0001b508,0xb510468c,0x23204619,0x0f0ef1bc,0x98024604,0xd8067013,
+0xbfac2800,0x1c231823,0x3088f893,0x237fe02d,0x700b2200,0x0020ea30,
+0x2004bf28,0x4b144696,0x3003f85e,0xd004459c,0x2a0e3201,0x0e14f10e,
+0xf8d4d1f5,0xb10b3d48,0xe0165c9b,0x030ef1a2,0xd8032b15,0xf8931823,
+0x700b30e2,0x0324f1a2,0xd8032b05,0xf8931823,0x700b310f,0x032af1a2,
+0xd8032b08,0xf8931823,0x700b30b5,0x46c0bd10,0x0001b508,0xf04fb500,
+0xeb000e00,0xf81e020e,0xf10e3001,0xf1be0e01,0xf8820f04,0xd1f431c9,
+0x0e00f04f,0x020eeb01,0x030eeb00,0xf10e7912,0xf1be0e01,0xf8830f08,
+0xd1f321cd,0x0e00f04f,0x020eeb01,0xb9037d13,0xf10e7913,0xf8800e01,
+0x300131d5,0x0f08f1be,0xbd00d1f2,0x20006c43,0x0025f883,0x46c04770,
+0x47702000,0x2300b122,0x3da8f8c0,0x3dacf8a0,0x1d50f8c0,0x47702001,
+0x3258f890,0x4696b510,0x2b006bc4,0xf013d036,0xd0160f01,0x3260f8d0,
+0xd10c428b,0x6a1a6943,0xf883189b,0x6942e015,0x2b076a13,0x2300d101,
+0x3301e000,0xf8906213,0xf0233258,0xf8800301,0xf8903258,0xf0133258,
+0xd00e0f02,0x2264f8d0,0xd104428a,0xf6421912,0xf80213d0,0xf890e003,
+0xf0233258,0xf8800302,0xf8903258,0xf0133258,0xbf1c0f04,0x0304f023,
+0x3258f880,0x46c0bd10,0xb5302902,0x46146bc3,0x5258f890,0x2903d008,
+0x2901d013,0xf045d117,0xf8c00301,0xe0102260,0xf64218d1,0xf06f13d0,
+0x54ca025b,0x3258f890,0x4264f8c0,0x0302f043,0xf8c0e003,0xf0452268,
+0xf8800304,0xb9253258,0xf8d36c43,0xf8c0370c,0xbd30325c,0xb5102100,
+0x025bf06f,0xf7ff460b,0xbd10ff8f,0x3375f649,0x2300604b,0xb5f0600b,
+0x4298460c,0x2101bfac,0x31fff04f,0x0334f503,0xf103fb01,0x0334f503,
+0xfb901808,0xfb02f2f3,0x1a580313,0x13c3d403,0x105b3301,0x4243e004,
+0x330113db,0x425b105b,0xbfd42b5a,0x23012300,0xf5a0b113,0xe0140034,
+0xdb032800,0x330113c3,0xe004105b,0x13db4243,0x105b3301,0xf113425b,
+0xbfac0f5a,0x23012300,0x2601b90b,0xf500e003,0xf04f0034,0xf04f36ff,
+0x46f40e00,0x45604675,0x68226861,0xdd0b4f14,0xf30efa41,0x6023189b,
+0xf30efa42,0x0301ebc3,0x59eb6063,0xe00b449c,0xf30efa41,0x0302ebc3,
+0xfa426023,0x185bf30e,0x59eb6063,0x0c0cebc3,0x0e01f10e,0xf1be3504,
+0xd1dc0f12,0xfb066863,0x6063f303,0xfb066823,0x6023f303,0x46c0bdf0,
+0x0001b3b0,0x46c04770,0x71e0ea80,0x71e0eba1,0xb2d02200,0xf300fa51,
+0x2b003201,0x4770dcf9,0x20004601,0x4686b500,0x4380f04f,0xf30efa43,
+0x428a181a,0x0050ea4f,0x1a89d802,0x0000ea43,0x0e02f10e,0x0f20f1be,
+0x4288d1ee,0x3001bf38,0x46c0bd00,0x46c04770,0x47f0e92d,0xf240460c,
+0x4605413b,0xf8dd461f,0xf7fe9020,0x2204ff91,0xf2404613,0x4680413b,
+0xf7fe4628,0x4628ffab,0x413cf240,0x23002204,0xffa4f7fe,0x7200f44f,
+0x46284613,0x5103f240,0xff9cf7fe,0xf2404628,0xf44f5103,0x23007200,
+0xff94f7fe,0x4628b2a3,0x5105f240,0x72fff64f,0xff8cf7fe,0xf2404628,
+0xf64f5104,0x236472ff,0xff84f7fe,0x46282220,0x5103f240,0xf7fe4613,
+0x2400ff7d,0xf7f52001,0x4628fbc9,0x5103f240,0xff52f7fe,0x0f20f010,
+0x2600bf14,0x34012601,0x7f7af5b4,0x2e00d002,0xe000d0ec,0xf240b30e,
+0x46285106,0xff40f7fe,0x5107f240,0x46284604,0xff3af7fe,0x0c240424,
+0x4400eb04,0xf44f603c,0x462861a1,0xff30f7fe,0x5109f240,0x46284604,
+0xff2af7fe,0x0c240424,0x4400eb04,0x4000f8c9,0x603ee002,0x6000f8c9,
+0x46282204,0x413bf240,0x0302ea08,0xff3af7fe,0xe8bd4630,0x46c087f0,
+0x41f0e92d,0x460c4606,0xf2404615,0x222061da,0xf7fe461f,0x4630ff21,
+0x6182f44f,0x23002208,0xff24f7fe,0x46304623,0x4182f240,0x72fff64f,
+0xff1cf7fe,0xf2404630,0x22ff4181,0xf7fe462b,0x4630ff15,0x4181f240,
+0x7280f44f,0xf7fe2300,0xf44fff0d,0x46307200,0x4181f240,0xf7fe4613,
+0x2400ff05,0xf241e009,0x429c3389,0x2400d101,0x2064e036,0xfb4af7f5,
+0x46303401,0x4181f240,0xfed2f7fe,0x7f00f410,0xf240d1ed,0x46304183,
+0xfecaf7fe,0x4184f240,0x46304604,0xfec4f7fe,0x4004ea40,0xf2406038,
+0x46304185,0xfebcf7fe,0x4186f240,0x46304604,0xfeb6f7fe,0x4004ea40,
+0xf2406078,0x46304187,0xfeaef7fe,0x6191f44f,0x46304604,0xfea8f7fe,
+0x4004ea40,0x240160b8,0x46302208,0x6182f44f,0xf7fe4613,0x4620febf,
+0x81f0e8bd,0x4a0ab530,0x4604b085,0xab01460d,0xe883ca07,0x46200007,
+0x22204629,0xff78f7ff,0x9b03b120,0x189b9a02,0xf0f5fbb3,0xbd30b005,
+0x0001b35c,0x4ff0e92d,0xb0854b4f,0xad014680,0xe893460c,0xe8850007,
+0xf2400007,0x46406145,0xfe72f7fe,0x6146f240,0x46400587,0xfe6cf7fe,
+0x61d1f240,0x22040586,0x23004640,0xfe86f7fe,0x46132240,0xf2404640,
+0xf7fe614b,0x4640fe7f,0x6145f240,0x32fff240,0xf7fe2300,0x4640fe77,
+0x6146f240,0x32fff240,0xf7fe2300,0x4640fe6f,0x22204621,0xf7ff462b,
+0x0dbfff33,0x46830db6,0xd04a2800,0xf8dd9d02,0xf8dda00c,0xeb0a9004,
+0x2b010305,0xf04fd802,0xe03e0b00,0xf7ff4648,0x4604fe6f,0xf7ff4650,
+0xf1a4fe6b,0xb21a0314,0xdb062a00,0xf102fa35,0x3201d041,0xf202fa35,
+0x4253e006,0xf103fa15,0x43d2d039,0xf202fa15,0xf1c3b223,0xfa09031e,
+0xebc3f303,0xf1a00402,0xb21b030b,0x460a2b00,0xfa35db02,0xe002f103,
+0xfa15425b,0xd022f103,0xf1c3b203,0xfa0a031f,0xfb94f303,0xfb93f4f2,
+0xfb04f0f1,0xf7ff0014,0x05a7fe43,0x0dbf0586,0x46400db6,0x6145f240,
+0x32fff240,0xf7fe463b,0x4640fe11,0x6146f240,0x32fff240,0xf7fe4633,
+0x4658fe09,0x2000e000,0xe8bdb005,0x46c08ff0,0x0001b318,0x460cb570,
+0xb1484605,0x3030f890,0xd0032b14,0xd1032b28,0xe0022280,0xe0002240,
+0x21cc2200,0x020cf042,0xf7f14620,0x2002facb,0xfa38f7f5,0x2202210a,
+0xf7f14620,0x2001fac3,0xfa30f7f5,0x21024620,0xf7f12200,0x2001fabb,
+0xfa28f7f5,0x4628b11d,0xf7fe2101,0xbd70fe0d,0x4606b570,0x4610460d,
+0x21004614,0xf7f2221c,0x2000fb5b,0x58c24b0f,0x3cddf896,0x2a94b11b,
+0x2aa5d901,0x2d02d910,0x2a0ed102,0xe00bd904,0xd1092d01,0xd9072a0e,
+0xf00208d1,0x22010307,0x5c63409a,0x54634313,0xf5b03014,0xd1e17f8c,
+0x46c0bd70,0x0001b508,0x2380b530,0x7d09f5ad,0x9384ac03,0x93852318,
+0x33082100,0x7200f44f,0x46204605,0x93879483,0xf7f29186,0x4622fb25,
+0x2300f44f,0x32086053,0x7300f504,0xd1f7429a,0x4356f240,0x46289300,
+0xf240a983,0x33014255,0xfdd4f7fe,0x7d09f50d,0x46c0bd30,0x4ff0e92d,
+0x7d0bf5ad,0xf8bd461f,0x46893258,0xf89d9303,0xf240325c,0x005b61a3,
+0x46052202,0x4250f89d,0xb254f8bd,0x8260f8bd,0xa264f8bd,0xfd62f7fe,
+0x93862380,0xae052318,0x21009387,0x96853308,0x91889389,0xf44fb1bc,
+0x46307200,0xfae4f7f2,0xf44f4632,0x60532300,0xf5063208,0x429a7300,
+0xf240d1f7,0x93004356,0xa9854628,0x4255f240,0xf7fe3301,0xf1b9fd93,
+0xd12f0f00,0xf2404628,0x464261a1,0xfd1cf7fe,0xf2404628,0x465261a2,
+0xfd16f7fe,0xf2404628,0x463a617e,0xfd10f7fe,0x1c7a2314,0xf203fb02,
+0x46283a01,0x61c8f44f,0xf7feb292,0x4628fd05,0x617bf240,0xf7fe465a,
+0x4628fcff,0x617cf240,0xf7fe9a03,0x4628fcf9,0x6176f240,0x02a1f24b,
+0xfcf2f7fe,0xe0034c0d,0xf7f5200a,0x3c0af957,0xf2404628,0xf7fe6176,
+0xf010fcdf,0xd0010f01,0xd1f12c09,0x46282280,0x6176f240,0xf7fe4613,
+0xf50dfcf5,0xe8bd7d0b,0x46c08ff0,0x000f4249,0x4770e92d,0xac03b0c9,
+0x21004682,0xf44f4620,0xf7f27280,0x2307fa75,0x33199345,0xae439347,
+0xf2402318,0xf2404855,0x94434957,0x25409344,0x4456f240,0x46314650,
+0x464b4642,0x94009546,0xfd20f7fe,0x93462380,0x46314650,0x464b4642,
+0x94009544,0xfd16f7fe,0xe8bdb049,0x46c08770,0x4604b510,0xf7f76bc0,
+0xf44fff2d,0x28026182,0x2320bf14,0x22e02360,0xf7fe4620,0xbd10fcaf,
+0x4605b570,0xf240b9a1,0xf64f413b,0xf7fe72ed,0x4628fc91,0x414cf240,
+0x72f0f64e,0xfc8af7fe,0xf2404628,0xf64f41f9,0xf7fe72f8,0xe096fc83,
+0x46132202,0x413bf240,0xfc90f7fe,0x23002202,0xf2404628,0xf7fe413c,
+0x2210fc89,0x46284613,0x413bf240,0xfc82f7fe,0x23002240,0xf2404628,
+0xf7fe413c,0xf241fc7b,0x46130208,0xf2404628,0xf7fe414c,0xf244fc73,
+0x46130208,0xf2404628,0xf7fe414d,0x2101fc6b,0x46282200,0xf834f7ff,
+0x23002204,0xf2404628,0xf7fe414d,0x2204fc5f,0xf2404628,0x4613414c,
+0xfc58f7fe,0xf7f76be8,0x2802fec9,0xd1284604,0xf2404628,0x462241f9,
+0xf7fe4623,0x4628fc4b,0x41faf240,0x46234622,0xfc44f7fe,0x46132204,
+0xf2404628,0xf7fe41f9,0x2204fc3d,0x46284613,0x41faf240,0xfc36f7fe,
+0x46132201,0xf2404628,0xf7fe41f9,0x2201fc2f,0xf2404628,0x461341fa,
+0x2202e027,0x46284613,0x41f9f240,0xfc22f7fe,0xf2404628,0x220241fa,
+0xf7fe2300,0x2204fc1b,0x46284613,0x41f9f240,0xfc14f7fe,0xf2404628,
+0x220441fa,0xf7fe2300,0x2201fc0d,0x46284613,0x41f9f240,0xfc06f7fe,
+0xf2404628,0x220141fa,0xf7fe2300,0xbd70fbff,0xb5102300,0x3de8f8c0,
+0x6144f240,0xf7fe4604,0xf010fbd3,0xd0050301,0x46202202,0x613ff240,
+0xe0074613,0x0f02f010,0x4620d006,0x4153f240,0x4200f44f,0xfbe2f7fe,
+0x22084620,0xf2402300,0xf7fe61da,0x4620fbdb,0x23002280,0x61daf240,
+0xfbd4f7fe,0x23012203,0xf2404620,0xf7fe61d6,0x2100fbcd,0xf7ff4620,
+0x6be0ff1b,0xfe3af7f7,0x6182f44f,0xbf142802,0x23602320,0x462022e0,
+0xfbbcf7fe,0x46c0bd10,0x41f0e92d,0x4616460c,0x3c012280,0xf2404605,
+0x461f61da,0xf89d4613,0xf7fe8018,0xb2a3fbab,0xf2404628,0xf2406142,
+0xf64f32ff,0xf7fe74ff,0x42a6fba1,0x1e73d001,0x4628b29e,0x61c8f44f,
+0x46334622,0xfb96f7fe,0xf2404628,0x46226141,0xf7fe463b,0xf1b8fb8f,
+0xd00e0f00,0xf2404628,0xf6474153,0xf7fe72ff,0x4628fb71,0x4153f240,
+0x4200f44f,0xfb74f7fe,0x4628e009,0x613ff240,0xf7fe2201,0x4628fb5d,
+0xf7ff2101,0xe8bdfec5,0x46c081f0,0x4ff0e92d,0x460c4605,0x469b4692,
+0x1de8f8c5,0xf44fb0cb,0x22e06182,0xf7fe2380,0xb914fb61,0x0802f04f,
+0x2001e012,0x4140f649,0xf101fb00,0x72e4ea84,0x72e4eba2,0xf3f2fbb1,
+0xf883fa1f,0xf208fb02,0x428a1c43,0xd1edb298,0xfb042324,0x2228f303,
+0xf3f2fb93,0x041b2400,0xfb93323c,0x4627f9f2,0xe02d4626,0xa9484638,
+0xfadcf7ff,0xfb039b49,0x2b00f30a,0x13dbdb04,0xf3c33301,0xe0060249,
+0x13db425b,0x105b3301,0x059a425b,0x9b480d92,0xf30afb03,0xdb042b00,
+0x330113db,0x0349f3c3,0x425be006,0x330113db,0x425b105b,0x0d9b059b,
+0x2382ea43,0x50b3aa03,0x444f1c63,0x3604b29c,0xd1cf4544,0x22034628,
+0xf2402300,0xf7fe61d6,0x2208fb05,0x46134628,0x61daf240,0xfafef7fe,
+0x46282202,0xf2404613,0xf7fe61da,0xab03faf7,0x23159343,0x330b9345,
+0xf2409347,0x24004356,0x46289300,0x3301a943,0x4255f240,0x8110f8cd,
+0xf7fe9446,0x4628fb37,0xf64f4641,0x462372ff,0xb000f8cd,0xff20f7ff,
+0xe8bdb04b,0x46c08ff0,0x2900b570,0xf44fbf14,0x23007380,0x1e0e4605,
+0x2601bf18,0x7280f44f,0x6196f44f,0xfac6f7fe,0x46282201,0x414cf240,
+0xf7fe4633,0x01b4fabf,0x22100133,0x4628b29b,0x414cf240,0xf7feb2a4,
+0x2240fab5,0xf2404628,0x4623414c,0xfaaef7fe,0x22200173,0x4628b29b,
+0x6196f44f,0xfaa6f7fe,0x46282240,0x6196f44f,0xf7fe4623,0x6be8fa9f,
+0xfd10f7f7,0xd1112802,0x462802b3,0x6196f44f,0x6280f44f,0x437cf403,
+0xfa90f7fe,0xb29b00f3,0xf2404628,0x220841e5,0xfa88f7fe,0x46c0bd70,
+0x1380f481,0x2201b570,0x460e4605,0x5440f3c1,0x5300f3c3,0x414df240,
+0xfa78f7fe,0x46280263,0x41b1f240,0x7200f44f,0xfa70f7fe,0x462802a3,
+0x41b1f240,0x6280f44f,0xfa68f7fe,0xf2404628,0xf64f41b6,0xb2b372ff,
+0xfa60f7fe,0x4628220f,0x41b7f240,0x4303f3c6,0xfa58f7fe,0xf7f76be8,
+0x2802fcc9,0xf3c6d110,0x46280481,0x41b1f240,0x52c0f44f,0xf7fe02e3,
+0x4628fa49,0x41e6f240,0x00e32218,0xfa42f7fe,0x21014628,0xff68f7ff,
+0x46c0bd70,0x47f0e92d,0x46061e0f,0x4b3edb03,0x1027f853,0xf1b7e018,
+0xd1143fff,0x4b3a2500,0xf8534630,0xf7ff1025,0x4630ffa3,0x1f9ef8b6,
+0xfb68f7ff,0x2d243501,0xd0024604,0x7f2ff5b0,0x1e6fd3ed,0x2100e009,
+0xf7ff4630,0x4630ff91,0x1f9ef8b6,0xfb56f7ff,0x4b2c4604,0xf2404630,
+0xf8134125,0xf7fea007,0x0124f9e7,0x46810c22,0xb9120413,0x46184622,
+0x2010e000,0x4f7ff412,0x0a12d001,0xf0123008,0xd0010ff0,0x30040912,
+0x0f0cf012,0x0892d001,0xf0123002,0xbf180f02,0x1c433001,0xfa122201,
+0x409af100,0x0104ebc1,0x42911b12,0x4698bf2c,0x46304680,0x4134f240,
+0xf9baf7fe,0xf44f4b12,0x57da718f,0x3fcaf996,0xfb03b2c5,0x2d7ff301,
+0x531cf5a3,0xf5a5bf88,0x3b1a7580,0x3223eb02,0x0202ebca,0x234ef3c9,
+0x46301ad2,0xf5a12403,0xfb08718f,0xf7ff2404,0x1960fee7,0x87f0e8bd,
+0x0001c420,0x0001bdce,0x0001bd82,0xf8bdb570,0x460c601c,0x72fff64f,
+0x41b6f240,0x0303f006,0xf7fe4605,0x220ff9a7,0xf2404628,0xea0441b7,
+0xf7fe0302,0x6be8f99f,0xfc10f7f7,0xd1112802,0x462802f3,0x41b1f240,
+0x52c0f44f,0x4378f403,0xf990f7fe,0xb29b00f3,0xf2404628,0x221841e6,
+0xf988f7fe,0x46c0bd70,0x4604b530,0x460db085,0xf240b979,0xf24f414c,
+0xf7fe72ff,0x4620f967,0x6196f44f,0x62fff64f,0xf960f7fe,0x46294620,
+0xf44fe023,0x46136200,0x414cf240,0xf96af7fe,0x5200f44f,0x46204613,
+0x414df240,0xf962f7fe,0x7280f44f,0x46204613,0x6196f44f,0xf95af7fe,
+0x23032207,0x46209201,0x2201210f,0x93029300,0xf7ff9303,0x4620ff9b,
+0xf7ff2101,0xb005fe75,0x46c0bd30,0xf241b510,0x5cc3033d,0xb92b4604,
+0xf7f76bc0,0xf04ffbb3,0xe0060320,0xf7f76bc0,0x2801fbad,0x2340bf0c,
+0xf8a42346,0xf04f3f96,0xf8a40300,0xbd103f98,0x47f0e92d,0x4d544b53,
+0xb088681e,0x24004607,0xf240e00b,0x93004356,0x46384629,0x4255f240,
+0xf7fe3301,0x3401f96f,0x42b43514,0x6bf8d1f1,0xfb88f7f7,0xd1492802,
+0xf7f76bf8,0x2307fb83,0x33199304,0x23019306,0xab079303,0xbf142801,
+0x0a70f04f,0x0a10f04f,0xf04f9302,0xf04f0800,0x493e09c0,0xeb08ae02,
+0x78630401,0x021b78a2,0x4302ea43,0x2001f818,0x4556f240,0xea434313,
+0x9307630a,0x46314638,0x4255f240,0x4357f240,0x9014f8cd,0xf7fe9500,
+0x78e3f935,0x071b7922,0x5302ea43,0xf1099307,0x93050380,0x46314638,
+0x4255f240,0x4357f240,0x0805f108,0xf7fe9500,0xf5b8f921,0xf1097f20,
+0xd1ca0901,0x689b6c7b,0xf2406a5a,0x429a5304,0x3baed108,0x46389300,
+0xf240491f,0x33014255,0xf90cf7fe,0x93042307,0x93063319,0x93032301,
+0xab072400,0xe0119302,0x220a014b,0xf3f2fb93,0xf5019307,0x93057310,
+0x4356f240,0x46389300,0xf240a902,0x33014255,0xf8f0f7fe,0x3401b2e1,
+0xd1e92c81,0xf7f76bf8,0x2802fb09,0x4638d116,0x6189f44f,0x4200f44f,
+0xf882f7fe,0xf44f4638,0x22406182,0xf87cf7fe,0x46c0e016,0x00019b8c,
+0x000192ec,0x0001985c,0x00019b90,0xf44f4638,0xf6476189,0xf7fe72ff,
+0x4638f861,0x6182f44f,0x72bff64f,0xf85af7fe,0x7380f44f,0xf44f4638,
+0xf44f6189,0xf7fe7240,0x4638f865,0xf2402250,0xf7fe4139,0x4638f845,
+0x413af240,0x4208f44f,0xf83ef7fe,0x22004638,0x413bf240,0xf838f7fe,
+0x22004638,0x413cf240,0xf832f7fe,0x22004638,0x41e5f240,0xf82cf7fe,
+0x22004638,0x414cf240,0xf826f7fe,0x22004638,0x6196f44f,0xf820f7fe,
+0x22004638,0x41f9f240,0xf81af7fe,0x22004638,0x414ef240,0xf814f7fe,
+0x3f89f897,0x22ff4638,0x4134f240,0xf826f7fe,0x22444638,0x414af240,
+0xf816f7fe,0x22804638,0x414af240,0xf800f7fe,0xf2404638,0xf64a413d,
+0xf7fd1254,0xf897fff9,0xf8972f8a,0xf4423f8b,0xea425200,0xf8971203,
+0x46383f8c,0x2283ea42,0x413ef240,0xf7fdb292,0x4638ffe7,0x4127f240,
+0x4260f44f,0x43c0f44f,0xfff8f7fd,0x220f4638,0xf44f230a,0xf7fd6185,
+0x4638fff1,0x6184f44f,0x427ff44f,0x53f0f44f,0xffe8f7fd,0x46382201,
+0xf2404613,0xf7fd510e,0x2332ffe1,0xf2404638,0xf44f510e,0xf7fd72ff,
+0x2201ffd9,0x46134638,0x510af240,0xffd2f7fd,0x463823a4,0xf24022ff,
+0xf7fd4116,0x4638ffcb,0x514bf240,0x0233f246,0xffaaf7fd,0x22ff4638,
+0xf2402346,0xf7fd4123,0x4638ffbd,0x4123f240,0x427ff44f,0x5334f44f,
+0xffb4f7fd,0x22ff4638,0xf2402306,0xf7fd4125,0x4638ffad,0x4125f240,
+0x427ff44f,0x43bef44f,0xffa4f7fd,0x220f4638,0xf240230a,0xf7fd4126,
+0x4638ff9d,0x23002208,0x515af240,0xff96f7fd,0x22ff4638,0xf44f2312,
+0xf7fd6184,0x4638ff8f,0x4124f240,0x427ff44f,0x53e8f44f,0xff86f7fd,
+0x220f4638,0xf2402309,0xf7fd4129,0x4638ff7f,0x4112f240,0x427ff44f,
+0x5340f44f,0xff76f7fd,0x23004638,0x4127f240,0x52f8f44f,0xff6ef7fd,
+0x463822ff,0xf2404613,0xf7fd4134,0x4638ff67,0x41dff240,0x427ff44f,
+0x4374f44f,0xff5ef7fd,0x22ff4638,0xf2402300,0xf7fd5145,0x4638ff57,
+0x4392f44f,0x5145f240,0x427ff44f,0xff4ef7fd,0x22034638,0x6156f240,
+0xff2ef7fd,0xf44f4638,0xf2406340,0xf44f41ff,0xf7fd427c,0x4638ff3f,
+0xf240226c,0xf7fd411f,0x4638ff1f,0x230c227f,0x510ff240,0xff32f7fd,
+0x22ff4638,0xf240230c,0xf7fd6134,0x4638ff2b,0xf44f2217,0xf7fd61c1,
+0x4638ff0b,0x6104f240,0x32eaf240,0xff04f7fd,0xe8bdb008,0x46c087f0,
+0x41f0e92d,0x460521e0,0xf7f76bc0,0xf8b5faad,0x46074f94,0x0400ebc4,
+0x41a5f240,0xf7fd4628,0x2301fee7,0x2602f3c0,0xb2a440b3,0xdd0c429c,
+0x7f94f8a5,0xf2404628,0xf7fd41ab,0xf3c0fed9,0xf8a52006,0xf8a50f96,
+0xe8bd6f98,0x46c081f0,0x4604b530,0xf890b0a1,0xf7f7002c,0x2307f94b,
+0x3319931c,0x2000931e,0xf9931823,0xad022169,0xf8454252,0x30012020,
+0x0110f241,0x545a2804,0xf994d1f2,0xf241316d,0x425b0214,0x320154a3,
+0x930654a3,0xf9949307,0x3201316e,0x54a3425b,0x54a33201,0x93099308,
+0x316ff994,0x425b3201,0x320154a3,0x930a54a3,0xf994930b,0x32013170,
+0x54a3425b,0x54a33201,0x930d930c,0x3171f994,0x425b3201,0x320154a3,
+0x930e54a3,0xf994930f,0x32013172,0x54a3425b,0x54a33201,0x93119310,
+0x3173f994,0x5281f504,0x9312425b,0xf2417013,0x93130221,0xf99454a3,
+0x32013174,0x54a3425b,0xf9949314,0x3201317c,0x54a3425b,0x23189315,
+0x3328931b,0xf240931d,0x93004356,0x33014620,0xf240a91a,0x951a4255,
+0xfed0f7fd,0x037ff10d,0x2301931a,0x3307931b,0x3378931e,0x2300931d,
+0x307ff88d,0xf240461d,0x93004356,0x33014620,0xf240a91a,0xf7fd4255,
+0x9b1dfeb9,0x931d3301,0x307ff89d,0xb2db3301,0xf88d2b20,0xbf04307f,
+0x031ff06f,0x307ff88d,0x2d403501,0x4620d1e3,0x41a7f240,0xfe2cf7fd,
+0x31c8f894,0x4298b2c0,0x4620d006,0x41a7f240,0xf7fd22ff,0xe003fe43,
+0x033df241,0xb1135ce3,0xf7ff4620,0xb021fcf3,0x46c0bd30,0xb08bb5f0,
+0x9303ab08,0x93042302,0x9305330b,0x93073313,0x7fcaf990,0xf1174606,
+0xda2d0f0f,0xfb0733fe,0xf503f303,0x331c53a0,0x3b02131b,0x3fcbf880,
+0x231aad03,0x4456f240,0x46299306,0x4255f240,0x4357f240,0xf7fd9400,
+0x231cfe9b,0x46309306,0xf2404629,0xf2404255,0x94004357,0xfe5af7fd,
+0x46294630,0x4255f240,0x4357f240,0xf7fd9400,0xf5a4fe87,0xe095648a,
+0xdc462f12,0x738ff44f,0xf303fb07,0x6344f5a3,0x131b3b0a,0x3fcbf880,
+0x231aad03,0x4456f240,0x46299306,0x4255f240,0x4357f240,0xf7fd9400,
+0x231cfe6b,0x46309306,0xf2404629,0xf2404255,0x94004357,0xfe2af7fd,
+0x46294630,0x4255f240,0x4357f240,0xf7fd9400,0x2336fe57,0xf8d69306,
+0x46303fb0,0xf8d69308,0x46293fb4,0xf2409309,0xf2404255,0x94004357,
+0xfe10f7fd,0x46294630,0x4255f240,0x4357f240,0xf7fd9400,0x2403fe3d,
+0x2f45e04c,0xf8d0ad03,0xf8d02fa8,0xdc221fac,0x738ff44f,0xf303fb07,
+0x531cf5a3,0x131b3b1a,0x3fcbf880,0xf240231c,0x93064456,0x91099208,
+0x4255f240,0xf2404629,0x94004357,0xfde6f7fd,0x46294630,0x4255f240,
+0x4357f240,0xf7fd9400,0x2400fe13,0xf44fe022,0xfb07738f,0xf5a3f303,
+0x3b62438c,0xf880131b,0x231c3fcb,0x4456f240,0x92089306,0xf2409109,
+0x46294255,0x4357f240,0xf7fd9400,0x4630fdc3,0xf2404629,0xf2404255,
+0x94004357,0xfdf0f7fd,0x0402f06f,0x3fb8f8b6,0x18ebb2a5,0x463022ff,
+0x41dff240,0xf7fdb29b,0xf8b6fd59,0xf44f3fba,0x18eb427f,0x4013021b,
+0xf2404630,0xf7fd41df,0xab08fd4d,0xf8d69303,0x46303fbc,0x930818e3,
+0x3fc0f8d6,0x18e3a903,0x23029309,0x330f9304,0x332f9305,0x23209306,
+0xf2409307,0x93004356,0x4255f240,0xf7fd3301,0xf996fd85,0x22ff3fc4,
+0xb29b18eb,0xf2404630,0xf7fd4134,0xf107fd27,0x2b21030f,0xf896d808,
+0xf7f6002c,0xf640ff7f,0x4298137b,0xe00bd82f,0x0332f1a7,0xd8132b13,
+0x002cf896,0xff72f7f6,0x137bf640,0xd8054298,0x463022ff,0x4134f240,
+0xe01a4613,0xf2404630,0x22ff4134,0xe0142300,0xdd142f45,0x002cf896,
+0xff5cf7f6,0x137bf640,0xd8054298,0xf2404630,0x22ff4134,0xe00423fd,
+0xf2404630,0x22ff4134,0xf7fd23fe,0xf8b6fceb,0xf44f3fc6,0x18eb427f,
+0x4013021b,0xf2404630,0xf7fd4124,0xf8b6fcdf,0x46303fc8,0xb29b18eb,
+0xf24022ff,0xf7fd4125,0x4630fcd5,0xf2402244,0xf7fd414a,0x4630fcc5,
+0x414af240,0xf7fd2280,0x4630fcaf,0xfdd4f7ff,0xbdf0b00b,0x460db570,
+0x41a4f240,0xf7fd4604,0xf400fc9b,0x42a84060,0xf5b0d045,0xd1094f60,
+0xf7ff4620,0x4620fd99,0xffc2f7fe,0x4f60f5b5,0xe027d12a,0x4f60f5b5,
+0x4620d126,0xfdb4f7ff,0xf2404620,0x227f41a4,0x3f96f8b4,0xfc9ef7fd,
+0x3f98f8b4,0x62e0f44f,0xf403021b,0x4620437f,0x41a5f240,0xfc92f7fd,
+0x6be021e0,0xf828f7f7,0xf8a42100,0x46200f94,0xfef6f7fd,0x33fff04f,
+0x3f9cf884,0xe0002300,0x46202310,0x61a3f240,0xf7fd2210,0x4620fc7b,
+0x41a4f240,0x4260f44f,0xf7fd462b,0xbd70fc73,0x41f0e92d,0xb0942307,
+0xf8864606,0x930a1f9c,0x3319460f,0x0801f04f,0x41a4f240,0xf8cd930c,
+0xf7fd8024,0xf410fc3d,0xd0044f60,0xf44f4630,0xf7ff4100,0xf507ff93,
+0xad0873a0,0xab13930b,0x4456f240,0x46309308,0xf2404629,0xf2404255,
+0x94004357,0xfcd0f7fd,0x03c0f107,0xab12930b,0x46309308,0xf2404629,
+0xf2404255,0x94004357,0xfcc2f7fd,0x46309b12,0x02fff003,0x2034f8ad,
+0x2207f3c3,0x4307f3c3,0x3038f8ad,0xa90d9b13,0x7302f3c3,0x2036f8ad,
+0x303af8ad,0xfebaf7fd,0x104bf89d,0xf0014630,0xf7fd017f,0x9913ff57,
+0xf3c14630,0xf7fd5107,0x9b13fefd,0xf3c34630,0x059b2289,0xf8ad0d9b,
+0x2300303e,0x33109305,0xab0f9307,0x23029303,0x334e9304,0x203cf8ad,
+0xa9039306,0x4255f240,0x4357f240,0xf7fd9400,0xf507fc4d,0x930b73e0,
+0x9308ab11,0x46294630,0x4255f240,0x4357f240,0xf7fd9400,0x4630fc75,
+0x1044f8bd,0xff9af7fd,0x7310f507,0xab10930b,0x46309308,0xf2404629,
+0xf2404255,0x94004357,0xfc62f7fd,0x46309b10,0xb29b00db,0x61a6f240,
+0x72fff641,0xfbcef7fd,0x46414630,0xfe38f7fd,0xe8bdb014,0x46c081f0,
+0x4ff0e92d,0x4607b0b3,0x4615460c,0x22162100,0x004ef10d,0xf7f19302,
+0x4973f94b,0xf10d220c,0xf7f10092,0x4971f965,0xf10d220c,0xf7f10086,
+0xf10df95f,0x496e007a,0xf7f1220c,0x2300f959,0x3310931b,0x2d03931d,
+0xe8dfd80e,0x1402f005,0x2206091c,0x034ef10d,0x0892f10d,0xe055920d,
+0x46982300,0xe023930d,0x0800f04f,0x46c24643,0x8034f8cd,0xf507e04c,
+0x21066376,0xf10d330c,0x910d0886,0xf10de042,0x9319034e,0x931a2307,
+0x931c3349,0x4356f240,0xf2409300,0x46384255,0x3301a919,0xfbfcf7fd,
+0xf10d2206,0x920d0886,0x9300ab31,0x01c7f10d,0x02c6f10d,0x03c5f10d,
+0xf7fd4638,0xf89dfeb3,0xf89d20c7,0xf04f30c6,0xea430100,0xf8ad2302,
+0xf04f305c,0xf8ad0300,0xf89d305e,0xf89d20c5,0x2d0230c4,0x2302ea43,
+0x3060f8ad,0x1062f8ad,0x034ef10d,0x2206d006,0x0892f10d,0x0a02f04f,
+0xe001920d,0x0a00f04f,0x230b9319,0x3335931a,0xf240931c,0xf2404356,
+0x93004255,0x33014638,0xf7fda919,0xf240fb83,0x463841a4,0xfb08f7fd,
+0x90032100,0xf7ff4638,0x4638fe61,0x413bf240,0xfafef7fd,0x1080f3c0,
+0xb118900c,0xa92a4638,0xfeaef7fd,0x9b0cb95c,0x4638b923,0x1f96f8b7,
+0xfe9ef7ff,0x4638ac2c,0xf7fd4621,0x8863fea1,0x011b8822,0x2302ea43,
+0x462188a2,0xb29e4313,0x22088dbb,0x4370f403,0xf5b3a82e,0xbf145f80,
+0x25012500,0xf8a8f7f1,0xf10d220a,0x2100009e,0xf882f7f1,0x22004b11,
+0x4015f833,0xe0224610,0xf8534b0f,0x18c13025,0x3012880b,0xd11942b3,
+0xf10d884a,0xf8ad009e,0x888b20b8,0x30baf8ad,0x2f06f831,0x20bcf8ad,
+0xf7f1220a,0xe00cf885,0x0001b39a,0x0001b4f4,0x0001b628,0x0001b4f0,
+0x0001b3a8,0x42a23201,0x4638d1da,0xf7fda92e,0x2240fd59,0x46384613,
+0x61daf240,0xfabaf7fd,0x46382118,0xfe9af7fd,0x413cf240,0xf7fd4638,
+0xf240fa8f,0x9008110b,0xf7fd4638,0x214cfa43,0x46389009,0xfa3ef7fd,
+0x41f3f240,0x4638900a,0xfa7ef7fd,0x22382300,0xf240900b,0x4638413c,
+0xfa98f7fd,0x22fe214c,0xf7fd4638,0x214cfa35,0x46382202,0xfa42f7fd,
+0x5280f44f,0xf2404638,0xf7fd41f3,0xf240fa7d,0x4638413e,0xfa60f7fd,
+0xf24023af,0x900532ff,0x413ef240,0xf7fd4638,0xf240fa79,0x46381121,
+0xfa0cf7fd,0x900422f2,0x1121f240,0xf7fd4638,0x227ffa0f,0xf2404638,
+0xf7fd111f,0xf240fa09,0x46386176,0xfa40f7fd,0x22802300,0xf2409006,
+0x46386176,0xfa5af7fd,0x5103f240,0xf7fd4638,0x2208fa33,0x90074613,
+0x5103f240,0xf7fd4638,0x4638fa4d,0x5103f240,0x23002204,0xfa46f7fd,
+0xae194b3f,0x23009319,0x931c2514,0x4456f240,0x46314638,0x4255f240,
+0x4357f240,0x9400951a,0xfa88f7fd,0x46384b37,0x23209319,0x4631931c,
+0x4357f240,0x4255f240,0x9400951a,0xfa7af7fd,0xf2404638,0xf6404153,
+0xf7fd22a9,0xf8d7fa05,0xb9333de8,0xf6404638,0x225861a6,0xf7fe3301,
+0xea4ffea5,0xf10d024a,0xeb08037a,0xeb030602,0x46d00902,0xf04fe0a8,
+0xf8ad0300,0x883330c0,0xf3c3a932,0xeb012403,0xf8330344,0xf8b91c2a,
+0xb1212000,0x03fff002,0x2301ea43,0x4638b29a,0x4152f240,0xf9d8f7fd,
+0xfa1f1ee3,0xf1bafa83,0xd81d0f01,0x03c2f10d,0x23019319,0xad19931a,
+0x931c3344,0x4456f240,0x46294638,0x4255f240,0x4357f240,0xf7fd9400,
+0xab30fa63,0x46389319,0xf2404629,0xf2404255,0x94004357,0xfa22f7fd,
+0xf2404638,0x88324151,0xf9aef7fd,0xe00b2400,0x0001b1d0,0x0001b3f8,
+0xf7f32064,0x3401fe0f,0x3389f241,0xd007429c,0xf2404638,0xf7fd4151,
+0xf410f993,0xd1ef4f40,0xf2404638,0xf7fd4151,0xf410f98b,0xd17e4f40,
+0xab0e220b,0x9319ad19,0xf240921a,0x46384456,0xf2404629,0xf2404255,
+0xf04f4357,0xf8cd0b60,0x9400b070,0xfa20f7fd,0x931c2340,0x46294638,
+0x4255f240,0x4357f240,0xf7fd9400,0xf1baf9df,0xd80f0f01,0x03c2f10d,
+0x23019319,0x3344931a,0x4638931c,0xf2404629,0xf2404255,0x94004357,
+0xf9ccf7fd,0x6376f507,0x9319330c,0x931a230b,0x46294638,0x4255f240,
+0x4357f240,0xb070f8cd,0xf7fd9400,0xf108f9f1,0x36020801,0x0902f109,
+0x4588990d,0xaf53f4ff,0xae19230b,0xf507931a,0x33556476,0x4556f240,
+0x931c340c,0x46314638,0x4255f240,0x4357f240,0x95009419,0xf9d4f7fd,
+0x931a2304,0x931c334c,0x46314638,0x4255f240,0x4357f240,0x95009419,
+0xf990f7fd,0x6376f507,0x93193316,0x931a2302,0x931c3353,0x46314638,
+0x4255f240,0x4357f240,0xf7fd9500,0x9a02f97f,0x4638b912,0xfd28f7fe,
+0x46382300,0x5103f240,0xf7fd2208,0x4638f91f,0x111ff240,0xf7fd2280,
+0x4638f8cd,0x413ef240,0xf7fd9a05,0x9b04f8f9,0xb2da4638,0x1121f240,
+0xf896f7fd,0xf2404638,0x9a066176,0xf8ecf7fd,0xf2404638,0x9a075103,
+0xf8e6f7fd,0xf2404638,0x9a08413c,0xf8e0f7fd,0xf2404638,0x9a09110b,
+0xf87ef7fd,0x214c4638,0xf7fd9a0a,0x9a0bf879,0xf2404638,0xf7fd41f3,
+0x4638f8cf,0xf7fd2140,0x4638fcc9,0x413bf240,0x72fbf64f,0xf8caf7fd,
+0x61daf240,0x22404638,0xf7fd2300,0x990cf8d7,0x4638b119,0xf7fda92a,
+0x9a03fb69,0xf4024638,0xf7ff4160,0xb033fc07,0x8ff0e8bd,0x4ff0e92d,
+0x46072380,0x22e0b097,0x6182f44f,0xf8bef7fd,0x6c7b2400,0x4f83f887,
+0x370cf8d3,0x4df0f887,0x3decf8c7,0x302cf897,0x3f83f887,0xf8d36cbb,
+0xf0833120,0xf0130301,0x93030301,0x6bf8d102,0xf8e6f7f7,0x46382280,
+0x6131f240,0xf7fd4623,0xf44ff89d,0x46235280,0x61daf240,0xf7fd4638,
+0x4638f895,0xfb94f7fd,0x41a4f240,0xf7fd4638,0x4621f86b,0x46389004,
+0xfbc4f7ff,0xf7fd4638,0x4683fba5,0xf7fd4638,0x2110fb11,0x46389005,
+0xfbb8f7fd,0xf7f66bf8,0x2801faed,0xf04fd10a,0xf8ad03ff,0xf04f3040,
+0xf8ad033c,0xf04f3042,0xe00903ff,0x0307f04f,0x3040f8ad,0x033cf04f,
+0x3042f8ad,0x03f8f04f,0xf8ad2200,0xac104046,0x3044f8ad,0x46134638,
+0xf7ff4621,0xf10dfc91,0x93000352,0xf10d4638,0xf10d0355,0xf10d0157,
+0xf7fd0256,0xf99dfb9b,0x2b003055,0x425bbfb8,0xd11c2b0f,0x3052f99d,
+0xbfb82b00,0x2b0f425b,0xf04fd115,0xf8ad0307,0xf04f3040,0xf8ad032d,
+0xf04f3042,0xf8ad03ba,0x22003044,0x0300f04f,0x3046f8ad,0x46214638,
+0xf7ff4613,0xab12fc61,0x23029306,0x0818f10d,0x334e9307,0xf2402410,
+0x46414656,0x93092500,0xf2404638,0xf2404255,0x940a4357,0x95089600,
+0xf89af7fd,0x0352f10d,0x23559306,0x9309940a,0x46412401,0x4357f240,
+0xf2404638,0x96004255,0xa048f8bd,0x904af8bd,0x94079508,0xf884f7fd,
+0x930d2307,0x930f3319,0x8052f8bd,0x940cab13,0xf44f930b,0xad0b76a0,
+0x4456f240,0x46294638,0x4255f240,0x4357f240,0x9400960e,0xf86cf7fd,
+0xea4f9b13,0x0d1b5289,0x0d92051b,0xea4f431a,0x0d9b538a,0x2283ea42,
+0x46389213,0xf2404629,0xf2404255,0x94004357,0xf820f7fd,0x0380f106,
+0x4638930e,0xf2404629,0xf2404255,0x36014357,0x804cf8cd,0xf7fd9400,
+0xf5b6f811,0xd1ca7fe0,0x46594638,0xfa9ef7fd,0x99054638,0xfaeef7fd,
+0x46389b04,0x4160f403,0xfae8f7ff,0x22002101,0xf7fd4638,0x6bf8fb75,
+0xfa18f7f6,0x46042802,0x2208d164,0x46134638,0x414cf240,0xff9af7fc,
+0x46382208,0xf2404613,0xf7fc414d,0x4638ff93,0x46234622,0x41f9f240,
+0xff8cf7fc,0x46224638,0xf2402300,0xf7fc41fa,0x2201ff85,0x46134638,
+0x41f9f240,0xff7ef7fc,0x22014638,0xf2402300,0xf7fc41fa,0x4638ff77,
+0xf2402300,0xf44f41b1,0xf7fc5200,0xf44fff6f,0x46386200,0xf44f4613,
+0xf7fc6196,0x4638ff67,0x41b7f240,0x42fef44f,0x5300f44f,0xff5ef7fc,
+0x46382208,0xf44f4613,0xf7fc6196,0x4638ff57,0x23002280,0x41e6f240,
+0xff50f7fc,0x46132240,0xf2404638,0xf7fc41e5,0x4638ff49,0xf44f228c,
+0xf7fc7192,0x4638fecd,0x1125f240,0xf7fc2200,0xe00dfec7,0x46132220,
+0xf2404638,0xf7fc414c,0x2220ff35,0xf2404638,0x4613414d,0xff2ef7fc,
+0x41a4f240,0xf7fc4638,0x2100ff07,0x46384605,0xfa60f7ff,0xf2404638,
+0xf7fc413b,0xf3c0fefd,0xb11c1480,0xa9104638,0xfaaef7fd,0x4638217f,
+0xfaa2f7ff,0x497e4638,0xfc8af7fe,0x46132201,0xf2404638,0xf7fc413b,
+0x2201ff09,0x46382300,0x413cf240,0xff02f7fc,0x6200f44f,0x46384613,
+0x414cf240,0xfefaf7fc,0x5200f44f,0xf2404613,0x4638414d,0xfef2f7fc,
+0xf7fd4638,0x227ffc8f,0x46382300,0x619df44f,0xfee8f7fc,0x46382300,
+0x619df44f,0x42fef44f,0xfee0f7fc,0x2305227f,0xf2404638,0xf7fc41e9,
+0x4638fed9,0x41e9f240,0x42fef44f,0x63a0f44f,0xfed0f7fc,0x46132208,
+0xf2404638,0xf7fc41e7,0x2210fec9,0x46384613,0x41e7f240,0xfec2f7fc,
+0x23002260,0xf2404638,0xf7fc41e7,0x2204febb,0x46382300,0x41e7f240,
+0xfeb4f7fc,0x46132202,0xf2404638,0xf7fc41e7,0x4638fead,0x61daf240,
+0xf7fc2210,0x2220fe9d,0x46384613,0x6189f44f,0xfea0f7fc,0x4180f44f,
+0xf7fd4638,0x4638fff7,0xfc38f7fd,0xf7fd4638,0x4638fab1,0x414cf240,
+0x23002208,0xfe8ef7fc,0xf2404638,0x2220414c,0xf7fc2300,0x4638fe87,
+0x41f9f240,0x23002202,0xfe80f7fc,0xf2404638,0x220141f9,0xf7fc2300,
+0xb124fe79,0xa9104638,0xf90cf7fd,0x4638e003,0xf7fd4621,0x4638f8dd,
+0x4160f405,0xf9a6f7ff,0x21004638,0xfb90f7fe,0xf44f4638,0xf44f6196,
+0x23006200,0xfe5ef7fc,0xf44f4638,0x22086196,0xf7fc2300,0x4638fe57,
+0x41e5f240,0x23002240,0xfe50f7fc,0xf44f4638,0x22106196,0xf7fc2300,
+0x4638fe49,0x413bf240,0x23002201,0xfe42f7fc,0xf2404638,0xf44f414c,
+0x23006200,0xfe3af7fc,0x46132280,0xf2404638,0xf7fc6131,0xf44ffe33,
+0x46135280,0xf2404638,0xf7fc61da,0x9b03fe2b,0x6bf8b913,0xfd94f7f6,
+0xf7f66bf8,0xf44ff897,0x28026182,0x2320bf14,0x22e02360,0xf7fc4638,
+0xb017fe19,0x8ff0e8bd,0x001007f0,0x29016943,0x7519b507,0x2303d906,
+0x22019300,0x21006bc0,0xe0054613,0x93002303,0x6bc02100,0x460b2201,
+0xfbd0f7f6,0x46c0bd0e,0xf647b570,0x4604757f,0x462a2158,0xf7f66bc0,
+0x6be0fb61,0x462a215a,0xfb5cf7f6,0x21706be0,0xf7f6462a,0x6be0fb57,
+0x462a2172,0xfb52f7f6,0x46c0bd70,0x6bc5b5f7,0xf8d54604,0x7a1b3844,
+0xd05d2b00,0x3033f890,0xd0412b00,0x21284628,0xf7f6223f,0x4628fb3f,
+0x22102124,0xfb3af7f6,0x21c8f894,0x21264628,0xf7f60112,0x4628fb33,
+0xf8b42132,0xf7f62250,0x4626fb2d,0x4b212700,0x18fb4628,0x37017919,
+0x017ff001,0xfb0af7f6,0x216df996,0x1da14604,0xb2924628,0xfb1af7f6,
+0x216df996,0xfb922302,0x4252f2f3,0xf1044628,0xb292010e,0xfb0ef7f6,
+0x2f083601,0x2303d1df,0x93002280,0x21014628,0xf7f64613,0xe017fb67,
+0x20044601,0x316df991,0x33072208,0xf3f2fb93,0x300100db,0x316df881,
+0x280c3101,0xf994d1f2,0x4628216d,0x214e3207,0x02cff3c2,0xfaeaf7f6,
+0x46c0bdfe,0x0001b9e4,0x4ff0e92d,0x3ffff1b1,0x4605b093,0x92029103,
+0x8d81d119,0x7340f401,0x7f40f5b3,0xfa5fd102,0xe012f881,0x7f00f5b3,
+0xd104b2c9,0xd80429dd,0x0802f101,0x2902e009,0xf04fd802,0xe0040800,
+0x0802f1a1,0xf8dde001,0xf995800c,0xf8953fca,0x2b00affa,0xf1aabfb8,
+0x22000a03,0x46ab23ff,0x920446a9,0x46149305,0x613cf899,0x0719f10d,
+0xf89555e6,0x2b00324c,0x4641d14e,0x0246f10d,0x0347f10d,0x94004628,
+0xfbe4f7fd,0x21c9f999,0x3047f89d,0xbfa84293,0xb2d94613,0xbf3442b1,
+0x4633460b,0x55e32b27,0x3b04d801,0xf1bae00a,0xdc090f28,0xb2da3b14,
+0xf99555e2,0x2b413fca,0x1f13dd1c,0xe01955e3,0x0f33f1ba,0x2fcaf895,
+0xb252dc0a,0xdc032a27,0x2a003b04,0xe00755e3,0x302cf89d,0xe0073b05,
+0x2b27b253,0x2b41dd01,0xf89ddd04,0x3b02302c,0x302cf88d,0xf88d6c6b,
+0xf10d1047,0xf8930119,0x5c6326fe,0xf302fb03,0xfb932264,0x5463f3f2,
+0x0319f10d,0x9a045ce3,0x429a3401,0x461abf38,0x9a059204,0x0901f109,
+0xbf28429a,0x2c0c461a,0xd1959205,0xf1b39b03,0xd0033fff,0x9a029b04,
+0xe0427013,0x70b4f505,0x222d2100,0xf7f03001,0x9a04fa5f,0xf8859b05,
+0xf8852031,0x210031c8,0x0319f10d,0xf8955cca,0xf88b3033,0xb91b2196,
+0x3031f895,0xe0031a9b,0x31c8f895,0x0302ebc3,0x290c3101,0x3169f88b,
+0x0b01f10b,0x4628d1e8,0x6193f501,0xfc88f7fc,0x4f60f410,0x4628d012,
+0x41a4f240,0xfc80f7fc,0x46042100,0xf7fe4628,0x4628ffd9,0xfda8f7fe,
+0xf4044628,0xf7fe4160,0xe002ffd1,0xf7ff4628,0xb013fead,0x8ff0e8bd,
+0xb570297f,0xd9014604,0xe0192005,0x18232000,0x282d3001,0x113cf883,
+0x6c63d1f9,0x224cf884,0xb1637c5b,0xf0046be0,0x4605fd51,0x4620b938,
+0x31fff04f,0xf7ff462a,0x4628fef7,0x2000e000,0x46c0bd70,0x6c43b570,
+0x4606b088,0x6898b2cc,0x71fff640,0x7272f44f,0xf9b4f7ef,0x031ff10d,
+0x23019302,0x33139303,0x23089304,0x6c739306,0x6a5b689b,0x639ef5a3,
+0x2b013b0d,0x4630d869,0x61aaf44f,0x72a5f44f,0xfc2ef7fc,0xd8052c04,
+0xf2404630,0x22ff4134,0xe00823fd,0xb2db1f63,0xd8072b03,0xf2404630,
+0x22ff4134,0xf7fc23fe,0xe012fc35,0x0309f1a4,0x2b05b2db,0x22ffd80d,
+0xf2404630,0x46134134,0xfc28f7fc,0xf44f4630,0xf44f61aa,0xf7fc72af,
+0x2302fc07,0xf88d2c07,0xd117301f,0xad023337,0xf2409305,0x46304456,
+0xf2404629,0xf2404255,0x94004357,0xfc62f7fc,0x9305233a,0x46294630,
+0x4255f240,0x4357f240,0xe0d99400,0xd1172c0b,0xad022306,0xf2409305,
+0x46304456,0xf2404629,0xf2404255,0x94004357,0xfc48f7fc,0x93052307,
+0x46294630,0x4255f240,0x638af503,0xe0bf9400,0xf0402c0d,0x231980bf,
+0x4630e08e,0x61aaf44f,0x72aff44f,0xfbc4f7fc,0xd1222c01,0x93052317,
+0x4356f240,0x93003404,0xa9024630,0x4255f240,0xf88d3301,0xf7fc401f,
+0x4630fc21,0x412ff240,0x46232207,0xfbc6f7fc,0xf2404630,0x22ff4134,
+0xf7fc23fd,0x4630fbbf,0x4116f240,0x23a322ff,0x2c02e041,0x2505d114,
+0x4356f240,0x93001964,0xa9024630,0x4255f240,0xf88d3301,0x9405501f,
+0xfbfcf7fc,0xf2404630,0x4622412f,0xe01c462b,0xd1042c03,0x23373402,
+0x401ff88d,0x2c04e005,0x3401d13c,0x401ff88d,0x93052327,0x4356f240,
+0x46309300,0xf240a902,0x33014255,0xfbdef7fc,0xf2404630,0x2207412f,
+0xf7fc4623,0x4630fb83,0x4134f240,0x23fd22ff,0xfb7cf7fc,0xf2404630,
+0x22ff4116,0xf7fc23a2,0x4630fb75,0xf2402300,0xf44f5152,0xf7fc4278,
+0x4630fb6d,0x5153f240,0x42c0f44f,0x4380f44f,0xfb64f7fc,0xf2404630,
+0x22ff4117,0xf7fc2378,0xe033fb5d,0xd1312c0d,0xf88d2302,0x3317301f,
+0xf240ad02,0x93054456,0x46294630,0x4255f240,0x4357f240,0xf7fc9400,
+0x231afb9d,0x46309305,0xf2404629,0xf2404255,0x94004357,0xfb92f7fc,
+0x93052326,0x46294630,0x4255f240,0x4357f240,0xf7fc9400,0x2327fb87,
+0x94009305,0x46294630,0x4255f240,0x6386f503,0xfb7cf7fc,0xbd70b008,
+0x4f70e92d,0x46054b47,0x0003e893,0xb08a4b46,0x23149303,0x23089305,
+0x9307ac08,0x080cf10d,0xf2402300,0xf2404955,0xe8844a57,0xf04f0003,
+0x93060b40,0x4656f240,0x46414628,0x4653464a,0xb010f8cd,0xf7fc9600,
+0x6c6bfb55,0x71fff640,0xf44f6898,0xf7ef627e,0x4628f84d,0x23032207,
+0x412ff240,0xfaf2f7fc,0x462822ff,0xf2404613,0xf7fc4134,0x4628faeb,
+0x23a422ff,0x4116f240,0xfae4f7fc,0xf2404628,0xf44f5152,0xf44f4278,
+0xf7fc43b0,0x4628fadb,0x5153f240,0x42c0f44f,0x5300f44f,0xfad2f7fc,
+0x46282364,0xf24022ff,0xf7fc4117,0x4628facb,0x41dff240,0x42f1f24f,
+0xfaaaf7fc,0xf2404628,0xf44f4124,0xf44f427f,0xf7fc53e8,0x4628fabb,
+0x230622ff,0x4125f240,0xfab4f7fc,0x93042302,0x9305330f,0x9403330f,
+0x46289307,0x464a4641,0xf2404653,0xf8cd444a,0x9600b018,0xfaf6f7fc,
+0x46214628,0xf7fc2244,0x4628fa93,0x22804621,0xfa7ef7fc,0xe8bdb00a,
+0x46c08f70,0x0001b500,0x00019d8c,0x4ff0e92d,0xb089b2ca,0x92014607,
+0xf7fd9100,0x4638f905,0xff5ef7ff,0x461a2300,0xf8dd49b3,0x58508004,
+0x90074540,0x3301d004,0x2b0e321c,0xe21fd1f4,0xfb03241c,0x46381404,
+0x7a2221a2,0xf9f8f7fc,0x463821a4,0xf7fc7a62,0x21a6f9f3,0x7aa24638,
+0xf9eef7fc,0x463821a1,0xf7fc7ae2,0x21b4f9e9,0x7b224638,0xf9e4f7fc,
+0x463821b6,0xf7fc7b62,0x21d0f9df,0x7ba24638,0xf9daf7fc,0x463821d3,
+0xf7fc7be2,0x21d6f9d5,0x7c224638,0xf9d0f7fc,0x463821d9,0xf7fc7c62,
+0x21dff9cb,0x7ca24638,0xf9c6f7fc,0xf44f4638,0x7d227180,0xf9c0f7fc,
+0xf2404638,0x7d621103,0xf9baf7fc,0x46387da2,0x1115f240,0xf9b4f7fc,
+0x4638210f,0xf9bef7fc,0x021ef040,0x210f9004,0xb2924638,0xf9a8f7fc,
+0xf8d74b82,0x68605df4,0xbf8c429d,0x0b02f04f,0x0b01f04f,0x13b4f640,
+0xd9014298,0xe0000040,0x4e7b0080,0x46312210,0xf8d79002,0xf7fd0df4,
+0x4631f85b,0x46282210,0xf856f7fd,0xf106fb0b,0x90032210,0xf7fd4628,
+0x2403f84f,0x22104621,0x98029006,0xf848f7fd,0xf904fb05,0x217940a5,
+0x90052202,0xf7fc4638,0x4b6af973,0xfb0b217c,0xfbb5f303,0x3301f3f3,
+0x3b01085b,0xfa83fa5f,0x46382207,0x039aea4f,0xf99ef7fc,0x0801f10a,
+0x2260217d,0xea4f4638,0xf7fc134a,0xfb0bf995,0x4c5df308,0xf5f3fbb5,
+0xfbb4192c,0x3c01f4f6,0x217bb2e4,0x46384622,0xf94af7fc,0x98059a06,
+0x46290115,0xf7fd2210,0x3401f80f,0xf604fb08,0xf006fb00,0xdb0b2800,
+0x46299805,0xf7fd2210,0xfb00f803,0x13c0f006,0x10403001,0xe00e1e44,
+0x46299805,0xf7fc2210,0xea6ffff7,0xfb03030a,0xfb00f304,0x13c0f003,
+0xea6f3001,0xf3c40460,0x46382307,0x220f217d,0xf956f7fc,0xb2e24638,
+0xf7fc217e,0x9b02f915,0x4224f24f,0xf202fb03,0xf3f9fbb2,0xfb09011d,
+0x01182313,0x3501e002,0x0000ebc9,0xd2fa4548,0x22144649,0xffccf7fc,
+0x1307f3c5,0x21704604,0x221f4638,0xf934f7fc,0x4638012b,0xf44f2171,
+0xf00372f8,0xf7fc03f0,0xf3c4f92b,0x46384307,0x220f2171,0xf924f7fc,
+0x2207f3c4,0x21724638,0xf8e2f7fc,0x4638b2e2,0xf7fc2173,0x4638f8dd,
+0x22b9216c,0xf8d8f7fc,0x216d4638,0xf7fc2288,0x4638f8d3,0x2228216e,
+0xf8cef7fc,0x216f4638,0xf7fc2263,0x9805f8c9,0xf1002229,0xf5034374,
+0xfb030390,0x4813f302,0x6296f44f,0xf3f2fb93,0xf000fb05,0x6294f5a2,
+0x1103f242,0x14d8f503,0xff7ef7fc,0x1e531902,0xf3f4fb93,0xbfd42b3c,
+0x25012500,0x0063b185,0xf3f3fb92,0x46c0e010,0x0001bdf4,0x018cba80,
+0x000f4240,0x004c4b40,0x000f423f,0x000203a0,0x0364eb00,0xf3f4fb93,
+0xb2dc3b08,0x223f2168,0x46384623,0xf8c8f7fc,0x216801ab,0x46382240,
+0xf8c2f7fc,0x20649a03,0xf000fb02,0x22109905,0xff4af7fc,0xfb031c6b,
+0xf104f300,0xfb010108,0xf5b1f103,0xbfd40f16,0x24012400,0x22061c63,
+0xf302fb03,0xf0f3fb91,0x3f00f5b0,0x2300d501,0xf5a0e005,0x13db33c0,
+0xf3c33301,0x21690347,0x4638221f,0xf898f7fc,0x22202169,0x46380163,
+0xf892f7fc,0x46132204,0x46382181,0xf88cf7fc,0x2df4f8d7,0x429a4b52,
+0x4638d905,0x22022181,0xf870f7fc,0x4638e004,0x22fd2181,0xf858f7fc,
+0x22fe2181,0xf7fc4638,0x9b03f853,0x1f34f5b3,0x4638dd05,0x22022175,
+0xf85cf7fc,0x4638e004,0x22fd2175,0xf844f7fc,0x211b2203,0x46384613,
+0xf862f7fc,0xf7f22001,0x211bfce9,0x23002203,0xf7fc4638,0x2300f859,
+0x211a2240,0xf7fc4638,0x2164f853,0xf7fc4638,0xf000f821,0x216404f8,
+0x46384622,0xf80cf7fc,0xf7f22001,0x2164fccf,0x0204f044,0xf7fc4638,
+0x2001f803,0xfcc6f7f2,0xf0442164,0x46380206,0xfffaf7fb,0xf7f22001,
+0x2164fcbd,0x0207f044,0xf7fb4638,0xf44ffff1,0xf7f27096,0x2240fcb3,
+0x46384613,0xf7fc211a,0x4638f823,0x9a04210f,0xffe2f7fb,0x801cf8dd,
+0x707af44f,0xfca2f7f2,0xf7fc4638,0x9a00f9b7,0xf4029801,0xf5b34370,
+0x9b015f80,0x4c15b286,0xf446bf08,0x1e5d7680,0x2025f834,0xf24085f8,
+0x46386157,0x0485eb04,0xf81ef7fc,0xf44f4638,0x886261cb,0xf818f7fc,
+0x6bf84632,0xf7f521a0,0x6cbafd99,0xf388fa1f,0x33f0f8a2,0xf8872301,
+0x22003df0,0x033df241,0xb00954fa,0x8ff0e8bd,0x018cba80,0x0001b324,
+0xe92d6c83,0xf8d347f0,0xb0863120,0x0301f083,0x0a01f013,0xd1024607,
+0xf7f66bc0,0xf240f84d,0x463861da,0xffe4f7fb,0x46132240,0xf2404681,
+0x463861da,0xfffef7fb,0x413ef240,0xf7fb4638,0xf240ffd7,0x46065103,
+0xf7fb4638,0x2204ffd1,0x46804613,0x5103f240,0xf7fb4638,0x2300ffeb,
+0xf2404638,0xf44f413e,0xf7fb5200,0x220fffe3,0x46382300,0x413ef240,
+0xffdcf7fb,0x23b022f0,0xf2404638,0xf7fb413e,0xf44fffd5,0xf44f52e0,
+0x463853a0,0x413ef240,0xffccf7fb,0x4638210d,0xff60f7fb,0x413cf240,
+0x46384604,0xffa0f7fb,0x23282238,0xf2404605,0x4638413c,0xffbaf7fb,
+0x7200f44f,0x46384613,0x5103f240,0xffb2f7fb,0x46382300,0x5103f240,
+0x7200f44f,0xffaaf7fb,0x46132280,0xf44f4638,0xf7fb7191,0x2240ff69,
+0x46382300,0x7191f44f,0xff62f7fb,0x46382300,0x7191f44f,0xf7fb2220,
+0x220fff5b,0x0302ea04,0xf44f4638,0xf7fb7191,0x4638ff53,0x7191f44f,
+0x23002210,0xff4cf7fb,0x9300ab04,0x71c8f44f,0xab052200,0xf7fc4638,
+0xf44fffbf,0x46137200,0xf2404638,0xf7fb5103,0x4638ff75,0x5103f240,
+0x7200f44f,0xf7fb2300,0x2210ff6d,0x46384613,0x7191f44f,0xff2cf7fb,
+0x9300ab02,0x71c8f44f,0xab032200,0xf7fc4638,0x9b05ff9f,0x46389c03,
+0x413ef240,0x18e44632,0xff3af7fb,0xea082204,0x46380302,0x5103f240,
+0xff4cf7fb,0xea052238,0x46380302,0x413cf240,0xff44f7fb,0x46132240,
+0x46381064,0x7191f44f,0xff02f7fb,0xf640b220,0xf7f4213d,0x1240fc41,
+0x40c0f500,0x5155f244,0xf7f430cb,0x3080fc3d,0xf2401204,0x463861da,
+0xf7fb464a,0xf1baff0d,0xd1020f00,0xf7f56bf8,0x4620fe8f,0x4fcaf887,
+0xe8bdb006,0x46c087f0,0x4ff0e92d,0xb08b6c43,0xaa064605,0xf2406898,
+0xa9076ada,0xfc3cf7ee,0x46284651,0xfee8f7fb,0xf2402240,0x4613443e,
+0x46519005,0xf7fb4628,0x4621ff01,0xf7fb4628,0xf240fedb,0x90045903,
+0x46284649,0xfed4f7fb,0x90032204,0x46284649,0xf7fb4613,0x4628feef,
+0x23004621,0x5200f44f,0xfee8f7fb,0x46214628,0x230d220f,0xfee2f7fb,
+0x46214628,0x238022f0,0xfedcf7fb,0x483cf240,0x46214628,0x52e0f44f,
+0x5380f44f,0xfed2f7fb,0x46284641,0xfeacf7fb,0x1621f240,0x23202238,
+0x46414607,0xf7fb4628,0x4631fec5,0xf7fb4628,0x4631fe59,0x220f4683,
+0x23044628,0xfe80f7fb,0x7200f44f,0x46494628,0xf7fb4613,0x4628feb3,
+0x23004649,0x7200f44f,0xfeacf7fb,0x9300ab08,0xab092128,0x46282200,
+0xfee6f7fc,0x46214628,0xf7fb9a04,0x9c03fe85,0xea042204,0x46280302,
+0xf7fb4649,0x2238fe97,0x0302ea07,0x46414628,0xfe90f7fb,0x46314628,
+0xf7fb465a,0x9a05fe15,0x46514628,0xfe6cf7fb,0x0024f9bd,0x6166f246,
+0xfb8af7f4,0x61f4f247,0xfb8af7f4,0xf6476c6b,0xeb0464b1,0x990724a0,
+0x9a066898,0xfb84f7ee,0xb00b1260,0x8ff0e8bd,0x4ff0e92d,0x9108b0b9,
+0x1108f89d,0x46144607,0xf89d9107,0xf7fcb10c,0x2101f981,0x46389009,
+0xf9aef7fd,0x21014638,0xfcd2f7fd,0x41eaf240,0xf7fb4638,0xf240fe31,
+0x901141eb,0xf7fb4638,0x2155fe2b,0x46389012,0xfde0f7fb,0x719cf44f,
+0x46389013,0xfddaf7fb,0x90142105,0xf7fc4638,0xb15cfa61,0xb12b7a23,
+0xf9944638,0xf7fe1009,0xe003f9c3,0x46214638,0xf8c8f7fc,0x4638214c,
+0xfdc4f7fb,0x900c21f3,0xf7fb4638,0x6c7bfdbf,0x689b900d,0xf5a36a5b,
+0x3b0d639e,0xd8092b01,0x21f34638,0x23102218,0xfddef7fb,0x21f34638,
+0xe0022202,0x21f34638,0x46132218,0xfdd4f7fb,0xf7f56bf8,0x2802f87f,
+0x4638d104,0x2230214c,0xe0032320,0x214c4638,0x23102230,0xfdc4f7fb,
+0x46382100,0xfa30f7fc,0x6131f240,0xf7fb4638,0x2215fdd3,0x900a4613,
+0x6131f240,0xf7fb4638,0xf240fded,0x463861d6,0xfdc6f7fb,0x22032300,
+0xf240900b,0x463861d6,0xfde0f7fb,0x61daf240,0xf7fb4638,0x228ffdb9,
+0xf2409010,0x463861da,0xfdcaf7fb,0xf04f2607,0xab360801,0x80c4f8cd,
+0x96329330,0x3009f994,0x0920f04f,0x7310f503,0xf2409333,0xf2404a56,
+0x46384357,0xf240a930,0xf8cd4255,0xf8cd90d0,0xf7fba000,0x9a36fe41,
+0x00d24638,0xf2409236,0xb2926171,0xfd94f7fb,0x46382103,0xfd42f7fb,
+0x900e2121,0xf7fb4638,0x2103fd3d,0x900f2218,0xf7fb4638,0x2121fd29,
+0x4638221e,0xfd24f7fb,0xac1b4ba2,0xcd0f461d,0xe895c40f,0xe884000f,
+0x2221000f,0xf2404638,0xf7fb6189,0x2303fd71,0x4638221f,0x617af240,
+0xfd84f7fb,0xf2404638,0xf2416173,0xf7fb7270,0x22c8fd63,0xf2404638,
+0xf7fb6179,0x4638fd5d,0x6174f240,0x4244f240,0xfd56f7fb,0x4638223f,
+0x6175f240,0xfd50f7fb,0xf44f4638,0xf24061ce,0xf7fb6281,0x4638fd49,
+0x6182f240,0x42d8f640,0xfd42f7fb,0xf2404638,0xf24c619b,0xf7fb125c,
+0x221bfd3b,0xf2404638,0xf7fb619c,0x2249fd35,0xf2404638,0xf7fb618c,
+0x2227fd2f,0xf2404638,0xf7fb617f,0x22fffd29,0xf44f4638,0xf7fb61d0,
+0x4638fd23,0x6181f240,0x123ff240,0xfd1cf7fb,0x463822ff,0x6183f240,
+0xfd16f7fb,0x46384642,0x618df240,0xfd10f7fb,0xf2404638,0xf240619d,
+0xf7fb72ff,0x2200fd09,0xf2404638,0xf7fb618a,0x2200fd03,0xf2404638,
+0xf7fb619f,0x4638fcfd,0x61d4f44f,0xf7fb4632,0x2200fcf7,0xf2404638,
+0xf7fb61a4,0x2200fcf1,0xf2404638,0xf7fb61a5,0x2208fceb,0xf2404638,
+0xf7fb619a,0x4638fce5,0x6187f240,0xf7fb2260,0x4638fcdf,0x6142f240,
+0xf7fb4632,0x4638fcd9,0x6177f240,0xf7fb2200,0x2315fcd3,0xab1b932d,
+0x932b2400,0xf2404638,0xa92b4357,0x4255f240,0xf8cd2508,0x952c90bc,
+0xf8cd942e,0xf7fba000,0x4638fd2d,0x617df240,0xf7fb4622,0x4638fcb9,
+0x618bf240,0x7280f44f,0xfcb2f7fb,0x0904f04f,0x240046a0,0xbfa82d0f,
+0x4638250f,0x4622b2a9,0x94004623,0x94029401,0xf7fd9403,0x4626fb07,
+0x1c73e003,0x2e05b2de,0x4638d01f,0xfd98f7ff,0x63aff44f,0xf44f9301,
+0x21004382,0xf5a39302,0x22014381,0x91034604,0x91059304,0x46383316,
+0x92009908,0xff22f7fc,0xf7ff4638,0xf897fd81,0x429c3ff9,0x4298dbdd,
+0x9a08dbdb,0xf240bb1a,0x463861ba,0xfc6cf7fb,0x61bbf240,0x4638b204,
+0xfc66f7fb,0xb2a401a4,0x1489f344,0xf404fb04,0x0009f340,0x4300fb00,
+0x5f00f5b3,0xfa5fda07,0x2b04f388,0x0505ebc9,0x3d01d105,0xf5b3e003,
+0xdb084f80,0xf108444d,0xf1b80801,0xd0020f05,0x0959ea4f,0x2400e79d,
+0x71e5ea25,0x1fa0f8c7,0xb2894638,0x46234622,0x94019400,0x94039402,
+0xfaa4f7fd,0xf7fc4638,0xe003feaf,0x0001b368,0xd82c2c04,0xf7ff4638,
+0x2301fd33,0xf44f9300,0x930163af,0x4382f44f,0xf5a39302,0x22004381,
+0x93044606,0x23464638,0x92039908,0xf7fc9205,0x4638febd,0xfd1cf7ff,
+0x3ff9f897,0x429e4605,0x4298db01,0xf44fda05,0xf7f27096,0x1c63f87b,
+0xf897b2dc,0x429e3ff9,0x429ddbd2,0xf1bbdbd0,0xf0400f01,0xf2408103,
+0x463861ba,0xfbf8f7fb,0x61bbf240,0x46389015,0xfbf2f7fb,0x64aff44f,
+0x21009016,0x4382f44f,0xf303fb04,0xf64f139a,0x429a73fe,0xf64fbf8c,
+0xb29474ff,0xb2991c4b,0xd1ef296e,0xf8ada923,0x4608408c,0x4382f44f,
+0xf303fb04,0xf64f139a,0x429a73fe,0xf64fbf8c,0xb29474ff,0x4f02f821,
+0x031ef100,0xd1ed4299,0xf2404638,0xf7fb61b7,0xf04ffbc3,0x4606097d,
+0x0a01f04f,0x0b00f04f,0x905cf8cd,0xf10be0b5,0xfa5f0301,0xf1bbfb83,
+0xf0000f10,0x260081ee,0x2e04e001,0x4638d82a,0xfcb2f7ff,0x4382f44f,
+0x99162201,0x9b159302,0x92039200,0x46803a01,0x91059304,0x46384613,
+0x94019908,0xfe3ef7fc,0xf7ff4638,0xf897fc9d,0x46053ff9,0xdb014598,
+0xda054298,0x7016f44f,0xfffcf7f1,0xb2de1c73,0x3ff9f897,0xdbd44598,
+0xdbd2429d,0xf2404638,0xf7fb61b7,0xf410fb7d,0x46064f00,0xf1bad02c,
+0xf0000f00,0xf1a981b2,0xb2da0305,0x429a9b17,0x1e53d101,0xf1a2b2da,
+0xb2db036e,0xd9032b0f,0x64aff44f,0xe0142000,0xeb01a938,0xf5a30342,
+0x881c7398,0xf44fe058,0xfb044382,0x1399f303,0x73fef64f,0xbf8c4299,
+0x74fff64f,0x1c43b28c,0x4290b298,0xe047d1ef,0x5f00f5b0,0xf44fd311,
+0xfb044382,0x139af303,0x73fef64f,0xf109429a,0xbf940301,0xf64fb294,
+0xb2da74ff,0x0a00f04f,0x4638e032,0x01dff10d,0x02def10d,0xf82cf7fc,
+0x30dff99d,0x005b2202,0xb2dd3301,0x3b01b26b,0xf3f2fb93,0x033df1c3,
+0xe0def89d,0x2100b2d8,0xf44fe00d,0xfb044382,0x139af303,0x73fef64f,
+0xbf8c429a,0x74fff64f,0x1c4bb294,0x4281b299,0xea4fd1ef,0xf88d034e,
+0xeb0930de,0xf88d0300,0xb2da50df,0x905cf8cd,0xf4164691,0xf43f4f00,
+0xf1baaf46,0xf47f0f00,0xe136af42,0x02def10d,0xf10d4638,0xf7fb01df,
+0x2100ffef,0x7000f44f,0xfa16f7f1,0x46832100,0xf7f12080,0x2300fa11,
+0x24004682,0x400af803,0x2b803301,0xf99dd1f9,0x465b20de,0x10dff99d,
+0xf8cd4638,0xf7fba000,0xf240ffa5,0x463861ba,0xfad2f7fb,0x61bbf240,
+0x46389019,0xfaccf7fb,0x65aff44f,0x46219018,0x4382f44f,0xf303fb05,
+0xf64f139a,0x429a73fe,0xf64fbf8c,0xb29575ff,0xb2991c4b,0xd1ef2946,
+0xf1a29a07,0xe0710346,0x4382f44f,0xf303fb05,0xf64f139a,0x429a73fe,
+0xf64fbf8c,0xb29575ff,0xe0012600,0xd82a2e04,0xf7ff4638,0xf44ffba9,
+0x22014382,0x93029918,0x92009b19,0x3a019203,0x93044680,0x46139105,
+0x99084638,0xf7fc9501,0x4638fd35,0xfb94f7ff,0x3ff9f897,0x45984604,
+0x4298db01,0xf44fda05,0xf7f17016,0x1c73fef3,0xf897b2de,0x45983ff9,
+0x429cdbd4,0x4638dbd2,0x01dff10d,0x02def10d,0xff6ef7fb,0x20def99d,
+0xf99d465b,0x463810df,0xa000f8cd,0xff36f7fb,0x20dff99d,0x30def99d,
+0x32010052,0xf88db2d2,0xb25220df,0x2a00005b,0x30def88d,0x2320dd10,
+0x23189334,0xab369332,0xf2409330,0x92334356,0x46389300,0xf240a930,
+0x33014255,0xfaf4f7fb,0x30dff99d,0xd0062b7f,0x33fff109,0xf983fa1f,
+0x0f00f1b9,0xf44fd188,0x93352300,0x932bab35,0x932d2318,0x22013308,
+0xf240932f,0x922c4356,0x9300922e,0xa92b4638,0x4255f240,0xf7fb3301,
+0x2503fa9d,0x3005f81a,0x2b01ae2b,0xf85bd10c,0x46383025,0xf2409335,
+0x93004356,0xf2404631,0x33014255,0xe014952e,0x932e1eab,0x4456f240,
+0x46314638,0x4255f240,0x4357f240,0xf7fb9400,0x952efab3,0x46389400,
+0xf2404631,0xf2404255,0xf7fb4357,0x1cabfa73,0x2d81b2dd,0x2600d1d2,
+0xad2b1c73,0x4456f240,0x4638932e,0xf2404629,0xf2404255,0x94004357,
+0xfa96f7fb,0x932e1cf3,0x46294638,0x4255f240,0x4357f240,0xf7fb9400,
+0x2300fa8b,0x962e9335,0x46294638,0x4255f240,0x4357f240,0x94003602,
+0xfa48f7fb,0xd1d72e7e,0x46596c7b,0xf44f6c98,0xf7f17200,0x6c7bfacd,
+0x6c984651,0xf7f12280,0x4638fac7,0x9a0e2103,0xf96af7fb,0x21214638,
+0xf7fb9a0f,0x4638f965,0xf2409a11,0xf7fb41ea,0x4638f9bb,0xf2409a12,
+0xf7fb41eb,0x4638f9b5,0x9a132155,0xf954f7fb,0x9a144638,0x719cf44f,
+0xf94ef7fb,0x9a0a4638,0x6131f240,0xf9a4f7fb,0x9a0b4638,0x61d6f240,
+0xf99ef7fb,0x46389b10,0x0201f043,0xf240b292,0xf7fb61da,0x2101f995,
+0xf7fb4638,0x4638fde1,0xfdc4f7fb,0x214c4638,0xf7fb9a0c,0x4638f92d,
+0x9a0d21f3,0xf928f7fb,0xf44f2300,0x46386200,0x414cf240,0xf996f7fb,
+0x21004638,0xf80cf7fd,0x21004638,0xfce0f7fc,0x21004638,0xfeb4f7fc,
+0xf2404638,0x2201413b,0xf7fb2300,0x4638f983,0xf7fb9909,0xb039fc67,
+0x8ff0e8bd,0x41ffe92d,0x460e4605,0x461c4617,0x238022e0,0x6182f44f,
+0xf970f7fb,0xf8d36cab,0xf0833120,0xf0130301,0xd0020801,0xf7f56be8,
+0x68b2f8d3,0x3201b90a,0x6be8e00b,0xb29221dc,0xfec8f7f4,0x6be88972,
+0xf7f421de,0xf240fec3,0x68f31201,0xb1a36be8,0xf7f421d8,0x6872febb,
+0x00d26be8,0x21da3a7c,0xf7f4b292,0x68f3feb3,0x93006be8,0x0111f106,
+0x463b4622,0xfec4f7f6,0xf042e00a,0x21da0408,0xf7f488b2,0x6be8fea3,
+0x462221d8,0xfe9ef7f4,0x21dc6be8,0xfcc8f7f4,0xf8ad2400,0xe00c000e,
+0xf7f12064,0x21dcfd77,0xf7f46be8,0x1c63fcbd,0x2c64b2dc,0x000ef8ad,
+0xf8bdd003,0x2b00300e,0x6be8d1ee,0x220021d8,0xfe80f7f4,0x0f00f1b8,
+0x6be8d002,0xf950f7f5,0xf7f46be8,0xf44ffb7f,0x28026182,0x2320bf14,
+0x22e02360,0xf7fb4628,0xe8bdf901,0x46c081ff,0x4ff0e92d,0xf5ad2280,
+0x46077d01,0xf2402300,0xf7fb6131,0x2300f8f3,0x46382280,0x6176f240,
+0xf8ecf7fb,0xf8d36cbb,0xf0833120,0xf0130301,0x93040301,0x6bf8d102,
+0xf922f7f5,0x463821a5,0x2ffcf8b7,0xf864f7fb,0x4638218e,0x2ffef8b7,
+0xf85ef7fb,0x5380f507,0x881a21a2,0xf7fb4638,0xf241f857,0x21940302,
+0x46385afa,0xf850f7fb,0x0304f241,0x5afa2193,0xf7fb4638,0xf241f849,
+0x21a40306,0x46385afa,0xf842f7fb,0x0308f241,0x21a35afa,0x4638ac10,
+0xf83af7fb,0x46202100,0x7280f44f,0xfe3cf7ee,0x93732307,0x93753319,
+0x2318ae71,0x4556f240,0x93729471,0x46382440,0xf2404631,0xf2404255,
+0xf04f4357,0x94740880,0xf7fb9500,0x4638f8e7,0xf2404631,0xf2404255,
+0x94724357,0xf8cd9500,0xf7fb81d0,0x22fff8db,0x46382338,0x41a7f240,
+0xf880f7fb,0xf2402300,0x46426131,0xf7fb4638,0x4638f879,0xfad0f7fc,
+0x230122ff,0xf44f4638,0xf7fb6195,0x230af86f,0xf88d2501,0x332831f6,
+0x231e9365,0xf2429366,0x24007310,0x9300226c,0xf50d4638,0xa96473fb,
+0x94679564,0x41a0f88d,0xfedcf7ff,0x41abf240,0xf7fb4638,0xf3c0f831,
+0x90052006,0x61daf240,0xf44f4638,0x46235280,0xf848f7fb,0x464322e0,
+0x6182f44f,0xf7fb4638,0x4638f841,0xfb40f7fb,0x41a4f240,0xf7fb4638,
+0x4621f817,0x46389002,0xfb70f7fd,0xf8c79b05,0xb2db4fa4,0x93034638,
+0x31edf88d,0x51ecf88d,0xfb48f7fb,0x900c4629,0xf7fc4638,0x4638fb75,
+0xf7fc4629,0xf240fe99,0x463841ea,0xfff8f7fa,0x41ebf240,0x46389009,
+0xfff2f7fa,0x90082155,0xf7fa4638,0xf44fffa7,0x9007719c,0xf7fa4638,
+0x2105ffa1,0x46389006,0xfc28f7fb,0x31ecf89d,0x4638b12b,0x11edf99d,
+0xfb8af7fd,0x4638e003,0xf7fba979,0x214cfa8f,0xf7fa4638,0x21f3ff8b,
+0x4638900b,0xff86f7fa,0x900a6c7b,0x6a5b689b,0x639ef5a3,0x2b013b0d,
+0x4638d809,0x221821f3,0xf7fa2310,0x4638ffa5,0x220221f3,0x4638e002,
+0x221821f3,0xf7fa4613,0x6bf8ff9b,0xfa46f7f4,0xd1042802,0x214c4638,
+0x23202230,0x4638e003,0x2230214c,0xf7fa2310,0x4638ff8b,0xf7fb2100,
+0xf240fbf7,0x46386131,0xff9af7fa,0x46132215,0x6131f240,0x46384683,
+0xffb4f7fa,0x61d6f240,0xf7fa4638,0x2300ff8d,0xf2402203,0x468261d6,
+0xf7fa4638,0xf240ffa7,0x463861da,0xff80f7fa,0x61daf240,0x4681228f,
+0xf7fa4638,0xab7fff91,0x2301936c,0x3306936d,0xf99d936e,0x463831ed,
+0x7310f503,0x2320936f,0xf2409370,0x93004356,0x3301a96c,0x4255f240,
+0xf80ef7fb,0x46389a7f,0x927f00d2,0x6171f240,0xf7fab292,0x2103ff61,
+0xf7fa4638,0x2121ff0f,0x46384606,0xff0af7fa,0x22182103,0x46384680,
+0xfef6f7fa,0x21214638,0xf7fa221e,0x2500fef1,0x4638462c,0xf848f7ff,
+0x50e0ab50,0x3404182d,0x7061f44f,0xfbaaf7f1,0xd1f22c40,0x112a2000,
+0xab504601,0x310458cb,0xbfb84298,0x429a4618,0x461abfa8,0xd1f42940,
+0xf8871e83,0x21033ff9,0x2ffaf887,0x46324638,0xfecaf7fa,0x46382121,
+0xf7fa4642,0x4638fec5,0x41eaf240,0xf7fa9a09,0x4638ff1b,0x41ebf240,
+0xf7fa9a08,0x2155ff15,0x9a074638,0xfeb4f7fa,0xf44f4638,0x9a06719c,
+0xfeaef7fa,0xf2404638,0x465a6131,0xff04f7fa,0xf2404638,0x465261d6,
+0xfefef7fa,0x0201f049,0x4638b292,0x61daf240,0xfef6f7fa,0x46382101,
+0xfb42f7fb,0xf7fb4638,0x214cfb25,0x9a0b4638,0xfe8ef7fa,0x463821f3,
+0xf7fa9a0a,0x2300fe89,0x6200f44f,0xf2404638,0xf7fa414c,0x2100fef7,
+0xf7fc4638,0x2100fd6d,0xf7fc4638,0x2100fa41,0xf7fc4638,0x2201fc15,
+0x46382300,0x413bf240,0xfee4f7fa,0x4638990c,0xf9c8f7fb,0xf7fb4638,
+0xf240f9fd,0x900d41a4,0xf7fa4638,0xf240feb5,0x900f413b,0xf7fa4638,
+0xf3c0feaf,0x900e1080,0x4638b120,0x71f7f50d,0xfa5ef7fb,0xf7fc4638,
+0x4638ffab,0xf7fd2100,0x2301f9fd,0x31e2f88d,0xf04f9b03,0xf88d0800,
+0x9b0531e3,0x2660f64e,0x46a9b2dd,0x46b346c2,0x23db2100,0x93002401,
+0x460b4638,0x72edf50d,0xf7ff9401,0xab7ff839,0x2318936c,0x3308936e,
+0x335f9370,0xf240936f,0x93004356,0x191ba96c,0xf2404638,0x946d4255,
+0xff1ef7fa,0xf3439b7f,0xb911010b,0x2260f64e,0x2264e00a,0x330bf343,
+0xf302fb03,0xf3f1fb93,0x72e3ea83,0x72e3eba2,0xdc0242b2,0x0a00f04f,
+0xf10ae006,0xfa5f0301,0xf1bafa83,0xd0160f02,0x31e3f89d,0xbfdc455a,
+0x51e3f89d,0x3b044693,0xf013b2db,0xf88d0f80,0xd10831e3,0x0301f108,
+0xf883fa5f,0x0f04f1b8,0x4616d001,0x454de7ac,0xebc5d007,0x2b100309,
+0x1d2bd101,0x1cabe000,0xf04fb2dd,0xf64e0800,0xf88d2660,0x46c151e3,
+0x210046b2,0x240123db,0x46389300,0xf50d460b,0x940172ed,0xffd4f7fe,
+0x936cab7f,0x936e2318,0x93703308,0x936f335f,0x4356f240,0xa96c9300,
+0x4638191b,0x4255f240,0xf7fa946d,0x9b7ffeb9,0x010bf343,0x2264b181,
+0x330bf343,0xf302fb03,0xf3f1fb93,0x72e3ea83,0x72e3eba2,0x7ffaf5b2,
+0xf89dda04,0xe02451e3,0x2260f64e,0xdc0242b2,0x0900f04f,0xf109e006,
+0xfa5f0301,0xf1b9f983,0xd0160f02,0x31e3f89d,0xbfbc4552,0x51e3f89d,
+0x3b014692,0xf013b2db,0xf88d0f80,0xd10831e3,0x0301f108,0xf883fa5f,
+0x0f05f1b8,0x4616d001,0x2400e7a7,0x930023db,0x46234638,0xf50d4621,
+0xf88d72ed,0x940151e3,0xff7af7fe,0xb1239b0e,0xf50d4638,0xf7fb71f7,
+0x4638f879,0xf7fb990d,0x9b0ff8c5,0xf4034638,0xf7fd4160,0x4638f913,
+0xfebaf7fc,0x46389b02,0x4160f403,0xf90af7fd,0x46382301,0x6195f44f,
+0xf7fa22ff,0x9b04fdc7,0x6bf8b913,0xfd30f7f4,0xf7f46bf8,0x22e0f833,
+0xbf142802,0x23602320,0x6182f44f,0xf7fa4638,0x2280fdb5,0x46134638,
+0x6131f240,0xfdaef7fa,0x5280f44f,0x46134638,0x61daf240,0xfda6f7fa,
+0x7200f44f,0x46134638,0x6131f240,0xfd9ef7fa,0x7280f44f,0x46134638,
+0x6131f240,0xfd96f7fa,0x033df241,0x54fa2201,0x21a54638,0xf7fa3205,
+0x4638fd17,0x220f218e,0xfd12f7fa,0x21a24638,0xf7fa4622,0x4638fd0d,
+0x22ff2194,0xfd08f7fa,0x21934638,0xf7fa22ff,0x4638fd03,0x220c21a4,
+0xfcfef7fa,0x21a34638,0xf7fa2266,0xf50dfcf9,0xe8bd7d01,0x46c08ff0,
+0x4604b510,0xfad6f7fe,0x46208da1,0xf8f6f7fe,0xf7fa4620,0x4620feff,
+0xfe3cf7fa,0xf0026be0,0xb978fe31,0xf7f36be0,0xb958fcfb,0xf7fd4620,
+0x4620fc89,0xfc50f7ff,0xf7fe4620,0x4620fd31,0xff10f7fc,0x46c0bd10,
+0xb51029e0,0x4604460b,0xf06fdd02,0xe0210012,0x6330f443,0xbfd4290e,
+0x5100f44f,0x5180f44f,0xb2894319,0xffc8f7ff,0x23016c62,0x3025f882,
+0xf7fb4620,0x4620f82d,0xf7fd2100,0x2240f863,0xf2404620,0x46136176,
+0xfd20f7fa,0xf7fd4620,0x2000fc55,0x46c0bd10,0x41f0e92d,0x4605b092,
+0x8064f8dd,0x461c981a,0x461fb90b,0x681fe000,0xf00029a8,0xdc138091,
+0xf000295c,0xdc08819e,0xf000293c,0x294a80e5,0x8092f000,0xd021291b,
+0x295ee01d,0xf2c0d027,0x295f81bd,0xe016d038,0xd07129c3,0x29aadc05,
+0xdb70d047,0xd06629c2,0x29d4e00d,0x8221f000,0x29d3dc03,0x8211f000,
+0x29dce005,0x81f0f000,0xf00029dd,0xf06f81f3,0xe2410616,0x7c5c6c6b,
+0xf0402c00,0x46288230,0xfce2f7fa,0x2301e1fb,0x70032a07,0x2100dc01,
+0xf8d8e001,0x6be81004,0xfd4cf7f3,0x28004606,0x822af040,0xb2b94628,
+0xfc9ef7fa,0xe2236020,0x2a072301,0xdc017003,0xe0012100,0x1004f8d8,
+0xf7f36be8,0x4606fd37,0xf0402800,0x46288215,0x0c3ab2b9,0xfc90f7fa,
+0x6be8e20e,0xf7f32100,0x4606fd29,0xf0402800,0x60208207,0x2b0669ab,
+0x8202f040,0x0047f88d,0x0046f88d,0x0246f10d,0xf10d4628,0xf7fb0147,
+0xf99dfa49,0xf99d2047,0xb2923046,0xea43b29b,0x60232302,0x6be8e1ec,
+0xf7f32100,0xe00efd07,0x2b028823,0x6c6bd879,0x2b007c5b,0x81d9f000,
+0x6be82100,0x460b460a,0xf7f39100,0x4606fd09,0xf0402800,0xe1c981d5,
+0x21006be8,0xfceef7f3,0x28004606,0x81ccf040,0x7c536c6a,0xf0402b00,
+0xf89281ba,0xb1133025,0xf7fb4628,0xb987fb7b,0xf7fc4628,0x6be8f859,
+0xfec8f7f3,0x6182f44f,0xbf142802,0x23602320,0x462822e0,0xfc4af7fa,
+0x4628e1ae,0x22014639,0xfefef7ff,0x2601b108,0x4628e1a6,0x238022e0,
+0x6182f44f,0xfc3af7fa,0x24404ba5,0x2315930c,0x2310930e,0xf2409310,
+0x93004356,0xa90c4628,0xf2403301,0x940d4255,0xf7fa960f,0x4628fc7b,
+0xf64f4621,0x463372ff,0xf7fc9600,0xe183f865,0x7c596c6b,0xf0402900,
+0x6be88172,0xfc9af7f3,0x28004606,0x8178f040,0x3004f8d8,0xf0036cac,
+0x2902017f,0x2904d008,0x290bd006,0x2916d004,0xf06fd002,0xe1670601,
+0xf8936c6b,0xb1133025,0xf7fb4628,0xbb9ffb1b,0x210a4628,0x2d1af8b5,
+0xfbdaf7fa,0xf2404628,0x463a414b,0xfbd4f7fa,0x46394628,0xff3cf7fb,
+0x303af895,0x7d1af8a5,0x8d2ab14b,0x0350f242,0xd104429a,0x21514628,
+0xf7fa2204,0x6c6bfb8f,0x3388f8d3,0x0f02f013,0x813af000,0xf8b56cab,
+0xf44f2d1c,0xf8a3707a,0xf8b5249c,0xf8a32d20,0xf7f1249e,0xe12bf817,
+0xf8d36c6b,0xf0133388,0xd01d0f02,0xf44f6caa,0xf8b2707a,0xb29b349c,
+0x3d1cf8c5,0x349ef8b2,0xf8c5b29b,0xf8b43d20,0xf423349c,0x041b7300,
+0xf8a40c1b,0xf8b4349c,0xb29b349e,0x7300f443,0x349ef8a4,0xfff2f7f0,
+0x6be8ac02,0xf7f64621,0x6be8f849,0xf7f54621,0x4628f919,0x22014639,
+0xfe4ef7ff,0x28004606,0x80f6f040,0x303af895,0x8d2ab153,0x0350f242,
+0xd105429a,0x21514628,0x72fbf64f,0xfb24f7fa,0x3d1af8b5,0x210ab963,
+0xf7fa4628,0xf240fb59,0xf8a5414b,0xf64f0d1a,0x462872ff,0xfb58f7fa,
+0x21014628,0xfec0f7fb,0x210a4628,0x7294f44f,0x6be8e073,0xf7f32100,
+0x4606fbe9,0xf0402800,0x6c6b80c7,0x3025f893,0x4628b113,0xfa7af7fb,
+0x4628b947,0xff58f7fb,0xf44f4628,0xf7fc4160,0xe0b5fe8d,0x46284632,
+0xf7ff4639,0x4606fe05,0xf0402800,0x462880ad,0x22704631,0xf7fb4633,
+0x4628ffd1,0xf7fc2114,0xe0a1fecb,0x7c596c6b,0xf0402900,0x6be88090,
+0xfbb8f7f3,0x28004606,0x8096f040,0xf8936c6b,0xb1133025,0xf7fb4628,
+0xb997fa49,0xf2404628,0x4632414b,0xfb08f7fa,0x210a4628,0x2d0af8b5,
+0xfb08f7fa,0x46314628,0xfe6af7fb,0x6d0af8a5,0x4628e07a,0x22014639,
+0xfdcaf7ff,0x28004606,0xf8b5d172,0xb92b3d0a,0x210a4628,0xfae4f7fa,
+0x0d0af8a5,0x21014628,0xfe52f7fb,0xf2404628,0xf64f414b,0xf7fa72ff,
+0x4628fadf,0xf44f210a,0xf7fa720a,0xe057fae9,0xf8936c6b,0xe02236fe,
+0x0001c4b0,0xd84d2f64,0xf8836c6b,0x6c6b76fe,0x2b007c5b,0x6be8d044,
+0xfbb8f002,0x28004604,0x4628d13e,0x31fff04f,0xf7fd4622,0x4626fd5d,
+0x696be03a,0x6022691a,0x3db8f8d5,0x0f02f013,0xf042d02e,0x60230380,
+0x2f03e02a,0x696ad82a,0x42bb6913,0x6c6bd024,0x7c5b6117,0x6be8b303,
+0xfafef7f4,0x4628b127,0x22012100,0xf9def7fb,0x2201696b,0x69194628,
+0xf9d8f7fb,0x6be82800,0x2600bf14,0x0602f06f,0xfa16f7f4,0xf06fe00c,
+0xe0090604,0x060cf06f,0xf06fe006,0xe0030603,0xe0012600,0x061cf06f,
+0xb0124630,0x81f0e8bd,0xf890b570,0x46045038,0xd1402d00,0x26016c83,
+0x6038f880,0x3120f8d3,0xf8c04631,0xf7fa5d50,0x6be0fabf,0x462a8da1,
+0xfabcf7f9,0x4631b938,0xf7f96be0,0x4601fadf,0xf7fb4620,0x8da3f8f5,
+0x6340f403,0x6f40f5b3,0x2114bf14,0xf8942128,0x42993030,0x6be0d002,
+0xfcd4f7f4,0x46204631,0xf868f7fb,0xf0004620,0x4620fa27,0x5037f884,
+0xfc78f7fd,0x462a6963,0x46206919,0xf97ef7fb,0x46206963,0xf7fd7d19,
+0xf884fc3d,0xbd705038,0x4ff0e92d,0xb0914605,0x002cf890,0xfca6f7f3,
+0x4d54f895,0xbb244680,0xf7f36be8,0x2802fcb3,0xf04fd108,0xf8ad0304,
+0xf04f3030,0xf8ad030c,0xe0093032,0x0307f04f,0x3030f8ad,0x030ff04f,
+0x3032f8ad,0x030ef04f,0xa90c4628,0x3034f8ad,0x4036f8ad,0xfcbaf7fa,
+0x21964628,0xfd06f7fa,0xf8b5e1dc,0xb2832f9a,0xd104429a,0x46b92700,
+0x46ba46bb,0xf640e05c,0x429813c3,0xf995d838,0x2b043fca,0xf9b5dc0c,
+0xf9b57066,0xf9b5a068,0xf895906a,0xf8952f8d,0xf8953f8e,0xe01a1f8f,
+0xdc0c2b36,0x7060f9b5,0xa062f9b5,0x9064f9b5,0x2f8af895,0x3f8bf895,
+0x1f8cf895,0xf9b5e00b,0xf9b5706c,0xf9b5a06e,0xf8959070,0xf8952f90,
+0xf8953f91,0xf4421f92,0xea425200,0xea421203,0x46282281,0x413ef240,
+0xf7fab292,0xe01bf9bd,0x43c8f241,0xd8064298,0x7072f9b5,0xa074f9b5,
+0x9076f9b5,0xf241e010,0x42986344,0xf9b5d806,0xf9b57078,0xf9b5a07a,
+0xe005907c,0x707ef9b5,0xa080f9b5,0x9082f9b5,0x8f9af8a5,0x0b01f04f,
+0xf7fb4628,0x2307fcc5,0x33199309,0xab0e930b,0x23019307,0x3b019308,
+0xe00e930a,0x4356f240,0x46289300,0xa9073301,0x4255f240,0xf9f2f7fa,
+0x33019b0a,0x9b0e930a,0x930e3301,0x2b3f9b0e,0x22ffd9ec,0x46284613,
+0x41a5f240,0xf98ef7fa,0xf2404628,0xf44f41a5,0xf44f42e0,0xf7fa43a0,
+0x2300f985,0xf2404628,0xf44f41a5,0xf7fa62e0,0x223ff97d,0x4628231f,
+0x41a6f240,0xf976f7fa,0x23002201,0xf2404628,0xf7fa5103,0x2204f96f,
+0x46284613,0x5103f240,0xf968f7fa,0x46132210,0xf2404628,0xf7fa5103,
+0xf240f961,0x46281121,0xf8f4f7fa,0x02f3f000,0x1121f240,0xf0424628,
+0xf7fa0201,0x214cf8dd,0x46282202,0xf902f7fa,0xf2404628,0xf44f41f3,
+0xf7fa5280,0x2251f93d,0xf44f4628,0xf7fa718a,0x214cf8cb,0x23002201,
+0xf7fa4628,0x2238f901,0x46282300,0x413cf240,0xf934f7fa,0x4200f44f,
+0x46284613,0x41a6f240,0xf92cf7fa,0x46282300,0x6195f44f,0x427ff44f,
+0xf924f7fa,0x46282201,0x6195f44f,0xf904f7fa,0xf2404628,0x227f41a4,
+0xf7fa2300,0x4628f917,0x41a5f240,0x62e0f44f,0xf7fa2300,0xf44ff90f,
+0xf44f4260,0xf2404300,0x462841a4,0xf906f7fa,0xf7fa4628,0x4628fc05,
+0xf7fa2101,0xf44ffb6d,0x46135280,0xf2404628,0xf7fa414c,0xac02f8f7,
+0x46282300,0x414df240,0x4280f44f,0xf8eef7fa,0x49584620,0x6cae2214,
+0xfe9af7ed,0x6c284623,0x22142100,0xfb6ef7f4,0x0300f04f,0x3568f8a6,
+0x7380f44f,0x37c0f8a6,0x0341f04f,0x350cf8a6,0x2302f641,0x3514f8a6,
+0x0300f04f,0x3508f8a6,0x350af8a6,0x354cf8a6,0x0314f04f,0x356af8a6,
+0x0326f640,0x3568f8a6,0x0300f04f,0x3500f8a6,0xf04f2400,0xf8a603d0,
+0xe0023502,0xf7f0200a,0x3401fd05,0xd0092c1f,0x350ef8b6,0x0f80f013,
+0xe003d1f4,0xf7f0200a,0xe000fcf9,0x34012400,0xd0092c0b,0x350ef8b6,
+0x6f80f413,0xe003d0f2,0xf7f0200a,0xe000fceb,0x34012400,0xd0042c0b,
+0x3690f8b6,0x7f80f413,0x4628d1f2,0x41abf240,0xf86af7fa,0x4f00f410,
+0xf000d009,0x3b2003ff,0xf2404628,0x223f41a6,0xf7fab29b,0x4628f87f,
+0x414cf240,0x5280f44f,0x24002300,0xf876f7fa,0x7340f44f,0x4f9af8a5,
+0xf44f4628,0xf44f6195,0xf7fa427f,0xab0ff86b,0x23019307,0x940a9308,
+0x46494620,0x4653463a,0xfb72f7fa,0x4356f240,0x9300900f,0x33014628,
+0xf240a907,0xf7fa4255,0x9b0af8a9,0x33013401,0x930a2c40,0xf1bbd1e8,
+0xd1030f00,0x033df241,0xb1135ceb,0xf7fb4628,0x4628fefd,0x4160f44f,
+0xfb7cf7fc,0xe8bdb011,0x46c08ff0,0x0001b1a9,0x47f0e92d,0xf7fd4607,
+0x2101fd0f,0xf7fa4638,0x4638fc67,0xff00f7fb,0x41a2f240,0x46382202,
+0xa03cf8d7,0xf81cf7fa,0xf7f02001,0x4638fc73,0x41a2f240,0x72fdf64f,
+0xf808f7fa,0xf7f02001,0x4cc3fc69,0xb1706bf8,0xfa88f7f3,0xd10a2801,
+0x1c04f834,0x4f00f411,0x0489d011,0x2c02f814,0x0c894638,0xf834e009,
+0xf4111c04,0xd0064f80,0xf8140489,0x46382c01,0xf7f90c89,0xf834ff85,
+0xf64f2b04,0x429a73ff,0x2120d1dc,0x46382200,0xff7af7f9,0x22382108,
+0xf7f94638,0x2157ff9f,0x46382256,0xff70f7f9,0x21f32300,0x46382202,
+0xffa6f7f9,0x22002152,0xf7f94638,0x2220ff65,0x46382140,0xff60f7f9,
+0x33e4f241,0xf1b258fa,0xd0033fff,0x21434638,0xe002b292,0x21434638,
+0xf7f922ff,0x2105ff51,0x46382282,0xff4cf7f9,0x22502140,0xf7f94638,
+0x2143ff47,0x46382280,0xff42f7f9,0x2215214e,0xf7f94638,0x214fff3d,
+0x46382215,0xff38f7f9,0x2215214d,0xf7f94638,0x23ffff33,0x22f82104,
+0xf7f94638,0x2105ff69,0x463822ff,0xff28f7f9,0x22ff2106,0xf7f94638,
+0x2107ff23,0x22ff4638,0xff1ef7f9,0x46382108,0x23ff2207,0xff54f7f9,
+0x0900f04f,0x46384c7d,0x8004f839,0x78e1444c,0x796578a6,0xff1af7f9,
+0x40b57923,0xf303fa50,0x40b3b29b,0x4638b2ad,0x462a4641,0xf109b29b,
+0xf7f90906,0xf1b9ff73,0xd1e30fc6,0x21042300,0x463822f8,0xff30f7f9,
+0x22002105,0xf7f94638,0x2106feef,0x46382200,0xfeeaf7f9,0x22002107,
+0xf7f94638,0x2300fee5,0x22072108,0xf7f94638,0x4638ff1b,0x619ef44f,
+0x42bff44f,0xff34f7f9,0x46382200,0x41f1f240,0xff2ef7f9,0x23032207,
+0xf2404638,0xf7f941ea,0x2302ff41,0x46382207,0x41ebf240,0xff3af7f9,
+0xf44f221f,0x4638719c,0xfebef7f9,0x073cf8da,0xfe76f7f2,0x46046c7b,
+0x68986c99,0xff68f7ed,0x073cf8da,0xf7f24621,0x2181fe65,0xf7f94638,
+0x2181feb9,0x22044606,0xf7f94638,0x213afea5,0xf7f94638,0x213afeaf,
+0x46052200,0xf7f94638,0x215afe9b,0x4638227e,0xfe96f7f9,0x22f7211a,
+0xf7f94638,0x215afea9,0x4638227c,0xfe8cf7f9,0x2215215b,0xf7f94638,
+0x2270fe87,0x4638215c,0xfe82f7f9,0x2df4f8d7,0x429a4b33,0x4638d103,
+0x22a0215d,0x4b31e005,0xd104429a,0x215d4638,0xf7f92252,0x4638fe71,
+0x2201215e,0xfe6cf7f9,0x215a4638,0xf7f9227d,0x2032fe67,0xfb2af7f0,
+0xe0034c27,0xf7f0200a,0x3c0afb25,0x4638215f,0xfe68f7f9,0x0f02f010,
+0x2c09d101,0x215fd1f2,0xf7f94638,0xf010fe5f,0xd1040f02,0x213a4638,
+0xf7f9b2ea,0x2155fe49,0xf7f94638,0x2155fe53,0x46052200,0xf7f94638,
+0x215afe3f,0x4638227e,0xfe3af7f9,0x227c215a,0xf7f94638,0x215bfe35,
+0x46382255,0xfe30f7f9,0x215c2276,0xf7f94638,0xf8d7fe2b,0x4b0b2df4,
+0xd115429a,0x215d4638,0xf7f922fc,0x4638fe21,0x2200215e,0x46c0e022,
+0x0001bf80,0x0001b420,0x0249f000,0x01c9c380,0x00989689,0x016e3600,
+0x429a4bc4,0x4638d103,0x2296215d,0x4bc2e009,0xd103429a,0x215d4638,
+0xe002223d,0x215d4638,0xf7f92213,0x4638fdfd,0x2201215e,0xfdf8f7f9,
+0x215a4638,0xf7f9227d,0x2032fdf3,0xfab6f7f0,0xe0034cb6,0xf7f0200a,
+0x3c0afab1,0x4638215f,0xfdf4f7f9,0x0f02f010,0x2c09d101,0x215fd1f2,
+0xf7f94638,0xf010fdeb,0xd1040f02,0x21554638,0xf7f9b2ea,0x4638fdd5,
+0x227e215a,0xfdd0f7f9,0x21814638,0xf7f9b2f2,0x223ffdcb,0x21554638,
+0xfdc6f7f9,0x8db94638,0xfba8f7fd,0x46388db9,0xf9c8f7fd,0xf7f94638,
+0x4638ffd1,0xff0ef7f9,0xf7fd4638,0x4638fe11,0xfbdaf7ff,0x187a2100,
+0x31c9f892,0x292d3101,0x3fccf882,0x4638d1f7,0xfd54f7fc,0xf7fb4638,
+0x4638ffe1,0xfbc8f7ff,0x463822bf,0x61aef44f,0xfdf6f7f9,0x463822ff,
+0x5171f240,0xfdf0f7f9,0xf2404638,0xf64f5172,0xf7f97233,0x4638fde9,
+0x5173f240,0x7243f64f,0xfde2f7f9,0x463822cc,0x5174f240,0xfddcf7f9,
+0xf2404638,0xf44f5175,0xf7f97280,0x2200fdd5,0xf2404638,0xf7f95176,
+0x2200fdcf,0xf2404638,0xf7f95177,0x2200fdc9,0xf44f4638,0xf7f961af,
+0x2200fdc3,0xf2404638,0xf7f95179,0x2278fdbd,0xf44f4638,0xf7f961bc,
+0x4638fdb7,0x51e1f240,0x72c1f64f,0xfdb0f7f9,0xf2404638,0xf44f51e2,
+0xf7f97280,0x4638fda9,0x51e3f240,0x72c1f64f,0xfda2f7f9,0x46382278,
+0x51e4f240,0xfd9cf7f9,0xf2404638,0xf64f51e5,0xf7f9727a,0x4638fd95,
+0x51e6f240,0x72eef64f,0xfd8ef7f9,0x46382200,0x51e7f240,0xfd88f7f9,
+0xf44f4638,0x221261bd,0xfd82f7f9,0x46382286,0x51e9f240,0xfd7cf7f9,
+0x4638228f,0x51eaf240,0xfd76f7f9,0xf2404638,0xf64f51eb,0xf7f9727b,
+0x2201fd6f,0xf2404638,0xf7f951ec,0x4638fd69,0x51edf240,0x72f8f64f,
+0xfd62f7f9,0x463822fb,0x51eef240,0xfd5cf7f9,0xf2404638,0xf64f51ef,
+0xf7f972db,0x224efd55,0xf44f4638,0xf7f961be,0x4638fd4f,0x51f1f240,
+0x72ebf64f,0xfd48f7f9,0xf2404638,0xf64f51f2,0xf7f972bb,0x2231fd41,
+0xf2404638,0xf7f951f3,0x2280fd3b,0x46384613,0x6131f240,0xfd4ef7f9,
+0x5280f44f,0x46384613,0x61daf240,0xfd46f7f9,0x22402300,0xf2404638,
+0xf7f96131,0x4638fd3f,0x612cf240,0x72fff647,0xfd1ef7f9,0x72fff647,
+0xf2404638,0xf7f9612d,0xf241fd17,0xf8a73388,0x21a53f9e,0xf7f94638,
+0x218efcc1,0x0ffcf8a7,0xf7f94638,0x21a2fcbb,0x0ffef8a7,0xf7f94638,
+0xf507fcb5,0x80185380,0x46382194,0xfcaef7f9,0x0302f241,0x52f82193,
+0xf7f94638,0xf241fca7,0x52f80304,0x463821a4,0xfca0f7f9,0x0306f241,
+0x21a352f8,0xf7f94638,0xf241fc99,0x52f80308,0x87f0e8bd,0x0249f000,
+0x01c9c380,0x00989689,0x4605b570,0xff6af7f2,0x3054f890,0x2b004604,
+0x4628d053,0xfc90f7f2,0x2da4f8d4,0x6c63b13a,0x370cf8d3,0x69621a9b,
+0x42936852,0x4628d30c,0xfdb4f001,0x4620b940,0xfad0f7fa,0x6c63b120,
+0x370cf8d3,0x3da4f8c4,0x69626c63,0x170cf8d3,0x3df0f894,0xf8d4b933,
+0x68d23dec,0x0301ebc3,0xd30a4293,0xf0014628,0xb930fd99,0xf7f24628,
+0xb910fc63,0xf7f24628,0x6be0fc61,0xfd8ef001,0x6be0b968,0xfc58f7f2,
+0x6be0b948,0xfc56f7f2,0x4620b928,0xf8942101,0xf7fa202c,0xf894fc19,
+0xb1533258,0xf8d46c63,0xf8d3225c,0x1a9b370c,0xd9022b05,0xf8842300,
+0xbd703258,0xf7f2b570,0xf241ff0d,0x58c11390,0xb1394604,0xf8d36bc3,
+0xf7f2073c,0xb908fb79,0xe0002501,0xf8d42500,0xb1311c24,0xf8d36be3,
+0xf7f2073c,0xb900fb6d,0xf04f3501,0xf2410200,0x52e21388,0x33024628,
+0xbd7052e2,0x4ff0e92d,0xb0a72300,0x460c4615,0x90c8f8dd,0x46079324,
+0x80c0f8dd,0xa0d0f8dd,0xfedcf7f2,0x0301f005,0x46214606,0x464a6c40,
+0x9b339300,0xfdfcf7f6,0x28009004,0x8793f040,0x2b039b31,0xa824d904,
+0x22044641,0xfa00f7ed,0x1e119a24,0x2101bf18,0xf0002d9f,0xd85483af,
+0xf0002d71,0xd82b8102,0xf0002d10,0xd81380cb,0xf0002d0c,0xd80780d4,
+0xf0002d00,0x2d0180a2,0x80b3f000,0xbf64f000,0xf0002d0e,0x2d0f80d9,
+0x80d9f000,0xbf5cf000,0xf0002d6e,0xd8078426,0xf0002d12,0x2d1380d4,
+0x80d4f000,0xbf50f000,0xf0002d6f,0x2d708421,0x80d0f000,0xbf48f000,
+0xf0002d7e,0xd80c8624,0xf0002d78,0xf20080d3,0x2d72873f,0x842bf000,
+0xf0002d75,0xf0008253,0x2d82bf37,0x861df000,0x2d80d807,0x8612f000,
+0xf0002d81,0xf0008613,0x2d88bf2b,0x8323f000,0xf0002d89,0xf000833f,
+0x2daebf23,0x83edf000,0x2da8d82b,0x83acf000,0x2da4d813,0x837df000,
+0x2da0d807,0x8376f000,0xf0002da2,0xf0008376,0x2da6bf0f,0x8376f000,
+0xf0002da7,0xf0008382,0x2dabbf07,0x83c6f000,0x2da9d807,0x83a3f000,
+0xf0002daa,0xf00083b5,0x2dacbefb,0x84a8f000,0xf0002dad,0xf00084a2,
+0x2db7bef3,0x84d5f000,0x2db2d813,0x83ecf000,0x2dafd807,0x83bcf000,
+0xf0002db0,0xf00083d4,0x2db5bee3,0x8402f000,0xf0002db6,0xf0008490,
+0x2dbbbedb,0x856bf000,0x2db8d807,0x8516f000,0xf0002dba,0xf0008515,
+0x2dbcbecf,0x86acf000,0xf0002dbe,0xf00086ad,0x4630bec7,0xf10da923,
+0xf7fa0297,0x9004f989,0xf0402800,0xf89d86c8,0x9a233097,0xbf142b00,
+0x4300f04f,0x43132300,0xf022e03b,0x29ff4100,0x21ffbfa8,0xb2c94630,
+0xf7fc0fd2,0x9004fee9,0xbeb1f000,0x9904ac20,0x4620220c,0xf900f7ed,
+0x23019a04,0x46214648,0x92219320,0xf896e3b8,0x2b003033,0x869ff000,
+0xf1094630,0x464a0102,0xf914f7fa,0x3002f899,0x3001f889,0xbe93f000,
+0x3054f896,0xf886e00d,0xf0001054,0xf896be8c,0xe006326c,0x126cf886,
+0xbe85f000,0x33def241,0xf8c95cf3,0xf0003000,0xf241be7e,0x54f133de,
+0xbe79f000,0x463821de,0xfed2f7f2,0x460421dc,0xf7f24638,0xea40fecd,
+0x901d4004,0x312af241,0xf7f24638,0xb240fec5,0x3130f241,0xfb80fa1f,
+0xf7f24638,0xf241febd,0x46803136,0xf7f24638,0xf241feb7,0x9002313c,
+0xf7f24638,0xf241feb1,0x9003312a,0xf7f24638,0xf241feab,0xf3c03130,
+0x46382546,0xfea4f7f2,0x3136f241,0x2446f3c0,0xf7f24638,0xf241fe9d,
+0xf3c0313c,0x46382a46,0xfe96f7f2,0x2046f3c0,0xf2419005,0x4638312a,
+0xfe8ef7f2,0x7f80f410,0x2d0cd005,0xf1abbf04,0xfa1f0304,0xfa0ffb83,
+0xf113f38b,0xdd050f2e,0xbf842d12,0x0306f10b,0xfb83fa1f,0xfa4f4bb1,
+0x571bf288,0x189b4638,0x3130f241,0xf883fa1f,0xfe6ef7f2,0x7f80f410,
+0x2c0cd005,0xf1a8bf04,0xfa1f0304,0xfa0ff883,0xf113f388,0xdd050f2e,
+0xbf842c12,0x0306f108,0xf883fa1f,0x99024ba1,0x300af913,0x189bb24a,
+0xf2414638,0xb29d3136,0xfe4ef7f2,0x7f80f410,0xf1bad004,0xd1010f0c,
+0xb29d1f2b,0xf113b22b,0xdd040f2e,0x0f12f1ba,0x1dabd901,0x9a05b29d,
+0x99034b92,0xb24a569b,0x4638189b,0x313cf241,0xf7f2b29c,0xf410fe31,
+0xd0047f80,0x2a0c9a05,0x1f23d101,0xb223b29c,0x0f2ef113,0x9b05dd04,
+0xd9012b12,0xb29c1da3,0xf38bfa0f,0xf288fa0f,0xb22b18d2,0xb22318d2,
+0x109218d2,0xf996921e,0x46383fcb,0x189b3302,0x3130f241,0xf7f2931e,
+0xf410fe0b,0xd0087f80,0xf1139b1e,0xdd040f55,0x0f20f113,0x3301da01,
+0xf241931e,0x4638312c,0xfdfaf7f2,0x312ef241,0x46384605,0xfdf4f7f2,
+0x46049b1e,0x0f5cf113,0x4638db10,0x312af241,0xfdeaf7f2,0x7f80f410,
+0xb222d108,0x1a9bb22b,0xfb032203,0xf3c3f302,0xe0031b47,0x335e9b1e,
+0xfb83fa5f,0x3132f241,0xf7f24638,0xf241fdd5,0x46053134,0xf7f24638,
+0x9b1efdcf,0xf1134604,0xdb100f5c,0xf2414638,0xf7f23130,0xf410fdc5,
+0xd1087f80,0xb22bb222,0x22031a9b,0xf302fb03,0x1a47f3c3,0x9b1ee003,
+0xfa5f335e,0xf241fa83,0x46383138,0xfdb0f7f2,0x313af241,0x46384605,
+0xfdaaf7f2,0x46049b1e,0x0f5cf113,0x4638db10,0x3136f241,0xfda0f7f2,
+0x7f80f410,0xb222d108,0x1a9bb22b,0xfb032203,0xf3c3f302,0xe0031847,
+0x335e9b1e,0xf883fa5f,0x313ef241,0xf7f24638,0xf44ffd8b,0x4605519a,
+0xf7f24638,0x9b1efd85,0xf1134604,0xdb100f5c,0xf2414638,0xf7f2313c,
+0xf410fd7b,0xd1087f80,0xb22bb222,0x22031a9b,0xf302fb03,0x1047f3c3,
+0x9b1ee002,0xb2d8335e,0xf38bfa4f,0xf28afa4f,0xbfa82b1f,0x2a1f231f,
+0x189bbfd4,0xfa4f331f,0x2a1ff288,0x189bbfd4,0xb242331f,0xbfd42a1f,
+0x331f189b,0x1078f99d,0xfb932204,0x4638f3f2,0xe1fe931f,0x4649a806,
+0xf7ec2220,0x9b06ff61,0x04fff003,0x2500f3c3,0x2b071e63,0x84d8f200,
+0xf013e8df,0x00c3005a,0x000804d6,0x005a0008,0x004e04d6,0x21dc6bf0,
+0xf7f22200,0x6bf0ff03,0x220021de,0xfefef7f2,0x46a8b90d,0x4638e007,
+0xf44f2120,0xf7f272e4,0xf8d7fd33,0x2201862c,0x033ef241,0x54f22c04,
+0xd1056bf0,0x189221d8,0x46c0e005,0x0001bda8,0xf24021d8,0xf7f24202,
+0x4638fee1,0xf10d2100,0xf7f20229,0x2d00fc47,0x84a9f000,0xf44f2400,
+0xf7ef707a,0x2120fdb7,0x72e4f44f,0xf7f24638,0xf8d7fd0b,0x9a08362c,
+0x0303ebc8,0xd2034293,0x34019b07,0xd3ea429c,0xf2412400,0x6bf0033e,
+0x54f421d8,0xf7f24622,0x4638feb9,0xe1c24621,0xf2412101,0x54f1033e,
+0xf5a39807,0xf1a06346,0x429a020a,0x2802d902,0x8472f040,0xd1072c01,
+0xf44f4630,0x22e06182,0xf7f92380,0xe002f933,0xf7fa4630,0x9a08fc71,
+0x3201b90a,0x4638e00c,0xb29221dc,0xfe92f7f2,0x2022f8bd,0x21de4638,
+0xfe8cf7f2,0x1201f240,0x46389b07,0xbf082b02,0x0204f042,0xf7f221d8,
+0x9a07fe81,0x00d221da,0xb2923a7c,0xf7f24638,0xf10dfe79,0x788b012f,
+0x4638784a,0xf89d431a,0x4313302f,0x431a78ca,0x4313790b,0x431a794a,
+0xbf149b09,0xf107460a,0x9300024c,0x0129f10d,0xf7f42300,0x2d00fe79,
+0x842df000,0x707af44f,0xfd3cf7ef,0x463821d8,0xfc82f7f2,0x0001f010,
+0xf241d1f4,0x54f0033e,0x2200e007,0x033ef241,0x463854f2,0xf7f221d8,
+0x4630fe45,0xf7fa2101,0xf000fc17,0x4641bc10,0xa813220c,0xfe80f7ec,
+0x930f2301,0xac249b13,0x9b149310,0x93114630,0xa90e9b15,0xf2409312,
+0x93004356,0x4255f240,0x940e3301,0xf944f7f9,0x46214648,0xf7ec2204,
+0xe3f0fe67,0x22104649,0xf7eca813,0x9b16fe61,0x93244630,0x930eab24,
+0x930f2301,0xa90e9b13,0x9b149310,0x4255f240,0x9b159311,0xf2409312,
+0x93004356,0xf7f93301,0xe3d4f8ed,0x2de8f8c6,0xb98a6bf0,0xf8d4f7f3,
+0xf7fa4630,0x6c73fc91,0x68982110,0xf7eb460a,0x6bf0fd69,0xfff4f7f2,
+0xf8862301,0xe3be3054,0xf8869a04,0xf7f32054,0x2270f8bf,0x46309b04,
+0xf7fa9924,0x4630fd07,0xf7fb213c,0x6c73fc01,0x68982110,0xf7eb9a04,
+0xe029fd4d,0xf8869b04,0x23013f83,0x3df0f886,0xe51e3b01,0xf2404630,
+0xf7f941a4,0xf400f83d,0xf5b04060,0xbf144f60,0x20012000,0x0000f8c9,
+0x6bf0e391,0xf894f7f3,0x46309924,0xbf0c2900,0x4100f44f,0x4160f44f,
+0xfb84f7fb,0xf8862300,0x33013f83,0x3df0f886,0xf7f26bf0,0xe37affad,
+0xf2404630,0xf7f941a4,0xf400f817,0xf5b04060,0xd1054f60,0xf7fb4630,
+0xf8b6f917,0xe4e83f96,0x3f9cf996,0x6bf0e4e5,0xf86af7f3,0xf1b19924,
+0xd1033fff,0xf44f4630,0xe7d54160,0xd903297f,0x011cf06f,0xe7d79104,
+0xf7fb4630,0xe7d3fba5,0xf44f4630,0xf7f86182,0xf080ffef,0xf3c00080,
+0xe7b310c0,0xf0402a00,0x463080dc,0x6182f44f,0x238022e0,0xf802f7f9,
+0xf996e33d,0xf1d33df9,0xbf380301,0xe4b42300,0x1df9f886,0xf0002900,
+0x46308332,0xf8bcf7f9,0xf2404630,0xf7f841a4,0xf400ffcb,0xf5b04060,
+0xd1034f60,0xf7fa4630,0xe320faf7,0x21004630,0xfb94f7f9,0x6c73e31b,
+0x2b007c5b,0x8309f000,0x31fff04f,0xf7fa4630,0x8db2fd99,0x4638b241,
+0xfeb8f7f8,0xe775b240,0x7c5b6c73,0xf0002b00,0x21de82f8,0xf7f24638,
+0x21dcfb5f,0x46384604,0xfb5af7f2,0x380cf8d7,0x4004ea40,0x1414f8b3,
+0xb2c9901d,0x4638911e,0x8db2b249,0xfe9af7f8,0x901eb240,0x4648a91d,
+0xe6f4220c,0x4649a806,0xf7ec2220,0x9b06fd59,0x2b073b01,0x82d4f200,
+0xf013e8df,0x006e001f,0x000802d2,0x02d202d2,0x001202d2,0x21d86bf0,
+0xf7f22202,0x4638fcff,0xf10d2100,0xe0090229,0x21d86bf0,0xf7f22200,
+0x4638fcf5,0xf5002100,0x32425246,0xfa5af7f2,0x9b07e2bd,0x32def240,
+0x42933b0a,0x82b0f200,0x463022e0,0x6182f44f,0xf7f82380,0x9a08ff73,
+0x3201b90a,0xf642e015,0x5afb13c2,0x429a4638,0xebc3bf84,0x93080302,
+0x2020f8bd,0xf7f221dc,0xf8bdfccd,0x46382022,0xf7f221de,0xf240fcc7,
+0x46381201,0xf7f221d8,0x9a07fcc1,0x00d24638,0x21da3a7c,0xf7f2b292,
+0xf10dfcb9,0x788b012f,0x4638784a,0xf89d431a,0x4313302f,0x431a78ca,
+0x4313790b,0x431a794a,0xbf149b09,0xf107460a,0x9300024c,0x0129f10d,
+0xf7f42300,0xe26efcb9,0x21d84638,0xf7f22200,0x6bf0fc99,0xf99ef7f2,
+0x6182f44f,0xbf142802,0x23602320,0x463022e0,0xf8a6e71c,0xe25a2f9e,
+0x3f9ef8b6,0xf896e22e,0xf7f2002c,0xf7f9f977,0x2801fcf9,0x2802d00b,
+0xb9d0d012,0x3060f9b6,0xf9b6931a,0x931b3062,0x3064f9b6,0xf9b6e019,
+0x931a3072,0x3074f9b6,0xf9b6931b,0xe0103076,0x3078f9b6,0xf9b6931a,
+0x931b307a,0x307cf9b6,0xf9b6e007,0x931a307e,0x3080f9b6,0xf9b6931b,
+0x46483082,0x931ca91a,0x4641e73a,0x220ca81a,0xfc96f7ec,0x93102307,
+0x93123319,0x930eab23,0x930f2301,0xf8dd9b04,0x9f1b8068,0x93119d1c,
+0x4620461c,0x46424629,0xf7f9463b,0xf240f9e1,0x90234356,0x46309300,
+0xa90e3301,0x4255f240,0xff18f7f8,0x34019b11,0x2c403301,0xd1e89311,
+0x002cf896,0xf91af7f2,0xfc9cf7f9,0xd00a2801,0xd0152802,0x9a1b9b1a,
+0xb9f0991c,0x3060f8a6,0x2062f8a6,0xf8bde091,0xf8bd1068,0xf8bd206c,
+0xf8a63070,0xf8a61072,0xf8a62074,0xe1da3076,0x1068f8bd,0x206cf8bd,
+0x3070f8bd,0x1078f8a6,0x207af8a6,0x307cf8a6,0xf8a6e1cd,0xf8a6307e,
+0xe0992080,0xe19d2300,0x2000f8b8,0xd0042a06,0x010ff04f,0x1000f8a9,
+0xf8b8e1bd,0x2b003004,0x81b6f040,0x2000f8a9,0x2002f8b8,0x2002f8a9,
+0x3004f8b8,0x3004f8a9,0x3002f8b8,0xf2002b03,0xe8df81aa,0x0d02f003,
+0xf8b62318,0xf8a92060,0xf8b62006,0xf8a93062,0xf8b63008,0xe01f6064,
+0x1072f8b6,0x1006f8a9,0x2074f8b6,0x2008f8a9,0x6076f8b6,0xf8b6e014,
+0xf8a93078,0xf8b63006,0xf8a9107a,0xf8b61008,0xe009607c,0x207ef8b6,
+0x2006f8a9,0x3080f8b6,0x3008f8a9,0x6082f8b6,0x600af8a9,0x220ce177,
+0x4641a817,0xfbe8f7ec,0x305cf8bd,0xf0402b06,0xf8bd816e,0x2b003060,
+0x8166f040,0x305ef8bd,0xf2002b03,0xe8df8164,0x0f02f003,0xf8bd291c,
+0xf8a62062,0xf8bd2060,0xf8a63064,0xf8bd3062,0xf8a61066,0xe1521064,
+0x2062f8bd,0x2072f8a6,0x3064f8bd,0x3074f8a6,0x1066f8bd,0x1076f8a6,
+0xf8bde145,0xf8a62062,0xf8bd2078,0xf8a63064,0xf8bd307a,0xf8a61066,
+0xe138107c,0x2062f8bd,0x207ef8a6,0x3064f8bd,0x3080f8a6,0x1066f8bd,
+0x1082f8a6,0x9a04e12b,0xe0fa9224,0x3e16f996,0xe0f69324,0x2e16f886,
+0x6bf0e121,0xfe24f7f2,0x413ef240,0xf7f84630,0xf240fdbb,0x46805103,
+0xf7f84630,0x2204fdb5,0xf2404613,0x46825103,0xf7f84630,0x4630fdcf,
+0x413ef240,0x5200f44f,0xf7f89b04,0x220ffdc7,0x46302308,0x413ef240,
+0xfdc0f7f8,0x23a022f0,0xf2404630,0xf7f8413e,0xf44ffdb9,0xf44f52e0,
+0x46306340,0x413ef240,0xfdb0f7f8,0x413cf240,0xf7f84630,0x2238fd89,
+0xf2402320,0x4607413c,0xf7f84630,0x220ffda3,0x46302304,0x1121f240,
+0xfd62f7f8,0x7200f44f,0x46304613,0x5103f240,0xfd94f7f8,0x7200f44f,
+0x46309b04,0x5103f240,0xfd8cf7f8,0x413bf240,0xf7f84630,0x2204fd65,
+0xf2404613,0x4605413b,0xf7f84630,0x2204fd7f,0xf2404630,0x9b04413c,
+0xfd78f7f8,0x7200f44f,0x46304613,0x5103f240,0xfd70f7f8,0xf2404630,
+0xf44f5103,0x9b047200,0xfd68f7f8,0x46302328,0x5105f240,0x72fff64f,
+0xfd60f7f8,0xf2404630,0xf64f5104,0x9b0472ff,0xfd58f7f8,0x46302220,
+0x5103f240,0xf7f84613,0x9c04fd51,0xf7ef2001,0x4630f99d,0x5103f240,
+0xfd26f7f8,0x0f20f010,0x2000bf14,0x34012001,0xd0022c02,0xd0ed2800,
+0xb908e002,0xe0184604,0x5106f240,0xf7f84630,0xf240fd13,0x46045107,
+0xf7f84630,0x0424fd0d,0xf44f0c24,0xeb0461a1,0x46304400,0xfd04f7f8,
+0xf2404630,0xf7f85109,0x2204fcff,0x0302ea05,0xf2404630,0xf7f8413b,
+0x4630fd19,0x413ef240,0xf7f84642,0x2204fcf9,0x0302ea0a,0xf2404630,
+0xf7f85103,0x2238fd0b,0x0302ea07,0xf2404630,0xf7f8413c,0xb220fd03,
+0x6166f246,0xfa08f7f1,0x61f4f247,0xfa08f7f1,0xf5041284,0x34b144fc,
+0x12646bf0,0xfc60f7f2,0x46489424,0xe435a924,0x33fff04f,0xe0149324,
+0xf8962200,0x4611002c,0x590b4c13,0xd1044283,0xfb022314,0x68584303,
+0x3201e004,0x2a0e3114,0x2000d1f2,0xfabaf7f9,0x46489024,0x4652a924,
+0xf06fe419,0xe0090303,0x0116f06f,0xe0069104,0x021cf06f,0xe0029204,
+0x0301f06f,0x98049304,0xe8bdb027,0x46c08ff0,0x0001b508,0x2201b909,
+0x2200e000,0x3308f642,0x200054c2,0x46c04770,0x466bb5f7,0x0006e883,
+0x21006846,0x4605460b,0xf89d4630,0x46147000,0xf9def7f3,0xb9484601,
+0x46224630,0xf7f32301,0x4601f9d7,0x63ecb910,0x7033f885,0xbdfe4608,
+0x2400b57f,0xf846ae04,0x68454d04,0x3038f890,0xf8807004,0x63444044,
+0xf8854621,0xf8803d09,0x46284038,0xfcf0f7f1,0x21749400,0x23044632,
+0x07f8f8d5,0xfd5cf000,0x073cf8d5,0xfba4f7f1,0x073cf8d5,0xfb8ef7f1,
+0x46c0bd7f,0x6845b5f0,0x4606b089,0x460f224c,0x212a4628,0xf810f7f2,
+0x2250212c,0xf7f24628,0x2120f80b,0x72e4f44f,0xf7f24628,0x4628f805,
+0xf44f2122,0xf7f172e6,0xf896ffff,0xb1133030,0x3630f8d5,0xf8d5e001,
+0x61f3362c,0x34b0f8d5,0x6273ac05,0x34b4f8d5,0x62b32100,0x4620220c,
+0xf9d2f7ec,0x230c2200,0x46289301,0x490c4613,0x92029400,0xf7f59203,
+0x9b05fe85,0x9b076233,0x302cf886,0xf8869b06,0xb137302d,0x0008f106,
+0x011cf106,0xf7ec2214,0xb009f9d7,0x46c0bdf0,0x0001b75b,0x47ffe92d,
+0xf04f6844,0xf8cd0a01,0xf894a00c,0x26003d09,0x3038f880,0x46057c63,
+0x4691460f,0xbfd4290e,0x5800f44f,0x5880f44f,0x6d09f884,0xf8d4b91b,
+0xf7f1073c,0x7c63fb31,0xf06fb913,0xe0250303,0x07f8f8d4,0xf0002104,
+0x9600ffb3,0xaa032304,0xf8d42174,0xf00007f8,0x4620fcd3,0xfc30f7f2,
+0x6130f447,0x0101ea48,0x4620b289,0xffe8f7f5,0xf7f24620,0x4620fb51,
+0xf7f14649,0x4603fc4d,0xf885b920,0x63680044,0xa000f885,0xb0044618,
+0x87f0e8bd,0x41f0e92d,0x7045f890,0x68424606,0x2000b10f,0xf502e01b,
+0x681d534c,0x3848f8d2,0x68186bc4,0xfa42f7f9,0x047ff004,0x46214602,
+0xf7f84628,0xb2c2fa59,0xb250b12a,0xbfcc2860,0xf1c0463a,0x68700260,
+0xf7f54902,0xe8bdfe69,0x46c081f0,0x0001b778,0x47f0e92d,0xb0b64605,
+0x20006846,0x46142a0f,0x80f8f8dd,0x90fcf8dd,0xa100f8dd,0xd0019034,
+0xd1012a13,0xe00b4607,0x0301f002,0x46309300,0x9b414652,0xfd30f7f5,
+0x28004607,0x833ff040,0x0f03f1b9,0xa834d904,0x22044641,0xf934f7ec,
+0x2b1c1ea3,0x8331f200,0xf013e8df,0x032f001d,0x0059032f,0x032f032f,
+0x005e032f,0x00e3032f,0x0124032f,0x01a0032f,0x01d4032f,0x022b032f,
+0x02500264,0x02a0032f,0x032f02b3,0x02cb02c6,0x0311032f,0xf10d02e6,
+0x497e04c3,0x46202205,0xf90af7ec,0x223c2100,0xf7ec4650,0x4630f8e5,
+0x223ca904,0xfd62f7f1,0x28004607,0x82fff040,0xf7ec4620,0x4621f82f,
+0xbf342808,0x22084602,0xf7ec4650,0x4870f815,0xf824f7ec,0x2820496e,
+0x4602bf34,0xf10a2220,0xf7ec0008,0x9b0ff809,0x3028f8ca,0xf8ca9b07,
+0x9b0b302c,0x3030f8ca,0xf8ca9b09,0x9b0d3034,0x3038f8ca,0xf8d6e2d7,
+0xf7f1073c,0xe2d2fa3b,0x0f13f1b9,0x82c7f240,0x4641a828,0xf7ec2214,
+0x6b6bf8c7,0xf0402b00,0x462882c1,0x10a1f99d,0x20a0f99d,0xf7ff3301,
+0x4607fee9,0xf0402800,0xab2b82ba,0xe8934628,0xf7ff0006,0x4607fe4d,
+0xf0402800,0x463082b0,0x10a2f99d,0x20acf89d,0xfe38f7ff,0x28004607,
+0x82a5f040,0x30a4f89d,0x3045f885,0x534cf506,0xf89d6818,0xf7f810a5,
+0xb108f9fb,0xe2964607,0xf7ff4628,0x4607ff0b,0xf0402800,0x6beb8290,
+0xf003493e,0x2b04037f,0xf88dbf18,0xf89d00a3,0x463020a3,0xfd88f7f5,
+0x28004607,0x827ff040,0xa8132220,0xf7ec4639,0x2301f857,0x9b2a9313,
+0x6beb9314,0x037ff003,0xd0052b02,0xd0032b04,0xd0012b0b,0xd1022b16,
+0x7380f44f,0xf44fe001,0x93166380,0x2200ab13,0x23209300,0x24019301,
+0x49274630,0x94024613,0xf7f59203,0x4607fcf3,0xf0402800,0x6b6b8254,
+0x4044f885,0x636b4323,0xf1b9e24d,0xf2400f01,0xf10d8242,0x464100d5,
+0xf7ec2202,0x6b6bf841,0xf0402b00,0x4628823b,0x10d6f99d,0x20d5f99d,
+0xf7ff3301,0x4607fe63,0xf0402800,0x46308234,0xfab0f7f2,0x30d6f89d,
+0x70d7f88d,0x23019333,0x2848f8d6,0xf10d9300,0x970103d7,0x68109302,
+0x2204215c,0xf7fdab33,0x4607fd4f,0xf0402800,0x6b6b821a,0x0302f043,
+0xe214636b,0x0001b833,0x0001a078,0x0001b729,0x0001b754,0x0f1ff1b9,
+0x8201f240,0x0a6cf10d,0x46414650,0xf7eb2220,0x6b6bffff,0xf0402b00,
+0x462881f9,0x106df99d,0x206cf99d,0xf7ff3301,0x4607fe21,0xf0402800,
+0xab2181f2,0xe8934628,0xf7ff0006,0x4607fd85,0xf0402800,0x463081e8,
+0x106ef99d,0x2084f89d,0xfd70f7ff,0x28004607,0x81ddf040,0x3070f89d,
+0xf8856c29,0xb1293045,0x534cf506,0xb2496818,0xf95cf7f8,0xf7ff4628,
+0x4607fe45,0xf0402800,0xf10d81ca,0x4640084c,0x22204639,0xffa0f7eb,
+0x9314231c,0xf04f9b20,0x93150901,0x3072f8bd,0x904cf8cd,0xf89d9316,
+0xb10b306f,0x905cf88d,0x0411f108,0x0108f10a,0x46202206,0xffa8f7eb,
+0x010ef10a,0x46202206,0xffa2f7eb,0x93012320,0x463b463a,0x49a84630,
+0xf8cd9703,0xf8cd8000,0xf7f59008,0x4607fc33,0xf0402800,0xf8858194,
+0xe1909044,0xb9236b6b,0x3044f895,0xf0002b00,0xf506818a,0x6818534c,
+0xf7f82100,0x4607f8e5,0x28004680,0x817ff040,0x3044f895,0xac13b1bb,
+0x22204639,0xf7eb4620,0x2302ff53,0x331e9313,0x23019301,0x463a9302,
+0x4630463b,0x9703498e,0xf7f59400,0x4607fc03,0xf0402800,0x6b6b8164,
+0xf0002b00,0xf8c58160,0xe0778034,0x0f0bf1b9,0x8151f240,0x09b7f10d,
+0x220c4641,0xf7eb4648,0x4628ff4f,0x10b8f99d,0x20b7f99d,0xf7ff2301,
+0x4607fd75,0xf0402800,0x21018146,0xac134628,0xfd1cf7ff,0x46202220,
+0xf7eb4639,0x2304ff19,0xf89d9313,0xf10430ba,0xf0130011,0xd0090f01,
+0xf5062301,0xf8855146,0x31423030,0xf7eb2206,0xe006ff27,0x0103f109,
+0xf7eb2206,0xf885ff21,0xf89d7030,0xb11330b9,0xf88d2301,0xf885305c,
+0xab133031,0x93002200,0x93012320,0x46302401,0x46134961,0x92039402,
+0xfba8f7f5,0x28004607,0x8109f040,0x4032f885,0xf895e105,0x2b003032,
+0x8101f000,0x4620ac13,0x22202100,0xfed8f7eb,0x93132308,0x94003318,
+0x24009301,0x93022301,0x46224951,0x46304623,0xf7f59403,0x4621fb87,
+0x46284607,0xfcc2f7ff,0x4032f885,0xf7ff4628,0xe0e0fc97,0xb9647c74,
+0x0008f105,0x011cf105,0xf7eb2214,0x235ffed5,0x402df885,0x302cf885,
+0x4628e0d1,0xf7ff2101,0xe0ccfca9,0xb1337c73,0x3032f895,0x4628b11b,
+0xf7ff2100,0x69ebfc9f,0x429368aa,0x1a9bd301,0x43dbe001,0x9323189b,
+0x3031f895,0x6a2bb13b,0x429368ea,0x1a9bd301,0x43dbe001,0x9324189b,
+0x6a6b692a,0xd3014293,0xe0011a9b,0x189b43db,0x696a9325,0x42936aab,
+0x1a9bd301,0x43dbe001,0x9326189b,0x302df895,0xf88d4650,0xf895309d,
+0xa923302c,0xf88d2214,0xe06d309c,0x0f01f1b9,0x8085f240,0x22024641,
+0x00d5f10d,0xfe84f7eb,0xf99d4628,0xf99d10d6,0x230120d5,0xfcaaf7ff,
+0x2200e073,0x2404ad33,0x49164630,0x95004613,0x92029401,0xf7f59203,
+0x4607fb0d,0xd16e2800,0x46294650,0xe0474622,0xf1064650,0x2206014c,
+0xf8d6e042,0xf7f0073c,0x4641ffc9,0xf1062206,0xf7eb004c,0xf8d6fe59,
+0x46410dc8,0x220630da,0xfe52f7eb,0x073cf8d6,0xffcaf7f0,0x46c0e04f,
+0x0001b754,0x0001b749,0x08c8f10d,0x46502400,0x22044641,0xf7eb9432,
+0x7c73fe3f,0xd03e2b00,0xf8d62201,0x92003848,0x02d7f10d,0x94019202,
+0x21aa6818,0xab332204,0xfb62f7fd,0xbb704607,0x3033f895,0xd0282b01,
+0x30ccf89d,0xfb932204,0x9332f3f2,0x46414650,0xfe1ef7eb,0x7c73e01f,
+0xf8d6b91b,0xf7f0073c,0x9b34ff93,0x91340099,0x0044f895,0xb1406429,
+0x534cf506,0xb2496818,0xff98f7f7,0xf7ff4628,0x4607fc81,0xf06fe007,
+0xe004070d,0x37fff04f,0xf06fe001,0x46380716,0xe8bdb036,0x46c087f0,
+0xf0137c83,0xd0030f07,0xf0137903,0xd0050f01,0x4a05780b,0x0307f003,
+0xe0035cd0,0x2305780a,0xf0f3fbb2,0x46c04770,0x0001b620,0x9f05b5f0,
+0x46162400,0x46a4461d,0xeb00e015,0xf893030c,0xb116e004,0x0f80f01e,
+0xb12dd00b,0xf00e4a09,0x56d3037f,0xdb042b00,0xea0e190a,0x71130307,
+0xf10c3401,0x68030c01,0xd3e6459c,0x600c7d03,0xbdf0750b,0x0001bae4,
+0x2200b500,0x48074686,0xf85000d1,0x459e3032,0x180bd102,0xe0047918,
+0x2a0c3201,0xf04fd1f3,0xbd0030ff,0x0001ba84,0x18c06803,0xf00078c0,
+0x4770007f,0xb5104603,0x22284608,0xf7eb4619,0xbd10fd9b,0xb09db5f0,
+0x460e4604,0xf10d4617,0x21000003,0xf7eb226d,0x6825fd6f,0xe00f2000,
+0x79191823,0x027ff001,0xd8082a6c,0x5c9b4b17,0xf10db12b,0xeb0e0e70,
+0xf8030302,0x30011c6d,0xd1ed42a8,0x46082100,0x1833e00c,0xaa1c791b,
+0x037ff003,0xf81318d3,0xb1122c6d,0x711a1863,0x30013101,0x42986833,
+0x6021d3ef,0xb157b149,0x18a32200,0x3004f993,0xdb042b00,0x428a3201,
+0x2000d1f7,0x2001e000,0xbdf0b01d,0x0001bae4,0x4370e92d,0x4606b08c,
+0x2054f89d,0x48114b10,0x2a14ac02,0x4618bf08,0xbf142900,0x46804688,
+0xf89d4621,0xf89d9048,0xf7ff5050,0x9b13ff9b,0x93004620,0x22004631,
+0x9501464b,0xff52f7ff,0x46414630,0xf7ff2200,0xb00cff95,0x8370e8bd,
+0x0001ba0c,0x0001ba5c,0xb09db530,0x460d4604,0x0003f10d,0x226d2100,
+0xfcfef7eb,0xe0112000,0x79191823,0x027ff001,0xd80a2a6c,0x5c9b4b1c,
+0xab1cb13b,0xf812189a,0xea413c6d,0xf8020303,0x30013c6d,0x42986823,
+0x2000d3ea,0x182be011,0xf0017919,0x2a6c027f,0x4b11d80a,0xb13b5c9b,
+0x189aab1c,0x3c6df812,0x0303ea41,0x3c6df802,0x682b3001,0xd3ea4298,
+0x60232300,0xf10d4618,0x5cc10303,0x6823b131,0x330118e2,0x71112b10,
+0xd8026023,0x286d3001,0xb01dd1f1,0x46c0bd30,0x0001bae4,0x37f8f8d0,
+0x47707898,0xeb006983,0x8b800043,0x46c04770,0x29beb530,0x461cb085,
+0x69009d08,0xdc04d02d,0xd01c29bc,0xd02129bd,0xf240e008,0x42991301,
+0xf5b1d007,0xd00b7f81,0xd02529bf,0x0016f06f,0x4917e02c,0x22009200,
+0x92029401,0xe0229503,0x23014913,0x94019200,0x95039302,0x4911e01a,
+0x22009200,0x92029301,0xe0149503,0x9301490d,0x92002301,0x95039302,
+0x490be00c,0x22009200,0x92029301,0xe0069503,0x49072301,0x94019200,
+0x95039302,0x46132200,0xf928f7f5,0xbd30b005,0x0001bb7c,0x0001bb8e,
+0x0001bb9d,0x7883b510,0x69014602,0x8803b183,0x0f08f013,0xf023d00c,
+0xf0430308,0x80030380,0x073cf8d1,0x11f8f8d2,0x46132200,0xfbeaf7f0,
+0x46c0bd10,0xb5106903,0xf8d44604,0xf8d311f8,0xf7f0073c,0xb908fd9d,
+0xe0043001,0x33fff04f,0x31e2f884,0xf04f2000,0x61a333ff,0x70a33301,
+0x46c0bd10,0x41ffe92d,0x320ef890,0xf8d04604,0xb1431214,0x21e2f990,
+0x23243924,0x1503fb02,0x81e3f990,0xf8d0e002,0x460d8210,0xe0172600,
+0x320ef894,0x682f6920,0x461ab90b,0xf8d4e001,0x4b092230,0x22009201,
+0x92039202,0x463a1d29,0xf7f39300,0xf894fba7,0xb903320e,0x36013524,
+0xdbe54546,0x81ffe8bd,0x0001bbc4,0x6905b537,0x46284604,0xfea8f7f1,
+0x11e0f8b4,0x24004628,0xfa62f7f5,0xf8854628,0xf7f14d36,0x4628f90b,
+0xfdc6f7f1,0x3848f8d5,0xf7fb6818,0x4628f855,0xfd1af7f2,0x3de0f895,
+0xf0234628,0xf8850301,0x23033de0,0x21019300,0xf44f4623,0xf7f16282,
+0xf8b5fc11,0xb12b3dea,0x615ef505,0x31044628,0xfa78f7f4,0x46c0bd3e,
+0x41ffe92d,0x46046905,0x3844f8d5,0xb1637a1b,0x380cf8d5,0x2120f8d3,
+0x4304f240,0x0303ea02,0x6080f5b3,0x2001bf18,0x68a8e005,0xf940f7ea,
+0xbf183800,0xb1202001,0x073cf8d5,0xfd32f7f0,0xf994e181,0xf11331e2,
+0xd1030f02,0xf8843301,0xe17831e2,0x2b007c6b,0x8175f000,0xf0128822,
+0xd0100f40,0x73bff64f,0x0303ea02,0x46288023,0xf976f7f1,0x4628b938,
+0xff62f7f1,0xf0438823,0x80230308,0xf894e15f,0x330131e2,0x31e2f884,
+0xeb0469a3,0x8b9e0343,0x53a2f505,0x332cb2f2,0x0ed2ea4f,0x300ef813,
+0x0707f002,0xf013413b,0xbf0c0f01,0x81e4f894,0x0801f04f,0x21e2f994,
+0xf388fa4f,0xdd59429a,0x428a1c59,0x8822d105,0x73eff64f,0x0303ea02,
+0xf8d48023,0x69a231dc,0x429a3b01,0x20ffdb01,0xeb04e002,0x8bd80342,
+0xf0138823,0xbf1c0380,0x31f0f8d4,0xf8c43301,0xf99431f0,0x428b31e2,
+0xf8b4d12f,0xb36331e6,0xd03328ff,0x21f0f8d4,0x31ecf8d4,0xda11429a,
+0x51a2f505,0xf811312c,0x413b300e,0x0f01f013,0xb2c3d108,0x5c8a08da,
+0x0307f003,0xf012411a,0xd0140f01,0xf7ff4620,0x8822ff25,0x737ff64f,
+0x0303ea02,0xf8d58023,0xf8d4073c,0xf8b411f8,0x230021e6,0xfab2f7f0,
+0x28ffe0ed,0x69a3d006,0x33014606,0x230061a3,0x31e2f884,0x31e2f894,
+0xf895bb4b,0xb31b3024,0xf0138823,0xd11f0f80,0x3848f8d5,0xf7f86818,
+0xf8b4fbe9,0x429831e0,0x4628d116,0xf8dcf7f1,0x8823b968,0x0f20f013,
+0x4628d106,0xfec4f7f1,0xf0438823,0xe0010308,0x0340f043,0x88238023,
+0x0f28f013,0x80bbf040,0xf8842301,0xf99431e2,0x2a0021e2,0x808ff340,
+0xf388fa4f,0xf300429a,0xf8b4808a,0xf7f601e0,0xb2f7fd3d,0xd0084287,
+0xf44f2303,0x93006282,0x21014628,0xf7f14613,0xf8d5fb01,0x68183848,
+0xfbacf7f8,0xd0094286,0xf7f14628,0x4628fd69,0xf7f54631,0x4628f925,
+0xfc8ef7f1,0x3024f895,0xf8b4b143,0x429e31e0,0xf895d004,0xf0433de0,
+0xe0030301,0x3de0f895,0x03fef003,0x3de0f885,0x23016925,0x3d36f885,
+0xf7f04628,0x8823ffb7,0x0f04f013,0xf505d10a,0x08fa53a2,0x5c9b332c,
+0x0207f007,0xf0134113,0xd01a0f01,0x320ef894,0x69a2b13b,0x1224f8d4,
+0xfb02230c,0x689a1303,0xf8b4b90a,0xf8d521ea,0xf8d4073c,0x230011f8,
+0xfa14f7f0,0xf5044628,0xaa0371fa,0xfc5ef7f1,0xf894e01d,0xb14b320e,
+0xf8d469a2,0x230c1224,0x1303fb02,0xb10a689a,0xe0054616,0x21e8f8b4,
+0x31e4f994,0xf6f3fb92,0xf7ff4620,0xf8d5fe27,0xf8d4073c,0x463211f8,
+0xf7f02300,0xf8d5f9ef,0x21023848,0x463a6818,0xfc2af7f8,0x4620e023,
+0xfe48f7ff,0xf64f8822,0xea02737f,0x26000303,0xf04f8023,0x61a333ff,
+0x70a64628,0xfe18f7f1,0x37f8f8d5,0x21fcf8d3,0x0200f8d3,0x61fcf8c3,
+0x6200f8c3,0x4631b10a,0xf5054790,0x462851a4,0xf7f3311c,0xe8bdf919,
+0x46c081ff,0x7883b537,0x69054604,0xd0412b00,0x3848f8d5,0xf7f86818,
+0xf8b4fb05,0x428331e0,0x4628d00a,0xfcc0f7f1,0xf8b44628,0xf7f511e0,
+0x4628f87b,0xfbe4f7f1,0x3848f8d5,0xf7fa6818,0x4628fe73,0xfb38f7f2,
+0x3de0f895,0xf0232101,0xf8850301,0x23033de0,0x46289300,0xf44f2300,
+0xf7f16282,0x8823fa2f,0x0380f023,0xf06f8023,0xf8840301,0x330131e2,
+0x330161a3,0x882370a3,0x0f28f013,0xf023d006,0x80230328,0x07f8f8d5,
+0xfe12f7ff,0x46c0bd3e,0x4604b570,0x460d78a3,0xb1436900,0x51a4f500,
+0xf7f3311c,0x4620f8c1,0xf7ff4629,0xbd70ffa7,0xf8d0b108,0x47700270,
+0xb109460b,0x3270f8d1,0x47706003,0x68004602,0xf8d0b118,0x60133270,
+0x6010e000,0x46c04770,0x461db530,0x4354f241,0x58c1468e,0x6a4a4614,
+0xd9022a09,0x30fff04f,0x1c53e010,0x9b03624b,0x1202eb01,0x9b046313,
+0x63536294,0x6a0a62d5,0x44731cd3,0x0303f023,0x4610620b,0x46c0bd30,
+0x20004684,0x4686b500,0xfb002314,0xf241c303,0x589b323c,0xd0054299,
+0x0e01f10e,0xf1be3001,0xd1f10f08,0x46c0bd00,0xb530b082,0xfb012414,
+0xf2410404,0x9304313c,0x9b065063,0xf5049d07,0x600b519a,0x3344f241,
+0x50e59905,0x50e13304,0x50e23304,0x4030e8bd,0x4770b002,0x4ff0e92d,
+0xfb022414,0xb0870404,0x5498f504,0x343cad01,0x46804617,0xcc0f4689,
+0x6823c50f,0xa00cf8dd,0x4b1d602b,0xb014f8dd,0x5027f853,0x230c2400,
+0x9303fb04,0xf8d34640,0xf7ff11ec,0x4686ffb1,0x4b15b130,0x3020f853,
+0xd20142ab,0xe7ee4604,0xfb072214,0x210c8002,0x9501fb04,0x363cf241,
+0xfb0e5983,0xf2418202,0xf8c5344c,0xfb0731ec,0x59039101,0x31f0f8c5,
+0xf8c15993,0x591331ec,0x31f0f8c1,0x0f00f1ba,0x4658d002,0x47d04649,
+0xe8bdb007,0x46c08ff0,0x0001bbcc,0x43f0e92d,0xfb022414,0xb0870404,
+0x5498f504,0x343cad01,0x46174689,0xcc0f4680,0x6823c50f,0x602b9a02,
+0xfb07230c,0xf8d39303,0x980531ec,0xb10ab35b,0x47904649,0x240c2000,
+0x9604fb00,0xf8d64640,0xf7ff11ec,0x42b8ff5d,0xfb07d1f5,0x46409504,
+0x11ecf8d5,0xff54f7ff,0xfb002414,0xf2418004,0x58c3333c,0xf8c64640,
+0xf8d531ec,0xf7ff11ec,0xfb00ff47,0xf2418404,0x58e3334c,0x31f0f8c6,
+0xf8c52300,0xb00731ec,0x83f0e8bd,0xfb022314,0xb5700303,0xf2414614,
+0x589b323c,0x460d4606,0xd0312b00,0xfb04230c,0xf5031303,0x791372f8,
+0x3301bb53,0x71132c02,0xf8d1d105,0xbb1b321c,0x3210f8d1,0x2c03e01a,
+0x2202d106,0xff96f7ff,0x46294630,0xe0022204,0xd1032c06,0xf7ff2205,
+0xe00cff8d,0xd0022c04,0xd0052c05,0xf8d1e007,0xb94b3210,0xe7f22202,
+0x3234f8d1,0x4630b923,0x46224629,0xff2af7ff,0x46c0bd70,0x1274f8d0,
+0x30f0b510,0x22003174,0xfb0cf7ff,0x46c0bd10,0x4354f241,0x58c3b570,
+0xeb03460d,0x699c0382,0x4628e008,0x0119f104,0xf7ea2206,0xb118ffa1,
+0x426cf8d4,0xd1f42c00,0xbd704620,0xf7ffb510,0xbd10ffe7,0x3848f8d0,
+0x689ab510,0xffe0f7ff,0x46c0bd10,0x41f0e92d,0x4354f241,0x7e0b58c6,
+0x460c4680,0xd1642b00,0xf413684b,0xd1600280,0x0380f443,0x46174635,
+0xe006604b,0xb1136aeb,0x46216b68,0x37014798,0x6a733510,0xd3f5429f,
+0x27004625,0x1118f8d5,0xf8d8b149,0x22000048,0xfb6af7ed,0xf8c52300,
+0xf8c53118,0x1c7b3138,0x3504b2df,0xd1ed2f08,0x73232300,0xf0137e63,
+0xd1170f01,0x3274f8d4,0xeb06689b,0x698a0183,0xd10d42a2,0x326cf8d4,
+0xe00b618b,0x326cf8d2,0xd10442a3,0x326cf8d4,0x326cf8c2,0x461ae002,
+0xd1f32a00,0x42a26832,0x4620d10e,0xfe44f7ff,0xe00b6030,0x3270f8d2,
+0xd10442a3,0x3270f8d4,0x3270f8c2,0x461ae002,0xd1f32a00,0x0048f8d8,
+0x6a324621,0xfb48f7ed,0x20018ab3,0x82b33b01,0x2000e000,0x81f0e8bd,
+0xf241b537,0x59034454,0x68194605,0xf7ffa801,0x592bfe23,0xe00d681c,
+0xf7ff4620,0xf8d4ff53,0xb91b30f0,0x46214628,0xff78f7ff,0xf7ffa801,
+0x4604fe19,0xd1ef2c00,0x46c0bd3e,0xf241b573,0x460e4554,0x46045941,
+0x6809b191,0xf7ffa801,0x5963fe03,0xe0096819,0x2300b10e,0x4620760b,
+0xff5cf7ff,0xf7ffa801,0x4601fdfd,0xd1f32900,0x46c0bd7c,0x47ffe92d,
+0x4354f241,0x8003f850,0xf8b84605,0x468a3014,0xd8072b07,0xf8d82100,
+0xf7ed0020,0x4601f919,0xd1292800,0x4454f241,0x6819592b,0xf0002900,
+0xa803809a,0x770cf8d5,0xfdd2f7ff,0x2400592b,0x46266818,0x7e03e00b,
+0x6a03b933,0x0307ebc3,0xbf2442b3,0x4604461e,0xf7ffa803,0x2800fdc7,
+0x2c00d1f1,0xe081d07f,0xf8d82100,0xf7ed0020,0x4601f8ef,0xd0762800,
+0x3014f8b8,0x3301460e,0x3014f8a8,0xf8d84608,0x21002020,0xff6cf7ea,
+0x370cf8d5,0x623346b1,0x5342f505,0xf8c63368,0x6173a274,0x18b32200,
+0xf04f3202,0x2a1031ff,0x1158f8a3,0x4644d1f7,0xe0062700,0xb1136aa3,
+0x46316b60,0x37014798,0xf8d83410,0x429f3024,0x7c6bd3f4,0xf241b18b,
+0x46287370,0x22005ae9,0xf9ecf7f6,0xf895b148,0xb1133024,0x744af505,
+0xf505e005,0x343454ba,0xf10ae001,0x7dab0414,0x237fb143,0x46209300,
+0xf1062300,0x220101f0,0xe01f9301,0x2023f895,0xf89ab9a2,0xb18b300c,
+0x05f0f106,0x4620277f,0x23014629,0x97009201,0xf958f7ff,0x20f0f8d6,
+0x4620b972,0x97004629,0xe0069201,0x2200237f,0x92019300,0xf1064620,
+0x461301f0,0xf946f7ff,0x3000f8d8,0x6000f8c8,0x3270f8c6,0xf04fe009,
+0xe0060900,0x46214628,0xfe98f7ff,0xd0f62800,0x4648e776,0xe8bdb004,
+0x46c087f0,0x41f0e92d,0x460f4605,0xf7ff4616,0x4604fe67,0xf44fb9e0,
+0xfb06719c,0xf501f101,0x18696128,0x31044628,0xff28f7ff,0xb1784604,
+0xf1002206,0x46390019,0xfef6f7ea,0x4354f241,0x62a658eb,0x0386eb03,
+0x619c699a,0x226cf8c4,0xe8bd4620,0x46c081f0,0xf7ffb510,0xbd10ffd3,
+0x4ff0e92d,0xb08d4f59,0x49596838,0xfc4af7ea,0xd0452801,0xe184f8df,
+0xf8de4c56,0x48561000,0x6821910b,0x91096803,0x930a4954,0x2200680b,
+0x4b539308,0xb000f8d2,0x4d534e52,0x6003600a,0x48534952,0x8000f8d7,
+0x9000f8d6,0xa000f8d5,0xf8ce603a,0x602a2000,0x60226032,0x3a011a09,
+0xfb72f7ea,0x42984b4b,0x4b40d1fc,0xf8c32100,0x4b448000,0x9000f8c3,
+0xf8c34b43,0x680aa000,0x601a4b45,0xb000f8c1,0x990b4b44,0x60199a0a,
+0x99094b39,0x4b37601a,0x60199a08,0x601a4b37,0xf8aaf7ed,0x46072100,
+0xfe4cf7e9,0x21004638,0xfdc6f7e9,0x6a03b128,0xbfbc2b00,0x4300f04f,
+0x46386203,0x8030f8d7,0x9034f8d7,0xfcaaf7e9,0xfbb04c33,0x4638f6f4,
+0xfcaef7e9,0xf5f4fbb0,0xf7ed4638,0x4b2ffd4d,0xf0f4fbb0,0x4b2e9300,
+0x93019006,0x4a2e492d,0x4b2f482e,0x8008f8cd,0x900cf8cd,0x95059604,
+0xfe7ef7ea,0xf640482b,0xf244010d,0xf7ec32f4,0xb148fdc1,0xf6404827,
+0xf2440129,0xf7ec32f4,0xb108fdb9,0xe0002400,0x46382401,0xfc22f7e9,
+0x73fff64f,0x3218f244,0xbf184298,0xf6404602,0x481d0112,0xfda6f7ec,
+0x481ab11c,0x685b6a03,0xf7ed4798,0x4638fce9,0xfd42f7ec,0xe8bdb00d,
+0x46c08ff0,0x0001bc3c,0x0001bbf4,0x000001bc,0x000001b0,0x000001c4,
+0xbbadbadd,0x0001bc40,0x0001bc38,0x00025018,0x00000000,0xdebb20e3,
+0x000001b4,0x000001c0,0x000f4240,0x0001a337,0x0001a078,0x0001bc2a,
+0x0001bc2f,0x0001bbfa,0x0001bc33,0x0001bc78,0x0001bcb4,0x004c9000,
+0x02f25000,0x50000000,0x000102f2,0x01f25000,0xf2500000,0x18100000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000002,
+0x00000001,0x69766564,0x6c770064,0x00646930,0x252f6273,0x70002f75,
+0x69646f72,0x6f620064,0x74647261,0x00657079,0x72616f62,0x616c6664,
+0x78007367,0x666c6174,0x00716572,0x6464656c,0x08080063,0x08080808,
+0x28080808,0x28282828,0x08080808,0x08080808,0x08080808,0x08080808,
+0x10a00808,0x10101010,0x10101010,0x10101010,0x04041010,0x04040404,
+0x04040404,0x10101010,0x41101010,0x41414141,0x01010141,0x01010101,
+0x01010101,0x01010101,0x01010101,0x10101001,0x42101010,0x42424242,
+0x02020242,0x02020202,0x02020202,0x02020202,0x02020202,0x10101002,
+0x00000810,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x10a00000,0x10101010,0x10101010,0x10101010,
+0x10101010,0x10101010,0x10101010,0x10101010,0x01011010,0x01010101,
+0x01010101,0x01010101,0x01010101,0x01010101,0x01011001,0x01010101,
+0x02020201,0x02020202,0x02020202,0x02020202,0x02020202,0x02020202,
+0x02021002,0x02020202,0x73250202,0x6425203a,0x25000a20,0x20783230,
+0x25632500,0x00783330,0x65646e55,0x656e6966,0x72652064,0x20726f72,
+0x25006425,0x64252e64,0x2e64252e,0x67006425,0x256f6970,0x70670064,
+0x58586f69,0x4f005858,0x6e55004b,0x69666564,0x2064656e,0x6f727265,
+0x61420072,0x72412064,0x656d7567,0x4200746e,0x4f206461,0x6f697470,
+0x6f4e006e,0x70752074,0x746f4e00,0x776f6420,0x6f4e006e,0x50412074,
+0x746f4e00,0x41545320,0x64614200,0x79654b20,0x646e4920,0x52007865,
+0x6f696461,0x66664f20,0x746f4e00,0x6e616220,0x6f6c2064,0x64656b63,
+0x206f4e00,0x636f6c63,0x6142006b,0x61522064,0x76206574,0x65756c61,
+0x00746573,0x20646142,0x646e6142,0x66754200,0x20726566,0x206f6f74,
+0x726f6873,0x75420074,0x72656666,0x6f6f7420,0x6e6f6c20,0x75420067,
+0x4e007973,0x4120746f,0x636f7373,0x65746169,0x61420064,0x53532064,
+0x6c204449,0x4f006e65,0x6f207475,0x61522066,0x2065676e,0x6e616843,
+0x006c656e,0x20646142,0x6e616843,0x006c656e,0x20646142,0x72646441,
+0x00737365,0x20746f4e,0x756f6e45,0x52206867,0x756f7365,0x73656372,
+0x736e5500,0x6f707075,0x64657472,0x64614200,0x6e656c20,0x00687467,
+0x20746f4e,0x64616552,0x6f4e0079,0x65502074,0x74696d72,0x00646574,
+0x4d206f4e,0x726f6d65,0x6f4e0079,0x6e492074,0x6e615220,0x57006567,
+0x4e20454d,0x4520746f,0x6c62616e,0x54006465,0x43455053,0x746f4e20,
+0x756f4620,0x4100646e,0x4e204d43,0x5320746f,0x6f707075,0x64657472,
+0x746f4e00,0x454d5720,0x73734120,0x6169636f,0x6e6f6974,0x49445300,
+0x7542204f,0x72452073,0x00726f72,0x676e6f44,0x4e20656c,0x4120746f,
+0x73656363,0x6c626973,0x6e490065,0x72726f63,0x20746365,0x73726576,
+0x006e6f69,0x78323025,0x3230253a,0x30253a78,0x253a7832,0x3a783230,
+0x78323025,0x3230253a,0x00000078,0x00000000,0x77073096,0xee0e612c,
+0x990951ba,0x076dc419,0x706af48f,0xe963a535,0x9e6495a3,0x0edb8832,
+0x79dcb8a4,0xe0d5e91e,0x97d2d988,0x09b64c2b,0x7eb17cbd,0xe7b82d07,
+0x90bf1d91,0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,0x1adad47d,
+0x6ddde4eb,0xf4d4b551,0x83d385c7,0x136c9856,0x646ba8c0,0xfd62f97a,
+0x8a65c9ec,0x14015c4f,0x63066cd9,0xfa0f3d63,0x8d080df5,0x3b6e20c8,
+0x4c69105e,0xd56041e4,0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,
+0xa50ab56b,0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,
+0x45df5c75,0xdcd60dcf,0xabd13d59,0x26d930ac,0x51de003a,0xc8d75180,
+0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,0xb8bda50f,0x2802b89e,
+0x5f058808,0xc60cd9b2,0xb10be924,0x2f6f7c87,0x58684c11,0xc1611dab,
+0xb6662d3d,0x76dc4190,0x01db7106,0x98d220bc,0xefd5102a,0x71b18589,
+0x06b6b51f,0x9fbfe4a5,0xe8b8d433,0x7807c9a2,0x0f00f934,0x9609a88e,
+0xe10e9818,0x7f6a0dbb,0x086d3d2d,0x91646c97,0xe6635c01,0x6b6b51f4,
+0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,0x1b01a57b,0x8208f4c1,
+0xf50fc457,0x65b0d9c6,0x12b7e950,0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,
+0x15da2d49,0x8cd37cf3,0xfbd44c65,0x4db26158,0x3ab551ce,0xa3bc0074,
+0xd4bb30e2,0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,0x4369e96a,
+0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,0xaa0a4c5f,
+0xdd0d7cc9,0x5005713c,0x270241aa,0xbe0b1010,0xc90c2086,0x5768b525,
+0x206f85b3,0xb966d409,0xce61e49f,0x5edef90e,0x29d9c998,0xb0d09822,
+0xc7d7a8b4,0x59b33d17,0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,0xedb88320,
+0x9abfb3b6,0x03b6e20c,0x74b1d29a,0xead54739,0x9dd277af,0x04db2615,
+0x73dc1683,0xe3630b12,0x94643b84,0x0d6d6a3e,0x7a6a5aa8,0xe40ecf0b,
+0x9309ff9d,0x0a00ae27,0x7d079eb1,0xf00f9344,0x8708a3d2,0x1e01f268,
+0x6906c2fe,0xf762575d,0x806567cb,0x196c3671,0x6e6b06e7,0xfed41b76,
+0x89d32be0,0x10da7a5a,0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,
+0x60b08ed5,0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,
+0xa6bc5767,0x3fb506dd,0x48b2364b,0xd80d2bda,0xaf0a1b4c,0x36034af6,
+0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,0x4669be79,0xcb61b38c,
+0xbc66831a,0x256fd2a0,0x5268e236,0xcc0c7795,0xbb0b4703,0x220216b9,
+0x5505262f,0xc5ba3bbe,0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,
+0xb5d0cf31,0x2cd99e8b,0x5bdeae1d,0x9b64c2b0,0xec63f226,0x756aa39c,
+0x026d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x05005713,0x95bf4a82,
+0xe2b87a14,0x7bb12bae,0x0cb61b38,0x92d28e9b,0xe5d5be0d,0x7cdcefb7,
+0x0bdbdf21,0x86d3d2d4,0xf1d4e242,0x68ddb3f8,0x1fda836e,0x81be16cd,
+0xf6b9265b,0x6fb077e1,0x18b74777,0x88085ae6,0xff0f6a70,0x66063bca,
+0x11010b5c,0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,0xa00ae278,
+0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,0x4969474d,
+0x3e6e77db,0xaed16a4a,0xd9d65adc,0x40df0b66,0x37d83bf0,0xa9bcae53,
+0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,0xbdbdf21c,0xcabac28a,0x53b39330,
+0x24b4a3a6,0xbad03605,0xcdd70693,0x54de5729,0x23d967bf,0xb3667a2e,
+0xc4614ab8,0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,
+0x2d02ef8d,0x4eb9f700,0x6b9cd225,0x04f3bd4a,0x21d6986f,0xda2d6394,
+0xff0846b1,0x906729de,0xb5420cfb,0x31c6887f,0x14e3ad5a,0x7b8cc235,
+0x5ea9e710,0xa5521ceb,0x807739ce,0xef1856a1,0xca3d7384,0xb04709fe,
+0x95622cdb,0xfa0d43b4,0xdf286691,0x24d39d6a,0x01f6b84f,0x6e99d720,
+0x4bbcf205,0xcf387681,0xea1d53a4,0x85723ccb,0xa05719ee,0x5bace215,
+0x7e89c730,0x11e6a85f,0x34c38d7a,0xe5125cab,0xc037798e,0xaf5816e1,
+0x8a7d33c4,0x7186c83f,0x54a3ed1a,0x3bcc8275,0x1ee9a750,0x9a6d23d4,
+0xbf4806f1,0xd027699e,0xf5024cbb,0x0ef9b740,0x2bdc9265,0x44b3fd0a,
+0x6196d82f,0x1beca255,0x3ec98770,0x51a6e81f,0x7483cd3a,0x8f7836c1,
+0xaa5d13e4,0xc5327c8b,0xe01759ae,0x6493dd2a,0x41b6f80f,0x2ed99760,
+0x0bfcb245,0xf00749be,0xd5226c9b,0xba4d03f4,0x9f6826d1,0x33323130,
+0x37363534,0x62613938,0x66656463,0x756e2800,0x00296c6c,0x33323130,
+0x37363534,0x42413938,0x46454443,0x70746f00,0x696e695f,0x61662074,
+0x64656c69,0x4f000a2e,0x6c205054,0x20746665,0x62207825,0x73657479,
+0x7562203b,0x72656666,0x20782520,0x65747962,0x42000a73,0x65666675,
+0x666f2072,0x7a697320,0x64252065,0x74796220,0x74207365,0x7277206f,
+0x3a657469,0x6761000a,0x72730030,0x775f6d6f,0x65746972,0x6c6f203a,
+0x52535b64,0x5f344d4f,0x4e474953,0x7830205d,0x202c7825,0x5b646c6f,
+0x4d4f5253,0x49535f38,0x205d4e47,0x78257830,0x000d000a,0x00001501,
+0x03012ee0,0x00090016,0x00ffffef,0x010232c8,0x000b0006,0x00483483,
+0x01033840,0x000a000a,0x001c71c7,0x01043c00,0x000b0005,0x00755555,
+0x01053f48,0x0005000a,0x006e9e06,0x010641a0,0x0005000a,0x003cf3cf,
+0x01074b00,0x000b0004,0x00755555,0x01084d58,0x0004000b,0x000a57eb,
+0x01094e20,0x0004000b,0x00000000,0x030a5dc0,0x000a000b,0x00000000,
+0x050b61a8,0x000b0010,0x00000000,0x010c6590,0x00100002,0x00ec4ec4,
+0x030d7530,0x000b0008,0x00000000,0x0c0e9600,0x01130001,0x00000000,
+0x010f9c40,0x000b0002,0x00000000,0x00000000,0x00000000,0x00000000,
+0x6e696d72,0x616d7200,0x25720078,0x72007464,0x00646425,0x00200000,
+0x00000001,0x000d8020,0x00000000,0x00000200,0x000000ff,0x0000000c,
+0x00000000,0x00200000,0x00000001,0x000d8020,0x00000000,0x00002ed9,
+0x00002cf1,0x00003251,0x000029c5,0x000029dd,0x000029f1,0x00002a05,
+0x00002a85,0x000033c9,0x00002a1d,0x000034d9,0x00002aad,0x000026d1,
+0x00002715,0x0000271d,0x0000273d,0x00002bf1,0x00002d75,0x00003211,
+0x00002a4d,0x00002a35,0x0000269d,0x00002a6d,0x00003651,0x000036d5,
+0x00003631,0x00002b35,0x00002681,0x000036b9,0x0000279d,0x00000000,
+0x00000000,0x00000000,0x00002785,0x00002755,0x00000024,0x00002ed9,
+0x00002d39,0x00003351,0x000027ad,0x000027c5,0x000027d9,0x000027ed,
+0x000032c9,0x000034fd,0x00002805,0x0000360d,0x0000286d,0x000026d1,
+0x00002715,0x0000271d,0x0000273d,0x000028f5,0x00002d75,0x00003311,
+0x00002835,0x0000281d,0x0000269d,0x00002855,0x00003651,0x000036d5,
+0x00003631,0x00002b35,0x00002681,0x000036b9,0x0000279d,0x00000000,
+0x00000000,0x00000000,0x00002785,0x00002755,0x00000024,0x61787426,
+0x6c696176,0x6d654d00,0x2079726f,0x67617375,0x000a3a65,0x74786554,
+0x6425203a,0x4b642528,0x44202c29,0x3a617461,0x28642520,0x294b6425,
+0x7342202c,0x25203a73,0x64252864,0x202c294b,0x63617453,0x25203a6b,
+0x000a4b64,0x6e657241,0x6f742061,0x3a6c6174,0x28642520,0x294b6425,
+0x7246202c,0x203a6565,0x25286425,0x2c294b64,0x206e4920,0x3a657375,
+0x28642520,0x294b6425,0x5748202c,0x25203a4d,0x64252864,0x000a294b,
+0x75206e49,0x2b206573,0x65766f20,0x61656872,0x25203a64,0x64252864,
+0x202c294b,0x2078614d,0x6f6d656d,0x69207972,0x7375206e,0x25203a65,
+0x64252864,0x000a294b,0x6c6c614d,0x6620636f,0x756c6961,0x63206572,
+0x746e756f,0x6425203a,0x7453000a,0x206b6361,0x74746f62,0x68206d6f,
+0x62207361,0x206e6565,0x7265766f,0x74697277,0x0a6e6574,0x61745300,
+0x62206b63,0x6f74746f,0x30203a6d,0x2c702578,0x6d776c20,0x7830203a,
+0x202c7025,0x72727563,0x7830203a,0x202c7025,0x3a706f74,0x25783020,
+0x72460a70,0x73206565,0x6b636174,0x7830203a,0x25287825,0x6c202964,
+0x203a6d77,0x78257830,0x29642528,0x756e490a,0x73206573,0x6b636174,
+0x7830203a,0x25287825,0x68202964,0x203a6d77,0x78257830,0x29642528,
+0x756d000a,0x00776d00,0x7420776d,0x6c61746f,0x4b642520,0x0000000a,
+0x00000078,0x000000f0,0x000001e0,0x000003c0,0x00000780,0x0000103c,
+0x0a3f003f,0x52540a00,0x203a5041,0x65707974,0x2c642520,0x63706520,
+0x25783020,0x63202c78,0x20727370,0x78257830,0x7073202c,0x30207273,
+0x2c782578,0x2020000a,0x20203072,0x30257830,0x202c7838,0x30203172,
+0x38302578,0x72202c78,0x30202032,0x38302578,0x72202c78,0x30202033,
+0x38302578,0x000a2c78,0x34722020,0x78302020,0x78383025,0x3572202c,
+0x25783020,0x2c783830,0x20367220,0x25783020,0x2c783830,0x20377220,
+0x25783020,0x2c783830,0x2020000a,0x20203872,0x30257830,0x202c7838,
+0x30203972,0x38302578,0x72202c78,0x30203031,0x38302578,0x72202c78,
+0x30203131,0x38302578,0x000a2c78,0x31722020,0x78302032,0x78383025,
+0x7073202c,0x25783020,0x2c783830,0x20726c20,0x25783020,0x2c783830,
+0x20637020,0x25783020,0x0a783830,0x63657200,0x6d69616c,0x63657320,
+0x6e6f6974,0x203a3120,0x75746552,0x64656e72,0x20642520,0x65747962,
+0x6f742073,0x65687420,0x61656820,0x72000a70,0x74736d61,0x69647962,
+0x4e280073,0x7564206f,0x6572706d,0x77207367,0x6f687469,0x42207475,
+0x42444d43,0x000a2947,0x7478616d,0x746b7078,0x6d6f6c67,0x6c787400,
+0x64797a61,0x79616c65,0x67787400,0x616d6f6c,0x6e67696c,0x67787400,
+0x006d6f6c,0x77737874,0x6e656c71,0x64787400,0x00706f72,0x666b6361,
+0x66747361,0x61006477,0x69736b63,0x6874657a,0x72006473,0x6b636178,
+0x78740073,0x656c2071,0x25203a6e,0x6d203a64,0x25287861,0x000a2964,
+0x706f7264,0x20646570,0x6d617266,0x25207365,0x48000a64,0x2074736f,
+0x736b6341,0x28642520,0x6c707865,0x74696369,0x20642520,0x6970202b,
+0x62796767,0x656b6361,0x64252064,0x7562000a,0x72652073,0x73726f72,
+0x7872203a,0x6f666966,0x776f6c66,0x6425203a,0x7562000a,0x6c662073,
+0x6f63776f,0x6f72746e,0x72203a6c,0x6d696c78,0x6425203a,0x7872202c,
+0x696c5f68,0x25203a6d,0x64000a64,0x6c676e6f,0x6c662065,0x6f63776f,
+0x6f72746e,0x66203a6c,0x25203a63,0x65202c64,0x696c7078,0x3a746963,
+0x2c642520,0x69616620,0x25203a6c,0x53000a64,0x444f4944,0x50005645,
+0x49434d43,0x56454441,0x70736700,0x6f776469,0x47006472,0x20495053,
+0x726f7744,0x6f4d2064,0x65206564,0x6c62616e,0x000a6465,0x49505347,
+0x6f774420,0x4d206472,0x2065646f,0x61736944,0x64656c62,0x7562000a,
+0x61747373,0x73007374,0x6d637064,0x63646364,0x25006425,0x42203a73,
+0x64616f72,0x206d6f63,0x43504453,0x4320444d,0x64204344,0x65766972,
+0x62000a72,0x003a7375,0x00306c77,0x008f0080,0x00ad009e,0x2578300a,
+0x3a783430,0x78302000,0x78343025,0x00400000,0x005e004f,0x0080006d,
+0x009e008f,0x008d00ad,0x00af009e,0x00de00cd,0x010d00ef,0x012f011e,
+0x00000002,0x00040160,0x03010005,0x00040164,0x00140000,0x00040124,
+0x00000004,0x00040128,0x00000000,0x0004012c,0x00000000,0x00040130,
+0x00000000,0x00040134,0x0070040a,0x00040134,0x00d4beef,0x00040134,
+0xff000005,0x00040134,0xff02ff01,0x00040130,0x00000018,0x00040134,
+0x00e0040a,0x00040134,0x0048beef,0x00040134,0xff000005,0x00040134,
+0xff02ff01,0x00040134,0x01181000,0x00040134,0x10000302,0x00040134,
+0xf3f2f118,0x00040134,0x0000ccbb,0x00040130,0x00000038,0x00040134,
+0x00000000,0x00040130,0x00000058,0x00040134,0x00000000,0x00040130,
+0x00000038,0x00040134,0x0700200f,0x00040134,0x00940000,0x00040134,
+0x90000000,0x00040134,0x77767574,0x00040134,0x00000000,0x00040134,
+0x00050000,0x00040134,0xffffffff,0x00040130,0x00000268,0x00040134,
+0x0033846e,0x00040134,0x0050badc,0x00040134,0xab0000d4,0x00040134,
+0xdabadaba,0x00040134,0xf1181000,0x00040134,0x1000f3f2,0x00040134,
+0xf3f2f118,0x00040134,0x00000010,0x00040134,0x00000000,0x00040134,
+0x000a0000,0x00040134,0x0e000001,0x00040134,0x4d435242,0x00040134,
+0x5345545f,0x00040134,0x53535f54,0x00040134,0x04014449,0x00040134,
+0x968b8482,0x00040134,0x06010103,0x00040134,0x00000002,0x00040130,
+0x00000068,0x00040134,0x0228040a,0x00040134,0x0080badc,0x00040134,
+0xffff0000,0x00040134,0xffffffff,0x00040134,0xf1181000,0x00040134,
+0x1000f3f2,0x00040134,0xf3f2f118,0x00040134,0x0000afd0,0x00040134,
+0x00000000,0x00040134,0x01000000,0x00040134,0x0e000002,0x00040134,
+0x4d435242,0x00040134,0x5345545f,0x00040134,0x53535f54,0x00040134,
+0x04014449,0x00040134,0x968b8482,0x00040134,0x06010103,0x00040134,
+0x00000102,0x00040130,0x00000468,0x00040134,0x0228040a,0x00040134,
+0x0080badc,0x00040134,0xffff0000,0x00040134,0xffffffff,0x00040134,
+0xf1181000,0x00040134,0x1000f3f2,0x00040134,0xf3f2f118,0x00040134,
+0x0000afd0,0x00040134,0x00000000,0x00040134,0x01000000,0x00040134,
+0x0e000002,0x00040134,0x4d435242,0x00040134,0x5345545f,0x00040134,
+0x53535f54,0x00040134,0x04014449,0x00040134,0x968b8482,0x00040134,
+0x06010103,0x00040134,0x00000102,0x00040100,0x01000000,0x00020490,
+0x00000000,0x000204a0,0x0000f3f1,0x000204b0,0x0000fdef,0x000204a8,
+0x0000ffff,0x000204a8,0x00000000,0x000204aa,0x00000000,0x000204a4,
+0x00001acf,0x000204ac,0x00000000,0x000204bc,0x00000000,0x000204a6,
+0x000002c7,0x000204b6,0x0000fdff,0x000204ae,0x0000ffff,0x00020406,
+0x00000001,0x00020406,0x00000000,0x0002040c,0x00000014,0x00020406,
+0x00000000,0x00020448,0x00000c00,0x00020402,0x00000630,0x00020502,
+0x00000000,0x00020500,0x00004000,0x00020502,0x00000004,0x00020500,
+0x00004000,0x00020502,0x00000008,0x00020500,0x00004000,0x00020502,
+0x0000000c,0x00020500,0x00004000,0x00020502,0x000000c0,0x00020580,
+0x0000ffff,0x00020582,0x0000ffff,0x00020584,0x0000ffff,0x00020586,
+0x0000ffff,0x00020588,0x0000ffff,0x0002059c,0x0000fff0,0x00020540,
+0x00008000,0x00020520,0x00000f06,0x00020540,0x00008000,0x00020540,
+0x00008100,0x00020520,0x00001d10,0x00020540,0x00008100,0x00020540,
+0x00008200,0x00020520,0x0000281e,0x00020540,0x00008200,0x00020540,
+0x00008300,0x00020520,0x00003129,0x00020540,0x00008300,0x00020540,
+0x00008400,0x00020520,0x00003f32,0x00020540,0x00008400,0x00020540,
+0x00008500,0x00020520,0x00004140,0x00020540,0x00008500,0x00020612,
+0x00000001,0x0002062e,0x0000a2e9,0x00020630,0x0000000b,0x00020600,
+0x00008004,0x00020696,0x00000008,0x0002069a,0x000000e4,0x00020688,
+0x00000000,0x0002069c,0x00000002,0x00020688,0x00001000,0x0002069c,
+0x00000002,0x00020688,0x00002000,0x0002069c,0x00000002,0x00020688,
+0x00003000,0x0002069c,0x00000002,0x00020688,0x00000f0b,0x0002069e,
+0x00000007,0x00020510,0x0000000b,0x00020450,0x00004e01,0x00020452,
+0x0000015b,0x000204e4,0x00000090,0x00040160,0x03010004,0x00040164,
+0x00000000,0x00040164,0x00000080,0x00040164,0x00470047,0x00040164,
+0x00640000,0x00040164,0x00400930,0x00040160,0x0301000d,0x00040164,
+0x00020002,0x00040164,0x00040001,0x00040164,0x00000005,0x00040160,
+0x03010011,0x00040164,0x00640064,0x00040164,0x0047000e,0x00040164,
+0x00002800,0x00040160,0x03010015,0x00040164,0x06b40000,0x00040164,
+0xffffffff,0x00040164,0x0000000a,0x00040160,0x0301001d,0x00040164,
+0x00002710,0x00040164,0x08d80000,0x00040160,0x03010020,0x00040164,
+0x27100006,0x00040160,0x03010024,0x00040164,0x08ee0000,0x00040164,
+0x00320000,0x00040164,0x090b0e0a,0x00040164,0x0000020e,0x00040160,
+0x03010029,0x00040164,0x013f0000,0x00040164,0x0c00ffff,0x00040164,
+0x7b420474,0x00040164,0x08640002,0x00040160,0x0301002e,0x00040164,
+0x80000000,0x00040160,0x03010058,0x00040164,0x4d435242,0x00040164,
+0x5345545f,0x00040164,0x53535f54,0x00040164,0x00004449,0x00040160,
+0x03010060,0x00040164,0x00000039,0x00040164,0x00000050,0x00040164,
+0x000000c0,0x00040160,0x03010070,0x00040164,0x03f803f8,0x00040164,
+0x03f803f8,0x00040164,0x03f803f8,0x00040164,0x03f803f8,0x00040164,
+0x04200434,0x00040164,0x03f8040c,0x00040164,0x042a043e,0x00040164,
+0x04020416,0x00040164,0x03f803f8,0x00040164,0x03f803f8,0x00040164,
+0x03f803f8,0x00040164,0x03f803f8,0x00040164,0x04200434,0x00040164,
+0x03f8040c,0x00040164,0x042a043e,0x00040164,0x04020416,0x00040164,
+0x04480448,0x00040164,0x04480448,0x00040164,0x04480453,0x00040164,
+0x045e0448,0x00040164,0x04480448,0x00040164,0x04480448,0x00040164,
+0x04480448,0x00040164,0x04480469,0x00040164,0x04480448,0x00040164,
+0x04480448,0x00040164,0x04480453,0x00040164,0x045e0448,0x00040164,
+0x04480448,0x00040164,0x04480448,0x00040164,0x04480448,0x00040164,
+0x04480469,0x00040164,0x001f0000,0x00040164,0x001f03ff,0x00040164,
+0x00000002,0x00040164,0x00000002,0x00040160,0x03010098,0x00040164,
+0x001f0000,0x00040164,0x001f03ff,0x00040164,0x00000001,0x00040164,
+0x00000001,0x00040160,0x030100a0,0x00040164,0x001f0000,0x00040164,
+0x001f03ff,0x00040164,0x00000001,0x00040164,0x00000001,0x00040160,
+0x030100a8,0x00040164,0x001f0000,0x00040164,0x001f03ff,0x00040164,
+0x00000001,0x00040164,0x00000001,0x00040160,0x030100c0,0x00040164,
+0x24372437,0x00040164,0x24372437,0x00040160,0x03010192,0x00040164,
+0x0000048c,0x00040160,0x030101a0,0x00040164,0xffffffff,0x00040164,
+0xffffffff,0x00040164,0xffffffff,0x00040164,0xffffffff,0x00040164,
+0xffffffff,0x00040164,0xffffffff,0x00040164,0xffffffff,0x00040164,
+0xffffffff,0x00040160,0x030101fc,0x00040164,0x01cb0020,0x00040164,
+0x00540000,0x00040164,0x08ab0000,0x00040164,0x04100000,0x00040164,
+0x00020084,0x00040164,0x01cf0014,0x00040164,0x00440002,0x00040164,
+0x08af0000,0x00040164,0x04100002,0x00040164,0x02020064,0x00040164,
+0x01ca0010,0x00040164,0x003c0002,0x00040164,0x08aa0000,0x00040164,
+0x04100002,0x00040164,0x08020054,0x00040164,0x01ce0008,0x00040164,
+0x00340000,0x00040164,0x08ae0000,0x00040164,0x04100000,0x00040164,
+0x0a020044,0x00040164,0x01c90008,0x00040164,0x00300002,0x00040164,
+0x08a90000,0x00040164,0x04100002,0x00040164,0x1002003c,0x00040164,
+0x01cd0004,0x00040164,0x002c0000,0x00040164,0x08ad0000,0x00040164,
+0x04100000,0x00040164,0x12020034,0x00040164,0x01c80004,0x00040164,
+0x002c0000,0x00040164,0x08a80000,0x00040164,0x04100000,0x00040164,
+0x19020030,0x00040164,0x01cc0000,0x00040164,0x002c0002,0x00040164,
+0x08ac0000,0x00040164,0x04100002,0x00040164,0x1a020030,0x00040164,
+0x040a00c0,0x00040164,0x00000070,0x00040164,0x040a013a,0x00040164,
+0xc02c0228,0x00040164,0x040a02f2,0x00040164,0x00600100,0x00040164,
+0x00380414,0x00040164,0x01020000,0x00040164,0x01140414,0x00040164,
+0x01dec02c,0x00040164,0x00800414,0x00040164,0x04370022,0x00040164,
+0x00000015,0x00040164,0x043700df,0x00040164,0xc02c0065,0x00040164,
+0x0437012e,0x00040164,0x0011002f,0x00040164,0x000b846e,0x00040164,
+0x00d40000,0x00040164,0x0033846e,0x00040164,0x00fcc02c,0x00040164,
+0x0018846e,0x00040164,0x9d8a0002,0x00040164,0x080200fb,0x00040164,
+0x00fa4ec5,0x00040164,0x34830a02,0x00040164,0x100200fe,0x00040164,
+0x00f92762,0x00040164,0x1a421202,0x00040164,0x190200fd,0x00040164,
+0x00f813b1,0x00040164,0x11811a02,0x00040164,0x1c0200fc,0x00040164,
+0x00fc0fc1,0x00040160,0x03010346,0x00040164,0x00000207,0x00040160,
+0x0301034e,0x00040164,0x00010000,0x00040160,0x03010350,0x00040164,
+0x000c0000,0x00040160,0x0301046c,0x00040164,0xeb300035,0x00040164,
+0x4444eb24,0x00040164,0x40200000,0x00040164,0x10080020,0x00040164,
+0xde5e0008,0x00040164,0xe331e832,0x00040164,0x00264d26,0x00040164,
+0x00201420,0x00040164,0x0008fe08,0x00040164,0x00180000,0x00040160,
+0x03010477,0x00040164,0x1d4c0bb8,0x00040164,0x00640ea6,0x00040164,
+0x01f40000,0x00040164,0x00000041,0x00040164,0x3a9861a8,0x00040164,
+0x001e0000,0x00040160,0x0301047f,0x00040164,0x0000c350,0x00040160,
+0x03010481,0x00040164,0x05140000,0x00040164,0x00002008,0x00040160,
+0x03010485,0x00040164,0x00004e20,0x00040164,0x000f0000,0x00040164,
+0x000601f4,0x00040160,0x0301048b,0x00040164,0x00010000,0x00040164,
+0x00060000,0x00040164,0x000f0002,0x00040164,0x0000afc8,0x00040164,
+0x00001388,0x00040164,0x000f17ec,0x00040160,0x03010492,0x00040164,
+0x012c0000,0x00040164,0x0fa00000,0x00040160,0x030104c3,0x00040164,
+0x00070000,0x00040164,0x001e0014,0x00040160,0x030104d1,0x00040164,
+0x00be0000,0x00040160,0x00020003,0x00040164,0x0000001f,0x00040160,
+0x00020004,0x00040164,0x000003ff,0x00040160,0x00020005,0x00040164,
+0x0000001f,0x00040160,0x00020006,0x00040164,0x00000007,0x00040160,
+0x00020007,0x00040164,0x00000004,0x00040160,0x00020008,0x00040164,
+0x0000ffff,0x00040160,0x00020009,0x00040164,0x00000000,0x00040160,
+0x0002000a,0x00040164,0x00000000,0x00040160,0x0002000b,0x00040164,
+0x00000000,0x00040160,0x0002000c,0x00040164,0x00000000,0x00040160,
+0x0002000d,0x00040164,0x00000000,0x00040160,0x0002000e,0x00040164,
+0x00000000,0x00040160,0x0002000f,0x00040164,0x00000000,0x00040160,
+0x00020010,0x00040164,0x0000001f,0x00040160,0x00020011,0x00040164,
+0x00000000,0x00040160,0x00020012,0x00040164,0x00000000,0x00040160,
+0x00020013,0x00040164,0x00000000,0x00040160,0x00020015,0x00040164,
+0x00000000,0x00040160,0x00020016,0x00040164,0x00000000,0x0000ffff,
+0x00000000,0x00020686,0x000009d0,0x00020680,0x00003e3e,0x00020682,
+0x0000023e,0x00020700,0x0000003c,0x00020684,0x00000212,0x00040160,
+0x00010003,0x00020164,0x000000c0,0x00040160,0x00010003,0x00020166,
+0x0000000a,0x00040160,0x00010004,0x00020164,0x00000014,0x00040160,
+0x00010007,0x00020164,0x00000183,0x00040160,0x00010025,0x00020164,
+0x000001f4,0x00040160,0x000104d2,0x00020166,0x0000042b,0x00040160,
+0x000104d3,0x00020164,0x00000100,0x00040160,0x000101fe,0x00020164,
+0x0000003c,0x00040160,0x00010203,0x00020164,0x00000034,0x00040160,
+0x00010208,0x00020164,0x00000030,0x00040160,0x0001020d,0x00020164,
+0x0000002c,0x00040160,0x00010212,0x00020164,0x0000002c,0x00040160,
+0x00010217,0x00020164,0x00000028,0x00040160,0x0001021c,0x00020164,
+0x00000028,0x00040160,0x00010221,0x00020164,0x00000028,0x0000ffff,
+0x00000000,0x00000207,0x00000000,0x00000060,0x00000000,0x00000060,
+0x10000000,0x00000065,0x20000000,0x00000065,0x10000000,0x0000006d,
+0x20000000,0x0000006d,0xc0000000,0x0000006c,0x20000001,0x00000075,
+0x20000002,0x00000070,0x30000002,0x00000070,0x20000083,0x00000078,
+0x30000104,0x00000078,0x40004185,0x00000078,0x10004185,0x0000002d,
+0x20008206,0x0000002d,0x3020c287,0x0000002d,0x40410308,0x0000002d,
+0x50614389,0x0000002d,0x6081840a,0x0000002d,0x70a1c48b,0x0000002d,
+0xb0c2050d,0x0000002a,0xc0e2458e,0x0000002a,0x31028698,0x0000002c,
+0x71230b91,0x0000003d,0xb143481a,0x0000003a,0xc185cc94,0x00000038,
+0xd1a4099c,0x0000003a,0x91e64d96,0x0000003d,0xa204ca9e,0x0000003d,
+0xb246cea1,0x0000003d,0xc2655024,0x0000003d,0xd36751a6,0x0000003d,
+0xe3e95529,0x0000003d,0xf449d42e,0x0000003d,0x24aa95ae,0x00000039,
+0x94ea162e,0x00000039,0x24ea162e,0x0000003a,0x00000000,0x00000060,
+0x00000000,0x00000060,0x10000000,0x00000065,0x20000000,0x00000065,
+0x10000000,0x0000006d,0x20000000,0x0000006d,0xc0000000,0x0000006c,
+0x20000001,0x00000075,0x20000002,0x00000070,0x30000002,0x00000070,
+0x20000083,0x00000078,0x30000104,0x00000078,0x00000104,0x00000028,
+0x10004185,0x0000002d,0x20008206,0x0000002d,0x3020c287,0x0000002d,
+0x40410308,0x0000002d,0x50614389,0x0000002d,0x6081840a,0x0000002d,
+0x70a1c48b,0x0000002d,0xb0c2050d,0x0000002a,0xc0e2458e,0x0000002a,
+0x31028698,0x0000002c,0x71230b91,0x0000003d,0xb143481a,0x0000003a,
+0xc185cc94,0x00000038,0xd1a4099c,0x0000003a,0x91e64d96,0x0000003d,
+0xa204ca9e,0x0000003d,0xb246cea1,0x0000003d,0xc2655024,0x0000003d,
+0xd36751a6,0x0000003d,0xe3e95529,0x0000003d,0xf449d42e,0x0000003d,
+0x24aa95ae,0x00000039,0x94ea162e,0x00000039,0x24ea162e,0x0000003a,
+0x00200000,0x00050001,0x00250009,0x04290029,0x04270027,0x0447042b,
+0x044b0447,0x044f0833,0x04570453,0x045b0457,0x0c5b085b,0x083308db,
+0x0457084f,0x04d708cf,0x055708d7,0x04db055b,0x095b0957,0x07570557,
+0x055b0b57,0x07570b5b,0x0f5b1cd7,0x0045075b,0x00c50049,0x00550051,
+0x00d500d1,0x00d500d1,0x015500d9,0x015d0159,0x035d0359,0x035b0357,
+0x040c035f,0x042c0410,0x000d004c,0x004d002d,0x044d042d,0x04550451,
+0x04cb00ce,0x085708cb,0x002c000c,0x04ce0855,0x18cd08ce,0x194d2051,
+0x214d24cd,0x0829254d,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00200000,0x00050001,0x00250009,0x04290029,0x04270027,0x0447042b,
+0x044b00c1,0x044f0833,0x04570453,0x045b0157,0x0c5b085b,0x083308db,
+0x015b084f,0x04d708cf,0x055708d7,0x04db055b,0x095b0957,0x0757015f,
+0x055b0b57,0x07570b5b,0x0f5b1cd7,0x0045075b,0x00c50049,0x00550051,
+0x00d500d1,0x00d500d1,0x015500d9,0x015d0159,0x035d0359,0x035b0357,
+0x040c035f,0x042c0410,0x000d004c,0x004d002d,0x044d042d,0x04550451,
+0x04cb00ce,0x085708cb,0x002c000c,0x04ce0855,0x000408ce,0x00240008,
+0x00440040,0x00410048,0x00360409,0x0056003a,0x005b005a,0x00db00d7,
+0x01280128,0x00090009,0x00280028,0x00280028,0x01280128,0x00090009,
+0x00280028,0x00280028,0x00090009,0x00090009,0x00090009,0x00090009,
+0x00180018,0x00180018,0x00180018,0x00180018,0x01280128,0x00090009,
+0x00280028,0x00280028,0x01280128,0x00090009,0x00280028,0x00280028,
+0x00090009,0x00090009,0x00090009,0x00090009,0x00180018,0x00180018,
+0x00180018,0x00180018,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x2d364c00,0x00000000,0x2d364c00,0x01100120,0x00080001,
+0x00100020,0x00100020,0x01200120,0x00080001,0x00100020,0x00100020,
+0x00010001,0x00010001,0x00010001,0x00010001,0x00200020,0x00200020,
+0x00200020,0x00200020,0x01200120,0x00080001,0x00100020,0x00100020,
+0x01200120,0x00080001,0x00100020,0x00100020,0x00010001,0x00010001,
+0x00010001,0x00010001,0x00200020,0x00200020,0x00200020,0x00200020,
+0x00019d0c,0x00000040,0x00000002,0x00000000,0x00000010,0x0001921c,
+0x00000028,0x00000001,0x00000000,0x00000010,0x00019adc,0x0000000a,
+0x0000000b,0x00000000,0x00000020,0x00019b14,0x00000014,0x0000000c,
+0x00000000,0x00000020,0x00019dd0,0x00000094,0x0000000d,0x00000000,
+0x00000020,0x00019cd8,0x0000001a,0x0000000e,0x00000000,0x00000010,
+0x0001919c,0x00000040,0x0000000f,0x00000000,0x00000010,0x00019b04,
+0x00000010,0x00000010,0x00000000,0x00000008,0x00019588,0x00000044,
+0x00000011,0x00000000,0x00000008,0x000194c8,0x00000060,0x00000012,
+0x00000000,0x00000010,0x00019d8c,0x00000040,0x00000014,0x00000000,
+0x00000008,0x00019ba4,0x0000009a,0x00000017,0x00000000,0x00000010,
+0x000193f0,0x0000006c,0x00000000,0x00000000,0x00000010,0x03000200,
+0x06000400,0x0b000800,0x10011000,0x10031002,0x10051004,0x10071006,
+0x20071707,0x40072d07,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x03000200,0x06000400,0x0b000800,
+0x10011000,0x10031002,0x10051004,0x10071006,0x20071707,0x40072d07,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x40000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00200000,
+0x00050001,0x00250009,0x04290029,0x04270027,0x0447042b,0x044b0447,
+0x044f0833,0x04570453,0x045b0457,0x0c5b085b,0x083308db,0x0457084f,
+0x04d708cf,0x055708d7,0x04db055b,0x095b0957,0x07570557,0x055b0b57,
+0x07570b5b,0x0f5b1cd7,0x1357075b,0x175b135b,0x00000000,0x00000000,
+0x08000400,0x10000a00,0x18001400,0x14011c00,0x1c011801,0x04012001,
+0x0c010801,0x14011001,0x1c011801,0x1c211821,0x24212021,0x200d2041,
+0x0c561849,0x14491849,0x184d14c5,0x18cd1c4d,0x194d2051,0x214d24cd,
+0x0829254d,0x00000409,0x00000000,0x00000000,0x00000000,0x19130d07,
+0x0d0905fc,0x0a060401,0x14120f0c,0x000c0600,0x00120000,0x00180000,
+0x00000000,0x00000000,0x00000000,0x001e0000,0x00000000,0x09060300,
+0x15120f0c,0x001e1b18,0x00000000,0x0000e803,0x10000000,0x00000040,
+0x20000000,0x00000040,0x30000000,0x00000040,0x40000000,0x00000040,
+0x50000000,0x00000040,0x40000000,0x00000048,0x50000000,0x00000048,
+0x60000001,0x00000048,0x70000002,0x00000048,0x80000002,0x00000048,
+0x50000083,0x00000058,0x60000104,0x00000058,0x70004185,0x00000058,
+0xd0004185,0x0000000b,0xe0008206,0x0000000b,0xf020c287,0x0000000b,
+0x00410308,0x0000000c,0x10614389,0x00000014,0x6081840a,0x00000010,
+0x20a1c48b,0x00000014,0xc0c2050d,0x00000012,0x30e2458e,0x00000014,
+0x41028698,0x0000001c,0x31230b91,0x0000001c,0x5143481a,0x0000001c,
+0x6185cc94,0x0000001c,0x71a4099c,0x0000001c,0x81e64d96,0x0000001c,
+0x9204ca9e,0x0000001c,0xa246cea1,0x0000001c,0xb2655024,0x0000001c,
+0x436751a6,0x00000019,0xc3e95529,0x00000019,0x6449d42e,0x00000019,
+0x04aa95ae,0x0000001a,0x14ea162e,0x0000001a,0x44ea162e,0x0000001a,
+0x10000000,0x00000040,0x20000000,0x00000040,0x30000000,0x00000040,
+0x40000000,0x00000040,0x50000000,0x00000040,0x40000000,0x00000048,
+0x50000000,0x00000048,0x60000001,0x00000048,0x70000002,0x00000048,
+0x40000002,0x00000058,0x50000083,0x00000058,0x60000104,0x00000058,
+0xc0000104,0x0000000c,0xd0004185,0x0000000b,0xd0008206,0x0000000c,
+0xf020c287,0x0000000b,0x00410308,0x0000000c,0x10614389,0x00000014,
+0x6081840a,0x00000010,0x20a1c48b,0x00000014,0xc0c2050d,0x00000012,
+0x30e2458e,0x00000014,0x51028698,0x00000014,0x31230b91,0x0000001c,
+0x5143481a,0x0000001c,0x6185cc94,0x0000001c,0x71a4099c,0x0000001c,
+0xe1e64d96,0x0000001c,0xf204ca9e,0x0000001c,0x0246cea1,0x0000001d,
+0xb2655024,0x0000001c,0x436751a6,0x00000019,0xc3e95529,0x00000019,
+0x6449d42e,0x00000019,0x04aa95ae,0x0000001a,0x14ea162e,0x0000001a,
+0x44ea162e,0x0000001a,0x000195cc,0x00000094,0x0000000d,0x00000000,
+0x00000020,0x00019cd8,0x0000001a,0x0000000e,0x00000000,0x00000010,
+0x0001901c,0x00000060,0x00000012,0x00000000,0x00000010,0x00000003,
+0x00ffff07,0xfff60755,0xea075500,0x075500ff,0x5500ffdc,0x00f1dc07,
+0xf1d10755,0xc5075500,0x075500f1,0x5500f1bf,0x00f1ba07,0xf1b40755,
+0xaf075500,0x075500f1,0x5500f1aa,0x00f1a507,0xf1a10755,0x9c075500,
+0x075500f1,0x5500f198,0x00f19307,0xf18f0755,0x8b075500,0x075500f1,
+0x5500f187,0x00f18307,0xf1800755,0x7c075500,0x075500f1,0x5500f179,
+0x00f17507,0xf1720755,0x6f075500,0x075500f1,0x5500f16b,0x00f16807,
+0xf1650755,0x63075500,0x075500f1,0x5500f160,0x00f15d07,0xf15a0755,
+0x58075500,0x075500f1,0x5500f155,0x00f15307,0xf1510755,0x4e075500,
+0x075500f1,0x5500f14c,0x00f14a07,0xf1480755,0x46075500,0x075500f1,
+0x5500f144,0x00f14207,0xf1400755,0x3e075500,0x075500f1,0x5500f13c,
+0x00f13b07,0xea3b0755,0x39075500,0x075500ea,0x5500e339,0x00e33707,
+0xdd370755,0x36075500,0x075500dd,0x5500d736,0x00d73407,0xd0340755,
+0x33075500,0x075500d0,0x5500cb33,0x00cb3107,0xc5310755,0x30075500,
+0x075500c5,0x5500bf30,0x00bf2f07,0xba2f0755,0x2d075500,0x075500ba,
+0x5500b52d,0x00b52c07,0xaf2c0755,0x2b075500,0x075500af,0x5500aa2b,
+0x00aa2a07,0xa62a0755,0x28075500,0x075500a6,0x5500a128,0x00a12707,
+0x9c270755,0x26075500,0x0755009c,0x55009826,0x00982507,0x94250755,
+0x24075500,0x07550094,0x55008f24,0x008f2307,0x8b230755,0x22075500,
+0x0755008b,0x55008722,0x00872107,0x84210755,0x20075500,0x07550084,
+0x55008020,0x00801f07,0x7c1f0755,0x1e075500,0x0755007c,0x5500791e,
+0x00791d07,0x751d0755,0x1d075500,0x07550075,0x5500721d,0x00721c07,
+0x6f1c0755,0x1b075500,0x0755006f,0x55006c1b,0x006c1a07,0x681a0755,
+0x19075500,0x07550068,0x55006619,0x00661907,0x63190755,0x18075500,
+0x07550063,0x55006018,0x00601707,0x5d170755,0x17075500,0x0755005d,
+0x55005a17,0x005a1607,0x58160755,0x15075500,0x07550058,0x55005515,
+0x00551507,0x53150755,0x14075500,0x07550053,0x55005114,0x00511407,
+0x4e140755,0x13075500,0x0755004e,0x55004c13,0x000141fc,0x000021fc,
+0x000021b7,0x0000416f,0x0001ff27,0x0000217f,0x00002137,0x000040ef,
+0x0001fea7,0x0000024f,0x1f29365f,0x1f29365f,0x1f29365f,0x1f29365f,
+0x00e38e08,0x00e08e38,0x00000000,0x00000000,0x00000000,0x00002080,
+0x00006180,0x00003002,0x00000040,0x00002042,0x00180047,0x00080043,
+0x00000041,0x000020c1,0x00046006,0x00042002,0x00040000,0x00002003,
+0x00180006,0x00080002,0x00018dcc,0x00000094,0x0000000d,0x00000000,
+0x00000020,0x000190dc,0x00000060,0x00000012,0x00000000,0x00000010,
+0x0000000d,0x0001926c,0x00000040,0x0000000f,0x00000000,0x00000010,
+0x0034001a,0x0068004e,0x00d0009c,0x010400ea,0x00680034,0x00d0009c,
+0x01a00138,0x020801d4,0x009c004e,0x013800ea,0x027001d4,0x030c02be,
+0x00d00068,0x01a00138,0x03400270,0x041003a8,0x009c0018,0x010400d0,
+0x013800ea,0x00d00186,0x01040104,0x016c0138,0x01a0016c,0x01860138,
+0x01d40186,0x02220222,0x01040270,0x016c0138,0x016c0138,0x01d401a0,
+0x01d401a0,0x02080208,0x0186023c,0x022201d4,0x022201d4,0x02be0270,
+0x02be0270,0x030c030c,0x0036035a,0x00a2006c,0x014400d8,0x01e601b0,
+0x006c021c,0x014400d8,0x028801b0,0x03cc0360,0x00a20438,0x01e60144,
+0x03cc0288,0x05b20510,0x00d80654,0x028801b0,0x05100360,0x079806c0,
+0x00180870,0x01b00144,0x01e6021c,0x032a0288,0x021c01b0,0x0288021c,
+0x02f402f4,0x02880360,0x032a032a,0x046e03cc,0x0510046e,0x0288021c,
+0x028802f4,0x036002f4,0x036003cc,0x043803cc,0x04a40438,0x03cc032a,
+0x03cc046e,0x0510046e,0x051005b2,0x065405b2,0x06f60654,0x00000000,
+0x00000000,0x00020001,0x00040003,0x00060005,0x00080007,0x00000085,
+0x00000000,0x00010000,0x00030002,0x00050004,0x00070006,0x00850084,
+0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,
+0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,
+0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,
+0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,
+0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,0x014d014d,
+0x014d014d,0x014d014d,0x01010101,0x01010101,0x01010101,0x01010101,
+0x01010101,0x01010101,0x01010101,0x03030101,0x01030301,0x01010101,
+0x01010101,0x01010101,0x01010101,0x01010101,0x01010101,0x01010101,
+0x00000002,0x10000000,0x00000040,0x20000000,0x00000040,0x30000000,
+0x00000040,0x40000000,0x00000040,0x50000000,0x00000040,0x40000000,
+0x00000048,0x50000000,0x00000048,0x60000001,0x00000048,0x70000002,
+0x00000048,0x80000002,0x00000048,0x50000083,0x00000058,0x60000104,
+0x00000058,0x70004185,0x00000058,0x50004185,0x00000000,0x60008206,
+0x00000000,0x5020c287,0x00000008,0x60410308,0x00000008,0x70614389,
+0x00000008,0x8081840a,0x00000008,0x50a1c48b,0x00000018,0x60c2050d,
+0x00000018,0x70e2458e,0x00000018,0x81028698,0x00000018,0x91230b91,
+0x00000018,0xa143481a,0x00000018,0xc185cc94,0x00000018,0xd1a4099c,
+0x00000018,0xf1e64d96,0x00000018,0x0204ca9e,0x00000019,0x2246cea1,
+0x00000019,0x32655024,0x00000019,0xb36751a6,0x00000019,0xf3e95529,
+0x00000019,0x2449d42e,0x0000001a,0x54aa95ae,0x0000001a,0x74ea162e,
+0x0000001a,0xa4ea162e,0x0000001a,0x10000000,0x00000040,0x20000000,
+0x00000040,0x30000000,0x00000040,0x40000000,0x00000040,0x50000000,
+0x00000040,0x40000000,0x00000048,0x50000000,0x00000048,0x60000001,
+0x00000048,0x70000002,0x00000048,0x40000002,0x00000058,0x50000083,
+0x00000058,0x60000104,0x00000058,0x40000104,0x00000000,0x50004185,
+0x00000000,0x40008206,0x00000008,0x5020c287,0x00000008,0x60410308,
+0x00000008,0x70614389,0x00000008,0x8081840a,0x00000008,0x50a1c48b,
+0x00000018,0x60c2050d,0x00000018,0x70e2458e,0x00000018,0x81028698,
+0x00000018,0x91230b91,0x00000018,0xa143481a,0x00000018,0xc185cc94,
+0x00000018,0xd1a4099c,0x00000018,0xf1e64d96,0x00000018,0x0204ca9e,
+0x00000019,0x2246cea1,0x00000019,0x32655024,0x00000019,0xb36751a6,
+0x00000019,0xf3e95529,0x00000019,0x2449d42e,0x0000001a,0x54aa95ae,
+0x0000001a,0x74ea162e,0x0000001a,0xa4ea162e,0x0000001a,0x5f727563,
+0x65687465,0x64646172,0x65700072,0x655f6d72,0x72656874,0x72646461,
+0x256c7700,0x6c770064,0x203a6425,0x616f7242,0x6d6f6364,0x4d434220,
+0x78343025,0x32303820,0x2031312e,0x65726957,0x7373656c,0x6e6f4320,
+0x6c6f7274,0x2072656c,0x000a7325,0x31322e34,0x2e302e38,0x6c770030,
+0x69616600,0x2064656c,0x69206f74,0x2074696e,0x65726977,0x7373656c,
+0x64697320,0x65202c65,0x203a7272,0x000a6425,0x64256c77,0x7325203a,
+0x20732520,0x73726576,0x206e6f69,0x000a7325,0x20636544,0x32203120,
+0x00383030,0x323a3931,0x39303a32,0x66776800,0x65746c69,0x65640072,
+0x6c737065,0x00706565,0x0001a0d9,0x00000000,0x00000008,0x0001a0e2,
+0x00000001,0x00000001,0x00000000,0x00000000,0x00000000,0x03020001,
+0x00020000,0x00000000,0x0060005e,0x00780062,0x0060005e,0x00780062,
+0x64256c77,0x5350203a,0x696d204d,0x636f7263,0x2065646f,0x63746177,
+0x676f6468,0x72696620,0x61206465,0x64252074,0x65732820,0x646e6f63,
+0x202e2973,0x65736552,0x6e697474,0x000a2e67,0x64256c77,0x5350203a,
+0x696d204d,0x636f7263,0x2065646f,0x63746177,0x676f6468,0x72696620,
+0x61206465,0x64252074,0x65732820,0x646e6f63,0x000a2973,0x64256c77,
+0x7370203a,0x6265646d,0x30206775,0x38302578,0x70202c78,0x65647968,
+0x20677562,0x30257830,0x202c7838,0x5f6d7370,0x20637262,0x30257830,
+0x000a7838,0x20202020,0x70657720,0x206c7463,0x30257830,0x202c7838,
+0x636d6370,0x30206c74,0x38302578,0x70202c78,0x74736d63,0x30207461,
+0x38302578,0x74000a78,0x745f6673,0x72656d69,0x20776f6c,0x78257830,
+0x7872000a,0x68705f65,0x5f737279,0x78302032,0x202c7825,0x5f657872,
+0x72796870,0x20335f73,0x78257830,0x79687020,0x74737872,0x73757461,
+0x78302030,0x202c7825,0x72796870,0x61747378,0x31737574,0x25783020,
+0x74000a78,0x735f6578,0x75746174,0x78302073,0x70207825,0x78747968,
+0x6f727265,0x64252072,0x4350000a,0x5243504d,0x20306765,0x7830203d,
+0x000a7825,0x504d4350,0x67655243,0x203d2031,0x78257830,0x4350000a,
+0x5243504d,0x20326765,0x7830203d,0x000a7825,0x5453414c,0x73657220,
+0x66207465,0x206d6f72,0x202c6425,0x65707974,0x0a642520,0x6d697400,
+0x616c2065,0x64207473,0x61637369,0x30206472,0x2c782578,0x746e6320,
+0x73616c20,0x69642074,0x72616373,0x78302064,0x202c7825,0x20727563,
+0x65736572,0x6e632074,0x78302074,0x000a7825,0x45534552,0x54532054,
+0x52205441,0x30204745,0x0a782578,0x20435000,0x000a203a,0x25783020,
+0x20202078,0x25785c00,0x00583230,0x63737362,0x003a6766,0x69646172,
+0x7363006f,0x73720061,0x655f6973,0x746e6576,0x65737700,0x656b5f63,
+0x6c630079,0x6465736f,0x0074656e,0x5f706165,0x74736572,0x74636972,
+0x65737700,0x766e0063,0x5f6d6172,0x00746567,0x5f636c77,0x61766f69,
+0x77007372,0x695f636c,0x7261766f,0x6f725f73,0x7665726d,0x65760030,
+0x6469646e,0x616f6200,0x65726472,0x72730076,0x65726d6f,0x6f620076,
+0x66647261,0x7367616c,0x61610032,0x61006735,0x00673261,0x00316161,
+0x00306161,0x00316761,0x68637874,0x006e6961,0x68637872,0x006e6961,
+0x6d306c69,0x64616361,0x74007264,0x75645f78,0x635f7974,0x656c6379,
+0x64666f5f,0x7874006d,0x7475645f,0x79635f79,0x5f656c63,0x006b6363,
+0x65736572,0x25207374,0x70000a64,0x5f6d7265,0x65687465,0x64646172,
+0x73252072,0x72756320,0x6874655f,0x64617265,0x25207264,0x62000a73,
+0x6472616f,0x25783020,0x62202c78,0x6472616f,0x76657220,0x00732520,
+0x63612820,0x6c617574,0x3020796c,0x32302578,0x72002978,0x5f657461,
+0x7265766f,0x65646972,0x2041203a,0x202c6425,0x64252042,0x6e61000a,
+0x78725f74,0x72766f5f,0x20642520,0x6e617874,0x64252074,0x5342000a,
+0x6f432053,0x6769666e,0x3a642520,0x73252220,0x65000a22,0x6c62616e,
+0x64252065,0x20707520,0x77206425,0x2066696c,0x70257830,0x73252220,
+0x77000a22,0x20636573,0x78257830,0x74756120,0x64252068,0x65737720,
+0x6e695f63,0x20786564,0x77206425,0x615f7065,0x206f676c,0x000a6425,
+0x72727563,0x5f746e65,0x2e737362,0x49535342,0x73252044,0x7563000a,
+0x6e657272,0x73625f74,0x53532e73,0x22204449,0x0a227325,0x73706100,
+0x7373615f,0x6169636f,0x20646574,0x000a6425,0x74737472,0x73657268,
+0x6c760068,0x6d5f6e61,0x0065646f,0x00656d77,0x5f656d77,0x5f737362,
+0x61736964,0x00656c62,0x5f656d77,0x63616f6e,0x6d77006b,0x70615f65,
+0x77006473,0x715f656d,0x6e69736f,0x77006f66,0x645f656d,0x6d770070,
+0x72705f65,0x715f6365,0x69756575,0x7700676e,0x635f656d,0x746e756f,
+0x00737265,0x5f656d77,0x61656c63,0x6f635f72,0x65746e75,0x77007372,
+0x6165666c,0x65727574,0x67616c66,0x656d7700,0x5f63615f,0x00617473,
+0x5f726570,0x6e616863,0x666e695f,0x7473006f,0x6e695f61,0x77006f66,
+0x6d5f6170,0x00736773,0x5f617077,0x68747561,0x61707700,0x7061635f,
+0x646e7600,0x65695f72,0x61707700,0x77006569,0x5f636573,0x74736572,
+0x74636972,0x61726600,0x72687467,0x00687365,0x726d5f61,0x00657461,
+0x6d5f6762,0x65746172,0x5f673500,0x7461726d,0x67320065,0x61726d5f,
+0x72006574,0x00646e61,0x6f737361,0x616f7263,0x7361006d,0x5f636f73,
+0x6f666e69,0x73736100,0x725f636f,0x695f7165,0x61007365,0x636f7373,
+0x7365725f,0x65695f70,0x76650073,0x5f746e65,0x7367736d,0x73657200,
+0x645f7465,0x6e633131,0x69007374,0x5f737362,0x6f6c6c61,0x00646577,
+0x6e756f63,0x5f797274,0x7473696c,0x7478655f,0x65646e65,0x636d0064,
+0x5f747361,0x7473696c,0x61686300,0x6570736e,0x696c0063,0x69746566,
+0x6300656d,0x746e756f,0x61007972,0x636f7475,0x746e756f,0x645f7972,
+0x75616665,0x6100746c,0x6e65746e,0x0073616e,0x73736269,0x616f635f,
+0x6373656c,0x6c615f65,0x65776f6c,0x736d0064,0x76656c67,0x64006c65,
+0x5f6e776f,0x7265766f,0x65646972,0x6c6c6100,0x746c756d,0x656c0069,
+0x79636167,0x6f72705f,0x70006562,0x735f326d,0x7065656c,0x7465725f,
+0x72696500,0x63630070,0x6f697067,0x6c727463,0x67636300,0x696f6970,
+0x6363006e,0x6f697067,0x0074756f,0x70676363,0x756f6f69,0x006e6574,
+0x5f637462,0x65646f6d,0x63746200,0x7269775f,0x75640065,0x79637974,
+0x5f656c63,0x006b6363,0x79747564,0x6c637963,0x666f5f65,0x62006d64,
+0x735f6374,0x6b637574,0x7261775f,0x63746200,0x7574735f,0x645f6b63,
+0x63657465,0x00646574,0x7461726e,0x766e0065,0x5f6d6172,0x706d7564,
+0x6c656400,0x735f6174,0x73746174,0x746e695f,0x61767265,0x6564006c,
+0x5f61746c,0x74617473,0x70690073,0x6d5f3676,0x74736163,0x76616e00,
+0x7365725f,0x775f7465,0x645f7261,0x62617369,0x0000656c,0x00000000,
+0x00000000,0x0000b181,0x00007081,0x00000000,0x00000000,0x096c0001,
+0x09710002,0x09760003,0x097b0004,0x09800005,0x09850006,0x098a0007,
+0x098f0008,0x09940009,0x0999000a,0x099e000b,0x09a3000c,0x09a8000d,
+0x09b4000e,0xffffffff,0x0204ffff,0x0a080600,0x00000e0c,0x0001a968,
+0x00000001,0x00000007,0x0001a970,0x00000000,0x00000007,0x0001a978,
+0x00000000,0x00000007,0x0001a97f,0x00000001,0x00000007,0x0001a987,
+0x00000003,0x00400008,0x0001a993,0x00000002,0x00000002,0x0001a5bf,
+0x00000004,0x02940008,0x0001a800,0x00000005,0x00000008,0x0001a99c,
+0x00000006,0x00000001,0x0001a9a0,0x00000007,0x20000008,0x0001a9a8,
+0x0000000a,0x000c0008,0x0001a9b0,0x00000008,0x00000006,0x0001a9bb,
+0x00000009,0x000c0008,0x0001aca6,0x0000000b,0x00000008,0x00000000,
+0x00000000,0x00000000,0x65736162,0x766f695f,0x00737261,0x725f6732,
+0x00657461,0x725f6735,0x00657461,0x61725f61,0x62006574,0x61725f67,
+0x62006574,0x72656d63,0x73726f72,0x62007274,0x72656d63,0x00726f72,
+0x0063706d,0x6470746f,0x00706d75,0x64736963,0x00706d75,0x5f736963,
+0x72756f73,0x63006563,0x72777369,0x00657469,0xffffffff,0x6c77ffff,
+0x6d6c5f63,0x735f6361,0x635f7465,0x6e6e6168,0x77006c65,0x6c5f636c,
+0x5f63616d,0x00706163,0x5f636c77,0x61747461,0x6c5f6863,0x0063616d,
+0x0001ade8,0x00000002,0x00000008,0x0001adf1,0x00000003,0x00000000,
+0x0001adf9,0x00000004,0x00000000,0x0001ae03,0x00000005,0x00000008,
+0x0001ae10,0x00000006,0x00000007,0x0001ae1d,0x00000008,0x00000007,
+0x0001a020,0x00000005,0x00000008,0x0001ae27,0x00000007,0x00000008,
+0x00000000,0x00000000,0x00000000,0x766f7872,0x776f6c66,0x73616320,
+0x61207365,0x25206572,0x6d000a64,0x635f7363,0x746e756f,0x6425203a,
+0x78300020,0x20783225,0x31314400,0x20544820,0x20504143,0x20657261,
+0x4c4c554e,0x2a2a000a,0x2054482a,0x49444441,0x75442045,0x203a706d,
+0x72617453,0x2a2a2a74,0x6461000a,0x65695f64,0x74633e2d,0x68635f6c,
+0x7830203a,0x78323025,0x6461000a,0x65695f64,0x79623e2d,0x3a316574,
+0x25783020,0x0a783230,0x64646100,0x2d65695f,0x6d706f3e,0x3a65646f,
+0x25783020,0x0a783430,0x64646100,0x2d65695f,0x73696d3e,0x69625f63,
+0x203a7374,0x30257830,0x000a7838,0x482a2a2a,0x44412054,0x20454944,
+0x706d7544,0x4e45203a,0x2a2a2a44,0x2a2a000a,0x2054482a,0x49504143,
+0x75442045,0x203a706d,0x72617453,0x2a2a2a74,0x6569000a,0x61633e2d,
+0x30203a70,0x34302578,0x69000a78,0x703e2d65,0x6d617261,0x30203a73,
+0x32302578,0x69000a78,0x653e2d65,0x685f7478,0x70616374,0x7830203a,
+0x78343025,0x6569000a,0x78743e2d,0x635f6662,0x203a7061,0x30257830,
+0x000a7838,0x3e2d6569,0x635f7361,0x203a7061,0x30257830,0x000a7832,
+0x482a2a2a,0x41432054,0x20454950,0x706d7544,0x6e45203a,0x2a2a2a64,
+0x6c77000a,0x203a6425,0x203a7325,0x666c616d,0x656d726f,0x68632064,
+0x70736e61,0x30206365,0x0a782578,0x256c7700,0x25203a64,0x77203a73,
+0x615f636c,0x63617474,0x61662068,0x64656c69,0x6c77000a,0x203a6425,
+0x203a7325,0x63616d6c,0x666e695f,0x6c61206f,0x20636f6c,0x6c696166,
+0x000a6465,0x5f636c77,0x63616d6c,0x766f695f,0x00737261,0x64256c77,
+0x7325203a,0x6c77203a,0x6f6d5f63,0x656c7564,0x6765725f,0x65747369,
+0x61662072,0x64656c69,0x6c77000a,0x203a6425,0x203a7325,0x695f6c77,
+0x5f74696e,0x656d6974,0x6f662072,0x64772072,0x656d6974,0x61662072,
+0x64656c69,0x3673000a,0x65765f30,0x6f670072,0x36732074,0x65765f30,
+0x73692072,0x0a732520,0x302e3500,0x30367300,0x7265765f,0x6e6f6973,
+0x20736920,0x20746573,0x25206f74,0x77000a64,0x3a64256c,0x3a732520,
+0x72726520,0x6920726f,0x6974696e,0x7420676e,0x4c206568,0x2043414d,
+0x746f7250,0x6f6d206f,0x656c7564,0x6c77000a,0x72647872,0x0073706f,
+0x203a7325,0x6e6b6e75,0x206e776f,0x69746361,0x64696e6f,0x0a642520,
+0x3a732500,0x66756220,0x20726566,0x676e656c,0x25206874,0x6f742064,
+0x6873206f,0x2074726f,0x20726f66,0x43414d4c,0x70616320,0x64252820,
+0x63000a29,0x69706968,0x78302064,0x203a7825,0x70696863,0x20766572,
+0x78257830,0x6375202c,0x7265646f,0x30207665,0x0a782578,0x3a732500,
+0x6e614320,0x63207427,0x676e6168,0x68742065,0x68632065,0x656e6e61,
+0x6877206c,0x74206e65,0x73206568,0x206e6163,0x69207369,0x7270206e,
+0x6572676f,0x000a7373,0x203a7325,0x75736e55,0x726f7070,0x20646574,
+0x61766f69,0x61202c72,0x6f697463,0x2064696e,0x000a6425,0x63616d6c,
+0x7061635f,0x616d6c00,0x70755f63,0x616d6c00,0x6f645f63,0x6c006e77,
+0x5f63616d,0x6163616d,0x00726464,0x63616d6c,0x7078745f,0x7265776f,
+0x616d6c00,0x6f6d5f63,0x6c006564,0x5f63616d,0x63746573,0x6e6e6168,
+0x77006c65,0x765f636c,0x64696c61,0x6168635f,0x6570736e,0x6c770063,
+0x6d6c5f63,0x645f6361,0x766f696f,0x74007261,0x74737378,0x00737461,
+0x67737874,0x006d6f6c,0x7478616d,0x75700078,0x616d2e62,0x20787478,
+0x62206f74,0x64252065,0x3225000a,0x34252864,0x00202964,0x7478616d,
+0x6f6c6778,0x7369206d,0x2c642520,0x72756320,0x746e6572,0x6e657020,
+0x676e6964,0x756f6320,0x6920746e,0x64252073,0x7874000a,0x616d2073,
+0x636f6c6c,0x69616620,0x6572756c,0x72612073,0x64252065,0x6570202c,
+0x6e69646e,0x64252067,0x616d000a,0x67787478,0x206d6f6c,0x73207369,
+0x74207465,0x6425206f,0x0100000a,0x00060605,0x02000101,0x00030302,
+0x325f4c50,0x64685f47,0x00000062,0x01030000,0x4c50001f,0x5f47355f,
+0x00626468,0x00000000,0x00200103,0x5f716672,0x00004732,0x00000000,
+0x01050000,0x66720006,0x47345f71,0x00000000,0x00000000,0x00080105,
+0x5f716672,0x6c5f4735,0x00000000,0x01050000,0x6672000a,0x47355f71,
+0x00006d5f,0x00000000,0x000c0105,0x5f716672,0x685f4735,0x00000000,
+0x01050000,0x6470000e,0x0047325f,0x00000000,0x00000000,0x00100105,
+0x345f6470,0x00000047,0x00000000,0x01050000,0x64700012,0x5f47355f,
+0x0000006c,0x00000000,0x00140105,0x355f6470,0x006d5f47,0x00000000,
+0x01050000,0x64700016,0x5f47355f,0x00000068,0x00000000,0x00180105,
+0x5f677874,0x00004732,0x00000000,0x01020000,0x7874001a,0x47345f67,
+0x00000000,0x00000000,0x001b0102,0x5f677874,0x6c5f4735,0x00000000,
+0x01020000,0x7874001c,0x47355f67,0x00006d5f,0x00000000,0x001d0102,
+0x5f677874,0x685f4735,0x00000000,0x01020000,0x4732001e,0x314c505f,
+0x6264685f,0x00000000,0x00240902,0x505f4732,0x685f324c,0x00006264,
+0x09020000,0x4732002d,0x334c505f,0x6264685f,0x00000000,0x00360902,
+0x505f4732,0x685f344c,0x00006264,0x09020000,0x4735003f,0x314c505f,
+0x6264685f,0x00000000,0x00480802,0x505f4735,0x685f324c,0x00006264,
+0x08020000,0x47350051,0x334c505f,0x6264685f,0x00000000,0x005a0802,
+0x505f4735,0x685f344c,0x00006264,0x08020000,0x67630063,0x63635f61,
+0x47325f6b,0x00000000,0x006d0e02,0x5f616763,0x6d64666f,0x0047325f,
+0x0d020000,0x6170007c,0x47325f62,0x00000000,0x00000000,0x016b0603,
+0x5f626170,0x00004735,0x00000000,0x06030000,0x73720171,0x615f6973,
+0x325f6a64,0x00000047,0x01770103,0x69737372,0x6a64615f,0x355f6a5f,
+0x01030047,0x73720178,0x615f6973,0x355f6a64,0x006c5f47,0x01790103,
+0x69737372,0x6a64615f,0x5f47355f,0x0103006d,0x7372017a,0x615f6973,
+0x355f6a64,0x00685f47,0x017b0103,0x5f616763,0x47345f6a,0x61676300,
+0x355f6a5f,0x67630047,0x47355f61,0x63006c5f,0x355f6167,0x006d5f47,
+0x5f616763,0x755f4735,0x67630031,0x47355f61,0x3131755f,0x0201cc00,
+0xd4000000,0x00000000,0x00000000,0x00000001,0x07ef0000,0x000e0007,
+0x0000000e,0x00000000,0x00000000,0x03000200,0x06000400,0x0b000800,
+0x10011000,0x10031002,0x10051004,0x10071006,0x20071707,0x40072d07,
+0x80075b07,0x0001b6eb,0x00100000,0x00000007,0x0001b6f4,0x00000008,
+0x000c0008,0x0001b701,0x30000006,0x00030008,0x0001b70b,0x00000007,
+0x00000001,0x0001b718,0x00000009,0x00000001,0x0001b729,0x00400037,
+0x00000001,0x0001b73a,0x00000038,0x00000001,0x0001b749,0x00000039,
+0x00000006,0x0001b754,0x0040003a,0x00200008,0x0001b75b,0x0400003c,
+0x000c0008,0x0001b768,0x04400044,0x00100008,0x0001b771,0x0080005d,
+0x000c0008,0x0001b778,0x04400054,0x00000002,0x0001b78c,0x0040005b,
+0x000c0008,0x0001b79e,0x0400005c,0x00000003,0x0001b7af,0x0080001c,
+0x00000003,0x0001b7bf,0x00800014,0x00000002,0x0001b7cd,0x0040003d,
+0x00070007,0x0001b7d9,0x0400003f,0x00000006,0x0001b7e9,0x00000040,
+0x00000006,0x0001b7fe,0x04000041,0x00000006,0x0001b80e,0x0000005e,
+0x00000006,0x0001b819,0x0000005f,0x00000002,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x043f03c5,0x043d03c7,
+0x043a03c9,0x043803cb,0x043603cd,0x043403cf,0x043103d1,0x042f03d3,
+0x042d03d5,0x042b03d7,0x042903d9,0x042703db,0x042403dd,0x041f03e2,
+0x00000000,0x00000000,0x00000000,0x0007fc00,0x0005a569,0x000001ff,
+0x000a5d69,0x00080400,0x000a5e97,0x00000201,0x0005a697,0x00000000,
+0x00000000,0x00000000,0x00000000,0x84340000,0x80848334,0x80568267,
+0x00008234,0x0001b388,0x0001b1be,0x002d0000,0x001a90a7,0x000e0947,
+0x00072001,0x0003938b,0x0001ca38,0x0000e52a,0x00007297,0x0000394c,
+0x00001ca6,0x00000e53,0x00000729,0x00000395,0x000001ca,0x000000e5,
+0x00000073,0x00000039,0x0000001d,0x02000100,0x06000400,0x0b000800,
+0x17001000,0x2d002000,0x40014000,0x40034002,0x40054004,0x40074006,
+0x80075b07,0x3d0604f4,0x04f30103,0x01014c0c,0x500804f3,0x04f27f00,
+0xff004408,0x4a0004f3,0x04f2ff00,0xff004d04,0x4e0404f3,0x04f2ff00,
+0x0f004f0c,0x4f0004f3,0x04f50f04,0x0f004900,0x460304f6,0x04f50704,
+0x0100460f,0x460004f6,0x04f50701,0x07044808,0x480b04f5,0x04f50f00,
+0x0f044904,0x450f04f4,0x04f70100,0x0704520d,0x520004f8,0x04f70107,
+0x07054103,0x410604f7,0x04f70f00,0x0705420a,0x420f04f6,0x04f70100,
+0x07014200,0x430b04f6,0x04f60f04,0x0f004307,0x450604f6,0x04f40101,
+0x0f044007,0x400b04f4,0x04f30f00,0x03033c0e,0x3c0004f4,0x04f40705,
+0x07003c03,0x520004f2,0x00000f00,0x00000000,0x00000009,0x00010001,
+0x83238423,0x82568073,0x82238045,0x00000003,0xffffffe8,0x00000001,
+0x0000096c,0x0000000c,0x00000000,0x00000000,0x00000002,0x00000971,
+0x00000011,0x00000000,0x00000000,0x00000003,0x00000976,0x00000016,
+0x00000000,0x00000000,0x00000004,0x0000097b,0x0000001b,0x00000000,
+0x00000000,0x00000005,0x00000980,0x00000020,0x00000000,0x00000000,
+0x00000006,0x00000985,0x00000025,0x00000000,0x00000000,0x00000007,
+0x0000098a,0x0000002a,0x00000000,0x00000000,0x00000008,0x0000098f,
+0x0000002f,0x00000000,0x00000000,0x00000009,0x00000994,0x00000034,
+0x00000000,0x00000000,0x0000000a,0x00000999,0x00000039,0x00000000,
+0x00000000,0x0000000b,0x0000099e,0x0000003e,0x00000000,0x00000000,
+0x0000000c,0x000009a3,0x00000043,0x00000000,0x00000000,0x0000000d,
+0x000009a8,0x00000048,0x00000000,0x00000000,0x0000000e,0x000009b4,
+0x00000054,0x00000000,0x00000000,0x0c183060,0x1224486c,0x7a977a97,
+0x7a877a97,0x7b977a87,0x32697274,0x78620067,0x00673261,0x6f707872,
+0x72006732,0x73697373,0x6732666d,0x73737200,0x636d7369,0x72006732,
+0x73697373,0x67327661,0x73737200,0x666d7369,0x6c5f6732,0x0030776f,
+0x69737372,0x32636d73,0x6f6c5f67,0x72003177,0x73697373,0x67327661,
+0x776f6c5f,0x73720032,0x6d736973,0x5f673266,0x00306968,0x69737372,
+0x32636d73,0x69685f67,0x73720031,0x61736973,0x5f673276,0x00326968,
+0x6d306170,0x77707861,0x61700072,0x64256230,0x6b636300,0x6f006f70,
+0x706d6466,0x706f006f,0x6870006f,0x696f6e79,0x70006573,0x71007968,
+0x6f707874,0x00726577,0x5f796870,0x69737372,0x746e615f,0x69787400,
+0x7074736e,0x70007277,0x775f7968,0x68637461,0x00676f64,0x6e796870,
+0x6573696f,0x6c6f705f,0x676e696c,0x72616300,0x72656972,0x7075735f,
+0x73657270,0x69640073,0x6c626173,0x65705f65,0x6c616372,0x6d6e7500,
+0x725f646f,0x00697373,0x65746b70,0x7000676e,0x6e65746b,0x74735f67,
+0x00737461,0x74796870,0x656c6261,0x76617000,0x00737261,0x706c7373,
+0x7968706e,0x7078745f,0x6e697277,0x00786564,0x706c7373,0x7968706e,
+0x7061705f,0x6d617261,0x73730073,0x706e706c,0x665f7968,0x636c6c75,
+0x6e006c61,0x5f796870,0x705f6735,0x61677277,0x6d006e69,0x5f6f6d69,
+0x61657270,0x656c626d,0x79687000,0x6978725f,0x74736571,0x70706c00,
+0x745f7968,0x73706d65,0x65736e65,0x70706c00,0x635f7968,0x645f6c61,
+0x61746c65,0x6d65745f,0x706c0070,0x5f796870,0x74616276,0x736e6573,
+0x756e0065,0x74735f6d,0x6d616572,0x6e616200,0x61725f64,0x0065676e,
+0x5f636c77,0x5f746c70,0x61766f69,0x4c007372,0x0043414d,0x5f746c70,
+0x69766564,0x765f6563,0x70007265,0x695f746c,0x0074696e,0x5f746c70,
+0x706f7473,0x746c7000,0x5f78745f,0x746e6f63,0x6f756e69,0x70007375,
+0x745f746c,0x77635f78,0x746c7000,0x7078745f,0x735f7265,0x74726174,
+0x746c7000,0x5f78745f,0x706f7473,0x746c7000,0x7078725f,0x735f7265,
+0x74726174,0x746c7000,0x7078725f,0x735f7265,0x00706f74,0x5f746c70,
+0x65707872,0x65725f72,0x746c7573,0x6c700073,0x78725f74,0x0077635f,
+0x5f746c70,0x725f7872,0x00697373,0x5f746c70,0x6163616d,0x00726464,
+0x5f746c70,0x6f707874,0x00726577,0x5f746c70,0x69737374,0x00000000,
+0x0001b838,0x00000001,0x00000008,0x0001b847,0x00000002,0x00000000,
+0x0001b850,0x00000003,0x00000000,0x0001b859,0x00000004,0x00140008,
+0x0001b86b,0x00000005,0x00020008,0x0001b875,0x00000006,0x00200008,
+0x0001b885,0x00000007,0x00000000,0x0001b891,0x00000008,0x00000008,
+0x0001b8a1,0x00000009,0x00000000,0x0001b8b0,0x0000000a,0x00000008,
+0x0001b8c2,0x0000000b,0x00020008,0x0001b8cc,0x0000000c,0x00000007,
+0x0001b8d8,0x0000000d,0x00000008,0x0001b8e4,0x0000000e,0x00000007,
+0x0001b8f0,0x0000000f,0x00000007,0x00000000,0x00000000,0x00000000,
+0x0000000c,0x0c8b8482,0x24189612,0x6c604830,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000008,0x2498128c,
+0x6c6048b0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x0000000c,0x0c8b8482,0x24189612,0x6c604830,
+0x00000000,0x00ffff00,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000004,0x160b8482,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x0000000c,0x0c8b8482,
+0x24189612,0x6c604830,0x00000000,0x00ffff00,0x00000100,0x00000000,
+0x00000000,0x00000000,0x00000002,0x00000000,0x00000004,0x00000008,
+0x0000000b,0x00000010,0x00000016,0x00000018,0x0000000c,0x00000000,
+0x00000012,0x00000002,0x00000018,0x00000008,0x00000024,0x0000000a,
+0x00000030,0x00000010,0x00000048,0x00000012,0x00000060,0x00000019,
+0x0000006c,0x0000001a,0x000a0000,0x00000014,0x37000000,0x0000008b,
+0x008f0000,0x006e0000,0x0000008a,0x00000000,0x00000000,0x0000008e,
+0x00000000,0x00000000,0x00000089,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x0000008d,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000088,0x00000000,0x00000000,0x0000008c,
+0x00000008,0x160b0402,0x6c483024,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x6e616373,0x7361705f,
+0x65766973,0x6d69745f,0x63730065,0x685f6e61,0x5f656d6f,0x656d6974,
+0x61637300,0x706e5f6e,0x65626f72,0x6c770073,0x63735f63,0x695f6e61,
+0x7261766f,0x63730073,0x69746e61,0x0072656d,0xffffffff,0x0000ffff,
+0x00000000,0x00000001,0x00000002,0x00000004,0x00000002,0x00000003,
+0x00000003,0x00000005,0x0003aaaa,0x8e880000,0x72636f6e,0x520a0063,
+0x28204554,0x73257325,0x73257325,0x73252029,0x206e6f20,0x254d4342,
+0x25722058,0x20402064,0x252f6425,0x64252f64,0x7a484d20,0x4453000a,
+0x43004f49,0x49004344,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000001,0x00000020,0x0000001f,0x00000050,0x00005a01,0x000059b9,
+0x000059a5,0x00005995,0x00000000,0x00005935,0x00005989,0x0000596d,
+0x0000593d,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x0001bc54,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x0001bcf0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00006b4d,0x000069dd,0x00006d61,0x00006b2d,0x00000000,
+0x000069f1,0x00000000,0x000069b1,0x00000000,0x0e0e0e0e,0x0d09020e,
+0x010d080a,0x080a0d09,0x0d09010d,0x010d080a,0x080a0d09,0x0e0a010d,
+0x020e090b,0x090b0e0a,0x3a09020e,0x050e0e16,0x0e163a09,0x0e0a050e,
+0x050e090b,0x090b0e0a,0x0e0a020e,0x020e090b,0x0e163a09,0x3a09050e,
+0x050e0e16,0x0e163a09,0x3a09050e,0x050e0e16,0x0e163a09,0x0001050e,
+0x02020100,0x07070303,0x07070707,0x07070807,0x09070906,0x02040202,
+0x04040402,0x03020202,0x02020302,0x02020203,0xfefefe00,0x08080808,
+0x09080808,0x0708080a,0x00000007,0x01000000,0x00000101,0x00000000,
+0x00000000,0x00000000,0xf5ef0000,0x01fdfbf8,0x0c090703,0x1915130f,
+0x24211f1b,0x302d2b27,0x3c383633,0x4744423e,0x53504d4a,0x005c5956,
+0x00000001,0x0000096c,0x043c3c6f,0x0505550e,0x44770505,0xf3708080,
+0x0000000c,0x00000002,0x00000971,0x043c3c6f,0x0505550e,0x44770505,
+0xf3708080,0x0000000b,0x00000003,0x00000976,0x043c3c6f,0x0505550e,
+0x44770505,0xf3708080,0x00000009,0x00000004,0x0000097b,0x042c2c6f,
+0x0505550d,0x44770505,0xf3708080,0x00000008,0x00000005,0x00000980,
+0x042c2c6f,0x0505550d,0x44770505,0xf3708080,0x00000007,0x00000006,
+0x00000985,0x042c2c6f,0x0505550c,0x44770505,0xf3708080,0x00000006,
+0x00000007,0x0000098a,0x042c2c6f,0x0505550b,0x44770505,0xf3708080,
+0x00000005,0x00000008,0x0000098f,0x042c2c6f,0x0505550b,0x44770505,
+0xf3708080,0x00000004,0x00000009,0x00000994,0x041c1c6f,0x0505550a,
+0x44770505,0xf3708080,0x00000004,0x0000000a,0x00000999,0x041c1c6f,
+0x05055509,0x44770505,0xf3708080,0x00000003,0x0000000b,0x0000099e,
+0x041c1c6e,0x05055508,0x44770505,0xf3708080,0x00000003,0x0000000c,
+0x000009a3,0x041c1c6e,0x05055507,0x44770505,0xf3708080,0x00000002,
+0x0000000d,0x000009a8,0x041c1c6e,0x05055506,0x44770505,0xf3708080,
+0x00000002,0x0000000e,0x000009b4,0x040c0c6e,0x05055502,0x44770505,
+0xf3708080,0x00000001,0x00004000,0x00000002,0x00000003,0x00000004,
+0x00000005,0x00000006,0x00000007,0x00000008,0x00000009,0x0001800a,
+0x0000000b,0x0000000c,0x0000000d,0x0606000e,0x0f0f000f,0x00004010,
+0x00004011,0x00004012,0x00004013,0x00004014,0x00004015,0x00004016,
+0x00004017,0x00004018,0x7f7f0019,0x3f3f001a,0x0000001b,0xd4e8c01c,
+0x53a7c01d,0xffff001e,0x0ff0c01f,0x01010020,0x5e1f4021,0x7e7f4022,
+0xf0304023,0x35350024,0x3f3f0025,0x0202c026,0x7f7fc027,0x00000028,
+0x00000029,0x0c0cc02a,0x0000002b,0x3f3c802c,0xfefc802d,0xffff002e,
+0xffff002f,0x00000030,0x00000031,0x0808c032,0x0f0f0033,0x22220034,
+0xa8a80035,0x6060c036,0x11110037,0x00000038,0x00000039,0x3030c03a,
+0x0101003b,0x0303003c,0x0b0cc03d,0x0f10c03e,0x0f0f003f,0x80800040,
+0x68680041,0x68680042,0x80800043,0xffff0044,0x03030045,0x38380046,
+0xffff0047,0x38380048,0xc0c00049,0xffff004a,0xffff004b,0xfd3dc04c,
+0x0c0c004d,0x9696004e,0x5a5a004f,0x7f7f0050,0x7f7f0051,0x33330052,
+0x0202c053,0x00000054,0x30300055,0x00000056,0x5656c057,0x06060058,
+0x0e0e0059,0x7e7e005a,0x1515005b,0x0f0f005c,0x0000005d,0x0000005e,
+0x0000005f,0x00000060,0x00000061,0x00000062,0x00000063,0x04040064,
+0x00000065,0x00000066,0xcfcf0067,0x59590068,0x07070069,0x4242006a,
+0x0000006b,0xdbdb006c,0x9494006d,0x2828006e,0x6363006f,0x07070070,
+0xd3d30071,0xb1b10072,0x3b3b0073,0x06060074,0x58580075,0xf7f7c076,
+0x00000077,0x00000078,0x02020079,0x0000007a,0x0909007b,0x0505007c,
+0x1616007d,0x6b6b007e,0x0000007f,0xb3b30080,0x04040081,0x00000082,
+0x00000083,0x00000084,0x00000085,0x00000086,0x00000087,0x00000088,
+0x00000089,0x0000008a,0x0000008b,0x0202008c,0x0000008d,0x0000008e,
+0x6666008f,0x66660090,0x66660091,0x66660092,0x66660093,0x66660094,
+0x66660095,0x00000096,0x00000097,0x00000098,0x00000099,0x0000009a,
+0x0000009b,0x0000009c,0x0000009d,0x0000009e,0x0000009f,0xffff00a0,
+0x000000a1,0x606000a2,0x666600a3,0x0c0c00a4,0x666600a5,0x0c0c00a6,
+0x010100a7,0x666600a8,0x666600a9,0x666600aa,0x666600ab,0x666600ac,
+0x666600ad,0x000000ae,0x010100af,0x000000b0,0x000000b1,0xf0f0c0b2,
+0x000000b3,0x050500b4,0x303000b5,0x555500b6,0x333300b7,0x000000b8,
+0x333300b9,0x000000ba,0x353500bb,0x000000bc,0x333300bd,0x000000be,
+0x333300bf,0x000000c0,0x000000c1,0x444400c2,0x000000c3,0x7171c0c4,
+0x7171c0c5,0x030300c6,0x888800c7,0x444400c8,0x010100c9,0x000000ca,
+0x000000cb,0x000000cc,0x000000cd,0x000000ce,0x30f080cf,0x050500d0,
+0x333300d1,0x000000d2,0x050500d3,0x000000d4,0x000000d5,0x050500d6,
+0x000000d7,0x000000d8,0x050500d9,0x000000da,0x333300db,0x000000dc,
+0x333300dd,0x000000de,0x7777c0df,0x888800e0,0x000000e1,0x444400e2,
+0x0303c0e3,0x0f0fc0e4,0x0f0fc0e5,0x444400e6,0x010100e7,0x000000e8,
+0x000000e9,0x000000ea,0x000000eb,0x7777c0ec,0x585800ed,0x7777c0ee,
+0x585800ef,0x000000f0,0x000000f1,0x747400f2,0x0404c0f3,0xa2a200f4,
+0xaaaa00f5,0x242400f6,0x0909c0f7,0x282800f8,0x101000f9,0x555500fa,
+0x808000fb,0x888800fc,0x888800fd,0x888800fe,0x888800ff,0x80800100,
+0x38380101,0xb8b80102,0x80800103,0x38380104,0x78780105,0xc0c00106,
+0x03030107,0x00000108,0x00000109,0x0000010a,0x0400810b,0x0c0c010c,
+0x0000010d,0x0000010e,0x9696010f,0x77770110,0x5a5a0111,0x00000112,
+0x00000113,0x21210114,0x70700115,0x00000116,0x00000117,0x00000118,
+0xb3b30119,0x5555011a,0x0b0b011b,0x0000011c,0x0303c11d,0x0000011e,
+0xb3b3011f,0x55550120,0x30300121,0x46460122,0x00000123,0x00000124,
+0x00000125,0x21210126,0x23230127,0x02020128,0x0000ffff,0x00100000,
+0x00100800,0x00100050,0x00100150,0x00100250,0x00100950,0x00100255,
+0x00100955,0x00100a55,0x00110a55,0x001009f5,0x0010095f,0x00100a5f,
+0x00110a5f,0x00000a50,0x00000955,0x00000a55,0x00010a55,0x000009f5,
+0x0000095f,0x00000a5f,0x00010a5f,0x000009ff,0x000109ff,0x00010aff,
+0x000111ff,0x000112ff,0x000113ff,0x000114ff,0x000115ff,0x000116ff,
+0x000135ff,0x000136ff,0x000155ff,0x000156ff,0x0001d5ff,0x0d0118f9,
+0xdef400e4,0x0ffc06f1,0x1dfffa27,0x091810f0,0xe010f20a,0x11041417,
+0xf2faf114,0xe2fcf7db,0x13eee1fb,0xe91cff0d,0x0318171a,0x03e8da00,
+0xe9e417e6,0x1312fff3,0xe204e105,0xf206f725,0x11fcf1ec,0xe0f014e9,
+0x09e8f2f6,0x1d011010,0x0f04fad9,0xde0c060f,0x0dff001c,0xf61a1807,
+0x0f16e40e,0x18ec05f9,0xff1e0a1b,0xffe22600,0x18140ae5,0x0fea0507,
+0xf6e6e4f2,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
+0x00000000,0x4ff7e92d,0x468a4f8a,0x21004691,0x46052290,0x9e0c4698,
+0xb038f8dd,0xf984f7e5,0xb96c683c,0x7032f44f,0xf7e74621,0x6038faf1,
+0xf0002800,0x462180fa,0x7232f44f,0xf974f7e5,0x2e01683a,0x2600bf08,
+0x208cf8c5,0x32c4f892,0xf8823301,0x231132c4,0x807cf8c5,0x9b0d612b,
+0x652b606e,0x904cf8c5,0xf0402e00,0xf04f80de,0x680a51c0,0x602b0f13,
+0x0c1b0413,0xf3c2632b,0xf3c24303,0x636b5203,0xb10a63aa,0x63ab2301,
+0x3b0e6bab,0xbf8c2b01,0x23012300,0x3040f885,0xb92b682b,0x46414628,
+0xf0004652,0xe006f9ed,0xf0402b01,0x462880ba,0xf0004652,0xf8d5f9fd,
+0x2b003084,0x80b1f000,0x46282100,0xf888f7e4,0x46284604,0xf942f7e4,
+0x6168280a,0x6ae3bfc4,0x686363eb,0x5f80f013,0xd00561ab,0x3604f8d4,
+0xf003622b,0x61eb03ff,0x63e0f44f,0x270060ab,0x33fff04f,0x463c60eb,
+0x612b3312,0x4621e011,0xf7e44628,0x4628f865,0xfe4cf7e3,0xf7e44628,
+0xf8d5f91d,0xf853308c,0x45983024,0x4627bf08,0xf8d53401,0x429c3084,
+0x4639d3e9,0xf7e44628,0x4628f84f,0xf850f7ea,0x6ceb9a0f,0x92014628,
+0x46422100,0xb000f8cd,0xf95ef7e5,0xd1642800,0x0f00f1bb,0x465ed101,
+0xf8dbe001,0xf2416000,0x62ab43e4,0x4630b12e,0xf7e4492f,0x6268fe63,
+0x2000b940,0xf7e4492d,0x6268fe5d,0xf64fb910,0x626b73ff,0x492a4630,
+0xfe54f7e4,0x80b0f8df,0xf89862e8,0x2c004000,0x696bd12b,0xdd0b2b13,
+0x6100f44f,0x46224628,0xf820f7e4,0x65844639,0x462865c4,0xf80cf7e4,
+0x6ce94628,0xfac4f7e5,0x6ce94628,0xfaa0f7e5,0x4630491a,0xf7e46cec,
+0x4621fe31,0x46284602,0xfbdcf7e5,0x6ce94628,0xfd14f7e5,0x6ce94628,
+0xfa6ef7e5,0xf8882301,0x696b3000,0xdd112b0f,0x490f4630,0xfe1af7e4,
+0x21004b0e,0xbf082800,0x90004618,0x46282288,0x33fff04f,0xff24f7e3,
+0x2500e000,0xe8bd4628,0x46c08ffe,0x0001c538,0x00016ed3,0x00016eda,
+0x00016ee4,0x00016eef,0x00016ef8,0x000a005a,0x0001c5d0,0x4f18b5f0,
+0x7839b085,0xb1094604,0xe0274816,0x4b174a16,0x4e142800,0x4602bf08,
+0x4603bf08,0x91019100,0x92039302,0xf2444630,0x46227110,0x53c0f04f,
+0xfebcf7ff,0xb9584605,0x108cf8d6,0x4608b909,0x4620e00c,0x7232f44f,
+0xfb92f7e7,0xe0054628,0x23204a07,0x23016013,0x4630703b,0xbdf0b005,
+0x0001c530,0x0001c540,0x0001c5b8,0x0001c5b4,0x0001c53c,0x47ffe92d,
+0x46884681,0x21002090,0x461d4692,0x9f0e9e0d,0xf996f7e7,0xb1e04604,
+0x46499b0c,0x46429301,0x95004653,0x97039602,0xfe84f7ff,0xb9304605,
+0x46214640,0xf7e72290,0x4628fb5f,0xb90ee00a,0xe0004633,0x67636833,
+0x463bb90f,0x683be000,0x462067a3,0xe8bdb004,0x46c087f0,0x4ff0e92d,
+0xb0872b01,0x91054605,0x93039204,0xd9019f11,0xe09d2000,0x0b00f04f,
+0x8084f8d0,0x9040f8dd,0xe08a46da,0x208cf8d5,0x0688ea4f,0xf8c318b3,
+0x9b0591c0,0x45994641,0x9c04bf08,0xbf084628,0x4028f842,0xf88ef7e4,
+0x8080f8c5,0x462867e8,0x408cf8d5,0xf80af7e4,0x308cf8d5,0x18f31934,
+0x0080f8c4,0x3080f8d3,0x6f00f5b3,0x4628d11f,0xf7e46fec,0x2804f813,
+0x2805d001,0x6823d903,0x6703f3c3,0x6b2ae053,0x3306f244,0xd101429a,
+0xe04c2706,0x7304f244,0xd101429a,0xe0462709,0x3365f245,0xbf14429a,
+0x27072701,0xf5b3e03f,0xd13c6f03,0x46286fe9,0x6670f501,0x6177f501,
+0xffd0f7e3,0x0301f108,0x3084f8c5,0x051b0d03,0x5fc0f1b3,0xf420d12b,
+0xf024647e,0x2200041f,0xf8d5e008,0xeb03308c,0xf8d30382,0x429c31c0,
+0x3201d005,0x3084f8d5,0xd3f2429a,0x2a11e001,0xf106d115,0x4628019c,
+0xffacf7e3,0x9c039400,0x4003f3c0,0x90011c63,0x46289905,0xf7ff9a04,
+0x9b10ff6d,0xf1b34483,0xbf085fc0,0xf10a1a3f,0xf1080a01,0xf5090801,
+0x45ba5980,0xf1b8d203,0xf67f0f0f,0xeb0aaf6f,0xf8c5030b,0x46183084,
+0xe8bdb007,0x46c08ff0,0x460db537,0x46046fc1,0x617bf501,0xff7ef7e3,
+0xf81cf7e4,0x53c0f04f,0x23019300,0x93014601,0x462a4620,0xf7ff3b01,
+0xf8c4ff3d,0xbd3e0084,0x4ff0e92d,0x30fcf8d1,0x930fb091,0xf5034605,
+0x93076360,0xae0fe147,0x2300220e,0x46314628,0xf94cf7e4,0x4604280f,
+0x8145f000,0x46282200,0x46134631,0xf942f7e4,0x070ef010,0x8138f040,
+0x433bf240,0x5f14ebb3,0x210bf3c4,0x1804f3c0,0xf640d104,0x429973ff,
+0x8125f000,0x2244f3c0,0x2a009209,0x811ff000,0x43c4f3c0,0x3b84f3c0,
+0x020beb13,0xd11b9308,0x3367f240,0xf0404299,0xab0e8112,0xab0d9301,
+0xab0c9302,0xab0b9303,0x46289304,0x46134631,0xf7e49200,0x2800f921,
+0x8101f000,0x208cf8d5,0xf8c29b0e,0xe0fa32c0,0xa084f8d5,0x308cf8d5,
+0x038aeb03,0x40c0f8c3,0xf8c3463c,0xf8c30100,0xe00b1080,0x46282201,
+0x46134631,0xf8f2f7e4,0x000ef000,0xf0402802,0x340180e7,0xae0f4544,
+0x2200d1f0,0xf10d4613,0xf10d0938,0xaf0c0834,0x4628ac0b,0x92004631,
+0x9004f8cd,0x8008f8cd,0x94049703,0xf8e8f7e4,0xb9e84602,0x93002340,
+0x46314628,0xf8cd4613,0xf8cd9004,0x97038008,0xf7e49404,0xb110f8d9,
+0x0801f04f,0x9b0de00e,0xf0402b00,0x9b0b80b9,0xf0402b00,0x9b0c80b5,
+0x5f80f5b3,0x80b0f040,0x0800f04f,0x308cf8d5,0xeb039a0e,0xf8c3038a,
+0x9a0c21c0,0xf8c32401,0xab0e2140,0xab0d9301,0xab0c9302,0xab0b9303,
+0x93042200,0x4628a90f,0x92004623,0xf8acf7e4,0xb1604601,0xd10a2c01,
+0xf5b39b0c,0xd1065f80,0x308cf8d5,0xeb039a0e,0xf8c3038a,0xf8d52200,
+0x9a0c308c,0x038aeb03,0x2180f8c3,0x2701b909,0x3401e019,0x2400e7d5,
+0x93002300,0x9301ab0e,0x9302ab0d,0x9303ab0c,0x9304ab0b,0xa90f4628,
+0x4623463a,0xf7e41c66,0xb108f87f,0xe7eb4634,0xd0612e00,0x9a093701,
+0xd1e44297,0xe0212400,0x930023c0,0x9301ab0e,0x9302ab0d,0x9303ab0c,
+0x9304ab0b,0xa90f4628,0x23004622,0xf864f7e4,0xd0492800,0x2b009b0b,
+0x9b0cd146,0x5f80f5b3,0xb934d142,0x308cf8d5,0xeb039a0e,0xf8c3038a,
+0x34012280,0xd1db455c,0xe0252400,0x93002380,0x9301ab0e,0x9302ab0d,
+0x9303ab0c,0x9304ab0b,0xa90f4628,0xbf0c2f01,0x1c624622,0xf7e42300,
+0xb308f83b,0xb9fb9b0b,0xf5b39b0c,0xd11b5f80,0x0f00f1bb,0xb934d107,
+0x308cf8d5,0xeb039a0e,0xf8c3038a,0x34012280,0x429c9b08,0xf1b8d1d6,
+0xd1040f00,0x3084f8d5,0xf8c53301,0x9b0f3084,0x42939a07,0xaeb3f4ff,
+0xf8c52300,0xb0113084,0x8ff0e8bd,0x41f0e92d,0x46884605,0x4611461f,
+0x636cf500,0x781e2000,0x2434b9c6,0xf404fb00,0x606cf504,0x221f1828,
+0xfd0af7e4,0x19649b06,0x3eecf8c4,0x46309b07,0x3ee8f8c4,0xf8c49b08,
+0xf8c48ee0,0xf8c47ee4,0xe0053ef0,0x33343001,0xd1e02816,0x0015f06f,
+0x81f0e8bd,0x4604b570,0x4605b908,0x6880e09e,0xf7e3b108,0x4625fad3,
+0xf8d52600,0xb1200778,0x47986803,0xf8c52300,0x36013778,0x2e063504,
+0xf8d4d1f3,0x68285848,0xf001b118,0x2300f877,0x4620602b,0xf98af7ee,
+0x1818f8d4,0x46204606,0xfaaef001,0x46202101,0xfdb0f7f9,0x1d14f8d4,
+0xf8d4b131,0xf7e9073c,0x2300fedf,0x3d14f8c4,0x1d2cf8d4,0xf8d4b131,
+0xf7e9073c,0x2300fed5,0x3d2cf8c4,0x0534f641,0xb1295961,0x073cf8d4,
+0xfecaf7e9,0x51632300,0x07fcf8d4,0xf001b120,0x2300fac5,0x37fcf8c4,
+0x554cf504,0xb1186828,0xfe6af000,0x602b2300,0x37d8f8d4,0x2300b113,
+0x37d8f8c4,0x4554f241,0xb1185960,0xfb82f001,0x51632300,0x1750f8d4,
+0x6ca0b141,0x2754f8d4,0xf88ef7e7,0x60e32300,0x3750f8c4,0x46224918,
+0xf7ee4620,0x4620f9c9,0x46224916,0xf9c4f7ee,0xb11868a0,0xfaf0f7e3,
+0x60a32300,0x0288f243,0xb10b58a3,0x50a32300,0x0800f8d4,0xf000b120,
+0x2300fced,0x3800f8c4,0x07f8f8d4,0xf001b120,0x2300fac3,0x37f8f8c4,
+0x46216ca0,0x3204f243,0x0501f1d6,0x2500bf38,0xf85af7e7,0xbd704628,
+0x0001a394,0x0001a39f,0x4ff0e92d,0x9005b091,0xf243460c,0x21003004,
+0x46994615,0xa06cf8dd,0x8078f8dd,0x6068f89d,0xfe66f7e6,0x28004607,
+0x8478f000,0xf2432100,0xf7e43204,0xf507fce9,0x33046328,0xf8c79a05,
+0xf5073848,0x330c6304,0x3844f8c7,0x273cf8c7,0x46384649,0x9000f8c7,
+0xa048f8c7,0x8808f8c7,0x603df887,0xfdc2f7ee,0xf7e94638,0x683bff97,
+0x6774f887,0x3740f8c7,0x63ecf507,0x375cf8c7,0x62eaf507,0xf8c73b0c,
+0x4628a748,0x93029201,0x9a1c4651,0xf8cd9b1d,0xf7ff8000,0xf8c7fc87,
+0xb908074c,0xe333230b,0x8750f8d7,0xf8c760b8,0x4640800c,0xf7e44991,
+0xb120fa11,0x460a2100,0xf8d8f7e4,0x4640b284,0xf7e4498d,0xb120fa07,
+0x460a2100,0xf8cef7e4,0x4620b285,0xf7e94629,0xb908fef5,0xe313230c,
+0xf6402200,0xf8a70112,0xf8a74826,0xf8d75828,0xf7e3074c,0xf8c7fbef,
+0xf8d70758,0xf7e3074c,0x68bafc99,0x0744f8c7,0x6b116078,0xb758f8d7,
+0x3306f244,0xf8c74299,0xd117b80c,0x2b026b53,0x6b91d91a,0xd1052902,
+0x2828f8b7,0x3303f244,0xd117429a,0x2828f8b7,0x3321f244,0xd002429a,
+0x429a3303,0x2901d108,0xe005d10c,0x3311f244,0xd1014299,0xb12b6b53,
+0x1380f44f,0xf0034103,0xe0000001,0xb9082000,0xe2cd230d,0x074cf8d7,
+0xf9d0f7e3,0x21004638,0xff3ef7ea,0xf04f4638,0xf7eb31ff,0x4638f835,
+0xfe44f7ea,0x230eb908,0x495ae2ba,0xf7e44640,0x68baf9c1,0xbf0828ff,
+0xb2802001,0x0384f8a7,0xb1b86a51,0xd80128ff,0xe0142401,0x3b010b03,
+0xd80f2b01,0x2303f3c0,0xd80b2b09,0xf3c0b153,0x2b091303,0xf000d806,
+0x2b09030f,0x2400bf8c,0xe0002401,0x6a922400,0x43e4f241,0xd110429a,
+0x6382f5a1,0x2b013b07,0x283fd801,0xf240e007,0x4299430c,0x3315d004,
+0xd1024299,0xd8002850,0xb90c2400,0xe27b230f,0x4640493b,0xf982f7e4,
+0xf887493a,0x46400386,0xf97cf7e4,0xf8c74938,0x46400388,0xf976f7e4,
+0x174cf8d7,0x038cf8c7,0xf2416a8a,0x429a036b,0x6a4bd10c,0xd1092b4e,
+0x3384f8b7,0xd9052b40,0x3388f8d7,0x0302f043,0x3388f8c7,0x3388f8d7,
+0x0f20f013,0x2301d102,0x37c0f887,0x3324f244,0xd014429d,0x429d3b0b,
+0x3b07d011,0xd00e429d,0x429d3316,0x3303d00b,0xd008429d,0x429d3b17,
+0x3307d005,0xd002429d,0x429d3319,0x2302d101,0x2301e000,0x3770f8c7,
+0x3770f8d7,0xf8c74638,0x230132f0,0x3840f8c7,0xf8daf001,0x0818f8c7,
+0x2310b908,0xf244e220,0x429d3321,0x3b0ed01e,0xd01b429d,0x429d3307,
+0x3310d018,0xd015429d,0x429d3b14,0x3307d012,0xbf14429d,0x26012600,
+0x46c0e00d,0x0001a3b2,0x00016ec0,0x0001a3b9,0x0001a3c2,0x00016ee4,
+0x0001a3ca,0x46312601,0xf7eb4638,0xf8d7f823,0x2e002848,0x2302bf0c,
+0x60532301,0xf8d76096,0xf8d7074c,0xf7e34844,0x6020f8bb,0x074cf8d7,
+0x4844f8d7,0xf8b0f7e3,0x380cf8d7,0xf8d36060,0x6879315c,0xf8c74ab6,
+0xf8c73830,0x23063834,0x2303fb01,0x0844f8d7,0x475cf8d7,0xf8d76303,
+0x46383848,0xf8d7685a,0x46593818,0x463b9300,0xfe84f000,0xb9086020,
+0xe1c12311,0x375cf8d7,0x684b6819,0xd0012b01,0xe1b92312,0x2848f8d7,
+0x030ff04f,0x3130f8a2,0x33fff240,0x3132f8a2,0x60116853,0xd1152b02,
+0x73133b01,0xf24468b9,0x6b0a3306,0xd106429a,0x2b026b8b,0xf8d7d103,
+0x23002848,0xf8d77313,0x46383848,0x7b1a2103,0xfd48f7e9,0x2848f8d7,
+0x2b026853,0x3b01d101,0xf8d77313,0xf2422848,0x68100356,0x42998a01,
+0x3b01d806,0xd2344299,0x42993b05,0xe030d009,0x0360f242,0xd01f4299,
+0x43f5f24e,0xd0214299,0x7c83e027,0xd1052b01,0x033bf06f,0x3120f8c2,
+0xe004334b,0x0345f06f,0x3120f8c2,0xf8c2335a,0xf8d73124,0xf4133388,
+0xd0195f80,0x3120f8d2,0xf8c23b02,0xe0133120,0x034af06f,0x3120f8c2,
+0xe00b335a,0x0395f06f,0x3120f8c2,0x7396f503,0xf06fe004,0xf8c2034a,
+0x335f3120,0x3124f8c2,0x1848f8d7,0xf8d14638,0xf8c13120,0xf8c1311c,
+0xf8d13114,0xf8c13124,0x31143118,0xf9cef7ec,0x1848f8d7,0x237f2200,
+0x0014f101,0x31749300,0x92014613,0xfce6f7f8,0x495f4b5e,0x0750f8d7,
+0xbf082e00,0xf7e44619,0xb2c0f82d,0x4b5bb940,0xf8d7495b,0x2e000750,
+0x4619bf08,0xf822f7e4,0x1e43b240,0xd9012b0e,0xe0392300,0x6b1a68bb,
+0x3325f244,0xd001429a,0xd1052801,0x3209f642,0x54bb2300,0xe0063201,
+0xd1052802,0xf6422301,0x54bb3209,0x54bb18d2,0x494b4b4a,0x0750f8d7,
+0xbf082e00,0xf8d74619,0xf7e34848,0xf884fffb,0xf8d70109,0xf8911848,
+0x2bff3109,0xf897d108,0x2a012386,0x2308d104,0x3109f881,0xe0074613,
+0x0205f343,0xeb03099b,0xf8810382,0x23013109,0x3314b90b,0xf1b6e0d4,
+0xf43f3fff,0x2100aeb0,0xf7e94638,0x2103ff03,0xf7eb4638,0x4b33f801,
+0x681c4d33,0x0758f8d7,0x7340f04f,0xf8c04629,0xe0153160,0x78ca790b,
+0xea43041b,0x798a6302,0x794a4313,0x2302ea43,0x3164f8c0,0x780a784b,
+0xea43021b,0x788a4302,0x43133107,0x3164f8c0,0x0301ebc5,0xd3e542a3,
+0x49224640,0xffaaf7e3,0x360bf642,0x492055b8,0xf7e34640,0xf507ffa3,
+0x340b542c,0xf6427823,0xf5073810,0x3510552c,0x0008f807,0x3301b90b,
+0x462055bb,0xf7e32101,0xf642fef9,0xb2c0330c,0x330154f8,0x782b54f8,
+0x3301b913,0x3008f807,0x21014628,0xfeeaf7e3,0x3311f642,0x54f8b2c0,
+0x33012400,0xe01d54f8,0x0001bcfc,0x0001a3db,0x0001a3d6,0x0001a3e4,
+0x0001a3e0,0x000177c2,0x0001a3e8,0x00025010,0x0001e6e4,0x0001a3ec,
+0x0001a3f4,0x46384621,0xfe5af7ea,0xf7ea4638,0x3401fc2d,0x3840f8d7,
+0xd3f3429c,0xf8d72300,0x4aad074c,0x970049ad,0xfee0f7e2,0x21004638,
+0xff6af7ed,0x0750f8d7,0xf7e349a9,0x4603ff23,0xf10db978,0x49a7041a,
+0x4620221f,0xf8f4f7e4,0x0750f8d7,0xf7e34621,0x4603ff15,0x2315b908,
+0xf507e02a,0xf1086802,0x46180818,0xf7e34641,0xf897fe37,0xf8971839,
+0xf897283a,0xf8976838,0xea01083b,0xf8970302,0xea06483c,0xf8970303,
+0xea00583d,0xea040303,0xea050303,0x2bff0303,0xea41d009,0xea460302,
+0xea400303,0xea440303,0x431d0303,0x2316d102,0xe140461c,0x99054638,
+0x464b4652,0xff3cf000,0x07f8f8c7,0x241fb908,0x4638e135,0xf94cf000,
+0x0800f8c7,0x243db908,0x4981e12d,0xf7e368f8,0xf243fef1,0x52f82310,
+0x68f8497e,0xfeeaf7e3,0x2312f243,0x463852f8,0xf962f7ea,0x3848f8d7,
+0xf6426818,0x5cf93309,0xfda8f7f3,0x5046f507,0x22064641,0xf7e43042,
+0x4641f967,0xf1072206,0xf7e4004c,0x4638f961,0xff82f000,0x4354f241,
+0xb90850f8,0xe0fe2429,0xf0004638,0xf8c7fead,0xb90807fc,0xe0f62435,
+0xf0004638,0xf507fa4d,0x6018534c,0xf0402800,0x243680d1,0xf8d7e0eb,
+0x68183848,0xf7f16859,0xf507fa11,0x801853b7,0x3848f8d7,0x54b6f507,
+0xf8d36818,0x68068004,0xf9f6f7f1,0x34242500,0x23ffb2c0,0x90039301,
+0x46204643,0x46324629,0x95029500,0xfbd0f7f8,0x22904649,0x50baf507,
+0xf91ef7e4,0x22904649,0x703df507,0xf918f7e4,0x0206f04f,0x26fcf8a7,
+0x0305f04f,0x7225f44f,0x33a0f8a7,0x23a2f8a7,0x0301f04f,0x02c4f04f,
+0xf8a74c43,0xf8a73634,0x46292636,0x4b424a41,0x95004638,0xf7f89701,
+0x1d23ff27,0x0007e893,0xe883466b,0x68230007,0x21074638,0xf7f8463a,
+0x2206ff4f,0x003af10d,0xf7e44938,0xf8b7f8e9,0xf2442828,0x429a3321,
+0x3b0ed011,0xd00e429a,0x429a3307,0x3310d00b,0xd008429a,0x429a3b14,
+0x3307d005,0xbf14429a,0x24012400,0x2401e000,0xf8d74638,0x46221dc8,
+0xfac4f7ef,0xb1084605,0xe06c2439,0x013af10d,0x46384622,0xf9d8f7f9,
+0x739cf44f,0xf103fb04,0xf8c219ca,0x28000a94,0x2301d05c,0xf8d27603,
+0xf5010a94,0x1879612f,0x310830f0,0xf7e42228,0xf1b4f8ab,0xd0b83fff,
+0x2398f8d7,0x605ef507,0x300432c0,0xf7e32110,0x6cbafe17,0x60d74b12,
+0x9a1f6093,0x6015b102,0xe0404638,0x9b1f241e,0x4618b90b,0x9a1fe03b,
+0x60142000,0x46c0e037,0x0000b57d,0x0000b569,0x0001a3ff,0x0001a3fc,
+0x0001a407,0x0001a41a,0x0001a850,0x00009811,0x000095e1,0x0001a116,
+0x000072f1,0x59b4f507,0x0930f109,0x22902100,0xf7e44648,0xf241f84d,
+0xf04f63dc,0x52fa0264,0x33302203,0x463854fa,0x23012200,0x512cf44f,
+0xfb18f7ef,0xf43f28ff,0xe71aaf16,0x46382437,0xfa88f7ff,0xb011e7bf,
+0x8ff0e8bd,0x4604b510,0x4906b150,0x68004622,0xfcbef7ed,0x46216823,
+0x22046c98,0xfb74f7e6,0x46c0bd10,0x0001a95c,0x2100b530,0xb0854605,
+0xf7e62004,0xb908f98d,0xe0104604,0x22042100,0xf7e44604,0x4b07f811,
+0x93006025,0x93012300,0x46289302,0x4a054904,0xf7ff4623,0x4620fa2b,
+0xbd30b005,0x0000c9a1,0x0001a8a8,0x0001a95c,0x43f0e92d,0xf89db087,
+0xf8dd4038,0x9400904c,0x46989c0f,0x9c109401,0x9014f8cd,0x9c119402,
+0x9c129403,0xf7ff9404,0x4605fae3,0xf8d9b918,0x48494000,0xf44fe00a,
+0x21007035,0xf950f7e6,0x07a0f243,0x51e84604,0x4844b928,0x4a444641,
+0xf812f7e4,0x2100e063,0x7235f44f,0xffccf7e3,0x237f59ea,0x60156055,
+0x36fff885,0x24006853,0x4700f883,0x94014b3b,0x94029300,0x493a4628,
+0x59eb4a3a,0xf9def7ff,0xb1084606,0xe7dd4838,0x073cf8d5,0x59ea4937,
+0xf7e94b37,0xf8c5f917,0xb9300d14,0x46414835,0xf7e34a2d,0x4634ffe5,
+0x59eae035,0xf8852301,0x49316d09,0x32c4f8c2,0xf7e368e8,0x4604fd03,
+0x482e4621,0xffd4f7e3,0x4620b144,0xf7e3492c,0xb918feed,0x230259ea,
+0x32c4f8c2,0x04a0f243,0x4828592b,0x12c4f8d3,0xffc2f7e3,0xf0005928,
+0x4603f851,0x4604b110,0xe7a34823,0x0f00f1b9,0xf8c9d001,0x592a0000,
+0xf8c24820,0x49203218,0xfb52f7e6,0xf8c9e002,0xb90d4000,0xe0134628,
+0x04a0f243,0xb15a592a,0x4628490e,0xfbf4f7ed,0x59296ca8,0x7235f44f,
+0xfaaaf7e6,0x512b2300,0xf7ff4628,0x2000f9a7,0xe8bdb007,0x46c083f0,
+0x0001ac01,0x0001ac1e,0x0001a9ec,0x0000d0e9,0x0001a9fc,0x0001ac40,
+0x0001ac50,0x0000d059,0x0001b70f,0x0001ac76,0x0001aca2,0x0001acaa,
+0x0001acbd,0x0001acc1,0x0001acdb,0x0001ad0a,0x0000cf69,0x2100b510,
+0xf44f4604,0xf7e660e1,0xf8c4f89b,0xb3400220,0xf44f2100,0xf7e362e1,
+0x2080ff1f,0xf7e62100,0xf8c4f88f,0xb1e002c0,0x22802100,0xff14f7e3,
+0x490e480d,0xf7e64622,0x480dfaf3,0x4622490d,0xfaeef7e6,0x4622480c,
+0xf7e6490c,0x2200fae9,0x46102308,0x2224f8c4,0x322cf8c4,0x2230f884,
+0x2001e000,0x46c0bd10,0x0001ae5b,0x0000da1d,0x0001ae64,0x0000da99,
+0x0001ae6c,0x0000d9f1,0x4601b510,0x6803b128,0x72bef44f,0xf7e66c98,
+0x2000fa33,0x46c0bd10,0x2100b5f0,0x4604b087,0x70bef44f,0xf84cf7e6,
+0x28004605,0x81a9f000,0xf44f2100,0xf7e372be,0xf640fecf,0xf44f108a,
+0x80e8539b,0x4050f241,0x8168812b,0x53a4f241,0x6044f241,0x81ab602c,
+0x462e81e8,0x2100462a,0xf44f186b,0x82186080,0x76932350,0x231d3102,
+0x320177d3,0xd1f3290a,0xf8852308,0x3b013024,0x3025f885,0x3026f885,
+0xf8852303,0xf06f3027,0xf8850301,0xf8853029,0xf885302a,0xf885302b,
+0xf06f302c,0x24000305,0x3036f885,0x3037f885,0x3038f885,0x3039f885,
+0x303af885,0x303bf885,0x303cf885,0x303df885,0x303ef885,0x030df06f,
+0x4028f885,0x402df885,0x402ef885,0x402ff885,0x4030f885,0x4031f885,
+0x4032f885,0x4033f885,0x4034f885,0x4035f885,0x303ff885,0x3040f885,
+0x3041f885,0x3042f885,0x3043f885,0x3044f885,0x0048f105,0x3045f885,
+0x0124f105,0x3046f885,0x3047f885,0xf7e32224,0x1c63fe77,0xb2dc2200,
+0x206cf886,0x207bf886,0x2c0f3601,0x18abd1f5,0x24003201,0xf8832ae1,
+0xd1f8408a,0xf8852328,0x2324316b,0x316cf885,0x70b8f505,0xf5052320,
+0xf88571b4,0xf885316d,0xf885316e,0xf885316f,0x30013170,0x22063103,
+0xfe4ef7e3,0x46274e82,0x23124881,0x0003fb07,0xfd42f7e8,0x7bf2b318,
+0x2a018a34,0xd1187bb3,0xd0102b03,0xd0022b05,0xd00c2b02,0x2100e017,
+0xf7e3460a,0xa906fa4b,0x0d02f821,0x19282202,0xfe2ef7e3,0x2100e00b,
+0xf7e3460a,0x5528fa3f,0x3b02e005,0xd8022b01,0xf7ef1929,0x3701ffd5,
+0x2f223612,0xf895d1d0,0x486a3020,0x3021f885,0x3022f885,0x3023f885,
+0xfd0ef7e8,0x2210b1b0,0x0106f10d,0xffc0f7ef,0xd10f2804,0x3006f89d,
+0x3143f885,0x3007f89d,0x3147f885,0x3008f89d,0x314bf885,0x3009f89d,
+0x314ff885,0xf7e8485a,0xb190fcf3,0xf10d2210,0xf7ef0106,0x2803ffa5,
+0xf89dd10b,0xf8853006,0xf89d3093,0xf8853007,0xf89d3097,0xf8853008,
+0x4850309b,0xfcdcf7e8,0x2210b330,0x0106f10d,0xff8ef7ef,0xd11f2808,
+0x3006f89d,0x30adf885,0x3007f89d,0x30aff885,0x3008f89d,0x30b1f885,
+0x3009f89d,0x30b3f885,0x300af89d,0x30b5f885,0x300bf89d,0x30b7f885,
+0x300cf89d,0x30b9f885,0x300df89d,0x30bbf885,0xf7e8483b,0xb1b0fcb1,
+0xf10d2210,0xf7ef0106,0x2804ff63,0xf89dd10f,0xf8853006,0xf89d30bf,
+0xf8853007,0xf89d30c3,0xf8853008,0xf89d30c7,0xf8853009,0x482f30cb,
+0xfc96f7e8,0x2210b390,0x0106f10d,0xff48f7ef,0xd12b280b,0x3006f89d,
+0x30eff885,0x3007f89d,0x30f3f885,0x3008f89d,0x30f7f885,0x3009f89d,
+0x30fbf885,0x300af89d,0x30fff885,0x300bf89d,0x3103f885,0x300cf89d,
+0x3107f885,0x300df89d,0x310bf885,0x300ef89d,0x310ff885,0x300ff89d,
+0x3113f885,0x3010f89d,0x3117f885,0xf7e84814,0xb1b0fc5f,0xf10d2210,
+0xf7ef0106,0x2804ff11,0xf89dd10f,0xf8853006,0xf89d3120,0xf8853007,
+0xf89d3124,0xf8853008,0xf89d3128,0xf8853009,0x4628312c,0xbdf0b007,
+0x0001af0c,0x0001b170,0x0001b179,0x0001b182,0x0001b18b,0x0001b194,
+0x0001b19e,0x4604b570,0xd0562800,0x1e5d6d03,0x2d006505,0xf8d0d151,
+0xb1291d38,0xf44f6c43,0x6c987280,0xf858f7e6,0x1d40f8d4,0x6c63b129,
+0x7280f44f,0xf7e66c98,0xf8d4f84f,0xb1291d3c,0xf44f6c63,0x6c987280,
+0xf846f7e6,0x1d44f8d4,0x6c63b129,0x7280f44f,0xf7e66c98,0xf8d4f83d,
+0xb1211d48,0x220e6c63,0xf7e66c98,0xf241f835,0x59a11690,0x6be3b129,
+0x073cf8d3,0xfe40f7e8,0xf8d451a5,0xb1311c24,0xf8d36be3,0xf7e8073c,
+0xf8c4fe37,0x69615c24,0x42a2680a,0x6ce3d102,0xe003600b,0x42a36cd3,
+0x64d5bf08,0x46216c63,0xf2416c98,0xf7e632ec,0xbd70f80f,0x4ff0e92d,
+0x21004688,0x4607b089,0x68804691,0x469a460a,0xb048f8dd,0xfbf0f7e2,
+0x0f08f010,0xd00a4606,0x4000f8db,0x4650b13c,0xf7ea6a21,0x6d23f89d,
+0x65233301,0xf241e18e,0x210030ec,0xfe10f7e5,0x28004605,0x818ef000,
+0xf2412100,0xf7e332ec,0xf50afc93,0x642b63e8,0xf1b92301,0xf8c50f02,
+0x646fa03c,0x8048f8c5,0xb014f8c5,0x3037f885,0xf016d105,0xbf1c0f01,
+0x5300f44f,0x6a29622b,0xf7ea4650,0x6cabf871,0x33e0f8b3,0xf3c3b29b,
+0xf0032103,0x0b1b020f,0x61a92902,0x626b61ea,0x2904d906,0x2905d004,
+0x2906d002,0x815cf040,0x46282101,0xff08f7ef,0x46282101,0xfe62f7ef,
+0x24016cab,0x43f6f8a3,0x33f8f8b3,0xea404626,0xf3c04003,0xb29a330f,
+0xf242852b,0x0f000363,0xf885429a,0xf040002a,0x2100813f,0xf7f04628,
+0x4628fcb5,0xfebcf7ef,0xf8c5233c,0x23143db4,0xf885220a,0xf2413030,
+0x54ea13f0,0x2203191b,0x54ea2100,0x0308f04f,0x1db8f8c5,0x4054f885,
+0x3dc2f8a5,0x426cf885,0x3101186a,0x292d237f,0x31c9f882,0x313cf882,
+0xf04fd1f6,0xf8a533ff,0x6c6b324e,0x3388f8d3,0x3f80f413,0x2301d104,
+0x3033f885,0x3d54f885,0x24006c6b,0xf7e26898,0xf8c5fa59,0xf8c54fa4,
+0x6be80df4,0xf7e96c6e,0x2802f8e5,0x80d4f040,0x68f04980,0xf98af7e3,
+0x0f85f885,0x68f0497e,0xf984f7e3,0x0f88f885,0x68f0497c,0xf97ef7e3,
+0x0f89f885,0x68f0497a,0xf978f7e3,0x0f8af885,0x68f04978,0xf972f7e3,
+0x0f8bf885,0x68f04976,0xf96cf7e3,0x0f8cf885,0x68f04974,0xf966f7e3,
+0x0f8df885,0x68f04972,0xf960f7e3,0x0f8ef885,0x68f04970,0xf95af7e3,
+0x0f8ff885,0x68f0496e,0xf954f7e3,0x0f90f885,0x68f0496c,0xf94ef7e3,
+0x0f91f885,0x68f0496a,0xf948f7e3,0x0f92f885,0x496868f0,0xf942f7e3,
+0xf980fa5f,0xf889fa5f,0x8084f885,0x463b4627,0x4a632120,0xf7e34668,
+0x68f0fc11,0xf7e34669,0xeb05f931,0x37010347,0xf8a32f03,0xd1ee0060,
+0x1cfb2700,0x4a5a2120,0xf7e34668,0x68f0fbff,0xf7e34669,0xeb05f91f,
+0x37010347,0xf8a32f03,0xd1ee0066,0x1dbb2700,0x4a512120,0xf7e34668,
+0x68f0fbed,0xf7e34669,0xeb05f90d,0x37010347,0xf8a32f03,0xd1ee006c,
+0x494a68f0,0xf8def7e3,0xb3184604,0x460a2100,0xffa4f7e2,0xf789fa4f,
+0x2400b280,0xf000192a,0x3401030f,0x0343eba7,0x2c040900,0x3088f882,
+0x68f0d1f4,0xb2ff493e,0xf8e8f7e3,0xf000192a,0x3401030f,0x0343eba7,
+0x2c0c0900,0x3088f882,0xe021d1f4,0x493768f0,0xf8b4f7e3,0x4621b120,
+0xf7e24622,0xb2c0ff7b,0x8088f885,0x8089f885,0x808af885,0x808bf885,
+0xebc02204,0xb2d90308,0x320118ab,0xf8832a0c,0xd1f61088,0x320118ab,
+0xf8832a14,0xd1f91088,0xf8da6d2b,0x3301073c,0x696b652b,0x681b4924,
+0x64eb462a,0x5000f8cb,0xf7e84b22,0x4604fc87,0x0c24f8c5,0x6c6bb940,
+0x6c984629,0x32ecf241,0xfe62f7e5,0xe00e4620,0xf1054628,0x22140118,
+0xfb2af7e3,0xe0064628,0x46296cb8,0x32ecf241,0xfe52f7e5,0xb0092000,
+0x8ff0e8bd,0x0001b634,0x0001b63a,0x0001b640,0x0001b647,0x0001b651,
+0x0001b65b,0x0001b665,0x0001b674,0x0001b683,0x0001b692,0x0001b6a0,
+0x0001b6ae,0x0001b6bc,0x0001b6c6,0x0001b6cd,0x0001b6d3,0x0001b6da,
+0x0000ef41,0x0001b6de,0x4602b570,0x4905460d,0xf7ec4604,0xb125ff65,
+0x46296ca0,0xf7e52224,0xbd70fe1b,0x0001b6e7,0x2100b530,0x4605b085,
+0xf7e52024,0x4604fc35,0x2100b1b8,0xf7e32224,0x230ffabb,0x332d6063,
+0x333c60a3,0x230360e3,0x4b076123,0x93004628,0x49074b06,0x4b079301,
+0x93024a07,0xf7fe462b,0x4620fccd,0xbd30b005,0x00014629,0x00014525,
+0x0001b1f8,0x000145e1,0x0001b6e7,0x4605b570,0x6844b150,0x462a4905,
+0xf7ec4620,0x6ca0ff25,0x22484629,0xfddcf7e5,0xbd702000,0x0001b824,
+0x4605b57f,0x20482100,0xfbf6f7e5,0xb1b04604,0x22482100,0xfa7cf7e3,
+0x60654b10,0x93002600,0x490f4628,0x46234a0f,0x96029601,0xfc96f7fe,
+0x4621b128,0x22486ca8,0xfdbaf7e5,0x22004634,0xf8842301,0x4620202d,
+0xf884325f,0xf8843045,0xf884202c,0xb0043031,0x46c0bd70,0x000157bd,
+0x0001b8fc,0x0001b824,0x4604b570,0xf8d0b1a0,0x690511f8,0xf8d5b131,
+0xf7e8073c,0x2300fbad,0x31f8f8c4,0x46224905,0xf7ec4628,0x6ca8fed5,
+0x69624621,0xfd8cf7e5,0x46c0bd70,0x0001bbaa,0x47ffe92d,0x56bcf240,
+0x46894680,0x21004630,0xf7e54692,0x4604fba1,0xd0562800,0x46322100,
+0xfa26f7e3,0x33fff04f,0xf04f61a3,0xf8a40314,0xf04f3208,0xf8a40328,
+0xf04f3206,0xf8a4032d,0xf04f3204,0x270003fa,0x320af8a4,0xf8842302,
+0x4920320c,0x4b204622,0xf8c46166,0x70a78010,0x720df884,0xf7e84648,
+0x2305fb6d,0x710ef504,0x723bf504,0x321cf8c4,0xbf0c42b8,0x35fff04f,
+0x3337463d,0x01f8f8c4,0x1218f8c4,0x2228f8c4,0x322cf8c4,0x1214f8c4,
+0x2224f8c4,0x4b0fb97d,0x93024640,0x4a0e4629,0x95004623,0xf7fe9501,
+0xb150fc05,0xf8d44648,0xf7e811f8,0x4621fb3d,0x46324650,0xfd24f7e5,
+0x4620463c,0xe8bdb004,0x46c087f0,0x000162a5,0x0001bbba,0x000161a1,
+0x0001bbaa,0x4601b510,0xf8d0b128,0x22cc30c8,0xf7e56c98,0xbd10fd0d,
+0x2100b570,0x20cc4605,0xfb2af7e5,0xb1404604,0x22cc2100,0xf9b0f7e3,
+0x731ef44f,0x50c8f8c4,0x46206223,0x46c0bd70,0x0360bc01,0x034e1000,
+0xf002debf,0xa803580a,0x00f0025e,0x5ea6030a,0x0a00f002,0x535e8202,
+0x020a0000,0x00af5e85,0x88020a00,0x0000b3de,0x8084020a,0x0a0000c3,
+0xff63bc01,0x0040f01f,0xf002de00,0x01000000,0x00f0025e,0x60800100,
+0x6c900d02,0x025e5903,0x030d00f0,0xf0025ed8,0xd8030e00,0x00f002de,
+0x0004020f,0x120000bf,0x23450102,0x01120000,0x000360bc,0x01021511,
+0x00002345,0x42000215,0x1900001f,0x025e0200,0x02d30bf0,0x00b3de01,
+0x6b001900,0x20d36444,0xc585021a,0x19000023,0x025e0200,0x019b0bf0,
+0xf502e089,0x0102ac97,0x000023c5,0xe088011c,0xac97f502,0x8361bc01,
+0x00291100,0x007b00b0,0xbc012b11,0x11000363,0x5e120323,0x1c09f002,
+0x025e9703,0x028509f0,0x00b38101,0x85022f00,0x000023c5,0x8187022f,
+0x280000b3,0x02dea303,0x032f00f0,0xf002dea0,0x02002f00,0x09f0025e,
+0xe0870175,0x6c800d04,0x6444e000,0x00bdb70d,0xf766446b,0xbc0129a0,
+0x97010360,0x60bc0180,0x81370003,0x6b60bc01,0x018a5000,0x060360bc,
+0xbf039237,0x01f002de,0x5ed003ee,0x3302f002,0x02ded003,0x03fb03f0,
+0xf002ded5,0x9103df08,0x04f0025e,0xde96036c,0xda08f002,0x025e0200,
+0x02c10bf0,0x0073c188,0xc4035400,0x05f0025e,0x5ec703bf,0xd905f002,
+0x02dedc03,0x03670df0,0xf0025eaa,0x83032006,0x07f0025e,0xde910328,
+0xe104f002,0x02dec203,0x014e09f0,0x020360bc,0x02003e00,0x0ef0025e,
+0xde0603a5,0x4100f002,0x025e2303,0x021509f0,0x0037c087,0xd4031509,
+0x05f002de,0xde230352,0x4600f002,0x025edb03,0x034500f0,0xf002debf,
+0x02000200,0x0cf0025e,0x5e02008c,0xa00cf002,0x025ea203,0x035100f0,
+0xf0025e56,0x86014f00,0x10090660,0x5e1f0348,0x4f00f002,0x235e6a00,
+0x004e0000,0x002700b0,0xe8008817,0x3700235e,0x5ea60388,0xa400f002,
+0x0e602800,0x03c5e008,0xf002dec4,0x2000ab09,0x200003c2,0xdebf03d5,
+0x1801f002,0x025e8103,0x035600f0,0xf002de00,0x88013600,0x900b02e0,
+0xdebf035c,0x2102f002,0x63408702,0x01580000,0xf4066086,0x86021830,
+0x00006340,0x5eb0005a,0xa1170087,0x02de0200,0x020000f0,0x00634087,
+0xb0005d00,0x10008b5e,0xe0860119,0x1830f406,0xafde8102,0x02620000,
+0x0063c086,0xb0006100,0x1700875e,0xde0200a1,0x0000f002,0x0360bc01,
+0x02068002,0x0007de80,0xda016e00,0x17f00260,0x5e080280,0x7e000007,
+0x0360bc01,0x00a1171e,0xf4025ee0,0xbc016530,0x171c0360,0x5ee000a1,
+0x6430f402,0x0360bc01,0x038d2600,0xf002debf,0x10018400,0x1700035e,
+0x5e8800a1,0xa2370087,0x865ee000,0x00a157f4,0xf45a01e0,0x86026330,
+0x0000c300,0x56b00077,0x6210000b,0x0354b000,0x01621000,0x000360bc,
+0xbf038d26,0x00f002de,0x41b00086,0x6210008f,0x03de0901,0x00a11700,
+0x00875e88,0xe000a157,0x37d4845e,0x5ee000a1,0x06c00387,0x0360bc01,
+0x038d4600,0xf002debf,0xbc018600,0x17020760,0x5ee000a1,0x6530f402,
+0x0760bc01,0x00a11700,0xf4025ee0,0xbc016430,0x00180360,0x60bc0106,
+0x8d060003,0x035ab000,0x00621000,0x000358b0,0x05016310,0x17004301,
+0x008800a1,0x0620f41a,0x02de0200,0x000000f0,0x003340e8,0xb000a197,
+0x17000b40,0x5e6d00a3,0x8e60f486,0x8f5e9000,0x03a33700,0xf002debf,
+0x90008f00,0x3700875e,0x5ee000a3,0xa337008e,0x9741f001,0x00a11700,
+0xf486de6d,0x8702a260,0x000097c1,0x5a380196,0xa1170003,0x035a3c01,
+0x03a21700,0xf002debf,0x3c019800,0x1700035a,0x5a3801a1,0xa2170007,
+0x865e6800,0x009d80f4,0x008b5ed8,0xe100a237,0x50f49641,0xc1e10065,
+0x65300097,0x02debf03,0x009000f0,0x008b5ed8,0xe100a237,0x57f49641,
+0xdee100a1,0xa1370087,0x875ef001,0x00a11700,0xf486de6e,0xbc01a360,
+0xf71fff63,0xde0200a4,0x0000f002,0x8ee32000,0x02020009,0x00b35e81,
+0xa8030200,0x00f002de,0xde1e030a,0xab00f002,0x025e9f03,0x00ab00f0,
+0xf0025e02,0xbf03cc00,0x00f002de,0x41080202,0xa900001f,0x025e0200,
+0x007509f0,0x00ab00b0,0xb0008610,0x10006301,0x5e02008a,0x500bf002,
+0x0360bc01,0x00921704,0x003b00b0,0x90011d11,0x10090660,0xdea10348,
+0xc000f002,0x06e08101,0x01481009,0x000360bc,0xbc014290,0x11000360,
+0xde9e032d,0xc300f002,0x02608401,0x009497f2,0x001745b0,0xb0008f17,
+0x1700175e,0x44000290,0xbe00001f,0x02608501,0x01481009,0x00076081,
+0xf0014710,0x37000fde,0x44a000a1,0x4531f4b6,0x02de9e03,0x01c300f0,
+0x123761bc,0xbf0380b0,0x00f002de,0x61bc0102,0x80701027,0x02debf03,
+0x000200f0,0x0982e020,0x0c010200,0x170053de,0x5e8801a1,0x47100087,
+0x0360bc01,0x01425000,0x001f4108,0x8c01a117,0x97f286de,0xdebf0394,
+0x0200f002,0x0360bc01,0x00429000,0x00235ee8,0x69008837,0x000023de,
+0x00e800d0,0x88370027,0x02608601,0x00481009,0x009b0088,0x90002671,
+0xb1019b00,0x63bc0128,0x24110003,0x02de0200,0x030000f0,0xf0025edb,
+0x2000d500,0x00097ee0,0xc5310102,0xa117001b,0x875e6d00,0x020a8000,
+0x001fc283,0x04020200,0x0000bf00,0x5e9403e0,0x0200f002,0x8f42a000,
+0x0080f701,0x2d005e68,0x020002c0,0x09f0025e,0xdebf0375,0x0a00f002,
+0x8fc20102,0x01020000,0x00630014,0x6800a117,0x6000875e,0x5e020002,
+0x7509f002,0x0f609401,0x00180000,0xf0025e02,0xbf03e700,0x00f002de,
+0x0014010a,0xa1170063,0x875eb000,0x01a51000,0x191360bc,0x68006010,
+0x0000875e,0x41e000ee,0x60500683,0x875ee800,0x03a13700,0xf002debf,
+0x8002ea00,0x0000b350,0x608701f8,0xa0100304,0x6300b000,0x00b41000,
+0x00d342b0,0x88000018,0x30008341,0x60bc01b6,0xb5100a03,0x6300b000,
+0x03b4b000,0xf002de17,0x9703f500,0x00f002de,0x608001f6,0x2c948506,
+0x02de0200,0x000000f0,0x8012e020,0x87011741,0x10030460,0x000302a0,
+0xff0000c7,0x975eb000,0x00b51000,0x086300b0,0x8302b470,0x0000d342,
+0x00b000fe,0xb4100063,0x0360bc01,0x00b5100d,0x006300b0,0xbc01b4f0,
+0x10114760,0x00b000b6,0xb4100063,0x0360bc01,0x02b5d002,0x000b5007,
+0xbc011301,0xd0030360,0x608e01b5,0x9497f202,0x0b500402,0x020c0100,
+0x000bd004,0x86010c01,0x97f20660,0x42e00094,0xb5d000d7,0x0b50a000,
+0x00a11711,0x1187de68,0x86011201,0x97f206e0,0x42e00094,0xb55000d7,
+0x0bd00702,0x00120100,0x00d742e0,0xb000b590,0x1100d742,0x00b000e1,
+0xb4b00063,0x025ea903,0x031701f0,0xf002de17,0x97031501,0x01f002de,
+0xde020016,0x0000f002,0xab1a6800,0x001b0100,0xd564c46c,0xbc010a40,
+0x06000360,0x1a6800aa,0x1e0100a7,0x64c46c00,0x010a20d5,0x000360bc,
+0xa803a906,0x00f002de,0x5edb030a,0x2001f002,0xbee02000,0x03020009,
+0xf0025e90,0x00020a00,0x01001f42,0x6083012c,0x6c900d02,0xbf000402,
+0x03280100,0xf0025e14,0x6e002801,0x61805644,0x60bc0129,0x15110003,
+0x025e2203,0x012e01f0,0x00630014,0x8800a117,0x37f40660,0xc22000a1,
+0x6021f48e,0x02608201,0x03481009,0xf002debf,0xb0000200,0x17007f01,
+0xde9e03a6,0x3401f002,0x02de3803,0x003501f0,0x048f4220,0x94010200,
+0x00001760,0xdebf0318,0x6001f002,0x025e1f03,0x024101f0,0x00c30003,
+0x20003701,0x01028fc2,0x5e25033b,0x4101f002,0x8fc22000,0x003b0102,
+0xff538168,0xbf030ae0,0x01f002de,0x6094013d,0x18000013,0x02debf03,
+0x036001f0,0xf002de9e,0x68004001,0xc10b98de,0x41010240,0xaf0a001f,
+0x02608501,0x00481009,0x0b985e68,0x690045c1,0x61009f5e,0x42980265,
+0x4501008f,0x02debf03,0x026501f0,0x001f4101,0x0402af0a,0x0100bf00,
+0x5e020050,0xe00cf002,0x025e0200,0x00020df0,0x00bb8568,0x84014c01,
+0x77f50660,0xdebf03ab,0xaf0af002,0x87059401,0x02180000,0x00af5e87,
+0x84016001,0x77f50260,0xdebf03ab,0x6001f002,0x9b140002,0x02590100,
+0x002b1600,0xb0005c01,0x17003714,0xde6800a1,0x5921ae84,0x3b14b000,
+0x00a11700,0xae84de68,0xb0005941,0x17003f14,0xde6800a1,0x5961ae84,
+0x87149e02,0x025c0100,0x008fc201,0x94015e01,0x00000f60,0xdebf0318,
+0x6001f002,0x8fc20102,0x015e0100,0x0d066080,0x00026c90,0x0a008fc2,
+0x609401af,0x18000007,0x025e0200,0x02e700f0,0x00bf0004,0x85029401,
+0x01006300,0x60830194,0x6c900d06,0x02debf03,0x019401f0,0x180360bc,
+0xb0006010,0x10007b01,0x00680065,0x6d0100eb,0x135a8800,0x00a11701,
+0xf46644e8,0x6e00a137,0x410784de,0x02e0006d,0xa620009b,0x02debf03,
+0x014b05f0,0x09126090,0x94014810,0x00001f60,0x5a080118,0x8117000f,
+0x065e8801,0x010a5481,0x000f5a34,0x02008017,0x00f0025e,0x01b00064,
+0x6510007b,0x2356b000,0x00a11700,0xa0865ee0,0xe800a197,0xf400845e,
+0x5ee80003,0x16f40084,0x035ab000,0x00131400,0x00075ab0,0xb0001414,
+0x14000b5a,0xde680015,0x85410007,0x9700e800,0x01a15700,0xf0865ebc,
+0x7c011b14,0xf400875e,0x1ab0001c,0x81170037,0x025e0200,0x00780bf0,
+0x007b01b0,0x08016510,0x17000f5a,0x5eb00081,0x1e140087,0x02debf03,
+0x008801f0,0x001756b0,0xb0001b14,0x14001b56,0x54b0001c,0x1e140013,
+0x1350b000,0x00861000,0x00a7006d,0x90018e81,0x10006301,0x41b0008a,
+0x6210008f,0x025e0200,0x004e0df0,0x002b42b0,0xbc010614,0x17180360,
+0xc16d00a1,0x9101208c,0x0360bc01,0x00a19702,0x03845ee0,0xe000a177,
+0x11b0865e,0xdebf031d,0xe701f002,0xc7000302,0x02a40100,0x0003d00c,
+0x1401a401,0x17006300,0x008502a1,0xa4010063,0x87de8000,0x01a2d701,
+0x1e1760bc,0xe000a297,0xb00d8a5e,0xde800065,0xa2b70087,0x0f60bc01,
+0x00a2971c,0x0d8a5ee0,0xb00064b0,0x14009741,0x41b0002e,0x2f140093,
+0x13d86800,0x02b40100,0x00135a00,0x8001a601,0xf4840660,0xdebf0327,
+0x7c04f002,0x03d00102,0x00a60100,0x009b50b0,0x81022b14,0x0200b7d0,
+0xd0060208,0xad010003,0x8650e900,0x00a13723,0x238ad0e8,0x6900a257,
+0x01008bde,0x609101ad,0x27f48416,0x02debf03,0x010b02f0,0x0003d00b,
+0x3c01a117,0x17002b50,0x5e8c01a2,0xa157f486,0x43014801,0x00a21700,
+0xf4865e68,0x9101b441,0xf4841260,0xdebf0327,0x0b02f002,0x0360bc01,
+0x00a51700,0xf0025e02,0xb000f900,0x10001350,0x50b00086,0x8a100017,
+0x03d00c02,0x02c10100,0x00c70003,0xb000be01,0x14009b50,0x5e02002b,
+0xfa0df002,0x46426d00,0x030a80c0,0xf002debf,0x6d00bf01,0x80844a42,
+0x5006010a,0xa1170007,0x86de8201,0x032db485,0xf0025ea2,0x2000d201,
+0x010403d0,0x50b000c7,0xf211004f,0x5350b000,0x00f31100,0x005750b0,
+0xbc01f411,0x91000360,0x010102f0,0xc90100b3,0x06e08701,0x02ab77f5,
+0x00035006,0x0702ce01,0x0100afde,0xde0002ce,0xd20100b3,0x331ae800,
+0x03425100,0xf002debf,0x8102d201,0x03000350,0xd00202e5,0xd10100b7,
+0x2b500802,0x02d20100,0x0003d085,0x9001f703,0xb4851260,0x5ea2032d,
+0xdf01f002,0x0f50b000,0x02161100,0x00b7d002,0xb000d701,0x11005b50,
+0xd0820216,0xdf010003,0xc3478102,0x02d80100,0x004f5080,0x2000dd01,
+0x813fc747,0xc72000df,0x0ac200db,0x02debf03,0x03df01f0,0xf0025ea5,
+0x8002df01,0x0200dfc7,0x5088020a,0xee0100b7,0xb7d08202,0x01e70100,
+0x00275038,0x08018017,0x17001350,0x50020181,0xa1170013,0x865e8201,
+0x008137f0,0x007f50b0,0xbf038910,0x01f002de,0x503801ed,0x8017006f,
+0x2b500801,0x01811700,0x0007d006,0x8201a117,0x37f0865e,0x50b00081,
+0x8a10001b,0x8350b000,0x01891000,0x000b5029,0x02009217,0x00f0025e,
+0x5e020064,0x4b0bf002,0x1b420201,0x01811700,0xd1045e82,0x020081b7,
+0x0bf0025e,0x5ee00078,0xa1170184,0x87ded901,0x02831000,0x00b30100,
+0xe001f701,0x1000b701,0x00040283,0xfa0100bf,0x03508702,0x03fa0100,
+0xf0025e94,0x2203fb01,0x01f0025e,0x61bc01fd,0x80300003,0x02debf03,
+0x010200f0,0x033361bc,0x2b0391b7,0x02f0025e,0x00900003,0xa1970063,
+0x8264e000,0x006530f4,0x00135a6e,0x88010322,0x37f206e0,0xde680091,
+0x0582024b,0x3761bc01,0x0091b703,0x044bde68,0xbc010782,0xb703bb61,
+0xdebf0391,0x0e02f002,0x0e609101,0x0327f484,0xf002debf,0x91010b02,
+0xf4840660,0x60bc0127,0xb4100003,0x06e08101,0x032db485,0xf002debf,
+0x68007c04,0x82044b5e,0xdec40329,0xab09f002,0x03500602,0x02190200,
+0x00afde07,0xbc011902,0x37000361,0x50070291,0x15020003,0x0362bc01,
+0x0291f700,0x00b3de00,0xbc011702,0x77000361,0x01e00091,0x4220000b,
+0x02debf03,0x011a02f0,0x000360bc,0xb0004220,0x1000475e,0x01000280,
+0x200200b3,0x06608201,0x02813010,0x00b38101,0xbc012002,0xb7050360,
+0xdebf0393,0x7a05f002,0x17c56800,0x03020000,0xf002de80,0x81032602,
+0x02f0025e,0xe0880125,0x5c900b0e,0x02debf03,0x030200f0,0xf0025ed0,
+0xbc013302,0x11000360,0x5e02002d,0x830bf002,0x02debf03,0x000200f0,
+0x0017c568,0x1e013102,0x17009f50,0x5e8800a1,0xa237f40e,0x06608800,
+0x00a137f4,0x00875ee8,0xb000a137,0x57f4865e,0x5ea000a1,0xa197f086,
+0xb644a000,0x004531f4,0x00475eb0,0xbf038010,0x00f002de,0x80070202,
+0x360200bf,0x331ab000,0x03421100,0xf0025ec4,0xbc013602,0x90000360,
+0x41a80004,0x48103023,0x0f62bc01,0x01e01100,0xf5026081,0x8701aed7,
+0x77f502e0,0x816800ab,0x3d22000b,0x6744b000,0x01430000,0x0906e082,
+0x81014810,0x900d0260,0x6082016c,0x44912806,0x02e08801,0x015c900b,
+0x000360bc,0xbc018510,0x10000360,0x5e2903b8,0x4602f002,0x02e0d201,
+0x03849010,0xf002debf,0xbc01e802,0x10000360,0x01e00084,0x702000c3,
+0xb3818102,0x035d0200,0xf002de20,0x81017202,0xb7f50660,0xde6800ad,
+0x5da2044b,0xbbde0302,0x004f0200,0x000b26e0,0xbf036510,0x02f002de,
+0x60bc0150,0x6590101b,0x7f5ea000,0x00ec10fe,0x00035ab0,0xb000ed10,
+0x1000075a,0x5ab000ee,0xef10000b,0x0f5ab000,0x01f01000,0x1ee363bc,
+0xbc0184f0,0x30000360,0x60bc0185,0xb4100003,0x0360bc01,0x01a6d001,
+0x040360bc,0xbc01b550,0xd0042360,0x02e000b4,0xab2000af,0x02debf03,
+0x01b602f0,0x1f0360bc,0x030184f0,0x170053de,0x5e8601a2,0xe3701c8a,
+0x93c36a00,0x00690200,0x009043e8,0x0202e4d0,0x02001b42,0x00900067,
+0xa137001b,0x1b422000,0x00664200,0x00871ab0,0xe000a117,0x30f49243,
+0xc36900e4,0x69020093,0x0360bc01,0x01e41000,0x000360bc,0xbc01b410,
+0x10000360,0x60bc01a6,0xb5100203,0x2360bc01,0x00b4d004,0x064b5e68,
+0xe00070a2,0x2000cb01,0xdebf0372,0xb602f002,0xcf01e000,0x03732000,
+0xf002debf,0x2003b602,0x02f0025e,0xe08101bd,0x48100902,0xd701e000,
+0x03752000,0xf002de1e,0xbc019e02,0x17000360,0x5e6a00a2,0x7a020023,
+0x8f420201,0x01a21700,0x098a5e85,0x80014810,0x301006e0,0xde840281,
+0x7e020053,0x1360bc01,0x03a1570d,0xf002debf,0xbc017f02,0x570d0360,
+0x006800a1,0x9e020027,0x845ee000,0x01a1f701,0x101b60bc,0x88006510,
+0x30009741,0x60bc01b6,0xb4100003,0x875e9000,0x01a65000,0x010360bc,
+0xbc01b510,0xb0002360,0xde1703b4,0x8702f002,0x02de9703,0x008802f0,
+0x0087de20,0x20009142,0x220087de,0x5eb8018e,0x8016d022,0x8a5e8001,
+0x038136d0,0xf002debf,0xbc019702,0x16d0225e,0x5e840180,0x8136d08a,
+0x02debf03,0x009702f0,0x0087de20,0xb8019522,0x36d0225e,0x5e800181,
+0x8256d08a,0x02debf03,0x019702f0,0xd0225ebc,0x84018136,0x56d08a5e,
+0x60880182,0xa830f402,0x035ab000,0x00b01000,0x00075ab0,0x8002b110,
+0x0200a342,0x42e0009a,0xa89000a3,0x0b5ab000,0x00b01000,0x000f5ab0,
+0x8701b110,0x90100660,0x5ee00084,0x89370027,0x275eda01,0x01ee1000,
+0x000360bc,0xbc01b410,0x50030360,0x00b000a6,0xb5100033,0x53de8402,
+0x01a70200,0x030760bc,0xb000a650,0x10003700,0x60bc01b5,0xb4d00423,
+0x06608401,0x019497f2,0x09026086,0x9e034810,0x02f002de,0x448002b1,
+0xb402001f,0x3f5eb000,0x01451100,0x000360bc,0xb0008f17,0x1700435e,
+0x5eb00085,0x9017000f,0x02debf03,0x00b402f0,0x000f5eb0,0x80028517,
+0x02001f44,0x44a000b4,0x45b1f0b6,0x0360bc01,0x01421001,0xf2066083,
+0x84019497,0x11000760,0x5ea003e0,0xb203f002,0xaf5e0602,0x01b40300,
+0xf506e086,0xbc01ab77,0x10000360,0x5e020080,0x7b09f002,0x02debf03,
+0x03e104f0,0xf0025ea1,0x81011303,0xd7f50660,0x602000ae,0xd6a2850e,
+0x04608701,0x00a01003,0x006300b0,0xbc01b410,0x100a0360,0x00b000b5,
+0xb4f00063,0xb7d00202,0x00ca0200,0x005f50b0,0xb000e010,0x10006350,
+0x50b000e1,0xe2100067,0x6b50b000,0x00e41000,0x021342b0,0x000284f0,
+0x0200b750,0x00b000d1,0xb4100063,0x0360bc01,0x00b51002,0x046300b0,
+0x8401b4d0,0x11000760,0x60bc01e0,0x8e170003,0x02debf03,0x00b803f0,
+0x00c701e0,0xb0007120,0x10006300,0x60bc01b4,0xb5d00203,0x6300b000,
+0x03b4d004,0xf002debf,0x03014303,0x17000350,0x5eb800a1,0xa1370087,
+0x865e8701,0x02801010,0x0003d00c,0x03021203,0x0200c700,0x60bc01dd,
+0xb2170003,0x27503801,0x02a31700,0x00b7d002,0xb000e802,0x17001323,
+0x50b801a1,0xe030f46e,0x7350b000,0x01a11700,0xf41623b8,0x8501e130,
+0x301c06e0,0x42b000e1,0x84700013,0x6f503801,0x02a31700,0x00134282,
+0xb000e802,0x10007b50,0x42b000e4,0x84100213,0x04608701,0x01a01003,
+0x00735038,0x7c01a117,0x37f46e50,0x5e8800a1,0xb9900087,0xc7000302,
+0x00fb0200,0x00cbde68,0xb000f702,0x1000bb50,0x5abc0165,0xe070f406,
+0x075a3c01,0x01a21700,0xf43e60bc,0xb000e150,0x70001342,0x5ab00084,
+0x8309000b,0x2360bc01,0x00b85001,0x000f2668,0xbf030323,0x03f002de,
+0x60bc0107,0xb8700103,0x0f266800,0x01032300,0x010360bc,0xbf03b870,
+0x03f002de,0xd00c0107,0xa1170003,0x025ea903,0x010003f0,0x012360bc,
+0x6800b850,0x6300875e,0xdebf0303,0x0703f002,0x0360bc01,0x00b87001,
+0x00875e68,0xbc010743,0x70010360,0x000302b8,0x050300c7,0x6750bc02,
+0x01060300,0x1702e081,0xbc01b810,0xf0000360,0x000302a5,0x0b0300c7,
+0xcb5eb000,0x00b51000,0x086300b0,0x8302b470,0x0300d342,0x60bc010a,
+0xb5100d03,0x6300b000,0x00b41000,0x006300b0,0xb000b4f0,0x1800d342,
+0x60880100,0xb4100308,0x06608101,0x036c900d,0xf002debf,0x02024303,
+0x0300b7d0,0x50b00019,0xe010006f,0x7350b000,0x00e11000,0x007750b0,
+0x8202e210,0x03001342,0x50b00018,0xe410007b,0x1342b000,0x0084f002,
+0x009f5ee0,0xa103a737,0x03f0025e,0x60bc0122,0xa7170003,0x04608701,
+0x00a01003,0x006300b0,0xbc01b410,0x100d0360,0x00b000b5,0xb4f00063,
+0x08608801,0x03b41003,0xf002debf,0xb0003803,0x10007b01,0x5ab00065,
+0xe5100003,0xff63bc01,0x00c5f01f,0x00075ab0,0xbc01e610,0xf01fff63,
+0x5ab000c6,0xe710000b,0xff63bc01,0x00c7f01f,0x003b9a68,0xe0002b03,
+0x3700275e,0x1a680089,0x2f03003b,0x07e08501,0x01e31000,0x0007e085,
+0xb000c310,0x10011342,0x5eda0184,0xee100027,0x06608701,0x00849010,
+0x1c1342b0,0xbc018410,0x10000360,0x60bc01b4,0xa6501303,0x9700b000,
+0x01b51000,0x042360bc,0x8401b4d0,0x11000760,0xdebf03e0,0xa303f002,
+0x4b5e0801,0x00a11700,0x00875e68,0x02024323,0x03000350,0x509e0242,
+0x3f03009f,0x03d00102,0x003f0300,0x00275ee0,0x58018937,0x1400275e,
+0x50da0129,0xee1000a7,0x06608701,0x03849010,0xf002debf,0xbc014303,
+0x14000360,0xc1040129,0xa1170007,0x025e2203,0x014603f0,0x0053de03,
+0xb000a117,0x1700875e,0x5e8802a2,0x4a03004b,0x4b5e6800,0x014a8306,
+0x000360bc,0x8301a217,0x97f286de,0xde830194,0x27f48486,0x13c28102,
+0x01510300,0x008b5e86,0x8601e310,0x10000760,0xe08101c3,0x84901006,
+0x02debf03,0x015303f0,0x1c8a5e86,0x8601e370,0x70180660,0x47b802c3,
+0x8c0300a7,0xb3de0002,0x01570300,0x1c06e087,0x8701e370,0x701806e0,
+0x5e0801c3,0xa117004b,0x875e6800,0x029a2300,0x009f501e,0x85015c03,
+0x701c06e0,0xe08501e3,0xc3701806,0x63001401,0x00a11700,0x0087de68,
+0xb0006583,0x17005301,0xde6800a2,0x61e3ff8b,0x47426800,0x00622300,
+0x848ade68,0x850165c3,0x10090260,0xe0860148,0xe3701c02,0x06e08601,
+0x01c37018,0x00075010,0x6800a617,0x03009b5e,0x60bc019a,0xe4110003,
+0x07503a01,0x00801700,0x00035e88,0xe0008077,0x10f0ae00,0xde680064,
+0x7643009b,0x03d00702,0x01700300,0x182360bc,0xe000a2f7,0x370b005e,
+0x5e0200a3,0x050cf002,0x1b60bc01,0x0081d715,0x018341e0,0xe0006370,
+0xb0008f41,0x5e020065,0xda0bf002,0x1b60bc01,0x01649015,0x004760bc,
+0x0200a217,0x0cf0025e,0x5e68002d,0xa143009b,0x4660a401,0x00e071f4,
+0x009b5e68,0x68007e63,0xa3009b5e,0x50b0007e,0xe211002f,0x3350b000,
+0x03e21100,0xf002debf,0x0201a103,0x1700c780,0xde8701a1,0xe8113d86,
+0x02608701,0x00e8113d,0x009bde68,0x870183a3,0x113d0660,0x422000e8,
+0x8a43001b,0x0360bc01,0x02ea1100,0x002b5088,0xb0008803,0x11007750,
+0xdebf03eb,0x8a03f002,0x6f503c01,0x01a21700,0xf47250bc,0x9201eb51,
+0xb7001bc2,0x5eb801a2,0xe8113d8a,0xc7800202,0x01a10300,0x090360bc,
+0xb000ea11,0x11002f50,0x50b000eb,0xeb110033,0x3750b000,0x00eb1100,
+0x003b50b0,0xb000eb11,0x11003f50,0x50b000eb,0xeb110043,0x4750b000,
+0x00eb1100,0x004b50b0,0x8601eb11,0x113d0660,0x60bc01e8,0x65901823,
+0x025e0200,0x03470ef0,0xf002debf,0x8401a103,0x11000760,0xde9e03e0,
+0xa103f002,0x02de3803,0x00a103f0,0x044bde68,0x8401a183,0x97f20660,
+0x50000294,0xa103004f,0x06608501,0x01481009,0x000360bc,0xb0002d11,
+0x14008344,0x60bc0128,0x8e170003,0x4b5e6800,0x02a6a305,0x00035000,
+0x8301af03,0x100906e0,0x41b00048,0x00180023,0x0360bc01,0x038eb704,
+0xf0025ea9,0x6800b403,0x23044b5e,0x60bc01b4,0x8e370603,0x4b5e6800,
+0x01b4a305,0x060360bc,0xbf038eb7,0x03f002de,0x608101b4,0xab77f506,
+0x0f5eb000,0x00851700,0xf0025e02,0xbc01830b,0x17000360,0x60bc018c,
+0x8d170003,0x02de2303,0x01b803f0,0x1006e087,0x00028370,0x0300b3de,
+0x62bc01b8,0x83300003,0xa7006d00,0x03ca8300,0xf0025e29,0x0302e203,
+0x0300c700,0xd08202c6,0xbe0300b7,0xb318e000,0x032c2600,0xf002debf,
+0xe000bf03,0x2600b718,0x2668002d,0xc623000f,0xcb5ee000,0x01b23700,
+0x00cb5e0a,0xe000a117,0x30f4ba50,0x60d00065,0xa257f606,0x125a2000,
+0x03c643f4,0xf002debf,0xd503c003,0x08f002de,0xded603df,0xf408f002,
+0x02de5003,0x03c603f0,0xf002debf,0x6800fb03,0x0300a700,0x428802ce,
+0xce03001b,0x6744e000,0x03a11705,0xf002debf,0xe000cf03,0x17026744,
+0x5e9103a1,0x0200f002,0x66c46800,0x00cf23f4,0x00a70068,0x8002d803,
+0x03001b42,0x60bc01d6,0xa1370503,0x0360bc01,0x03659005,0xf002debf,
+0xbc01dc03,0x770f1360,0xdebf03a1,0xdb03f002,0x0360bc01,0x01a1770f,
+0x060360bc,0xbf036590,0x03f002de,0x60bc01dc,0x65100703,0x025e0200,
+0x005800f0,0x01075ad8,0x3c018116,0x1700035a,0x5eb801a1,0x8136d086,
+0x035ad800,0x01801601,0xd06640b8,0x05028016,0x0300af5e,0xe08701e4,
+0x33712606,0x02debf03,0x010200f0,0x850a6090,0x82022db4,0x0300b7d0,
+0x503c01ee,0x80170027,0x2b500901,0x01811700,0x00075007,0x8201a117,
+0x37f0865e,0x50b00081,0x8a10001f,0x0f50b000,0x03161100,0xf002debf,
+0x3801f403,0x17005f50,0x500a0180,0x8117002b,0x07d00701,0x01a11700,
+0xf0865e82,0xb0008137,0x10002350,0x50b0008a,0x1611005b,0xb7508002,
+0x01f90300,0x050360bc,0xbf0392b7,0x01f002de,0x609001d7,0x2db48506,
+0x02debf03,0x01e603f0,0x060360bc,0xbf039237,0x01f002de,0x608e01d7,
+0xe8113d02,0x025e2b03,0x020904f0,0x00f30000,0xe8000004,0x51002300,
+0x60bc0142,0x4251280a,0x025e9403,0x000504f0,0x008b05b0,0x68006410,
+0x04000358,0x44b00005,0x12110067,0x0358b000,0x00151100,0x001f4568,
+0xa2030904,0x04f0025e,0xe0850109,0xab77f506,0x025e0200,0x02b30cf0,
+0x00e3c201,0x03023604,0x0400c700,0x2668000e,0x1724000f,0x46426e00,
+0x031744f6,0xf002debf,0x6e001004,0x24004742,0x00030217,0x140400c7,
+0x02de1503,0x011004f0,0x85026080,0xbc012c94,0x17000360,0xded503a3,
+0xdf08f002,0x06e08101,0x012db485,0x840e6091,0xbf0327f4,0x04f002de,
+0x503c0136,0xa1170067,0x865ebc01,0x01ba5017,0x010360bc,0x0302b890,
+0x0400c700,0xa6680027,0x2124000f,0x02e08101,0x03b81017,0xf002ded5,
+0xd603df08,0x08f002de,0xde5003f4,0x1d04f002,0x02debf03,0x003604f0,
+0x000f26e8,0xb0008329,0x1000cb5e,0x00b000b5,0xb4700863,0xd3428302,
+0x00240400,0x00cb5eb0,0xbf03a517,0x04f002de,0xe0860128,0xa0100304,
+0x025e0200,0x00f000f0,0xf0025e02,0xd503f900,0x08f002de,0xded603df,
+0xf408f002,0x02de5003,0x022a04f0,0x00a34700,0xbc014102,0x11000360,
+0x508802ea,0x3204002b,0x7750b000,0x03eb1100,0xf002debf,0x3c013404,
+0x17006f50,0x50bc01a2,0xeb51f472,0xa347b000,0x03e8d100,0xf002debf,
+0xbc014102,0xf0000360,0xe08201a5,0x48100902,0x1f62bc01,0x01e01100,
+0x000f60bc,0x8502e811,0x04000b50,0x6082013c,0x48100902,0xb3818102,
+0x03430400,0xf002dea0,0xd5034104,0x08f002de,0xded603df,0xf408f002,
+0x025e2003,0x014304f0,0x09026088,0xbf034810,0x00f002de,0x60bc010a,
+0xa1370003,0xb3010002,0x02510400,0x00b30104,0xe9005004,0x2000bb01,
+0x81e8006e,0x6f0000bf,0xbb816800,0x00500400,0x00bf8168,0x81025004,
+0x0400b381,0x60bc014d,0x6c000003,0x02debf03,0x017c04f0,0x000360bc,
+0x02006c00,0x09f0025e,0xdebf033b,0x0a00f002,0x0360bc01,0x00a11700,
+0xf0025e02,0x0102900a,0x0400b301,0xdebf0354,0x0a00f002,0x1360bc01,
+0x00a17715,0xf0025e02,0x34015800,0x17006740,0x016d00a1,0x5924f49a,
+0x875eb000,0x00660000,0xf49e016e,0xb0005b24,0x0000875e,0xdea30367,
+0x0a00f002,0xb7500002,0x01640400,0x000360bc,0x82018010,0x10090660,
+0x60800148,0x2db48502,0x07c10401,0x01a11700,0xf286de83,0xe0009497,
+0x2000cb01,0xdebf0372,0x1801f002,0xb3010102,0x01660400,0xf506e087,
+0xb000ab77,0x17000b01,0xde6d00a1,0x7c040884,0x6444e800,0x00a17708,
+0x08845e6e,0x87017c24,0x77f506e0,0xdebf03ab,0x7c04f002,0xaf5e8202,
+0x01780400,0xf5066082,0xb000ab77,0x06006744,0x01b00098,0xa217006b,
+0x1b428002,0x00720400,0x004b01b0,0x6800a217,0x04008b5e,0x45900077,
+0xa197002b,0x86de8000,0x00a157f4,0x00b741b0,0xe000a117,0x2623865e,
+0x61bc01a9,0x33110003,0x6444e800,0x00a517d3,0x01975e6d,0x82013300,
+0x77f50260,0x5ed103ab,0x0200f002,0xb3500002,0x03d80400,0xf002de25,
+0x83018004,0xf4840660,0xdebf0327,0xb504f002,0x03d00c02,0x02b30400,
+0x00c70003,0x1401a204,0x17006300,0xde6d00a1,0xb3840087,0xbb50b000,
+0x00651000,0x00bf50b0,0x91026410,0x04009f50,0xd081028a,0x8a0400b7,
+0x025e2903,0x038b04f0,0xf002debf,0xbc019004,0x16000360,0x60bc0104,
+0x80370003,0x025e0200,0x03310ef0,0xf0025e29,0xb000b304,0x1400af50,
+0xdebf0326,0xb304f002,0x06608201,0x002db485,0x00135ab0,0xb0008d14,
+0x1400175a,0x18b0008e,0xa11700b3,0x0360bc01,0x012c0600,0xf4ba18bc,
+0xbc01a137,0x06000360,0x5eb0002e,0x8f140087,0xb718b000,0x01a11700,
+0x000360bc,0xbc012d06,0x37f4be18,0x60bc01a1,0x2f060003,0x875eb000,
+0x00901400,0x00f701b0,0xbc019014,0x00000360,0x5e02007d,0x310ef002,
+0x0f58b000,0x038c1400,0xf002debf,0x6800ae04,0x040047c2,0xe08101a7,
+0x2db48506,0x0e609101,0x0127f484,0x000360bc,0xbf032c14,0x00f002de,
+0x50b00002,0xa117009f,0x025e0200,0x00ef00f0,0x00875eb0,0x86012714,
+0x100304e0,0x42b000a0,0x00180083,0x03d00c01,0x00a11700,0x0087de68,
+0x0201a264,0x1700b750,0x5e8001a1,0x27f48486,0x0ee08a01,0x0027f484,
+0x00af50b0,0xbf032614,0x04f002de,0xe08601b5,0xa0100304,0x9f500002,
+0x01b50400,0x100360bc,0x86024210,0x040007c1,0x5e2903d5,0xbb04f002,
+0x3352b000,0x00291400,0x003752b0,0x9e01a117,0xf484865e,0x50b00027,
+0xa117009f,0x86de8001,0x00a137f4,0xf0025e02,0x0702d30b,0x0400bf80,
+0x608001c8,0x8f26f402,0x9b50b000,0x00900600,0x00a750b0,0xb0009106,
+0x0600ab50,0x50b00092,0x9306009b,0x6300b000,0x00950600,0x008341b0,
+0x80019406,0x97f50660,0xdebf03ac,0xd504f002,0xab50b000,0x008f1000,
+0x00a750b0,0xb0008e10,0x10009b50,0x6080018d,0x8c30f406,0xb7500202,
+0x00d40400,0x004352b0,0xb0008f10,0x10003f52,0x52b0008e,0x8d10003b,
+0x37521a01,0x01a11700,0x0487de98,0xb801a137,0xb091865e,0x6082018c,
+0x2db48502,0x02608101,0x036c900d,0xf002de25,0x9c01d804,0xf4840260,
+0xdebf0327,0xdc04f002,0x0360bc01,0x012c1400,0xf5026081,0x8502aed7,
+0x04000b50,0x50a800dc,0x2d1405b7,0x02608301,0x0127f484,0x0902e085,
+0xbc014810,0x14000360,0x5ea2032a,0x1801f002,0x02debf03,0x030a00f0,
+0xf002de23,0xa3032f05,0x05f0025e,0xdea2032f,0x2f05f002,0x06608101,
+0x03ab77f5,0xf0025eaa,0x83012f05,0x100902e0,0xde510348,0xec04f002,
+0xb3de8002,0x00320500,0x006b02e0,0x80019a20,0x77f506e0,0xdebf03ab,
+0xf104f002,0x02de0103,0x00ef04f0,0x064f5e68,0xbc01ef24,0x17000360,
+0x5ea403a8,0xf104f002,0x02dec103,0x013205f0,0x09026084,0x04024810,
+0x0400bf00,0x60bc01f6,0x15110003,0x63001401,0x00a11700,0xf40266e0,
+0x02006530,0x0bf0025e,0x6082018b,0x48100902,0x025ea903,0x001105f0,
+0x043b5e68,0xf00101a5,0x370017de,0x5ea00085,0x8597f016,0x3b5e6800,
+0x02012506,0x00035001,0x87020005,0x0500bf80,0xe0850100,0x48100906,
+0x03d08002,0x00110500,0x001b5eb0,0xb000a317,0x17008b00,0x000402a4,
+0x070500bf,0x97416e00,0x01076530,0x00035a18,0x1a01a317,0x1700035a,
+0xc16800a4,0x0a051883,0x9302e000,0x03a42000,0xf002debf,0x6d000c05,
+0x85f42e5e,0xe082010c,0x2db48506,0x335ee000,0x008c3700,0xf432de68,
+0xb0000f65,0x17000f5e,0xde6d0085,0x1d65f42e,0x02debf03,0x002a05f0,
+0x001f5eb0,0xb000a317,0x17008f00,0x000402a4,0x170500bf,0x97416e00,
+0x01176530,0x00035a1c,0x1e01a317,0x1700035a,0x5e6d00a4,0x1985f42e,
+0x06e08201,0x002db485,0x00375ee0,0x68008d37,0x65f436de,0x5eb0001c,
+0x8517000f,0x2e5e6d00,0x012a65f4,0x0902e085,0xd1034810,0x05f002de,
+0x5e68001f,0x2485044b,0x025e0200,0x00830bf0,0x18834168,0x81014b05,
+0xb48506e0,0xdebf032d,0x7c04f002,0x4f50b000,0x00f21100,0x005350b0,
+0xb000f311,0x11005750,0x60bc01f4,0xf5110103,0x0360bc01,0x03f05100,
+0xf002debf,0x02007c04,0x0bf0025e,0x60810183,0x48100902,0x025e2903,
+0x022f05f0,0x00c70083,0xbf03ad0d,0x04f002de,0xded1037c,0x3005f002,
+0x02dea503,0x037c04f0,0xf002debf,0x80020a00,0x0000b301,0x5006020a,
+0x39050003,0x0b01b000,0x00a11700,0x0884de6d,0xe8003905,0x77086444,
+0x5e6e00a1,0x39250884,0x06e08701,0x01ab77f5,0x004b5e08,0x6800a117,
+0x2500875e,0x5eb0003c,0x8517000f,0x025e0200,0x00830bf0,0x063b5e68,
+0xbc014225,0x17000360,0xd000028c,0x44050003,0x0360bc01,0x038d1700,
+0xf002debf,0xbc014405,0x17000360,0xdebf038c,0x1801f002,0x83416800,
+0x014a0518,0x84066080,0x290327f4,0x04f0025e,0x6082017c,0x2db48506,
+0xc7008302,0x03ad0d00,0xf002debf,0xe0007c04,0x20009702,0x608101a5,
+0x48100902,0x0360bc01,0x008e0600,0x007b01e0,0xbc015ea0,0x17191360,
+0x016d00a1,0x0a20f47a,0x1360bc01,0x035e8011,0xf002debf,0x02000a00,
+0x09f0025e,0xde380375,0x0a00f002,0x02de9e03,0x000a00f0,0x004c44e8,
+0xe800a1f7,0x1701845e,0xde6a00a1,0x5b050184,0x845ee800,0x01871101,
+0x000360bc,0xa5018811,0x113022e0,0x60bc0180,0x13110003,0x0360bc01,
+0x00141100,0x006744b0,0xb000a117,0x17006b44,0x5eb000a2,0x04110087,
+0x8b5eb000,0x03051100,0xf002deb8,0xbf035d05,0x00f002de,0x5e87020a,
+0x8f070053,0x0360bc01,0x0192b704,0x040360bc,0xbc01a117,0xf01fff63,
+0x63bc01cb,0xccf01fff,0xff63bc01,0x01cdf01f,0x1fff63bc,0xbc01cef0,
+0xf01fff63,0x63bc01cf,0xd0f01fff,0x0360bc01,0x02e41000,0x00c30086,
+0xb0007d05,0x17000f54,0xde6900a2,0x7185908a,0x1252e800,0x00e450f4,
+0x00379a68,0xbc017d05,0x10000360,0x54b000e4,0xe0100027,0x2b54b000,
+0x03e11000,0xf002debf,0xa4038605,0x07f002de,0xdea90328,0x2807f002,
+0xbf800702,0x027a0500,0x000fd287,0xbc01bc05,0xd7010360,0x26e000a1,
+0x8c290033,0x05e08101,0x02936932,0x00c30006,0x80027f05,0x05005fde,
+0x54b00084,0xe0100007,0x371a6800,0x01820500,0xa086ded2,0xb000e030,
+0x10000b54,0xdebf03e1,0x8605f002,0x865ebc01,0x01e01090,0x001f60bc,
+0xbc01e110,0x10000360,0x52b000e2,0xe5100023,0xff63bc01,0x00c5f01f,
+0x002752b0,0xbc01e610,0xf01fff63,0x52b000c6,0xe710002b,0xff63bc01,
+0x00c7f01f,0x004700b0,0x08018610,0x1700371a,0x52380181,0x80170003,
+0x27c00201,0x00a61700,0xf0025e02,0xb000420d,0x17000754,0x81810280,
+0x950500b3,0x025e0200,0x004b0bf0,0x00371a68,0x68009e25,0x0500379a,
+0x541a0298,0x9e050007,0xa7006800,0x009c8500,0x00a70068,0x03019cc5,
+0x170027c0,0xdebf03a1,0x9d05f002,0x3bc00601,0x01a11700,0x10865e82,
+0xa90386d0,0x07f002de,0x5e680076,0xb725044f,0xff63bc01,0x00c3f01f,
+0x054f5e68,0xbc01a6a5,0x901a0360,0x60bc01e3,0x92b70603,0x4f5e6800,
+0x03b72505,0xf002debf,0xbc01b105,0x37060360,0x44980292,0x7c080007,
+0x07468002,0x017c0800,0x180360bc,0x0702e390,0x0500bf80,0xd20702b1,
+0xb105000f,0x06608101,0x01ac97f5,0x1c06e087,0xb000e370,0x10008f41,
+0x5e9f0362,0xb105f002,0x0360bc01,0x00453100,0x00371ab0,0x02008117,
+0x0bf0025e,0x5ee80078,0xa1d70084,0x865e6a00,0x00b78590,0xf41252e8,
+0xbf03e430,0x05f002de,0x60bc01ba,0xe4100003,0x02de3803,0x01ba05f0,
+0x1c06e087,0x9001e490,0x10090a60,0x61bc0148,0x91370403,0x4f5e6800,
+0x037ca805,0xf0025e83,0xbf032807,0x00f002de,0x41040202,0xc8050063,
+0x02e08901,0x01ac97f5,0x0b026084,0x05025810,0x0500af5e,0xe08701c4,
+0x33712606,0xbf000402,0x01c70500,0xf502e085,0x0200ab77,0x0cf0025e,
+0xdebf03b3,0x0200f002,0x23c58502,0x01ca0500,0x0b066084,0xbc015810,
+0x11000361,0x80050233,0xd10500bf,0x1360bc01,0x00a15711,0xf0025e02,
+0x96015800,0x30030e60,0x40b00019,0xa2170067,0x025e0200,0x005d00f0,
+0x006744e0,0x02029946,0x0500b35e,0xe08901d4,0xac97f506,0x37c08302,
+0x000a0000,0x001f02e0,0x02008720,0x0bf0025e,0xe08901af,0xac97f506,
+0x02debf03,0x010a00f0,0x3201e081,0x83019369,0x693201e0,0x5e020093,
+0xaf0bf002,0x13408102,0x01020000,0x000360bc,0xa3038010,0x05f002de,
+0x609001e0,0x48100902,0x6744b000,0x009e1700,0x006b44b0,0xb0009d17,
+0x17006f44,0x44b0009c,0x9b170073,0x7ade6800,0x00e02523,0x002302e0,
+0x15018820,0x17003b40,0x00680097,0xec8500a7,0xa7006800,0x00ecc500,
+0x005f5ea0,0x68009737,0x0500a780,0x60bc01ec,0x97370003,0x4301b000,
+0x01a11700,0x0584dec9,0x81017926,0x900d02e0,0x4086026c,0xf2050037,
+0xbb02e000,0x03ae2000,0xf002debf,0xbc011709,0x14000360,0x60bc0180,
+0x81140003,0x0a60b801,0x01249004,0x040360bc,0xbc01a006,0x46000360,
+0x60bc019f,0x2ad00003,0x0760b301,0x01041000,0x000360bc,0xbc018406,
+0x06000360,0x60bc0185,0x86060003,0x0360bc01,0x01870600,0xf502e083,
+0x8702aed7,0x090037c0,0x60bc0114,0x3e200003,0x025e0200,0x00a50ef0,
+0x005fde68,0x3c010546,0x17000352,0x52bc01a1,0xa137f406,0x845e6e00,
+0x035ba90b,0xf0025e43,0x6800fe05,0x46005f5e,0x5e680017,0x1426005f,
+0xa7806800,0x000aa600,0x906644e0,0xbc01aa26,0x1700c362,0x528002a1,
+0x0d060003,0x03529601,0x00a11700,0x9086de80,0x03029a37,0x06000352,
+0x5ee00012,0x9a37906a,0x03d20702,0x00120600,0x006b5ee8,0x9e029a37,
+0x09006b5e,0xdebf035b,0x1a06f002,0x03d25201,0x01a11700,0xf406d285,
+0xbf039a37,0x06f002de,0x523c011a,0xa1170003,0x0652bc01,0x009a37f4,
+0x0b685e6e,0x04025ba9,0x06003bc0,0x40870220,0x3b070037,0x0360bc01,
+0x003e4000,0xf0025e02,0x8702a50e,0x0600afc0,0x4058011b,0x9a1700af,
+0x025e2a03,0x022206f0,0x00afc087,0xb0001409,0x10282341,0x60800148,
+0x9497f202,0x02e08401,0x01481009,0x00af4058,0x01012a10,0x1700b3c1,
+0x5e8301a1,0xa1771087,0x865ebb01,0x00049000,0x001340b0,0x68000018,
+0x2900ab40,0xde290314,0x3206f002,0xab405801,0x029a1700,0x00a34700,
+0xbc013206,0x113c1e62,0x60bc01e0,0xea110003,0x6b5eb000,0x01eb1100,
+0x3d1e6098,0x8303e811,0x06f0025e,0x60bc0136,0x3e600003,0x025e0200,
+0x00a50ef0,0x0433406d,0xbc0132c6,0x06000360,0xe0880176,0x7706000f,
+0x33406d00,0x01230702,0x000f5229,0x09019317,0x17000f52,0x609601aa,
+0x9497f202,0x8741e000,0x0165f001,0x000f60bc,0x2800a117,0x669086de,
+0x60860142,0x9497f206,0x9741e000,0x00657000,0x00831ae0,0x0601a0c6,
+0x1700535e,0x5ea000a2,0xa177044f,0x87de6800,0x01504604,0xf206e086,
+0xb8009497,0x37008b5e,0x5ab000a2,0xa0170003,0x03da0a02,0x014a0600,
+0xf2066087,0x84029497,0x06003bc0,0xda030250,0x50060003,0x025eb003,
+0x024e06f0,0x00074104,0x80015006,0xe6ce0460,0x5e060177,0xa2170053,
+0x8ade8201,0x03049000,0xf002dea9,0xb0035b06,0x06f0025e,0xd2870257,
+0x57060013,0x1352b000,0x01861100,0x300ae0a5,0xbf038011,0x06f002de,
+0x52080257,0x5b06000f,0x1302e000,0x01842000,0xf2066080,0xbf039497,
+0x07f002de,0x52070224,0xc106000f,0xa3478002,0x00be0600,0x00831ae0,
+0xe800a086,0x86007f1a,0x60bc019f,0xe4110003,0xff63bc01,0x01a5f71f,
+0x030360bc,0x0602e1d1,0x0600535e,0x60bc0164,0xe1910403,0x53de0602,
+0x00680600,0x008747e0,0x0702e151,0x06000fd2,0x47e00068,0xe1910087,
+0x33406d00,0x0023c702,0x054f5e68,0x68006b86,0x4600abde,0x5eb003c1,
+0x6e06f002,0x17520002,0x03c10600,0xf002de9e,0x02007506,0x0af0025e,
+0xc00002a9,0x72060077,0x77402901,0x00a51700,0x00975ee0,0x6800a597,
+0xe6ff97de,0x52800275,0xc1060017,0xbf000702,0x01c10600,0x061b60bc,
+0x9000a217,0x30008747,0x41e00065,0x6550f496,0x8747e000,0x03960601,
+0xf0025e83,0xbc017d06,0x80000360,0x5e02003e,0xa50ef002,0x30406d00,
+0x0079c6d2,0xd230406d,0x680023c7,0xe6ff97de,0x5a0f0180,0xa5170007,
+0x0b60bc01,0x00a1571d,0xf4965ee0,0x2a016430,0x17000358,0xde9e0399,
+0x9006f002,0x02e08201,0x029937f3,0x00175200,0x16019006,0x170003d8,
+0x5a0f01a6,0xa4170007,0x03d80c01,0x00a11700,0xf492de68,0xe0008c26,
+0x1702675e,0xdebf0399,0x9106f002,0x03d80d01,0x00a11700,0xf492de68,
+0xe000c126,0x1704675e,0xdebf0399,0x9106f002,0x03581001,0x00a61700,
+0x00675e88,0xe000a277,0x50f4ae00,0xdeaa0164,0x76c6ce64,0x9bde6800,
+0x02ac4600,0x00878107,0x6d009f06,0x060c8bde,0x5285029f,0x9f06000f,
+0x3b521801,0x00a11700,0x0087de68,0x81019f06,0xe6ce04e0,0x5ee00077,
+0xa3370b88,0x8f5ee000,0x00a39700,0x008741e0,0x0200a277,0x0cf0025e,
+0x1ae80005,0x9f06017f,0x1b60bc01,0x0081d715,0x00975e88,0xe800a177,
+0xb0f4865e,0x60bc0163,0xa1170e07,0x8e41e000,0x006330f4,0x001756b0,
+0xb000a117,0x17001b56,0xde6800a2,0xc146d086,0x8ade6800,0x00c166d0,
+0xf0025e02,0xbc01da0b,0x90151b60,0x62bc0164,0xa217004f,0x025e0200,
+0x002d0cf0,0x009b5e68,0xbc01be46,0x71f41e62,0x5e6800e0,0xb166009b,
+0x9bde6800,0x01bea600,0x00c78002,0x8701a117,0x113d86de,0x609801e8,
+0xe8113d06,0x831ae000,0x00a08600,0x007f1ae8,0xbc019f86,0x11000360,
+0xde6800ea,0xb946005f,0x6b5eb000,0x01eb1100,0x3d5ede92,0x8701e811,
+0x113d0260,0xde6800e8,0xbda6009b,0x06608701,0x01e8113d,0x3d166098,
+0x8101e811,0xc6ce04e0,0xdeaa0176,0x76c6ce64,0x02debf03,0x01c506f0,
+0x000f62bc,0xbc01e011,0x11000360,0xe08101e4,0x77e6ce00,0x0f60bc01,
+0x02e81100,0x00df1900,0xe000cc06,0x46f37e1a,0x1ab0009f,0x25100083,
+0x7e1ae800,0x009fa604,0x017f9a6a,0xb801ccc6,0x90040660,0xe0820124,
+0x9497f206,0xa3c70702,0x01e60600,0x090360bc,0xe000ea11,0x17018747,
+0x5e8303a1,0xd106f002,0x32406d00,0x00cf26f4,0xf432406d,0xbc01e626,
+0x370b0360,0xde0602a1,0xd5060053,0x825e9c01,0x00a137f4,0x00875eb0,
+0xb000eb11,0x11002352,0x52b000eb,0xeb110027,0x2b52b000,0x00eb1100,
+0x00874790,0xbc016530,0x17061b60,0x41e000a1,0x6530f496,0x0f5ad800,
+0x00eb1101,0x010b5ad8,0xd800eb11,0x1101035a,0x5ee800eb,0xa1373c6a,
+0x875ee800,0x00a1d701,0x01875ed8,0x8601eb11,0x113d0660,0x60bc01e8,
+0x6510061b,0x025e0200,0x01470ef0,0x3d06e086,0x8801e811,0x90000a60,
+0xc0040104,0xa117003b,0x86de8101,0x036c900d,0xf002dea0,0x6800ee06,
+0xa6064f5e,0x523801f3,0x80170003,0x5f5eb000,0x00811700,0xf0025e02,
+0x68006400,0x4600abde,0x5ea000f3,0xa177044f,0x875e6800,0x00c94800,
+0x04875e68,0xbf03c948,0x0af002de,0xde86033d,0x1509f002,0x37c08702,
+0x00140900,0xf0025e02,0xbc01c10b,0xa0000360,0x5e02003e,0xa50ef002,
+0x025e0303,0x03f306f0,0xf002dea9,0xbc01fe06,0xc0000360,0x5e02003e,
+0xa50ef002,0x37400702,0x00fa0600,0xf0025e02,0x6e009d0a,0x07023040,
+0xde010328,0x2807f002,0xabde6800,0x03100700,0xf0025e30,0xe0000407,
+0x20002b02,0xdebf038a,0x0807f002,0x17528002,0x00070700,0x004302e0,
+0xbf039020,0x07f002de,0x02e00008,0x95200057,0x4f5e6800,0x00b60904,
+0x024f5e68,0x6800b689,0x08024f5e,0x5e680083,0xc288044f,0x4f5e6800,
+0x002f0a05,0x064f5e68,0x68002f0a,0x8a064f5e,0xdebf0338,0x3d0af002,
+0xabde6800,0x03212700,0xf0025e30,0xe0001407,0x20002f02,0xdebf038b,
+0x1807f002,0x17528002,0x00170700,0x004702e0,0xbf039120,0x07f002de,
+0x02e00018,0x9620005b,0x4f5e6800,0x0061a806,0x044f5e68,0x68004f2a,
+0xaa044f5e,0x5e68004f,0xcea8054f,0x4f5e6800,0x00612806,0x054f5e68,
+0xa0002d2a,0x77ff4f5e,0x5e6800a1,0x452a0787,0x02debf03,0x007c08f0,
+0x001302e0,0xbf038420,0x08f002de,0x02e00080,0x8320000f,0x0f60bc01,
+0x02e81100,0x003bc084,0x8401c106,0x100906e0,0xdebf0348,0xc106f002,
+0x93c00002,0x03020000,0xf0025ea3,0xc3032c07,0x07f0025e,0xdebf032b,
+0x5709f002,0x0360bc01,0x003e0001,0xf0025e02,0x0702a50e,0x0700afc0,
+0x40070230,0x2c070037,0xafc00701,0x00a11700,0x00875eb8,0x8201a137,
+0x900d865e,0x44b0006c,0x7806007f,0x02608301,0x00481009,0xf0025e02,
+0x8702c10b,0x090037c0,0xde860314,0x1509f002,0x0360bc01,0x003e2001,
+0xf0025e02,0x4303a50e,0x07f0025e,0xc0870235,0x14090037,0xb3810002,
+0x01600700,0xf2066080,0x01039497,0x07f002de,0x5eb00360,0x4207f002,
+0x0702e000,0x03812000,0xf002debf,0xe0004307,0x20000302,0x60bc0180,
+0x65b01227,0x9541e000,0x01659032,0x006b402d,0x8800a217,0x37018b5e,
+0x403801a2,0x8016002b,0x27408802,0x014a0700,0xd0066084,0xb0008016,
+0x56f4025a,0x60bc0180,0xa1d70d1b,0x025e0200,0x005800f0,0x006740b0,
+0xbc018116,0xf70d1b60,0x5e0200a1,0x5800f002,0x6740b000,0x00821600,
+0x005326e0,0x69009469,0x87015326,0x60bc0154,0x94090003,0xb3818402,
+0x01590700,0x0d04e084,0xbc016c80,0x00000360,0x60bc016e,0x6f000003,
+0x02debf03,0x005e07f0,0xf73a52e8,0xe800a1b7,0x1702875e,0x5e9000a1,
+0xa1970087,0xba01e100,0x006e20f4,0x00bf81e0,0xb0006f00,0x17003b52,
+0x010502bd,0x5b0900b3,0xdf198002,0x00620700,0x0230406e,0x81035d08,
+0x07f002de,0x02e0006c,0x85200017,0x02dea903,0x016707f0,0x0906e084,
+0x80014810,0x100902e0,0x5e020048,0x9b0bf002,0x02de8603,0x011509f0,
+0xce046080,0x800176c6,0x97f20660,0xdebf0394,0xe107f002,0x02de8603,
+0x031509f0,0xf0025e30,0xa9038f07,0x07f002de,0xde680074,0x8f4700ab,
+0x3b52b000,0x009f1700,0x003b52b0,0xbc01be17,0x26000360,0xdebf0384,
+0x8f07f002,0x02dea003,0x037e07f0,0xf002debf,0x90016305,0x10090a60,
+0x52b00048,0x9f17003b,0x3b52b000,0x01be1700,0x00835e9e,0x0601ebb0,
+0x17000f52,0x5eb800a1,0xa1370087,0x86de8201,0x01ab77f5,0x000361bc,
+0xe8008030,0xf7f33a52,0xd26b00a2,0x81e7f33a,0x7e5ee800,0x00a2d791,
+0x008b5e90,0xbc01a197,0x90101b60,0x526b0064,0x8ce7f33a,0x875e1801,
+0x01a21700,0x00875e0a,0x8800a317,0x57f40660,0x41e000a2,0x6470f492,
+0x0258b000,0x000056f4,0x91fade6b,0xb0008fc7,0x17003b52,0xdebf03be,
+0x8f07f002,0x025e0200,0x00820df0,0x00131ab0,0xb0008426,0x17003b52,
+0xde20039f,0x9c07f002,0x535e0702,0x01930700,0x0902e080,0xbf034810,
+0x07f002de,0xde68009c,0x9907005f,0x07541a02,0x01970700,0x0027c003,
+0x8201a117,0xd010865e,0xc0020186,0xa1170027,0x2a42e000,0x018a30f4,
+0xce04e080,0xa90376c6,0x07f002de,0x5eb0009c,0x80100047,0x4f5e0801,
+0x00a11700,0x00875e68,0xb003b927,0x07f0025e,0x520002bd,0xac070017,
+0xabde6800,0x00a24700,0x005302e0,0x86029420,0x0700535e,0x528402e1,
+0x5b09000f,0x0fd28402,0x03a70700,0xf0025eb3,0xbf03aa07,0x07f002de,
+0x5e3103b2,0xb207f002,0x4f5e6800,0x01aa0704,0xf2066084,0x68009497,
+0x07024f5e,0xdebf03e1,0xd107f002,0x02de1e03,0x03af07f0,0xf0025e31,
+0x8401af07,0x97f20260,0xde680094,0xb44700ab,0x3f02e000,0x038f2000,
+0xf002debf,0x6800b707,0x4700ab5e,0x528002b7,0xe107002f,0x07410202,
+0x00b70700,0x044f5e68,0x6800e107,0x87024f5e,0x410402e1,0x5b090007,
+0x02debf03,0x03e107f0,0xf0025e30,0x6800e107,0xa7054f5e,0x5e6800d1,
+0xd127054f,0x02debf03,0x02e107f0,0x00535e06,0xe000c007,0x20006302,
+0xdebf0398,0xe107f002,0x02de2303,0x01c807f0,0x000b5029,0x6800a317,
+0x27058fde,0xe08701c8,0x83701002,0x02608401,0x00481009,0x00875eb0,
+0x6e00a117,0x270003e0,0xded103c7,0xc807f002,0xabde6800,0x00ce4700,
+0x002702e0,0x07028920,0x0700bf80,0xd20701ce,0xa117000f,0x865e8101,
+0x01ac97f5,0x000360bc,0x6800a817,0x07004f5e,0x5e6800e1,0xe107014f,
+0x4f5e6800,0x02e18705,0x00c74780,0x29035b08,0x07f002de,0xde0201d7,
+0xa11700af,0x0f520601,0x00a21700,0xf4865e38,0x8201e147,0x77f58ade,
+0x52b000ab,0xf2110023,0x2752b000,0x00f31100,0x002b52b0,0x0601f411,
+0x17000f52,0x5ee000a1,0xf5310087,0x5b00b000,0x00f01100,0x00c347b0,
+0x34010018,0x1700c7c7,0xde6e00a1,0xe1a70284,0x0360bc01,0x02421008,
+0x0007c183,0x8002e307,0x0900535e,0x40b0005b,0xa1170033,0xdf990801,
+0x00a21700,0x008b5e68,0xe800eb67,0x17d43040,0x198102a1,0xeb0700df,
+0x831ab000,0x02a11700,0x00df9980,0xb000eb07,0x1700635e,0x5e6e00a1,
+0x5d080284,0x875eb000,0x01700600,0xce006081,0x020276c6,0x070013c0,
+0x5ee000f1,0x70460384,0x04608101,0x0276c6ce,0x00df1901,0x03010908,
+0x1700535e,0xde8701a1,0x76c6ce84,0x02de8603,0x011509f0,0x010360bc,
+0x02003e40,0x0ef0025e,0x5e8503a5,0xf407f002,0x02608e01,0x01e8113d,
+0x0083c707,0x8201a117,0xc6ce845e,0x99010276,0xfe0700df,0x97c70301,
+0x01a11700,0xce845e82,0x070277e6,0x0a00afc0,0x60bc0182,0xe811000f,
+0x04608401,0x0077e6ce,0x002740b0,0xb0007206,0x06002b40,0x40b00073,
+0x7406006b,0x6f40b000,0x01750600,0xce046084,0x020077e6,0x0af0025e,
+0x63bc019d,0xa8d71fff,0x025e0200,0x008b0bf0,0xf0025e02,0xa801820a,
+0x90000a60,0x19010204,0x6d0d00df,0x23016800,0x03590800,0xf002de20,
+0x06025908,0x080053de,0x5e680059,0x1228044f,0x4f5ea000,0x00a17704,
+0x0487de68,0xbc015948,0x10100360,0x52b00073,0x74100023,0x2752b000,
+0x00741000,0x002b52b0,0x1e017410,0x1000835e,0x60bc0174,0x71101203,
+0x0360bc01,0x0172f017,0x083360ac,0xb0007030,0x1800c341,0x41800200,
+0x1b0800c3,0xc3c18702,0x01590800,0xf506e083,0x8301aed7,0x700e0660,
+0x41280173,0xa11700cf,0x87de8000,0x01a1b700,0x062760bc,0xe0008249,
+0xa90d0a26,0x5e680082,0x4a28044f,0x0b26b000,0x00651000,0x00fb5e90,
+0xe800be97,0x97d0fa5e,0xde8502a1,0x49080087,0x7f5e9000,0x009f9700,
+0x07875ee8,0x0502a1f7,0x080087de,0x5ee80031,0xa197d07e,0x87de0502,
+0x00380800,0xf40260e8,0xbc01a137,0x90101b60,0x5e020064,0x970df002,
+0x02debf03,0x004008f0,0x07fb5ee8,0x9e0184f6,0x96d00260,0x609e0184,
+0xa137f402,0x875e6e00,0x003be807,0x009741e0,0x02006410,0x0df0025e,
+0x5ee80097,0xa197d07e,0x1b60bc01,0x00649010,0xf0025e02,0xbf03820d,
+0x08f002de,0x1ab00040,0x80160013,0x171ab000,0x00811600,0x001b1ab0,
+0xb0008216,0x16001f1a,0xdebf0383,0x4808f002,0x035ab000,0x00a11700,
+0xd0845eb0,0xb0008096,0x1700075a,0x5eb000a1,0x81b6d084,0x0b5ab000,
+0x00a11700,0xd0845eb0,0xb00082d6,0x17000f5a,0x5eb000a1,0x83f6d084,
+0x135a8800,0x039f9700,0xf002debf,0xb0005908,0x10000b26,0x5e900065,
+0xa297007f,0x8a5ee800,0x02a197d0,0x0087de85,0xb0005808,0x16008b5e,
+0x60e80084,0xa237f4fe,0x8bde8502,0x00540800,0x009741e0,0x02006410,
+0x0df0025e,0xdebf0397,0x5808f002,0x0360bc01,0x01801600,0x000360bc,
+0xbc018116,0x16000360,0x60bc0182,0x83160003,0x135ab000,0x009f1700,
+0x001340a8,0xbf030450,0x04f002de,0x02e000e1,0xa1200087,0x02debf03,
+0x005e08f0,0x000b02e0,0x84018220,0x10090660,0xe0840148,0x48100906,
+0x02debf03,0x035b09f0,0xf0025e30,0x68007408,0xa8064fde,0x02e00065,
+0x8e20003b,0x02debf03,0x006608f0,0x003702e0,0x23038d20,0x08f002de,
+0xde68007c,0x7cc8f14e,0x02e08701,0x01837010,0x09026084,0xb0004810,
+0x1700875e,0xe06e00a1,0x6c280003,0x02ded103,0x006d08f0,0x064f5e68,
+0x05026f28,0x08000b50,0x6082017c,0x48100906,0xbf800702,0x02730800,
+0x000fd207,0x80017308,0x97f506e0,0xdebf03ac,0x7c08f002,0xc3008702,
+0x00790800,0x064fde68,0x680079a8,0x080013d2,0x60bc0179,0x83110003,
+0x0360bc01,0x00821100,0x064fde68,0xe0007c28,0x20004f02,0xdebf0393,
+0x7c08f002,0x025eb003,0x027e08f0,0x00074104,0x83028108,0x07000741,
+0xdebf0328,0x8108f002,0x07418402,0x01280700,0xf2066080,0xbf039497,
+0x07f002de,0x5e9f0328,0x8608f002,0x02de9e03,0x023d0af0,0x00535e03,
+0x04023d0a,0x08004381,0x0100018a,0xa1170063,0x27c00201,0x00a21700,
+0xf486de38,0xb0038048,0x08f0025e,0x5200028c,0x80080017,0x2f528002,
+0x038e0800,0xf0025e33,0x3c023d0a,0x08003f52,0x523c019f,0xa117003f,
+0x84de6800,0x01be8804,0x160360bc,0xbc016410,0x10081b60,0x5e680065,
+0x9b280087,0x035ab000,0x00a21700,0xc08ade68,0xe000be08,0x30009741,
+0x41e00065,0x64300093,0x875ee800,0x00a15700,0x00875e6a,0x68009428,
+0x0800875e,0x5a3801a0,0xa1170003,0x03583801,0x00a21700,0xf486de68,
+0xbf03be48,0x08f002de,0xc18502a0,0x3d0a0007,0x1b60bc01,0x0165f007,
+0x050360bc,0x0200a4b7,0x00f0025e,0x00800289,0xbe0800c3,0x1360bc01,
+0x00a61719,0x007f01e0,0x6d00a5b7,0xc8f4965e,0x60bc01a8,0xa5971113,
+0x945e6800,0x00c0c80b,0x007b01b0,0xb0006510,0x17002752,0x52b000a2,
+0xa317002b,0x94416800,0x00b3e80b,0xd08ede68,0x6800af48,0x28d08a5e,
+0x41e000be,0x65b00097,0x96416d00,0x01acc8f4,0x111360bc,0xbf036590,
+0x08f002de,0x02e000ac,0xa220008b,0x7f01b000,0x00651000,0x002352b0,
+0xb0008016,0x16002752,0x52b00081,0x8216002b,0x0252bc01,0x01a1f7f2,
+0xf4025ea9,0x90008336,0x16016744,0xde680084,0xbda80593,0x06608401,
+0x008496d0,0x00975eb0,0xb0035f00,0x05f0025e,0xdebf0376,0x2807f002,
+0x8f02e000,0x03a32000,0xf002debf,0x9e038008,0x0af002de,0x5eb0033d,
+0xc508f002,0x17520002,0x03800800,0xf0025e33,0x84013d0a,0x97f20660,
+0x5eb00394,0x7605f002,0x02debf03,0x032807f0,0xf0025e83,0x6d00cb08,
+0x88033340,0x406d00c9,0x80880333,0x025e3003,0x033e0af0,0xf002debf,
+0x30037605,0x08f0025e,0x02e000d1,0x8c200033,0x02debf03,0x007a05f0,
+0x004b02e0,0x03019220,0x170027c0,0x5e820181,0x81b7d104,0x025e0200,
+0x00780bf0,0x00230088,0xe000a237,0xf700885e,0x5ee000a2,0x8951f486,
+0x06e08601,0x03801130,0xf002debf,0xa2037c08,0x00f002de,0xdea30334,
+0xf408f002,0xff01e000,0x017f2000,0x000360bc,0xbf03a317,0x08f002de,
+0x608701f6,0xa0100304,0x0360bc01,0x00e45100,0x009347b0,0xbc010018,
+0x90020360,0x62bc0104,0xe011000f,0x0f60bc01,0x00e83101,0x00a347b0,
+0xbc010018,0x11000f60,0x608401e8,0x48100906,0x1e602000,0x00eb0809,
+0x00fb01e0,0xbf037e20,0x08f002de,0x60bc01fc,0xa1d70e03,0x63001401,
+0x00a21700,0xf4865ee0,0xe0006550,0x3600035a,0x00030280,0xf10800c7,
+0x025ea903,0x02f608f0,0x009f5091,0x9101f508,0xf4841a60,0xdebf0327,
+0xf508f002,0xff01e000,0x017f2000,0x000360bc,0x2303a337,0x08f002de,
+0xe08301fc,0x48100902,0x0360bc01,0x018e1700,0x1002e087,0x82018370,
+0x10090260,0x5e020048,0x830bf002,0x02ded003,0x03fd08f0,0xf0025ed0,
+0x8201fe08,0x100902e0,0xded50348,0x0009f002,0x0360bc01,0x01b41000,
+0x000360bc,0x6800a1f7,0x0900a700,0x42850104,0xa137f41a,0x025e0200,
+0x005800f0,0x006740b0,0xbc01a517,0xf71fff63,0x5e0200a2,0x5d00f002,
+0x07608800,0x00a45701,0xf4865eb8,0x0200a197,0x00f0025e,0x5e68005d,
+0x0200008f,0xb3016800,0x010f0900,0x000360bc,0xbf032605,0x09f002de,
+0xe0200012,0x1209091e,0x975eb000,0x032a1400,0xf002debf,0xa8000b02,
+0xf0002341,0xdebf0348,0x0200f002,0x02608301,0x00481009,0x0230406e,
+0xe0001709,0x20007702,0x5e02009d,0x420ef002,0x025ea303,0x032807f0,
+0xf002dec6,0x84011a09,0x100906e0,0xdebf0348,0x5b09f002,0x8ae32000,
+0x02210009,0x00234584,0x91032100,0x00f0025e,0xde960321,0x2100f002,
+0x025e9603,0x002100f0,0xf0025e02,0xbc017509,0x30000360,0xe0870142,
+0x23712402,0x0360bc01,0x03206000,0xf0025e12,0xbc012509,0x40000360,
+0x61bc0120,0x25110083,0x7b00b000,0x01271100,0x111360bc,0xbc015e80,
+0x80111360,0xe080015f,0xaed7f506,0x07c10701,0x01ab1700,0x000f60bc,
+0xbc01e811,0x11000f62,0x5e0200e0,0x3b09f002,0xcf61bc01,0x015c100c,
+0x000360bc,0xbc015d10,0xf001cf61,0x60bc015e,0x5ff0083b,0xc7000302,
+0x010a0000,0x000360bc,0xbc01e803,0x03000360,0x60bc01ed,0xf2030003,
+0x0360bc01,0x01f70300,0x000360bc,0xbf03a906,0x00f002de,0x60bc010a,
+0x48100003,0xb35ea800,0x01ac5703,0x1fff63bc,0xbc0154f0,0xf01fff63,
+0x63bc0155,0x56f01fbf,0xff63bc01,0x0057f01f,0xf0025e02,0x8701420e,
+0x712406e0,0x60bc0123,0x54100003,0x0360bc01,0x01551000,0x000360bc,
+0xbc015610,0x10000360,0x60bc0157,0x1720000f,0x07c10601,0x01a11700,
+0x02845e82,0x070117e0,0x17000741,0x5eb800a1,0xa1370087,0x87de8001,
+0x00160000,0xf002de02,0x85020000,0x000037c0,0x60bc0102,0x3e600103,
+0x025e0200,0x02a50ef0,0x00374086,0x02004e09,0x0bf0025e,0x608201af,
+0xac97f506,0x1b02e000,0x03862000,0xf002de86,0x87021509,0x090037c0,
+0x60580115,0x2a100003,0x0360bc01,0x00049000,0x001340b0,0xbf03a117,
+0x00f002de,0x60b8010a,0x2490040a,0x025eaa03,0x015e09f0,0x00036058,
+0xbc012a10,0x90020360,0x40b00004,0x00180013,0x0360bc01,0x00e45100,
+0x009347b0,0xbc010018,0x11000f62,0x608001e0,0x77e6ce00,0x025e8503,
+0x016409f0,0x000f62bc,0xbc01e011,0x31010f60,0x47b000e8,0x001800a3,
+0x0f60bc01,0x01e81100,0x010360bc,0xe800a157,0x3700875e,0xde6800a1,
+0x6a090087,0x0360bc01,0x00049002,0x001340b0,0x24030018,0x04f002de,
+0x608601e1,0xab77f506,0x025e0200,0x017509f0,0x10066080,0xb0008130,
+0x1700875e,0x608001a1,0x81301002,0x02debf03,0x01e104f0,0x000361bc,
+0xb0008010,0x18000342,0xe06e0000,0x78290003,0x025e5003,0x007b09f0,
+0xf0025e01,0xbf030000,0x02f002de,0x41a80033,0x48f00423,0x02608201,
+0x02481009,0x00afde06,0xd5038009,0x09f002de,0xde500380,0x7e09f002,
+0x0360bc01,0x02b41000,0x0083c784,0xbc018309,0x11000b60,0x608e01e0,
+0xab77f502,0x02de0200,0x030000f0,0xf002dea2,0xbc022100,0x09008742,
+0x60bc018c,0xa4370003,0x0360bc01,0x01a3f71f,0x00630014,0x8800a217,
+0x57f40660,0xdebf03a2,0x9109f002,0x07608800,0x01a41701,0x00ff63bc,
+0x1401a317,0x17006300,0x5ee000a2,0xa217018b,0x06608800,0x01a257f4,
+0x191360bc,0x20006510,0x89f486c2,0x41e00097,0x65500697,0x935e8800,
+0x00a43700,0xf4925e20,0xbf032160,0x09f002de,0xde680092,0x9b49f492,
+0x02dea003,0x009b09f0,0x1623c120,0x02009309,0x09f0025e,0xde6d0075,
+0xa8092093,0xb35a0002,0x02a70900,0x00b35a3c,0x8503a709,0x00f002de,
+0x5e850321,0x2100f002,0x02dea203,0x032100f0,0xf002dea3,0x97032100,
+0x00f002de,0x41b00021,0x60100097,0x06608800,0x01a497f4,0x840a6091,
+0xbf0327f4,0x02f002de,0x6080010b,0xac96d502,0x935eb000,0x01a11000,
+0x000360bc,0xbf034330,0x09f002de,0xc2830293,0x0200001f,0x875eb000,
+0x03a11700,0xf002ded0,0xbc01fb03,0x10040360,0xde9e0342,0x0a00f002,
+0x3f5eb000,0x01451100,0x000360bc,0xb0008f17,0x1700435e,0x5eb00085,
+0x9017000f,0x025e0200,0x037509f0,0xf002debf,0x6d000a00,0x88053340,
+0x5eb30381,0xbb09f002,0x4f5e6800,0x00ed8902,0x006702e0,0xbf039920,
+0x09f002de,0x5e6800ed,0xec89024f,0x5f02e000,0x03972000,0xf0025e9f,
+0x9e032b0a,0x09f002de,0xde2103cd,0xcd09f002,0x6f02e000,0x009b2000,
+0xf0025e02,0x86017509,0x10090260,0x60800148,0x48100902,0x02e08101,
+0x01481009,0x020360bc,0x80024210,0x09001f44,0x5eb000cc,0x4511003f,
+0x0360bc01,0x008f1700,0x00435eb0,0xb0008517,0x17000f5e,0xdebf0390,
+0xcd09f002,0xb644a000,0x034571f0,0xf0025e9f,0x82022b0a,0x0900c300,
+0x00b000ec,0xa1170073,0x865ee000,0x00a117b0,0xf47a5ee1,0xe1009e37,
+0x170077de,0xdee1009d,0x9c170073,0x6fdee000,0x039b1700,0xf002de9e,
+0x6e00dd09,0x4a926e5e,0x5e6d002b,0xdd49926e,0x725e6e00,0x002b2a92,
+0x92725e6d,0x6e00dd29,0x0a92765e,0x5e6d002b,0xdd099276,0x7ade6d00,
+0x002bea91,0x006744b0,0xb000a806,0x06006b44,0x44b000a7,0xa606006f,
+0x7344b000,0x00a50600,0x23a29a68,0xe900dd29,0xd7f3a21a,0x9ae9009e,
+0x9db7f39e,0x9a9ae900,0x009c97f3,0xf3969ae8,0xe1009b77,0xf7917a5e,
+0x5eb000a1,0x19110087,0x76dee100,0x001a1192,0x9272dee1,0xe0001b31,
+0x51926ede,0xde68001c,0xe6292386,0x02de1e03,0x002b0af0,0x024f5e68,
+0xbc012b8a,0xb0081b60,0x60bc0165,0xa4970003,0x025e0200,0x008900f0,
+0x0093de68,0x85021b8a,0x0a00c300,0xc107021b,0xf7090097,0x0f5a3c01,
+0x01a21700,0xf4125abc,0xbf03a257,0x09f002de,0x5ab000f8,0xa217000f,
+0x0360bc01,0x03321100,0xf0025e33,0x8002fe09,0x0a001f44,0x5eb0001b,
+0x8611008b,0x0ee0a501,0x03801130,0xf002debf,0x9b021b0a,0x0a002f40,
+0x44000214,0x0e0a0007,0x07c40002,0x02080a00,0x00074481,0x82011b0a,
+0x900107e0,0x52b00010,0x1110002f,0x3352b000,0x00111000,0x003752b0,
+0xb0001110,0x11008b5e,0xdebf030f,0x1b0af002,0x07e08201,0x00103001,
+0x002f52b0,0xb0001110,0x10003352,0x52b00011,0x11100037,0x8b5eb000,
+0x030d1100,0xf002debf,0x82011b0a,0xd00007e0,0x52b00010,0x1110002f,
+0x3352b000,0x00111000,0x003752b0,0xb0001110,0x11008b5e,0xdebf030b,
+0x1b0af002,0x02de3303,0x00170af0,0x008b5eb0,0xbf030b11,0x0af002de,
+0x5e34031b,0x1a0af002,0x8b5eb000,0x030d1100,0xf002debf,0xb0001b0a,
+0x11008b5e,0xde1e030f,0x2b0af002,0x025e9f03,0x002b0af0,0x024f5e68,
+0x33032b8a,0x0af0025e,0x60bc012b,0x65b0081b,0x0360bc01,0x00a4b700,
+0xf0025e02,0x68008900,0xaa0093de,0xc107022b,0x270a0097,0x075a3c01,
+0x01881700,0x000b5a3c,0xbf03a117,0x0af002de,0x5a380129,0x88170007,
+0x0b5a3801,0x01a11700,0xf2865e84,0x87019497,0x912486de,0x5eb00324,
+0x7605f002,0x02debf03,0x032807f0,0xf0025e30,0xbf038008,0x05f002de,
+0x5eb00376,0x320af002,0x025e3303,0x038008f0,0xf002debf,0xb0003e0a,
+0x11002352,0x52b000f2,0xf3110027,0x2b52b000,0x01f41100,0x000360bc,
+0xb000f591,0x11005b00,0xdebf03f0,0x7605f002,0x3f523801,0x02a11700,
+0x00535e06,0x38013b0a,0x17004b52,0xde6800a1,0x3d8a0087,0x02debf03,
+0x032807f0,0xf0025eb0,0x00027605,0x0a00f300,0xde060243,0x430a0053,
+0x835e1801,0x00a11700,0x0087de68,0xbc0143aa,0x51020b60,0x52000242,
+0x80080017,0x02debf03,0x012807f0,0x000360bc,0xbc018311,0x11000360,
+0x40190182,0xa117002f,0x875e6800,0x017c0800,0x2086de99,0x31030011,
+0x08f0025e,0x5ea0007c,0xa297003b,0x4e5e2000,0x017c48f4,0x09026084,
+0xbf034810,0x08f002de,0x5e30037c,0x7c08f002,0x4fde6800,0x00542a04,
+0x003352b0,0xb0009f17,0x10002f52,0x528102eb,0x6305002f,0xab02e000,
+0x02aa2000,0x002f5281,0x08026608,0x05002f52,0xdebf0376,0x2807f002,
+0x0360bc01,0x01671000,0x000360bc,0x80014610,0x300906e0,0xc1820249,
+0x600a001f,0x2f60bc01,0x0165f01f,0x000360bc,0xe8008016,0x30009741,
+0xc1690065,0x5d0a0097,0x0b60bc01,0x01941700,0x000360bc,0xbc01ab17,
+0x17000360,0x60bc01ac,0xad170003,0x0360bc01,0x01ae1700,0x000360bc,
+0xbc01bf17,0x20000360,0x60bc0120,0xa1170003,0x025e0200,0x015800f0,
+0x00674038,0x1c012800,0x00006740,0x60bc0129,0x49500003,0x0360bc01,
+0x01a71700,0x000360bc,0xbc01a817,0x17000360,0x60bc01a9,0xac170003,
+0x0360bc01,0x01ad1700,0x0f06e082,0x06027810,0x0a00e3c1,0x80680072,
+0x750a00a7,0x02debf03,0x00760af0,0x00a78068,0xbc01768a,0xe0000b60,
+0x60bc0100,0x01400003,0x2f62bc01,0x01022003,0x1b5b60bc,0xbc010340,
+0x00000360,0x60bc0104,0x05000003,0x1b60bc01,0x01611006,0x1f1360bc,
+0xbc016050,0x06000360,0x5eb0009e,0x8517000f,0xb644a000,0x034571f0,
+0xf002debf,0x88012209,0x46ce5c5e,0x60bc0172,0x07100e1b,0x0360bc01,
+0x01085001,0x00066088,0x07020490,0x0600afc0,0xde860320,0x1509f002,
+0x02de0503,0x03870af0,0xf002de86,0x85031509,0x0af002de,0x5eb00089,
+0xa1170087,0x03e06e00,0x038d2a00,0xf002de86,0xbc011509,0x10000760,
+0xde020042,0x0000f002,0x025e2103,0x00940af0,0xf43a1ae0,0xb0008e26,
+0x17003b1a,0xdebf038b,0x9c0af002,0xb7508102,0x01990a00,0x009f501c,
+0xe0008b17,0x37f42e5e,0x5e9c018b,0x27f4842e,0x02debf03,0x019c0af0,
+0x009f501e,0xe0008b17,0x37f42e5e,0x5e9e018b,0x27f4842e,0x02de0200,
+0x000000f0,0x00a70068,0x0201a28a,0x060027c0,0x8068009d,0xa8aa00a7,
+0x771ae000,0x009d2600,0xf002de02,0xbc010000,0x26000360,0x40bc019d,
+0xa117002b,0x875e9800,0x00a11701,0x012b4098,0x6a00a217,0x2af48ade,
+0x60bc01a8,0x9d860003,0x02de0200,0x000000f0,0x002352b0,0xb0001f10,
+0x10002752,0x52b00020,0x2110002b,0x07608001,0x021d1000,0x00774080,
+0x0200ad0a,0x00f002de,0xe0870100,0xab77f502,0x025e9103,0x000200f0,
+0x09fee320,0x81020200,0x0a00535e,0x418302bb,0xb50a001f,0x53de8102,
+0x01c10a00,0x000360bc,0xbc015111,0x11000360,0x62bc0152,0x53110003,
+0x0360bc01,0x01505100,0xf2066089,0xbf039497,0x00f002de,0xc5800202,
+0x02000043,0x47c5f001,0x01561100,0x0047c507,0xf001a117,0x31f44ac5,
+0x60890155,0x9497f20a,0x0360bc01,0x02471008,0x0007c104,0x92030200,
+0x00f002de,0xde9e0302,0xc80af002,0x02deb803,0x000200f0,0x007f01b0,
+0x6800a117,0xc00b84de,0xdebf0302,0xca0af002,0x53de0302,0x00020000,
+0x0023de68,0x8402cb0a,0x0000535e,0xc4870202,0x02000093,0x0361bc01,
+0x00231100,0x002b01b0,0xb000a317,0x17000b44,0x44b000a1,0xa217000f,
+0x865ee900,0x00a13723,0x238adee8,0xe900a257,0x66f4865e,0xdee8008a,
+0x8b06008b,0x6f816800,0x00d70a00,0x00235e68,0x6800eb2a,0x2a002700,
+0x5ee800eb,0xa1370023,0x87de6900,0x00da0a00,0x01845ee0,0xb000a137,
+0x18001f44,0x44880000,0xa3570123,0x23449000,0x01a4d700,0x006f013c,
+0x6800a517,0x0a0097de,0x013801e4,0xa517006f,0x975e6800,0x00e70a00,
+0x00975ee8,0x6800a137,0x0a00875e,0xdebf03eb,0xe70af002,0x975ee800,
+0x00a53700,0x0194de80,0xe000a537,0xb70d865e,0x1ae100a1,0x8a66f42a,
+0x2e9ae000,0x008b86f4,0x00875ee8,0x6a00a137,0x0a00875e,0x1a6900e7,
+0xf00a002f,0x2f9a6800,0x00ee0a00,0x2a2a9a6e,0x8001f08a,0x97f206e0,
+0xdebf0394,0xf20af002,0x02e08001,0x039497f2,0xf002debf,0x68000200,
+0x0a002741,0x458402fd,0xf30a0023,0xa7006800,0x00f6aa00,0x00a78068,
+0xb000f9ca,0x17006744,0x44e800a1,0xa237f466,0x8b5e6d00,0x03f74a00,
+0xf002de92,0x02002e09,0x0cf0025e,0x5e02005f,0x5a0cf002,0x025e0200,
+0x016a0cf0,0x000f60bc,0x1e03e811,0x0bf002de,0x60bc0104,0x5c100003,
+0x0360bc01,0x015d1000,0x045360bc,0xbc015e10,0x10000360,0xdebf035f,
+0x080bf002,0x0b60bc01,0x015c1000,0x000360bc,0xbc015d10,0x10044360,
+0x60bc015e,0x5f100003,0x0360bc01,0x02208000,0x00bf0085,0xb0003d0b,
+0x11002b1a,0x1ab00051,0x5211002f,0x0360bc01,0x01503100,0x0c0360bc,
+0x00004090,0x00f002de,0xc1680000,0x110b0003,0x43458002,0x010d0b00,
+0x000360bc,0x84025011,0x0b004345,0x44b00012,0xa1170067,0x865e6800,
+0x01142b23,0x000360bc,0x86012040,0x11200660,0x1ae90000,0xa1372a2a,
+0x2e9ae800,0x00a2572a,0xf46644e1,0xe1001931,0x51f46ac4,0xc4e1001a,
+0x1b11006f,0x73c4e000,0x001c1100,0x001f44b0,0x88000018,0x57012344,
+0x449000a3,0xa4d70023,0x0b44b000,0x00a11700,0x000f44b0,0xe900a217,
+0x3723865e,0xdee800a1,0xa257238a,0x8bde6900,0x002b0b00,0xf40a44e1,
+0xe0000271,0x91f40ec4,0x5ee80003,0x88370023,0x23de6900,0x00200b00,
+0x002700e8,0xbf038837,0x0bf002de,0x60860120,0x00112002,0x53de0002,
+0x013f0b00,0xf202e080,0x02009497,0x0cf0025e,0x60bc015d,0x40100003,
+0x02debf03,0x02320bf0,0x00c38000,0xe000360b,0x57096444,0x5ee800a1,
+0xa1372186,0x66c46c00,0x03342bf4,0xf002debf,0xe8003f0b,0x26212a01,
+0x60bc018a,0x8b060003,0x2b1ab000,0x01511100,0x000360bc,0xbc015211,
+0x31000360,0x45800250,0x3b0b0043,0x02debf03,0x01160bf0,0x000360bc,
+0xb0004010,0x11002b01,0xde000009,0x0000f002,0x025e5603,0x00420bf0,
+0xf0025e02,0xb000cc00,0x11002f01,0x61bc0109,0x5c100ccf,0x0360bc01,
+0x015d1000,0x01cf61bc,0xbc015ef0,0xf0083b60,0x5e02005f,0x660cf002,
+0x025e0200,0x006f0cf0,0xf0025e02,0xbf03630c,0x09f002de,0x5e88012e,
+0x86d01006,0x075e0201,0x01a11700,0x10865e82,0x680086d0,0x8b00a780,
+0x5e9d0150,0x86d01002,0x1b420802,0x01670b00,0x061b60bc,0x0200a137,
+0x00f0025e,0x608d0158,0xa2370306,0x025e0200,0x015d00f0,0x006f5018,
+0x8002a317,0x0b001bc2,0x60bc015b,0x81d71d03,0x8fde0002,0x02640b00,
+0x008f5e00,0xbf035e0b,0x0bf002de,0x60bc0161,0x81f70303,0x8f5e6e00,
+0x00644b00,0x008f5e68,0x8301610b,0x37030660,0x5e0200a2,0x5d00f002,
+0x02debf03,0x016c0bf0,0x03066083,0x0200a237,0x00f0025e,0xdebf035d,
+0x6c0bf002,0x02608301,0x00a23703,0xf0025e02,0xbf035d00,0x0bf002de,
+0x60bc016c,0xa137061b,0x025e0200,0x015800f0,0x0302608d,0x0200a237,
+0x00f0025e,0x60bc015d,0x81d71d03,0x07c18102,0x026c0b00,0x00634087,
+0xbc016d0b,0x10070760,0x60bc0119,0x18700183,0x63408702,0x00700b00,
+0x00075eb0,0xbc011910,0xb0018360,0x40870218,0x730b0063,0xa7006800,
+0x02778b00,0x001b420b,0xbf03770b,0x0bf002de,0xde020077,0x0000f002,
+0x1354b000,0x02a11700,0x0007de00,0xb000820b,0x10008b41,0x60bc0165,
+0xa1d70103,0x025e0200,0x00570df0,0x00845ee0,0xe000a1d7,0xf700845e,
+0x5e0202a1,0x820b0007,0x845ee800,0x03a137d4,0xf002debf,0x0200820b,
+0x00f002de,0x00040200,0x860b00bf,0x025e0200,0x03340df0,0xf002debf,
+0xa0008a0b,0xb1f0b644,0x80070245,0x8a0b00bf,0x17c56800,0x018a0b00,
+0x000360bc,0x02004531,0x00f002de,0x00000200,0x9a0b00bf,0xa35ee000,
+0x00a83700,0x05a05e6d,0xb0009acb,0x17009726,0x5e0200a1,0x5800f002,
+0x6740b000,0x00a21700,0xffa3de68,0xb00097eb,0xd734895e,0x006d00a2,
+0x968b00a7,0x779a6d00,0x03984b00,0xf002debf,0x6800970b,0x0b00779a,
+0x5eb80098,0xa2d73489,0x025e0200,0x015d00f0,0x000360bc,0x0200a817,
+0x00f002de,0x5e010200,0xae0b00b3,0x02608101,0x01ac97f5,0x1f0f60bc,
+0x90016210,0x30020460,0x54b00086,0x8a100027,0x0361bc01,0x0080f000,
+0x00a702e0,0xbc01a920,0x10000360,0x60bc0184,0x85100003,0x0754b000,
+0x00e01000,0x000b54b0,0xbc01e110,0x901a0360,0x60bc01e3,0xe4100003,
+0x0360bc01,0x0192b706,0x1fff63bc,0xbc01c3f0,0xf01fff63,0x60bc01c4,
+0x84f01f03,0x0a609001,0x01481009,0x0902e084,0x02004810,0x00f002de,
+0xde000200,0xc00b00b3,0xb35e0002,0x02c00b00,0x001f4200,0xbc01c00b,
+0x10000361,0x42b00080,0x00180003,0x03e06e00,0x03b52b00,0xf0025e50,
+0x0100b80b,0x00f0025e,0xdebf0300,0x3302f002,0x2341a800,0x0148f001,
+0xf502e087,0xb000ab77,0x1100331a,0x02e00042,0xa720009f,0x7060a001,
+0x008fe6d1,0xf0025e02,0x8001d30b,0x900d06e0,0x5e02006c,0x8b0bf002,
+0x02de0200,0x030000f0,0xf002de28,0x2000c00b,0x0b098ae0,0x1ab000c0,
+0x60100053,0x571ab000,0x00180000,0x006300b0,0xb000a010,0x18008342,
+0x42680000,0xc00b0047,0x02608001,0x002c9485,0xf0025e02,0xb000e700,
+0x17004f1a,0xde6800a5,0xcfcb8496,0x02e08001,0x016c900d,0x8506e082,
+0xbf032db4,0x0bf002de,0xe08601c0,0xa0100304,0x8342b000,0x00001800,
+0x00a302e0,0xbf03a820,0x0bf002de,0x5e0002c0,0xd90b00b3,0x4b1ab000,
+0x008f1000,0x00471ab0,0xb0008e10,0x1000431a,0x1ab0008d,0x8c30003f,
+0x02608001,0x00ac97f5,0xf002de02,0xd8000000,0x1701035a,0x5ab801a2,
+0xa257f406,0x0356b000,0x00ae0600,0x000756b0,0xb000af06,0x06000b56,
+0x56b000b0,0xb106000f,0x1356b000,0x00b20600,0xf41256e0,0xb000b346,
+0x0600035a,0x5e3801ac,0xad06008b,0xcf1ab000,0x01a41700,0x000360bc,
+0xb000a217,0x10009341,0x5eb80065,0xa417d092,0x065ee000,0x006350f4,
+0x00935ef0,0xf000a317,0x7700935e,0x5ee000a4,0xa237008b,0x925eb800,
+0x00a477f4,0xf49241e0,0xe0006550,0x95f40256,0x56b00080,0xa4170003,
+0x8bde6e00,0x00e7ab00,0xc0925eb8,0xd800a2d7,0x37008b5e,0x1ae000a2,
+0xae46f4ba,0xbb1ab000,0x00a41700,0xc0925eb8,0xd800a2f7,0x37008b5e,
+0x1ae000a2,0xaf46f4be,0xbf1ad800,0x00a23700,0xf4c21ae0,0xd800b046,
+0x3700c31a,0x1ae000a2,0xb146f4c6,0xc71ad800,0x00a23700,0xf4ca1ae0,
+0xd800b246,0x3700cb1a,0x1ae000a2,0xb346f4ce,0xcf1ab000,0x00a21700,
+0xc08a5eb8,0x9000a217,0x37008b5e,0x5ebc01a2,0xada6d588,0x02de0200,
+0x010000f0,0x3c066080,0x8701e491,0xd13c0660,0x60a801e6,0xe6d13c02,
+0x02608b01,0x00e6d13c,0x008f5eb0,0xb0006310,0x11000356,0x56b000e7,
+0xe7110007,0x0b56b000,0x00e71100,0x000f56b0,0xa901e711,0x913c4260,
+0x60a801e4,0xe6d13c02,0x06608b01,0x00e6d13c,0x008b5eb0,0xbc016310,
+0x57000360,0x560402a1,0x150c0003,0x0360bc01,0x00a11701,0xf48e41e0,
+0xb0006330,0x11000356,0x56b000e7,0xe7110007,0x0b56b000,0x00e71100,
+0x008b5eb0,0xbc016310,0xb7000360,0xd60402a1,0x1f0c0003,0x0360bc01,
+0x02a11701,0x00535e06,0xbc011f0c,0x97010360,0x41e000a1,0x6330f48e,
+0x0356b000,0x00e71100,0x000756b0,0xb000e711,0x11000b56,0x60bc01e7,
+0xa1170003,0x53de0602,0x002a0c00,0x008b5eb0,0x06026310,0x0c00535e,
+0x56a00029,0xa1f7013f,0x02debf03,0x002a0cf0,0x013356a0,0xb000a1f7,
+0x1100875e,0x60bc01e7,0xe7110003,0x02de0200,0x010000f0,0x020760bc,
+0x6800e311,0x4c009bde,0x47e80039,0xe1110187,0x0360bc01,0x01e21100,
+0x000360bc,0xbc01e211,0x11000360,0x60bc01e2,0xe2110003,0x0360bc01,
+0x01e21100,0x000360bc,0xbc01e211,0x11000360,0x60bc01e2,0xe2110003,
+0x4261b000,0x00e051f4,0x000358b0,0xb000e211,0x11000758,0x58b000e2,
+0xe211000b,0x0f58b000,0x00e21100,0x001358b0,0xb000e211,0x11001758,
+0x58b000e2,0xe211001b,0x1f58b000,0x00e21100,0x009b5eb0,0x6800a417,
+0xac009bde,0x60bc0144,0xa4770003,0x93de9201,0x00a31702,0xf002de02,
+0x81020000,0x0c0007c1,0x60bc014d,0xa1770103,0x035ea000,0x00a2f71f,
+0xf0025e02,0xbc015d00,0xb7010360,0x5e0200a1,0x5800f002,0x6740a000,
+0x0081f71f,0xf002de02,0x81020000,0x0c0007c1,0x60bc0157,0xa1770103,
+0x06e08101,0x00ab77f5,0x1f035ea0,0x0200a2f7,0x00f0025e,0x60bc015d,
+0xa1b70103,0x075eb000,0x00a21700,0xf0025e02,0x81015d00,0x77f502e0,
+0xde0200ab,0x0000f002,0xa7006800,0x0396ce00,0xf002debf,0x02006e0c,
+0x0cf0025e,0x5e02005d,0x6f0cf002,0x02de0200,0x000000f0,0x00a70068,
+0x020069ce,0x00f002de,0x60810100,0x49300906,0xa7006800,0x00628c00,
+0xf0025e02,0x02007f0c,0x00f002de,0x5e020000,0x7f0cf002,0x02608101,
+0x00493009,0xf002de02,0x88010000,0x30090ee0,0x41b00049,0x00180027,
+0x2b00b000,0x00021000,0xf002de02,0xbc010000,0x10000360,0xe0820102,
+0x78100f02,0x0360bc01,0x00491000,0x002741b0,0x02000018,0x00f002de,
+0x00680000,0x70cc00a7,0x53de8002,0x01760c00,0x071360bc,0x0200a177,
+0x00f0025e,0x60900158,0xa2370302,0x025e0200,0x005d00f0,0xf002de02,
+0xbc010000,0x97071360,0x5e0200a1,0x5800f002,0x1e609001,0x00a23703,
+0xf0025e02,0xbc015d00,0x77071360,0x5e0200a1,0x5800f002,0x1e609001,
+0x00a23703,0xf0025e02,0x02005d00,0x00f002de,0xde000100,0xa6170053,
+0xa7806800,0x0184cc00,0x099ade81,0xb0004930,0x18002741,0xde020000,
+0x0000f002,0x0360bc01,0x03a13700,0xf002debf,0x0200860c,0x00f0025e,
+0x60870158,0xa2370306,0x9bde6800,0x018a0c00,0x03026087,0x0200a237,
+0x00f0025e,0xde02005d,0x0000f002,0x1f410202,0x029f0c00,0x00535e82,
+0x8201910c,0x97f20660,0x44b00094,0x00180067,0x6b44b000,0x00970600,
+0x006744b0,0xe8000018,0xf7d26844,0x006800a4,0x948c00a7,0x93de6d00,
+0x00994c00,0x036744e0,0x9003a317,0x0cf0025e,0xc585029c,0x9c0c0023,
+0x8ede6800,0x01962c23,0x020360bc,0xbc014710,0x90000360,0x60820143,
+0x9497f202,0x02608201,0x00adb7f5,0x00a70068,0x68009f8c,0xac00a700,
+0xde02009f,0x0000f002,0x1fc10102,0x02b20c00,0x00af5e85,0x8501a50c,
+0x77f50660,0x44b000ab,0x9a060067,0x6b44b000,0x009b0600,0xd36444e9,
+0xe800a157,0x77d368c4,0x5ed000a2,0xa1770087,0x8adee101,0x00a237f4,
+0x26865ee9,0xe800a197,0xb7268ade,0x5e6900a2,0xb20c008b,0x0361bc01,
+0x00331100,0xf4da44e1,0xe1003631,0x51f4de44,0x60850137,0xab77f502,
+0x0360bc01,0x01471001,0x000360bc,0x02004350,0x00f002de,0x45b00000,
+0x8117001f,0xb705b000,0x01a61700,0x040760bc,0xbc016410,0x10191360,
+0x60bc0165,0xa1170003,0xafde0502,0x00cb0c00,0x000f58b0,0x68008017,
+0x2c2c845e,0x5e0002d8,0xcb0c009b,0x03da8002,0x01c10c00,0x001f5818,
+0xe0008217,0x37000b5e,0x5e980182,0x07f6c00a,0x02debf03,0x01c40cf0,
+0x001fd819,0xe0008217,0x3700035e,0xde990182,0x07f6c00a,0x03def001,
+0x00803700,0xc0025ea0,0xb0008057,0x1600035e,0x44a00003,0x8217f0b6,
+0x0b5eb000,0x00051600,0xc00a5ee0,0xbf030696,0x0cf002de,0x58b000d8,
+0x82170013,0x065ee800,0x02a557f0,0x00afde00,0xe800d20c,0x97d4085e,
+0x5eb000a3,0xa5170007,0x8fde6a00,0x00d20c00,0xf4965ee8,0x6a00a577,
+0x0c0097de,0x58e800d6,0x05b6f416,0x17d86900,0x01d60c00,0x000360bc,
+0xb0000516,0x17001758,0x58e000a5,0x06b6f412,0x9341e000,0x00641002,
+0x069741e0,0xe0006550,0x3700875e,0x5e9000a1,0xa637009b,0x87de6800,
+0x01b88c00,0xf502e080,0xbc01ab77,0x11000360,0xde020047,0x0000f002,
+0x0360bc01,0x016c0100,0x000360bc,0xbc016d01,0x100a0760,0x60bc0164,
+0xa4d70b17,0x0360bc01,0x00a17700,0x008f42b0,0xa0008017,0xf701035e,
+0x5eb00080,0x6e010003,0xff63bc01,0x00a2f71f,0x0003de68,0xbc01eb0c,
+0x17000360,0x608800a2,0x8137f406,0xba052000,0x00f02cf0,0xc08ade68,
+0xe000f0cc,0x2100b305,0x05b0006c,0x6d21f0b6,0x035e6800,0x00f40c00,
+0xf0065e20,0x6e00fb0c,0xccc08ade,0xdebf03fb,0xf50cf002,0x8ade6d00,
+0x00fbccc0,0x00875eb0,0xb000a317,0x01009341,0x5eb00066,0x67010093,
+0x1b58b000,0x01a21700,0x000360bc,0xbc016c01,0x01000360,0x41e8006d,
+0x64100293,0x935ee800,0x00a45706,0x00875ee8,0x6900a137,0x0c0087de,
+0x5eb000eb,0x6501008f,0x8b5eb000,0x00640100,0xf002de02,0xb0000000,
+0x10009b05,0x58b00064,0x4511001b,0x9305b000,0x00600100,0x009b05b0,
+0xb0006201,0x01009f05,0x05b00063,0x61010097,0x0f58b000,0x00851700,
+0x000758b0,0xb0008317,0x17000b58,0x58980184,0x8c97f11e,0x1ed89901,
+0x008db7f1,0xf002de02,0x87010000,0x77f50260,0x05b000ab,0x80170097,
+0x005e6800,0x01322d2c,0x000360bc,0xbc011211,0x11000360,0x05b00015,
+0x6410009b,0x23450002,0x001c0d00,0x001f45b0,0xe8008117,0x37f09205,
+0xde6a0080,0x1a0d0003,0x035eb000,0x03451100,0xf002debf,0xbc011d0d,
+0x31000360,0xdebf0345,0x1d0df002,0x9305b000,0x00451100,0x008305b0,
+0xb0006901,0x01008b05,0x05b0006a,0x6b01008f,0x8705b000,0x00680100,
+0x00ab05b0,0x84026510,0x0d001f5a,0x5eb00026,0x83160017,0x325e9801,
+0x0187f6d0,0xd036de99,0x840187f6,0xf6d00260,0x05b00087,0x60010093,
+0x9b05b000,0x00620100,0x009f05b0,0xb0006301,0x01009705,0x05b00061,
+0x6410008b,0x0f58b000,0x00851700,0x000758b0,0xb0008317,0x17000b58,
+0x58980184,0x8c97f11e,0x1ed89901,0x038db7f1,0xf002debf,0x8701330d,
+0x77f50660,0xde0200ab,0x0000f002,0x8b05b000,0x00641000,0x2a93416e,
+0xa000400d,0xb7f0b644,0x5eb000a1,0x05160087,0x1258e000,0x020636f4,
+0x00f30000,0x6d003d0d,0x0d289341,0xde00023d,0x3d0d00af,0x0b60bc01,
+0x00425102,0x00875eb0,0x01026f01,0x0d00af5e,0x5eb00040,0x03160017,
+0x02608101,0x00ab77f5,0xf002de02,0x0c010000,0x17004381,0x60bc01a1,
+0x8a100003,0x875e6800,0x014e4d00,0x000360bc,0x68008a50,0x0d00075e,
+0x5e680056,0x4e0d0087,0x0360bc01,0x008ab000,0x00075e68,0x82024e2d,
+0x0d0003de,0x60bc014e,0x8a900003,0x03de8302,0x004e0d00,0xf40a60e0,
+0x68008ad0,0x0d00075e,0x42900156,0x8a30a12a,0x075e6800,0x01562d00,
+0xa02a4290,0x09018a10,0x170003de,0x5e8f01a2,0x8a50118a,0x8b5e6800,
+0x01560d00,0x110ee091,0x02008a50,0x00f002de,0xde090100,0xa4170003,
+0x065ae000,0x00a597f4,0xf4965e90,0x0302a597,0x0d0003de,0xde82025d,
+0x5d0d0003,0x94de8000,0x00a5f70a,0x00875e88,0xe000a177,0xd702875e,
+0xde8000a1,0xa137f496,0xb741e100,0x00a5f7ff,0x0187dee0,0x9000a1f7,
+0x9700875e,0x5e8800a1,0xa1570087,0x43010501,0x00a21700,0xf4865e88,
+0x0200a157,0x00f002de,0x19000200,0x0a0000df,0x53de8202,0x016d0d00,
+0x04026088,0xe0002490,0x06f3821a,0x1ae800a0,0x9f06f37e,0x02debf03,
+0x01e107f0,0x041660b8,0xbc012490,0xd0010360,0x5e050325,0x7f0df002,
+0x37c08702,0x03140900,0xf002de86,0xbc011509,0xe0000360,0x5e02003e,
+0xa50ef002,0x02de5c03,0x006f0df0,0x019b40d8,0xe000a117,0x3702875e,
+0x5ea80098,0x98770063,0x53de0201,0x01a11700,0xf202e082,0x88019497,
+0xe6ce84de,0x9a6e0077,0x7f0df37e,0x635ee800,0x0125d001,0x040660b8,
+0xbf032490,0x00f002de,0x60810102,0x77e6ce04,0x0a60b801,0x03249004,
+0xf002debf,0x28020200,0x0d00875e,0x41b00095,0xa4170093,0x9341e000,
+0x01647000,0x00875e0a,0xe800a217,0x50f49241,0x5e180163,0xa1170087,
+0x4260e800,0x00a237f4,0xf4025688,0x68000036,0x8df48e41,0x41e80091,
+0x6330008f,0x9341e800,0x00643000,0x028b5e68,0x9000890d,0x57f40256,
+0x58b000a3,0x0176f406,0x02debf03,0x00890df0,0xf4924168,0xe800958d,
+0x30009341,0x60bc0164,0x00160003,0x02debf03,0x00910df0,0x00875eb0,
+0x0200a117,0x00f002de,0x5e280200,0xab0d0087,0x875e0a01,0x00a21700,
+0xf49241e0,0x18016350,0x1700875e,0x60e800a1,0xa237f442,0x0360bc01,
+0x00a31700,0x009341e8,0xe0006430,0x97009341,0x58b000a4,0x0076f402,
+0x9341e000,0x00643000,0xf4025690,0x68000036,0x8df48e41,0x41e000a7,
+0x6330008f,0x8b5e6800,0x009f0d02,0xf4025688,0xbf03a357,0x0df002de,
+0x4168009f,0xab8df492,0x0360bc01,0x00011600,0x009341e0,0xbf036430,
+0x0df002de,0x5eb000a7,0xa1170087,0x02de0200,0x000000f0,0x00bb50b0,
+0xb0006510,0x17000b5a,0x01e000a1,0x7d2000f7,0xd201e000,0x007420f4,
+0x00bf50b0,0xb0006410,0x17001358,0x60bc0182,0x04160003,0x1b60bc01,
+0x0265d005,0x00b7d002,0xbc01b70d,0xf0051b60,0x50e00065,0x649000bb,
+0x0360bc01,0x01b41700,0x000360bc,0xbc018017,0x37000360,0x60bc0181,
+0xa5170003,0x0360bc01,0x00a61700,0x00335290,0xe000a497,0xb7018741,
+0x608701b5,0xa0100304,0x8342b000,0x00001800,0xf0d25e68,0xb000f64d,
+0x1000035e,0x00b000b5,0xb4700863,0xd3428302,0x01c40d00,0x090360bc,
+0xb000b510,0xf0006300,0x60bc01b4,0xb6101147,0x0360bc01,0x00b5d000,
+0x006300b0,0xb000b4b0,0x1800d342,0xde170300,0xcb0df002,0x02de9703,
+0x00cc0df0,0xf002d820,0x9000e32d,0x5700975e,0x50e000a1,0x6330f4ba,
+0x975e8901,0x00a21700,0xf41a5690,0x8800a357,0x57f43e60,0x5ea000a1,
+0xa3f7018f,0x8f5ee000,0x00a33700,0xf41a56a8,0xe0008635,0x3700975e,
+0x500202a5,0xe70d00b7,0x17239000,0x00a19700,0xf4865ee8,0x6900a197,
+0x0d00875e,0xde6900e7,0xe70d0487,0x875e0a01,0x00a21700,0xf4d65ee0,
+0xda016350,0x37f40260,0x608800a1,0xa137f406,0x02562000,0x00e72df4,
+0xf00258b0,0xe0000036,0x3600035a,0xde680080,0xf00d009b,0x1b23b000,
+0x012b1400,0x030ce08e,0xbf03a010,0x0df002de,0xde6d00f1,0xe4cdf08e,
+0x9b5e9000,0x01a25700,0x009b5e89,0xe000a117,0x50f4ba50,0x60880063,
+0xa237f43e,0x8e5e8800,0x00a337f4,0xf41a56a8,0xb0008655,0x75f41a56,
+0x5ee00086,0xa637009b,0x035ee000,0x00803700,0x00d35ee0,0xd000b437,
+0x3700075e,0x5e980281,0xc10d00d3,0x9341e000,0x03643000,0xf002debf,
+0x8001c10d,0x94850260,0x5ee8002c,0x8017f0d2,0x035e6800,0x030a0000,
+0xf002debf,0xd0008004,0x97c00660,0x41e00080,0xb5970097,0x13580a01,
+0x00a11700,0xf4d65ee0,0xb000b537,0x10000f58,0x56160163,0x81170003,
+0x13d86800,0x010d0e00,0x00630014,0xbc01a117,0x90090360,0x5e900062,
+0xa2370087,0x8a41e000,0x006250f4,0x01035488,0x00028016,0x0e00875e,
+0x54a00008,0x8016e003,0x035ae800,0x01801630,0x000360bc,0xbc018116,
+0x16000360,0x60bc0182,0x83160003,0x02debf03,0x00120ef0,0xc08e41e0,
+0x6e006390,0x2ec08ec1,0x41e80012,0x6330c08e,0x0358e800,0x00a13700,
+0xf48e41e0,0xbc016330,0x17000360,0x586800a5,0x2fee0313,0x8e416800,
+0x002f4ec0,0x040bda6d,0x16012f0e,0x17000356,0xde6800a1,0x2f2ef086,
+0x03565801,0x00a11700,0x0c875ee0,0xb000a257,0x1000d75e,0xde200062,
+0x260ea002,0x865ee000,0x00a337d0,0xd08e5ee0,0x6d00a377,0x4ef4025a,
+0x63bc012f,0xa4f71fff,0x8e5e6e00,0x002f8ef4,0xf40260e8,0xb0008336,
+0x16008f5e,0x5aa00081,0x8376000f,0x0360bc01,0x00a53700,0x000b5ae0,
+0xe8008236,0x56f4025a,0x5ed00080,0x80370003,0x1358e000,0x00043600,
+0x008f41e0,0x98026330,0x0e001358,0x5ee0002c,0xb53700d7,0x8ec16e00,
+0x00122ec0,0x000358b0,0xbf036310,0x0ef002de,0x5e680012,0x300e0097,
+0x02de0200,0x000000f0,0x000758b0,0xe000a117,0x16f00e58,0xd86e0003,
+0x372ef40e,0x865ee800,0x00a117c0,0xf40e58e8,0xe8000336,0x36000f58,
+0x5e180103,0xa1170003,0x03de6d00,0x003f0e02,0xf44260e8,0x9000a237,
+0x36f4125a,0x5a880084,0xa257f416,0x165a9000,0x008536f4,0xf4125ab0,
+0xbf038456,0x0ef002de,0x5a900041,0x8436f416,0x0360bc01,0x00851600,
+0xf002de02,0x58010000,0x10000360,0x60bc012a,0x04900203,0x0a60b801,
+0x01249004,0x0d02e089,0x02006c90,0x00f002de,0x47e80000,0xa1170187,
+0x875ed800,0x01eb1101,0x111f63bc,0xa000a1f7,0x31f40e5a,0x5ab000eb,
+0xeb110017,0x1b5ab000,0x00eb1100,0x001f5ab0,0xb000eb11,0x1100235a,
+0x5ab000eb,0xeb110027,0x2b5ab000,0x00eb1100,0x002f5ab0,0xb000eb11,
+0x1100335a,0x5ab000eb,0xeb110037,0x3b5aa000,0x00ebf101,0x009741b0,
+0x06026410,0x0e00535e,0x58b0005b,0xeb11003f,0x4358b000,0x00eb1100,
+0x004758b0,0xe000eb11,0x70009341,0xde060264,0x5e0e0053,0x3f58a000,
+0x00ebf101,0x009341e0,0x07026430,0x0e000fda,0x58b00061,0xeb11003f,
+0x4358b000,0x02eb1100,0x00ab4710,0xbc01640e,0x11000360,0xdebf03eb,
+0x610ef002,0xabc71101,0x01a11700,0x060360bc,0xe800ea11,0x5100875e,
+0xe08601eb,0xe8113d06,0x02de0200,0x020000f0,0x0053de00,0xbc01880e,
+0xb7091360,0x5e0200a1,0x5800f002,0x0260a501,0x00a23703,0xf0025e02,
+0xbc015d00,0x97091360,0x5e0200a1,0x5800f002,0x7e60a401,0x00a23703,
+0xf0025e02,0xbc015d00,0xf7161360,0x5e0200a1,0x5800f002,0x0260b401,
+0x00a23703,0xf0025e02,0xbc015d00,0x37161360,0x5e0200a1,0x5800f002,
+0x02e08601,0x00a23703,0xf0025e02,0xbc015d00,0x17161360,0x5e0200a1,
+0x5800f002,0x06e08101,0x01a23703,0x0306e085,0x0200a237,0x00f0025e,
+0x60bc015d,0xa1571f13,0x025e0200,0x015800f0,0x0302e081,0x0200a237,
+0x00f0025e,0x60bc015d,0xa1371f13,0x025e0200,0x015800f0,0x0306e081,
+0x0200a237,0x00f0025e,0xde02005d,0x0000f002,0x1360bc01,0x00a19709,
+0xf0025e02,0xa4015800,0x37030260,0x5e0200a2,0x5d00f002,0x1360bc01,
+0x00a11716,0xf0025e02,0x81015800,0x370302e0,0xe08501a2,0xa2370302,
+0x025e0200,0x015d00f0,0x1f1360bc,0x0200a137,0x00f0025e,0xe0810158,
+0xa2370302,0x025e0200,0x005d00f0,0xf002de02,0x00020000,0x0e0053de,
+0x60bc01a0,0xa1b70913,0x025e0200,0x015800f0,0x03026087,0x0200a237,
+0x00f0025e,0x60bc015d,0xa1970913,0x025e0200,0x015800f0,0x03066086,
+0x0200a237,0x00f0025e,0xde02005d,0x0000f002,0x1360bc01,0x00a19709,
+0xf0025e02,0x86015800,0x37030260,0x5e0200a2,0x5d00f002,0x02de0200,
+0x020000f0,0x00234584,0xbc01030f,0x17161760,0x5e0200a1,0x5800f002,
+0x67401e01,0x00a21700,0x008b5e68,0x6800b9ae,0x6e018bde,0x409c02d1,
+0xb60e0067,0x8726e000,0x00a12900,0x006744b0,0xe0000018,0x69006744,
+0x5e830391,0xb30ef002,0x46a66800,0x01af2e23,0x000360bc,0x83023b20,
+0x0e004fa6,0xe08201ed,0x93693205,0x0360bc01,0x033b4000,0xf002debf,
+0x1c01ed0e,0x17006740,0x5e6800a2,0xc5ce008b,0x02debf03,0x01d10ef0,
+0x32016081,0x80029369,0x0e004fa6,0xe08001bf,0x93693205,0x6744b000,
+0x00001800,0x006744b0,0xbf039109,0x0ef002de,0x266800d2,0xd20e0023,
+0x6544e800,0x01a13732,0x000360bc,0x6e003ba0,0x0e31855e,0x60bc01ed,
+0x3b000003,0x02debf03,0x01d20ef0,0x3201e080,0x81029369,0x0e004f26,
+0x608101cb,0x93693205,0x6744b000,0x00001800,0x006744b0,0xbf039209,
+0x0ef002de,0x266800d2,0xd10e0027,0x6544e800,0x01a15732,0x000360bc,
+0x6e003bc0,0x2e31855e,0x60bc01ed,0x3b000003,0x02debf03,0x01d20ef0,
+0x3201e088,0x81029369,0x0e004fa6,0x400602ec,0xd90e0037,0x37c00502,
+0x01d90e00,0x32056080,0xb0009369,0x18006744,0x44b00000,0x90090067,
+0x02debf03,0x02ec0ef0,0x004f2600,0xe800ec0e,0x17326544,0x266800a1,
+0xec0e001f,0x855e6e00,0x03deee30,0xf002debf,0x8001ec0e,0x69320160,
+0x42830293,0xea0e001f,0x23c58502,0x01e60e00,0x020360bc,0x83023b20,
+0x0e004fa6,0xe08201ed,0x93693205,0x0360bc01,0x033b4002,0xf002debf,
+0x8201ed0e,0x69320560,0x60bc0193,0xa1b70817,0x2761bc01,0x00a2970c,
+0xf0025e02,0xe0005d00,0x29003326,0x6080018c,0x93693201,0x02debf03,
+0x02040ff0,0x004f2602,0xbc01f10e,0xb7081760,0x61bc01a1,0xa2170027,
+0x025e0200,0x015d00f0,0x0906e081,0xb0004930,0x1700875e,0x5eb000a1,
+0xa1170087,0x875eb000,0x01a11700,0x0902e081,0xe0004930,0x29002b26,
+0x44b0008a,0x8e090067,0x4fa68202,0x00030f00,0x008b26e0,0xb000a229,
+0x09002b26,0x44b0008b,0x8d090067,0xef00b000,0x00510000,0x00fb00b0,
+0xc0013f00,0x69320160,0x5e020093,0x3b09f002,0x025e0100,0x010000f0,
+0x0906e084,0xbf034810,0x08f002de,0x60c0015e,0x93693201,0x02de0200,
+0x000000f0,0x00000000,0x00000000,0x0000692a,0x0193477e,0x00000000
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinit.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Defines the class implementing MWlanHwInitInterface interface
+*
+*/
+
+
+#ifndef WLANHWINIT_H
+#define WLANHWINIT_H
+
+#include "wlanhwinitinterface.h"
+
+class CWlanHwInitMain;
+
+// CLASS DECLARATION
+/**
+* This class implements the MWlanHwInitInterface interface.
+*
+* @since Series 60 3.1
+*/
+NONSHARABLE_CLASS( CWlanHwInit ) : public CBase, public MWlanHwInitInterface
+    {
+    public:  // Constructors and destructor
+        
+        /**
+         * Two-phased constructor.
+         */
+        IMPORT_C static CWlanHwInit* NewL();
+        
+        /**
+         * Destructor.
+         */
+        IMPORT_C virtual ~CWlanHwInit();
+        
+        // Functions from base classes
+
+        /**
+         * From MWlanHwInitInterface Get pointer to hardware specific initialization data.
+         * @since Series 60 3.1
+         * @param aInitData Pointer to initialization data, NULL if none.
+         * @param aInitLength Length of initialization data.
+         * @param aFwData Pointer to firmware data, NULL if none.
+         * @param aFwLength Length of firmware data.
+         */
+        IMPORT_C void GetHwInitData(
+            const TUint8** aInitData,
+            TUint& aInitLength,
+            const TUint8** aFwData,
+            TUint& aFwLength );
+
+        /**
+         * From MWlanHwInitInterface Get device MAC address.
+         * @since Series 60 3.1
+         * @param aMacAddress MAC address of the device.
+         * @return A Symbian error code.
+         */
+        IMPORT_C TInt GetMacAddress(
+            TMacAddr& aMacAddress );
+
+        /**
+         * Methods for production testing.
+         */
+
+        /**
+         * From MWlanHwInitInterface Get pointer to hardware specific initialization data
+         * for production testing.
+         * @since Series 60 3.1
+         * @param aInitData Pointer to initialization data, NULL if none.
+         * @param aInitLength Length of initialization data.
+         * @param aFwData Pointer to firmware data, NULL if none.
+         * @param aFwLength Length of firmware data.
+         */
+        IMPORT_C void GetHwTestInitData(
+            const TUint8** aInitData,
+            TUint& aInitLength,
+            const TUint8** aFwData,
+            TUint& aFwLength );
+
+        /**
+         * From MWlanHwInitInterface Get hardware specific production testing data.
+         * @since Series 60 3.1
+         * @param aId Id of the parameter to read.
+         * @param aData Buffer for read data.
+         * @return A Symbian error code.
+         */
+        IMPORT_C TInt GetHwTestData(
+            TUint aId,
+            TDes8& aData );
+
+        /**
+         * From MWlanHwInitInterface Set hardware specific production testing data.
+         * @since Series 60 3.1
+         * @param aId Id of the parameter to store.
+         * @param aData Data to be stored.
+         * @return A Symbian error code.
+         */
+        IMPORT_C TInt SetHwTestData(
+            TUint aId,
+            TDesC8& aData );
+
+    private:
+
+        /**
+         * C++ default constructor.
+         */
+        CWlanHwInit();
+
+        /**
+         * By default Symbian 2nd phase constructor is private.
+         */
+        void ConstructL();
+
+    private:    // Data
+
+        /** The main implemenation of HW specific functionality. */
+        CWlanHwInitMain* iMain;
+    };
+
+#endif // WLANHWINIT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitinterface.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Defines the abstract interface for HW specific initialization
+*
+*/
+
+
+#ifndef WLANHWINITINTERFACE_H
+#define WLANHWINITINTERFACE_H
+
+#include <e32base.h>
+#include "wlanhwinittypes.h"
+
+/**
+ * This is the abstract base class used for HW specific initialization.
+ *
+ * @since Series 60 3.1
+ */
+class MWlanHwInitInterface
+    {
+    public:  // Constructors and destructor
+
+        // New functions
+
+        /**
+         * Get pointer to hardware specific initialization data.
+         * @since Series 60 3.1
+         * @param aInitData Pointer to initialization data, NULL if none.
+         * @param aInitLength Length of initialization data.
+         * @param aFwData Pointer to firmware data, NULL if none.
+         * @param aFwLength Length of firmware data.
+         */
+        virtual void GetHwInitData(
+            const TUint8** aInitData,
+            TUint& aInitLength,
+            const TUint8** aFwData,
+            TUint& aFwLength ) = 0;
+
+        /**
+         * Get device MAC address.
+         * @since Series 60 3.1
+         * @param aMacAddress MAC address of the device.
+         * @return A Symbian error code.
+         * @note If a special MAC address 00:00:00:00:00:00 is returned,
+         * the WLAN engine assumes the device to be a variant without
+         * WLAN support and will not start the up.
+         */
+        virtual TInt GetMacAddress(
+            TMacAddr& aMacAddress ) = 0;
+
+        /**
+         * Methods for production testing.
+         */
+
+        /**
+         * Get pointer to hardware specific initialization data for production testing.
+         * @since Series 60 3.1
+         * @param aInitData Pointer to initialization data, NULL if none.
+         * @param aInitLength Length of initialization data.
+         * @param aFwData Pointer to firmware data, NULL if none.
+         * @param aFwLength Length of firmware data.
+         */
+        virtual void GetHwTestInitData(
+            const TUint8** aInitData,
+            TUint& aInitLength,
+            const TUint8** aFwData,
+            TUint& aFwLength ) = 0;
+
+        /**
+         * Get hardware specific production testing data.
+         * @since Series 60 3.1
+         * @param aId Id of the parameter to read.
+         * @param aData Buffer for read data.
+         * @return A Symbian error code.
+         */
+        virtual TInt GetHwTestData(
+            TUint aId,
+            TDes8& aData ) = 0;
+
+        /**
+         * Set hardware specific production testing data.
+         * @since Series 60 3.1
+         * @param aId Id of the parameter to store.
+         * @param aData Data to be stored.
+         * @return A Symbian error code.
+         */
+        virtual TInt SetHwTestData(
+            TUint aId,
+            TDesC8& aData ) = 0;
+    };
+
+#endif // WLANHWINITINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitmain.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,172 @@
+/*
+* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Defines the class implementing HW specific initialization
+*
+*/
+
+
+#ifndef WLANHWINITMAIN_H
+#define WLANHWINITMAIN_H
+
+#include <e32base.h>
+#include "wlanhwinittypes.h"
+#include "wlanhwinitinterface.h"
+
+// FORWARD DECLARATIONS
+class CIsiMsg;
+class CWlanHwInitPermParser;
+
+// CLASS DECLARATION
+/**
+* This class implements the actual HW specific initialization functionality.
+*
+* @lib wlanhwinit.lib
+* @since Series 60 3.1
+*/
+NONSHARABLE_CLASS( CWlanHwInitMain ) : public CBase, public MWlanHwInitInterface
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        */
+        static CWlanHwInitMain* NewL();
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CWlanHwInitMain();
+
+        // Functions from base classes
+
+        /**
+        * From MWlanHwInitInterface Get pointer to hardware specific initialization data.
+        * @since Series 60 3.1
+        * @param aInitData Pointer to initialization data, NULL if none.
+        * @param aInitLength Length of initialization data.
+        * @param aFwData Pointer to firmware data, NULL if none.
+        * @param aFwLength Length of firmware data.
+        */
+        void GetHwInitData(const TUint8** aInitData, TUint& aInitLength, const TUint8** aFwData, TUint& aFwLength);
+
+        /**
+        * From MWlanHwInitInterface Get device MAC address.
+        * @since Series 60 3.1
+        * @param aMacAddress MAC address of the device.
+        * @return A Symbian error code.
+        */
+        TInt GetMacAddress(TMacAddr& aMacAddress);
+
+        /**
+        * Methods for production testing.
+        */
+
+        /**
+        * From MWlanHwInitInterface Get pointer to hardware specific initialization data
+        * for production testing.
+        * @since Series 60 3.1
+        * @param aInitData Pointer to initialization data, NULL if none.
+        * @param aInitLength Length of initialization data.
+        * @param aFwData Pointer to firmware data, NULL if none.
+        * @param aFwLength Length of firmware data.
+        */
+        void GetHwTestInitData(const TUint8** aInitData, TUint& aInitLength, const TUint8** aFwData, TUint& aFwLength);
+
+        /**
+        * From MWlanHwInitInterface Get hardware specific production testing data.
+        * @since Series 60 3.1
+        * @param aId Id of the parameter to read.
+        * @param aData Buffer for read data.
+        * @return A Symbian error code.
+        */
+        TInt GetHwTestData(TUint aId, TDes8& aData);
+
+        /**
+        * From MWlanHwInitInterface Set hardware specific production testing data.
+        * @since Series 60 3.1
+        * @param aId Id of the parameter to store.
+        * @param aData Data to be stored.
+        * @return A Symbian error code.
+        */
+        TInt SetHwTestData(TUint aId, TDesC8& aData);
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CWlanHwInitMain();
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        /**
+        * Read the MAC address of the device from permanent storage.
+        * @param aMacAddress Mac address.        
+        */
+        void GetMacAddressL(TMacAddr& aMacAddress);
+
+        /**
+        * Read the tuning data from permanent storage.
+        * @param aTuningData Tuning data.
+        */
+        void GetTuningDataL(TDes8& aTuningData);
+
+        /**
+        * Set the tuning data to permanent storage.
+        * @param aTuningData Tuning data.
+        */
+        void SetTuningDataL(TDesC8& aTuningData);
+
+        /**
+        * Send an ISI message and wait for the reply.
+        * @param aRequest Request to be sent.
+        * @param aReply Received reply.
+        */        
+        void SendIsiMessageL(TDes8& aRequest, TDes8& aReply);
+        
+        /**
+        * Checks if a firmware file can be found from
+        * the memory card.
+        * return False if not found or error occured, True if 
+        * the firmware was successfully read.
+        * The firmware is loaded only once.
+        */
+        TBool IsMMCFirmwareFound();
+
+    private:    // Data
+
+        /** Permanent MAC address. */
+        TMacAddr iMacAddressPerm;
+
+        /** Temporary MAC address. */
+        TMacAddr iMacAddressTemp;
+
+        /** Parser for tuning data. */
+        CWlanHwInitPermParser* iPermParser;
+
+        /** Transaction Id used for ISI messages. */
+        TUint8 iTransactionId;
+        
+        /** Pointer for NVS data */
+        TUint8* ipNvsData;
+        
+        /** Buffer for possible firmware loaded from MC. */
+        HBufC8* iFirmwareMC;
+        
+    };
+
+#endif // WLANHWINITMAIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitpermparser.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  The class for parsing the tuning data stored in PERM server
+*
+*/
+
+
+#ifndef WLANHWINITPERMPARSER_H
+#define WLANHWINITPERMPARSER_H
+
+#include <e32base.h>
+#include "wlanhwinitinterface.h"
+
+// Initialization Data Block constants
+const TUint32 KInitMagic = 0x19171513;
+const TUint32 KInitTypeEnd = 0;
+const TUint32 KInitTypeNvMem = 1;
+const TUint32 KInitTypeCode = 2;
+
+//These offsets are defined in Initialization Data Block document.
+const TUint32 KNvMemTypeOffset = 4;
+const TUint32 KNvMemLengthOffset = 8;
+const TUint32 KNvMemValueOffset = 12;
+
+const TUint32 KNvMemTypeOffset32 = 1;
+const TUint32 KNvMemLengthOffset32 = 2;
+const TUint32 KNvMemValueOffset32 = 3;
+
+typedef TUint nvsUpdateList;
+#define UPDATE_MAC_ADDR 		0x0080
+#define UPDATE_ALL 				  0xFFFF
+
+/**
+* The class for parsing the tuning data stored in PERM server.
+*
+* @lib wlanhwinit.lib
+* @since Series 60 3.1
+*/
+NONSHARABLE_CLASS( CWlanHwInitPermParser ) : public CBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        */
+        static CWlanHwInitPermParser* NewL();
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CWlanHwInitPermParser();
+
+        // New functions
+
+        TPtr8 GetNvsBuffer();
+        void CompareNvsBuffer();
+        TPtr8 GetTuningBuffer();
+        void UpdateNvsData(nvsUpdateList updateList);
+        void GenerateDefaultTuningData();
+        void SetMacAddress(const TMacAddr& pMacAddress);
+        
+        /**
+        * Return the parsed tuning values from perm data.
+        * @since Series 60 3.1
+        * @param aData Parsed tuning values.
+        * @return Status code.
+        */
+        TInt GetTuningValues(
+            TDes8& aData );
+
+        /**
+        * Set tuning values to perm data.
+        * @since Series 60 3.1
+        * @param aData Tuning values to be stored.
+        * @return Status code.
+        */
+        TInt SetTuningValues(TDesC8& aData, nvsUpdateList updateList);
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CWlanHwInitPermParser();
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+    private:    // Data
+
+        TMacAddr iMacAddress;
+        /** The current tuning data. */
+        HBufC8* iTuningData;
+        HBufC8* iNvsData;
+    };
+
+#endif // WLANHWINITPERMPARSER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinittypes.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2005-2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*   Header file mainly for TMacAddr definition
+*
+*/
+
+
+#ifndef WLANHWINITTYPES_H
+#define WLANHWINITTYPES_H
+
+
+//  INCLUDES
+#ifdef __PACKED
+#undef __PACKED
+#endif
+
+#define __PACKED
+
+/**
+* Length of the MAC address
+*/
+const TUint8 KMacAddrLength = 6;
+
+/**
+* The one and only MAC address struct
+*/
+#pragma pack( 1 )
+struct TMacAddr
+    {
+    /** the MAC address */
+    TUint8 iMacAddress[KMacAddrLength];
+    } __PACKED; // 6 bytes
+
+/**
+* Broadcast MAC Address.
+*/
+const TMacAddr KBroadcastMacAddr = {{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }};
+
+/**
+* MAC address that all zeros
+*/
+const TMacAddr KZeroMacAddr = {{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }};
+
+
+#endif      // WLANHWINITTYPES_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinit.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  The implementation of CWlanHwInit class
+*
+*/
+
+
+#include "gendebug.h"
+#include "wlanhwinit.h"
+#include "wlanhwinitmain.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanhwinitTraces.h"
+#endif
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+CWlanHwInit::CWlanHwInit() :
+    iMain( NULL )
+    {
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::CWlanHwInit()" ) ) );
+    OstTrace0( TRACE_NORMAL, CWLANHWINIT_CWLANHWINIT, "CWlanHwInit::CWlanHwInit()" ); 
+    }
+
+void CWlanHwInit::ConstructL()
+    {
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::ConstructL()" ) ) );
+    OstTrace0( TRACE_NORMAL, CWLANHWINIT_CONSTRUCTL, "CWlanHwInit::ConstructL()" );   
+    iMain = CWlanHwInitMain::NewL();
+    }
+
+EXPORT_C CWlanHwInit* CWlanHwInit::NewL()
+    {
+    OstTrace0( TRACE_BORDER, CWLANHWINIT_NEWL, "CWlanHwInit::NewL()" );
+    OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINIT_NEWL, "CWlanHwInit::NewL()" );  
+    CWlanHwInit* self = new( ELeave ) CWlanHwInit;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+    
+EXPORT_C CWlanHwInit::~CWlanHwInit()
+    {
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::~CWlanHwInit()" ) ) );
+    OstTrace0( TRACE_BORDER, DUP1_CWLANHWINIT_CWLANHWINIT, "CWlanHwInit::~CWlanHwInit()" );
+    OstTrace0( TRACE_NORMAL, DUP2_CWLANHWINIT_CWLANHWINIT, "CWlanHwInit::~CWlanHwInit()" );  
+    delete iMain;
+    iMain = NULL;
+    }
+
+// -----------------------------------------------------------------------------
+// CWlanHwInit::GetHwInitData
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CWlanHwInit::GetHwInitData(
+    const TUint8** aInitData,
+    TUint& aInitLength,
+    const TUint8** aFwData,
+    TUint& aFwLength )
+    {
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetHwInitData()" ) ) );
+    OstTrace0( TRACE_BORDER, DUP1_CWLANHWINIT_GETHWINITDATA, "CWlanHwInit::GetHwInitData()" );
+    OstTrace0( TRACE_NORMAL, CWLANHWINIT_GETHWINITDATA, "CWlanHwInit::GetHwInitData()" );
+    
+    //BOB10d initialization data block is in one piece (NVS + FW)
+    //InitData is not needed
+    *aInitData = NULL;
+    aInitLength = 0;
+
+    iMain->GetHwInitData( aInitData, aInitLength, aFwData, aFwLength );
+    
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetHwInitData() aInitData: 0x%x, aInitLength: %d, aFwData: 0x%x, aFwLength: %d " ),aInitData,  aInitLength, aFwData, aFwLength  ) );
+    OstTrace1( TRACE_NORMAL, DUP2_CWLANHWINIT_GETHWINITDATA, "CWlanHwInit::GetHwInitData() aInitData: 0x%x", aInitData );
+    OstTrace1( TRACE_NORMAL, DUP3_CWLANHWINIT_GETHWINITDATA, "CWlanHwInit::GetHwInitData() aInitLength: %d", aInitLength );
+    OstTrace1( TRACE_NORMAL, DUP4_CWLANHWINIT_GETHWINITDATA, "CWlanHwInit::GetHwInitData() aFwData 0x%x", aFwData );
+    OstTrace1( TRACE_NORMAL, DUP5_CWLANHWINIT_GETHWINITDATA, "CWlanHwInit::GetHwInitData() aFwLength: %d", aFwLength ); 
+    }
+
+// -----------------------------------------------------------------------------
+// CWlanHwInit::GetMacAddress
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CWlanHwInit::GetMacAddress(
+    TMacAddr& aMacAddress )
+    {
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetMacAddress()" ) ) );
+    OstTrace0( TRACE_BORDER, CWLANHWINIT_GETMACADDRESS, "CWlanHwInit::GetMacAddress()" );
+    OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINIT_GETMACADDRESS, "CWlanHwInit::GetMacAddress()" ); 
+    return iMain->GetMacAddress( aMacAddress );
+    }
+
+// -----------------------------------------------------------------------------
+// CWlanHwInit::GetHwTestInitData
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CWlanHwInit::GetHwTestInitData(
+    const TUint8** aInitData,
+    TUint& aInitLength,
+    const TUint8** aFwData,
+    TUint& aFwLength )
+    {
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetHwTestInitData()" ) ) );
+    OstTrace0( TRACE_BORDER, CWLANHWINIT_GETHWTESTINITDATA, "CWlanHwInit::GetHwTestInitData()" );
+    OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINIT_GETHWTESTINITDATA, "CWlanHwInit::GetHwTestInitData()" );
+    
+    //BOB10d initialization data block is in one piece (NVS + FW)
+    //InitData is not needed
+    *aInitData = NULL;
+    aInitLength = 0;
+    
+    iMain->GetHwTestInitData( aInitData, aInitLength, aFwData, aFwLength );
+
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetHwTestInitData() aInitData: 0x%x, aInitLength: %d, aFwData: 0x%x, aFwLength: %d " ),aInitData,  aInitLength, aFwData, aFwLength  ) );
+    OstTrace1( TRACE_NORMAL, DUP2_CWLANHWINIT_GETHWTESTINITDATA, "CWlanHwInit::GetHwTestInitData() aInitData: 0x%x", aInitData );
+    OstTrace1( TRACE_NORMAL, DUP3_CWLANHWINIT_GETHWTESTINITDATA, "CWlanHwInit::GetHwTestInitData() aInitLength: %d", aInitLength );
+    OstTrace1( TRACE_NORMAL, DUP4_CWLANHWINIT_GETHWTESTINITDATA, "CWlanHwInit::GetHwTestInitData() aFwData: 0x%x", aFwData );
+    OstTrace1( TRACE_NORMAL, DUP5_CWLANHWINIT_GETHWTESTINITDATA, "CWlanHwInit::GetHwTestInitData() aFwLength: %d", aFwLength ); 
+    }
+
+// -----------------------------------------------------------------------------
+// CWlanHwInit::GetHwTestData
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CWlanHwInit::GetHwTestData(
+    TUint aId,
+    TDes8& aData )
+    {
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetHwTestData()" ) ) );
+    OstTrace0( TRACE_BORDER, DUP1_CWLANHWINIT_GETHWTESTDATA, "CWlanHwInit::GetHwTestData()" );   
+    OstTrace0( TRACE_NORMAL, CWLANHWINIT_GETHWTESTDATA, "CWlanHwInit::GetHwTestData()" );  
+    return iMain->GetHwTestData( aId, aData );
+    }
+
+// -----------------------------------------------------------------------------
+// CWlanHwInit::SetHwTestData
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CWlanHwInit::SetHwTestData(
+    TUint aId,
+    TDesC8& aData )
+    {
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::SetHwTestData()" ) ) );
+    OstTrace0( TRACE_BORDER, DUP1_CWLANHWINIT_SETHWTESTDATA, "CWlanHwInit::SetHwTestData()" ); 
+    OstTrace0( TRACE_NORMAL, CWLANHWINIT_SETHWTESTDATA, "CWlanHwInit::SetHwTestData()" );
+    return iMain->SetHwTestData( aId, aData );
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinitmain.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,749 @@
+/*
+* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  The class implementing HW specific initialization
+*
+*/
+
+
+#include <iscapi.h>
+#include "gendebug.h"
+#include <IscNokiaDefinitions.h>
+#include <pn_const.h>
+#include <tisi.h>
+#include <infoisi.h>
+#include <permisi.h>
+#include <f32file.h>
+#include <stddef.h>
+
+#include "bcmnvmem.h"
+#include "lmac_firmware.h"
+#include "plt_firmware.h"
+
+#include "wlanhwinitmain.h"
+#include "wlanhwinitpermparser.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanhwinitmainTraces.h"
+#endif
+
+/** The default MAC address. */
+const TMacAddr KWlanHwInitDefaultMacAddr = { { 0x00, 0xE0, 0xDE, 0xAD, 0xBE, 0xEF } };
+// ISI constants
+const TUint KWlanHwInitIsiBufferSize         = 1024;
+const TUint16 KWlanHwInitIsiPermGroupId      = 313;
+const TUint16 KWlanHwInitIsiPermIndex        = 0;
+const TUint16 KWlanHwInitIsiPermOffset       = 0;
+const TUint32 KWlanHwInitIsiPermDataSize     = (sizeof(WlanHalApi::SNvMem) - offsetof(WlanHalApi::SNvMem, PL_2G_hdb));
+
+/**
+* HW specific settings
+*/
+/* should be using TWlanTestPlatformSetting in wlanTestServer.h */
+enum TWlanHwInitTestSetting
+    {
+    EWlanHwInitTestSettingMacAddressPerm,
+    EWlanHwInitTestSettingMacAddressTemp,
+    EWlanHwInitTestSettingTuningData,
+    EWlanHwInitTestSettingTempTuningData
+    };
+
+const TUint KIsiRespMessagePadding = 128;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+CWlanHwInitMain::CWlanHwInitMain() :
+	iMacAddressPerm( KWlanHwInitDefaultMacAddr ),
+	iMacAddressTemp( KWlanHwInitDefaultMacAddr ),
+	iPermParser( NULL ),
+	iTransactionId( 0 ),
+	ipNvsData ( 0 ),
+	iFirmwareMC ( 0 )
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:CWlanHwInitMain()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_CWLANHWINITMAIN, "CWlanHwInitMain:CWlanHwInitMain()" );
+}
+
+void CWlanHwInitMain::ConstructL()
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:ConstructL()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_CONSTRUCTL, "CWlanHwInitMain:ConstructL()" );
+	
+	iPermParser = CWlanHwInitPermParser::NewL();
+/**
+* Initialize default NVS data.
+*/
+	TPtr8 nvsPtr( iPermParser->GetNvsBuffer() );
+	
+	//take only the nvmem part of the IDB. IDB = nvmem + firmware.
+  TUint32* dataPtr = (TUint32*)normal_firmware;
+  //first there is the magic number
+  if (*dataPtr != KInitMagic) 
+    {
+	  TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser: Invalid magic number at start of init block (0x%x)"), *dataPtr ) );
+	  OstTrace1( TRACE_IMPORTANT, DUP1_CWLANHWINITMAIN_CONSTRUCTL, "CWlanHwInitPermParser: Invalid magic number at start of init block (0x%x)", *dataPtr );  
+	  User::Leave( KErrGeneral );
+    }
+  //then there is type  
+  dataPtr++;
+  const TUint32 type = *dataPtr;
+
+  //and after type, there is the lenght of the data  
+  dataPtr++;
+  const TUint32 len = *dataPtr;
+
+  if (type != KInitTypeNvMem)
+    {
+    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser: Invalid type at start of init block (0x%x)"), type ) );  
+    OstTrace1( TRACE_IMPORTANT, DUP2_CWLANHWINITMAIN_CONSTRUCTL, "CWlanHwInitPermParser: Invalid type at start of init block (0x%x)", type ); 
+    User::Leave( KErrGeneral );
+    }
+
+    //after the length there is data
+    dataPtr++;	
+	nvsPtr.Append( reinterpret_cast<const TUint8*>(dataPtr), len );
+	
+/**
+* Update device data from the CMT permanent storage.
+*/
+	
+//	Discard the return value, we'll use the default value
+//	if this fails.
+	TRAPD( ret, GetMacAddressL( iMacAddressPerm ) );
+	iMacAddressTemp = iMacAddressPerm;    
+	iPermParser->SetMacAddress(iMacAddressTemp);
+
+	TPtr8 tuningPtr( iPermParser->GetTuningBuffer() );
+	TRAP( ret, GetTuningDataL( tuningPtr ) );
+	if(ret != KErrNone)
+	{
+		iPermParser->GenerateDefaultTuningData();
+	}
+	
+	iPermParser->UpdateNvsData(UPDATE_ALL);
+}
+
+CWlanHwInitMain* CWlanHwInitMain::NewL()
+{
+    OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_NEWL, "CWlanHwInitMain::NewL()" );
+	CWlanHwInitMain* self = new( ELeave ) CWlanHwInitMain;
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	CleanupStack::Pop( self );
+	return self;
+}
+    
+CWlanHwInitMain::~CWlanHwInitMain()
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:~CWlanHwInitMain()" ) ) );
+	OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINITMAIN_CWLANHWINITMAIN, "CWlanHwInitMain:~CWlanHwInitMain()" );
+	
+	delete iPermParser;
+	iPermParser = NULL;
+	delete ipNvsData;
+	ipNvsData = NULL; 
+	delete iFirmwareMC;
+	iFirmwareMC = NULL; 
+}
+
+// -----------------------------------------------------------------------------
+// CWlanHwInitMain::GetMacAddressL
+// -----------------------------------------------------------------------------
+//
+void CWlanHwInitMain::GetMacAddressL(TMacAddr& aMacAddress)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:GetMacAddressL()" ) ) );   
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_GETMACADDRESSL, "CWlanHwInitMain:GetMacAddressL()" );
+	
+	TUint8 readReq[ISI_HEADER_SIZE + SIZE_INFO_WLAN_INFO_READ_REQ];
+	memset( readReq, 0, sizeof( readReq));
+	TPtr8 readPtr( readReq, ISI_HEADER_SIZE + SIZE_INFO_WLAN_INFO_READ_REQ);
+	
+	TIsiSend readMac( readPtr);
+	
+	readMac.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_PHONE_INFO);
+	readMac.Set8bit( ISI_HEADER_OFFSET_TRANSID, ++iTransactionId);
+	readMac.Set8bit( ISI_HEADER_OFFSET_MESSAGEID, INFO_WLAN_INFO_READ_REQ);
+	readMac.Set16bit( ISI_HEADER_SIZE + INFO_WLAN_INFO_READ_REQ_OFFSET_FILLERBYTE1, 0);
+	readMac.Complete();
+	
+	TUint8 readResp[ISI_HEADER_SIZE + SIZE_INFO_WLAN_INFO_READ_RESP];
+	memset( readResp, 0, sizeof( readResp));
+	TPtr8 respPtr( readResp, ISI_HEADER_SIZE + SIZE_INFO_WLAN_INFO_READ_RESP );
+	
+	SendIsiMessageL( readPtr, respPtr );
+	
+	TIsiReceiveC macResp( respPtr);
+	
+	if ( ( macResp.Get8bit( ISI_HEADER_OFFSET_RESOURCEID) != PN_PHONE_INFO ) || (macResp.Get8bit(ISI_HEADER_OFFSET_MESSAGEID) != INFO_WLAN_INFO_READ_RESP) )
+	{
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:GetMacAddressL() - invalid message received" ) ) );
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:GetMacAddressL() - resource = %02X, message id = %02X" ),
+		macResp.Get8bit( ISI_HEADER_OFFSET_RESOURCEID), macResp.Get8bit( ISI_HEADER_OFFSET_MESSAGEID) ) );
+		OstTrace0( TRACE_IMPORTANT, DUP1_CWLANHWINITMAIN_GETMACADDRESSL, "CWlanHwInitMain:GetMacAddressL() - invalid message received" );
+		OstTrace1( TRACE_IMPORTANT, DUP2_CWLANHWINITMAIN_GETMACADDRESSL, "CWlanHwInitMain::GetMacAddressL - resource = 0x%x", macResp.Get8bit( ISI_HEADER_OFFSET_RESOURCEID) );
+		OstTrace1( TRACE_IMPORTANT, DUP3_CWLANHWINITMAIN_GETMACADDRESSL, "CWlanHwInitMain::GetMacAddressL - message id = 0x%x", macResp.Get8bit( ISI_HEADER_OFFSET_MESSAGEID) );
+		
+		User::Leave( KErrGeneral );
+	}
+
+	if ( macResp.Get8bit( ISI_HEADER_SIZE + INFO_WLAN_INFO_READ_RESP_OFFSET_STATUS) != INFO_OK )
+	{
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:GetMacAddressL() - request failed, status = %02X" ),
+		macResp.Get8bit( ISI_HEADER_SIZE + INFO_WLAN_INFO_READ_RESP_OFFSET_STATUS) ) );
+		OstTrace1( TRACE_IMPORTANT, DUP4_CWLANHWINITMAIN_GETMACADDRESSL, "CWlanHwInitMain:GetMacAddressL() - request failed, status = 0x%x", macResp.Get8bit( ISI_HEADER_SIZE + INFO_WLAN_INFO_READ_RESP_OFFSET_STATUS) );	
+		User::Leave( KErrGeneral );
+	}    
+	
+	TMacAddr tempMac;
+	
+	memcpy( &tempMac.iMacAddress, macResp.GetData( ISI_HEADER_SIZE + INFO_WLAN_INFO_READ_RESP_OFFSET_ADDRESS, INFO_WLAN_MAC_ADDR_LEN).Ptr(), INFO_WLAN_MAC_ADDR_LEN);
+	for( TInt i=0; i<INFO_WLAN_MAC_ADDR_LEN; i++)
+		{
+		aMacAddress.iMacAddress[INFO_WLAN_MAC_ADDR_LEN - i - 1] = tempMac.iMacAddress[i];
+		}
+	
+}
+
+// ---------------------------------------------------------
+// CWlanHwInitMain::GetTuningDataL
+// ---------------------------------------------------------
+//
+void CWlanHwInitMain::GetTuningDataL(TDes8& aTuningData)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:GetTuningDataL()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitMain:GetTuningDataL()" );
+	
+	TUint8 readBuf[ ISI_HEADER_SIZE + SIZE_PERM_PM_RECORD_READ_REQ];
+	memset( &readBuf, 0, sizeof( readBuf));
+	TPtr8 readReq( readBuf, ISI_HEADER_SIZE + SIZE_PERM_PM_RECORD_READ_REQ);
+	
+	TIsiSend sendReq( readReq);
+	
+	sendReq.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_PERMANENT_DATA);
+	sendReq.Set8bit( ISI_HEADER_OFFSET_TRANSID, ++iTransactionId);
+	sendReq.Set8bit( ISI_HEADER_OFFSET_MESSAGEID, PERM_PM_RECORD_READ_REQ);
+	
+	sendReq.Set16bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_REQ_OFFSET_GROUPID, KWlanHwInitIsiPermGroupId);
+	sendReq.Set16bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_REQ_OFFSET_INDEX, KWlanHwInitIsiPermIndex);
+	sendReq.Set32bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_REQ_OFFSET_OFFSET, KWlanHwInitIsiPermOffset);
+	sendReq.Set32bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_REQ_OFFSET_SIZE, KWlanHwInitIsiPermDataSize);
+	sendReq.Complete();
+	
+	HBufC8* respBuf = HBufC8::NewL( KWlanHwInitIsiBufferSize);
+	CleanupStack::PushL( respBuf );
+	respBuf->Des().FillZ();
+	
+	TPtr8 readResp( respBuf->Des());
+	
+	SendIsiMessageL( readReq, readResp);
+	
+	TIsiReceiveC recv( respBuf->Des());
+	
+	if ( ( recv.Get8bit( ISI_HEADER_OFFSET_RESOURCEID) != PN_PERMANENT_DATA ) || ( recv.Get8bit( ISI_HEADER_OFFSET_MESSAGEID) != PERM_PM_RECORD_READ_RESP ) )
+	{
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:GetTuningDataL() - invalid message received" ) ) );
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:GetTuningDataL() - resource = %02X, message id = %02X" ),
+		recv.Get8bit( ISI_HEADER_OFFSET_RESOURCEID), recv.Get8bit( ISI_HEADER_OFFSET_MESSAGEID) ) );
+		OstTrace0( TRACE_IMPORTANT, DUP1_CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitMain:GetTuningDataL() - invalid message received" );
+		OstTrace1( TRACE_IMPORTANT, DUP8_CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitMain:GetTuningDataL() - resource = %x", recv.Get8bit( ISI_HEADER_OFFSET_RESOURCEID) );
+		OstTrace1( TRACE_IMPORTANT, DUP9_CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitMain:GetTuningDataL() - message id = %x", recv.Get8bit( ISI_HEADER_OFFSET_MESSAGEID) );
+	}
+
+	if ( recv.Get8bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_RESP_OFFSET_PMMSTATUS) != PMM_OK )
+	{
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:GetTuningDataL() - request failed, status = %02X" ),
+		recv.Get8bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_RESP_OFFSET_PMMSTATUS) ) );
+		OstTrace1( TRACE_IMPORTANT, DUP2_CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitMain:GetTuningDataL() - request failed, status = 0x%x", recv.Get8bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_RESP_OFFSET_PMMSTATUS) );	
+		User::Leave( KErrGeneral );
+	}       
+	
+	if( recv.Get8bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_RESP_OFFSET_NUMBEROFSUBBLOCKS) != 1)
+	{
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:GetTuningDataL() - request failed, subblocks %d" ),
+		recv.Get8bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_RESP_OFFSET_NUMBEROFSUBBLOCKS) ) );
+		OstTrace1( TRACE_IMPORTANT, DUP3_CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitMain:GetTuningDataL() - request failed, subblocks %d", recv.Get8bit( ISI_HEADER_SIZE + PERM_PM_RECORD_READ_RESP_OFFSET_NUMBEROFSUBBLOCKS) );		
+		User::Leave( KErrNotFound );
+	}
+	
+	if( recv.Get8bit( ISI_HEADER_SIZE + SIZE_PERM_PM_RECORD_READ_RESP + PERM_SB_PM_DATA_OFFSET_SUBBLOCKID) != PERM_SB_PM_DATA)
+	{
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:GetTuningDataL() - request failed, subblock id %d" ),
+		recv.Get8bit( ISI_HEADER_SIZE + SIZE_PERM_PM_RECORD_READ_RESP + PERM_SB_PM_DATA_OFFSET_SUBBLOCKID) ) );
+		OstTrace1( TRACE_IMPORTANT, DUP4_CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitMain:GetTuningDataL() - request failed, subblock id %d", recv.Get8bit( ISI_HEADER_SIZE + SIZE_PERM_PM_RECORD_READ_RESP + PERM_SB_PM_DATA_OFFSET_SUBBLOCKID) );		
+		User::Leave( KErrNotFound );
+	}
+	
+	TUint32 size = recv.Get32bit( ISI_HEADER_SIZE + SIZE_PERM_PM_RECORD_READ_RESP + PERM_SB_PM_DATA_OFFSET_SIZE);
+	
+	if( size != KWlanHwInitIsiPermDataSize)
+	{
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitIsaWlanPermReadIsiMsg::GetTuningData() - payload too big" ) ) );
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitIsaWlanPermReadIsiMsg::GetTuningData() - actual size = %u" ), size ) );
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitIsaWlanPermReadIsiMsg::GetTuningData() - expected size = %u" ), KWlanHwInitIsiPermDataSize ) );
+		OstTrace0( TRACE_IMPORTANT, DUP5_CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitIsaWlanPermReadIsiMsg::GetTuningData() - payload too big" );	
+		OstTrace1( TRACE_IMPORTANT, DUP6_CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitIsaWlanPermReadIsiMsg::GetTuningData() - actual size = %u", size );
+		OstTrace1( TRACE_IMPORTANT, DUP7_CWLANHWINITMAIN_GETTUNINGDATAL, "CWlanHwInitIsaWlanPermReadIsiMsg::GetTuningData() - expected size = %u", KWlanHwInitIsiPermDataSize );		
+		User::Leave( KErrTooBig ); 
+	}
+	
+	aTuningData.Append( recv.GetData( ISI_HEADER_SIZE + SIZE_PERM_PM_RECORD_READ_RESP + PERM_SB_PM_DATA_OFFSET_DATA, size));
+	
+	CleanupStack::PopAndDestroy( respBuf);
+}
+
+// ---------------------------------------------------------
+// CWlanHwInitMain::SetTuningDataL
+// ---------------------------------------------------------
+//
+void CWlanHwInitMain::SetTuningDataL(TDesC8& aTuningData)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:SetTuningDataL()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_SETTUNINGDATAL, "CWlanHwInitMain:SetTuningDataL()" );
+	
+	HBufC8* writeBuf = HBufC8::NewL( KWlanHwInitIsiBufferSize);
+	CleanupStack::PushL( writeBuf );
+	writeBuf->Des().FillZ();
+
+	TPtr8 writeReq( writeBuf->Des());
+
+	TIsiSend writeSend( writeReq);
+
+	writeSend.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_PERMANENT_DATA);
+	writeSend.Set8bit( ISI_HEADER_OFFSET_TRANSID, ++iTransactionId);
+	writeSend.Set8bit( ISI_HEADER_OFFSET_MESSAGEID, PERM_PM_RECORD_WRITE_REQ);
+
+	writeSend.Set16bit( ISI_HEADER_SIZE + PERM_PM_RECORD_WRITE_REQ_OFFSET_GROUPID, KWlanHwInitIsiPermGroupId);
+	writeSend.Set16bit( ISI_HEADER_SIZE + PERM_PM_RECORD_WRITE_REQ_OFFSET_INDEX, KWlanHwInitIsiPermIndex);
+	writeSend.Set32bit( ISI_HEADER_SIZE + PERM_PM_RECORD_WRITE_REQ_OFFSET_SIZE, KWlanHwInitIsiPermDataSize);
+	writeSend.CopyData( ISI_HEADER_SIZE + PERM_PM_RECORD_WRITE_REQ_OFFSET_DATA, aTuningData);
+	writeSend.Complete();
+
+	TUint8 respBuf[ISI_HEADER_SIZE + SIZE_PERM_PM_RECORD_WRITE_RESP + KIsiRespMessagePadding];
+	memset( &respBuf, 0, sizeof( respBuf));
+	TPtr8 writeResp( respBuf, ISI_HEADER_SIZE + SIZE_PERM_PM_RECORD_WRITE_RESP + KIsiRespMessagePadding);
+
+	SendIsiMessageL( writeReq, writeResp );
+
+	TIsiReceiveC resp( writeResp);
+
+	if ( ( resp.Get8bit( ISI_HEADER_OFFSET_RESOURCEID) != PN_PERMANENT_DATA ) || ( resp.Get8bit( ISI_HEADER_OFFSET_MESSAGEID) != PERM_PM_RECORD_WRITE_RESP ) )
+	{
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:SetTuningDataL() - invalid message received" ) ) );
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:SetTuningDataL() - resource = %02X, message id = %02X" ), 
+					resp.Get8bit( ISI_HEADER_OFFSET_RESOURCEID),
+					resp.Get8bit( ISI_HEADER_OFFSET_MESSAGEID) ) );
+		OstTrace0( TRACE_IMPORTANT, DUP1_CWLANHWINITMAIN_SETTUNINGDATAL, "CWlanHwInitMain:SetTuningDataL() - invalid message received" );
+		OstTrace1( TRACE_IMPORTANT, DUP2_CWLANHWINITMAIN_SETTUNINGDATAL, "CWlanHwInitMain:SetTuningDataL() - resource = %x", resp.Get8bit( ISI_HEADER_OFFSET_RESOURCEID) );
+		OstTrace1( TRACE_IMPORTANT, DUP3_CWLANHWINITMAIN_SETTUNINGDATAL, "CWlanHwInitMain:SetTuningDataL() - message id = 0x%x", resp.Get8bit( ISI_HEADER_OFFSET_MESSAGEID) );		
+	}
+
+	if ( resp.Get8bit( ISI_HEADER_SIZE + PERM_PM_RECORD_WRITE_RESP_OFFSET_PMMSTATUS) != PMM_OK )
+	{
+		TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:SetTuningDataL() - request failed, status = %02X" ),
+					resp.Get8bit( ISI_HEADER_SIZE + PERM_PM_RECORD_WRITE_RESP_OFFSET_PMMSTATUS) ) );
+		OstTrace1( TRACE_IMPORTANT, DUP4_CWLANHWINITMAIN_SETTUNINGDATAL, "CWlanHwInitMain:SetTuningDataL() - request failed, status = 0x%x", resp.Get8bit( ISI_HEADER_SIZE + PERM_PM_RECORD_WRITE_RESP_OFFSET_PMMSTATUS) );
+		
+		User::Leave( KErrGeneral );
+	}
+
+	CleanupStack::PopAndDestroy( writeBuf );
+}
+
+// ---------------------------------------------------------
+// CWlanHwInitMain::GetHwTestData
+// ---------------------------------------------------------
+//
+TInt CWlanHwInitMain::GetHwTestData(TUint aId, TDes8& aData)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:GetHwTestData()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_GETHWTESTDATA, "CWlanHwInitMain:GetHwTestData()" );	
+	
+	switch ( aId )
+	{
+		case EWlanHwInitTestSettingMacAddressPerm:
+			aData.Copy( &iMacAddressPerm.iMacAddress[0], KMacAddrLength );
+		break;
+
+		case EWlanHwInitTestSettingMacAddressTemp:
+			aData.Copy( &iMacAddressTemp.iMacAddress[0], KMacAddrLength );
+		break;
+
+		case EWlanHwInitTestSettingTuningData:            
+			iPermParser->GetTuningValues( aData );
+		break;
+
+		case EWlanHwInitTestSettingTempTuningData:
+		default:
+			TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:GetHwTestData() - not supported (%d)" ), aId ) );
+			OstTrace1( TRACE_IMPORTANT, DUP1_CWLANHWINITMAIN_GETHWTESTDATA, "CWlanHwInitMain:GetHwTestData() - not supported (%d)", aId );			
+			return KErrNotSupported;
+	}
+	
+	return KErrNone;
+}
+
+// ---------------------------------------------------------
+// CWlanHwInitMain::SetHwTestData
+// ---------------------------------------------------------
+//
+TInt CWlanHwInitMain::SetHwTestData(TUint aId, TDesC8& aData)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:SetHwTestData()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_SETHWTESTDATA, "CWlanHwInitMain:SetHwTestData()" );	
+	TInt ret( KErrNone );
+	
+	switch ( aId )
+	{
+		case EWlanHwInitTestSettingMacAddressTemp:
+		    OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINITMAIN_SETHWTESTDATA, "CWlanHwInitMain:SetHwTestData() EWlanHwInitTestSettingMacAddressTemp" );		    
+			Mem::Copy( &iMacAddressTemp.iMacAddress[0], aData.Ptr(), KMacAddrLength );
+			iPermParser->SetMacAddress(iMacAddressTemp);
+			iPermParser->UpdateNvsData(UPDATE_MAC_ADDR);
+		break;
+
+		case EWlanHwInitTestSettingTuningData:
+		{
+			OstTrace0( TRACE_NORMAL, DUP2_CWLANHWINITMAIN_SETHWTESTDATA, "CWlanHwInitMain::SetHwTestData() EWlanHwInitTestSettingTuningData" );
+			iPermParser->SetTuningValues(aData, UPDATE_ALL);
+			TPtrC8 cmtDataPtr( iPermParser->GetTuningBuffer() );
+			TRAP( ret, SetTuningDataL(cmtDataPtr) );
+			iPermParser->UpdateNvsData(UPDATE_ALL);
+		}
+      break;
+
+		case EWlanHwInitTestSettingTempTuningData:
+		{
+		    TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:SetHwTestData() EWlanHwInitTestSettingTempTuningData" ) ) );
+		    OstTrace0( TRACE_NORMAL, DUP3_CWLANHWINITMAIN_SETHWTESTDATA, "CWlanHwInitMain::SetHwTestData() EWlanHwInitTestSettingTempTuningData" );
+		    iPermParser->SetTuningValues(aData, UPDATE_ALL);
+		    iPermParser->UpdateNvsData(UPDATE_ALL);
+		}
+		break;
+		
+		case EWlanHwInitTestSettingMacAddressPerm:
+		default:
+			TraceDump( ERROR_LEVEL, ( _L( "CWlanHwInitMain:SetHwTestData() - no such id (%d)!" ), aId ) );
+			OstTrace1( TRACE_IMPORTANT, DUP4_CWLANHWINITMAIN_SETHWTESTDATA, "CWlanHwInitMain:SetHwTestData() - no such id (%d)", aId );
+			ret = KErrNotSupported;
+	    break;
+	}
+	
+	return ret;
+}
+
+
+TBool CWlanHwInitMain::IsMMCFirmwareFound()
+    {
+#ifdef LOAD_FW_FROM_MMC
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain::IsMMCFirmwareFound()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_ISMMCFIRMWAREFOUND, "CWlanHwInitMain::IsMMCFirmwareFound()" );
+	
+	_LIT(KSearchPath,"E:\\firmware\\*.*");
+	_LIT(KFilePath,"E:\\firmware\\");
+	  
+	// Check if the firmware is already loaded,
+	// free the memory and continue
+	  
+	  if (iFirmwareMC)
+	  {
+	  	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain: Memory for MMC Firmware already reserved" ) ) );
+	  	OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINITMAIN_ISMMCFIRMWAREFOUND, "CWlanHwInitMain: Memory for MMC Firmware already reserved" );
+	  	return ETrue;
+	  }
+	  
+	  // Init store	  
+	  RFs fs;
+	  RFile file;
+	  CDir* dirList;
+	  TInt fileSize = -1;
+	  TBuf<60> fileName;
+	  fileName = KFilePath;
+	  
+    
+	  // Connect to the file system	
+	  if ( fs.Connect() != KErrNone)
+	  {
+	  	return EFalse;
+	  }
+	  
+	  // If returns an error, the folder is not found
+	  // -> return false;	  
+	  if (fs.GetDir(KSearchPath,
+          		     KEntryAttMaskSupported,
+          		     ESortByName,
+                	 dirList) != KErrNone )
+	  {
+	  	fs.Close();
+	  	delete dirList;
+	  	return EFalse;
+	  }
+                
+ 	  // If no file is not found, return false.    
+	  if (dirList->Count() == 0)
+	  {
+	  	fs.Close();	  	
+	  	delete dirList;
+	  	return EFalse;
+	  }         
+      
+    // Take the first file in the list, further files
+    // are not handled           
+	  fileName.Append ((*dirList)[0].iName);  // Assume there is enough space, otherwise panics...
+	  
+	  // Try to open the firmware file
+	  if ( file.Open(fs, fileName, EFileStream != KErrNone))
+	  {
+	  	delete dirList;
+	  	fs.Close();
+	  	return EFalse;
+	  }
+	   
+	  // Get the size of the file 
+	  if (file.Size(fileSize) != KErrNone)
+	  {
+	  	delete dirList;
+	  	file.Close();
+	  	fs.Close();
+	  	return EFalse;
+	  	
+	  }
+    
+    // Reserve memory from heap for it
+    TRAPD(err, iFirmwareMC = HBufC8::NewL(fileSize));
+    
+    if (err != KErrNone)
+    {
+    	delete dirList;
+    	file.Close();
+      fs.Close();
+    	return EFalse;
+    }
+
+    // Get a pointer and read the contents
+    // of the file.
+	  TPtr8 pBuf = iFirmwareMC->Des();
+	  if (file.Read(pBuf) != KErrNone)
+	  {
+	  	delete dirList;
+    	file.Close();
+      fs.Close();
+    	return EFalse;
+	  }
+	  
+	  // Successful	  
+	  file.Close();
+    fs.Close();
+    delete dirList;
+
+	  return ETrue;	
+
+#else
+	return EFalse;
+#endif // LOAD_FW_FROM_MMC	
+		}
+
+// ---------------------------------------------------------
+// CWlanHwInitMain::GetHwInitData
+// ---------------------------------------------------------
+//
+void CWlanHwInitMain::GetHwInitData(const TUint8** ppConfigData, TUint& configLength, const TUint8** ppNvsData, TUint& nvsLength )
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:GetHwInitData()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_GETHWINITDATA, "CWlanHwInitMain:GetHwInitData()" );
+	
+	// Temporary pointer for firmware
+	const TUint8* fwPtr;
+	TUint fwSize = 0;	
+		
+	// Parse NVS
+	iPermParser->CompareNvsBuffer();
+	TPtr8 nvsPtr( iPermParser->GetNvsBuffer() );
+	
+	// Check if firmware can be found from the MMC	
+#ifdef LOAD_FW_FROM_MMC  // Enable MMC loading here
+  if (IsMMCFirmwareFound())
+      {
+      TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain::GetHwInitData():MMC Firmware loaded" ) ) );	
+  	  OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINITMAIN_GETHWINITDATA, "CWlanHwInitMain::GetHwInitData():MMC Firmware loaded" );
+  	  fwPtr = reinterpret_cast<const TUint8*>( iFirmwareMC->Ptr() );
+  	  fwSize = iFirmwareMC->Length();  	  	
+      }
+  else
+	  {
+	  TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain::GetHwInitData():Hardcoded Firmware loaded" ) ) );		
+      OstTrace0( TRACE_NORMAL, DUP2_CWLANHWINITMAIN_GETHWINITDATA, "CWlanHwInitMain::GetHwInitData():Hardcoded Firmware loaded" );
+      fwPtr = reinterpret_cast<const TUint8*>( normal_firmware );
+      fwSize = (sizeof( normal_firmware ));
+	  }	
+#else
+  fwPtr = reinterpret_cast<const TUint8*>( normal_firmware );
+  fwSize = (sizeof( normal_firmware ));
+#endif	
+	
+	nvsLength = fwSize; 
+	
+	// Reserve memory if it has not yet already been reserved
+	if (ipNvsData == NULL)
+	{
+		ipNvsData = (TUint8*)User::Alloc(nvsLength);    
+		if (!ipNvsData)
+		{
+			// Out of memory
+			ASSERT(0);
+		}	
+	}	
+	
+	// Copy NVS data to correct position
+	//first copy the whole firmware
+	Mem::Copy(ipNvsData, fwPtr, nvsLength);
+		
+	// Length of NVS
+	*reinterpret_cast<TUint32*>(&ipNvsData[KNvMemLengthOffset]) = nvsPtr.Length();
+	
+	// Copy NVS data to the NVS offset
+	Mem::Copy( (ipNvsData + KNvMemValueOffset), nvsPtr.Ptr(), nvsPtr.Length());
+			
+	*ppNvsData = ipNvsData;
+}
+
+
+// ---------------------------------------------------------
+// CWlanHwInitMain::GetMacAddress
+// Status : Draft
+// ---------------------------------------------------------
+//
+TInt CWlanHwInitMain::GetMacAddress(TMacAddr& aMacAddress)
+{
+	aMacAddress = iMacAddressPerm;
+	return KErrNone;
+}
+
+// ---------------------------------------------------------
+// CWlanHwInitMain::GetHwTestInitData
+// Status : Draft
+// ---------------------------------------------------------
+//    
+void CWlanHwInitMain::GetHwTestInitData(const TUint8** aInitData, TUint& aInitLength, const TUint8** aFwData, TUint& aFwLength)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:GetHwTestInitData()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_GETHWTESTINITDATA, "CWlanHwInitMain:GetHwTestInitData()" );
+
+	// Temporary pointer for firmware
+	const TUint8* fwPtr;
+	TUint fwSize = 0;	
+		
+	// Parse NVS
+	iPermParser->CompareNvsBuffer();
+	TPtr8 nvsPtr( iPermParser->GetNvsBuffer() );
+
+	// Check if firmware can be found from the MMC	
+#ifdef LOAD_FW_FROM_MMC  // Enable MMC loading here
+  if (IsMMCFirmwareFound())
+      {
+      TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain::GetHwTestInitData():MMC Firmware loaded" ) ) );	
+  	  OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINITMAIN_GETHWTESTINITDATA, "CWlanHwInitMain::GetHwTestInitData():MMC Firmware loaded" );
+  	  fwPtr = reinterpret_cast<const TUint8*>( iFirmwareMC->Ptr() );
+  	  fwSize = iFirmwareMC->Length();  	  	
+      }
+  else
+      {
+      TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain::GetHwTestInitData():Hardcoded Firmware loaded" ) ) );		
+      OstTrace0( TRACE_NORMAL, DUP2_CWLANHWINITMAIN_GETHWTESTINITDATA, "CWlanHwInitMain::GetHwTestInitData():Hardcoded Firmware loaded" );
+      fwPtr = reinterpret_cast<const TUint8*>( plt_firmware );
+      fwSize = (sizeof( plt_firmware ));
+      }	
+#else
+  fwPtr = reinterpret_cast<const TUint8*>( plt_firmware );
+  fwSize = (sizeof( plt_firmware ));
+#endif	
+		
+	aFwLength = fwSize; 
+	
+	// Reserve memory if it has not yet already been reserved
+	if (ipNvsData == NULL)
+	{
+		ipNvsData = (TUint8*)User::Alloc(aFwLength);     
+		if (!ipNvsData)
+		{
+			// Out of memory
+			ASSERT(0);
+		}	
+	}	
+	
+	// Copy NVS data to correct position
+	//first copy the whole firmware
+	Mem::Copy(ipNvsData, fwPtr, aFwLength);
+		
+	// Length of NVS
+	*reinterpret_cast<TUint32*>(&ipNvsData[KNvMemLengthOffset]) = nvsPtr.Length();
+	
+	// Copy NVS data to the NVS offset
+	Mem::Copy( (ipNvsData + KNvMemValueOffset), nvsPtr.Ptr(), nvsPtr.Length());
+			
+	*aFwData = ipNvsData;
+}
+
+// ---------------------------------------------------------
+// CWlanHwInitMain::SendIsiMessageL
+// ---------------------------------------------------------
+//
+void CWlanHwInitMain::SendIsiMessageL(TDes8& aRequest, TDes8& aReply)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:SendIsiMessageL()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITMAIN_SENDISIMESSAGEL, "CWlanHwInitMain:SendIsiMessageL()" );
+	
+	RIscApi iscapi;
+	TRequestStatus status;
+	const TUint16 channelId = EIscNokiaStartup;
+
+	iscapi.Open( channelId, status );// codescanner::open IscApi::Open doesn't have return value. Error codes are passed in status parameter.
+	User::WaitForRequest( status );
+	if ( status.Int() != KErrNone )
+	{
+		TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:SendIsiMessageL() - RIscApi.Open() failed with %d" ), status.Int() ) );
+		OstTrace1( TRACE_IMPORTANT, DUP1_CWLANHWINITMAIN_SENDISIMESSAGEL, "CWlanHwInitMain:SendIsiMessageL() - RIscApi.Open() failed with %d", status.Int() );
+		User::Leave( status.Int() );
+	}
+	CleanupClosePushL( iscapi );
+
+	TInt ret = iscapi.Send( aRequest );
+	if ( ret != KErrNone )
+	{
+		TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:SendIsiMessageL() - RIscApi.Send() failed with %d" ), ret ) );
+		OstTrace1( TRACE_IMPORTANT, DUP2_CWLANHWINITMAIN_SENDISIMESSAGEL, "CWlanHwInitMain:SendIsiMessageL() - RIscApi.Send() failed with %d", ret );
+		User::Leave( ret );
+	}
+
+	TUint16 neededLength = 0;
+
+	TraceDump( INFO_LEVEL,( _L( "CWlanHwInitMain:aReply Size() %d" ),aReply.Size() ) );
+	TraceDump( INFO_LEVEL,( _L( "CWlanHwInitMain:aReply MaxLength() %d" ),aReply.MaxLength() ) );
+	TraceDump( INFO_LEVEL,( _L( "CWlanHwInitMain:aReply MaxSize() %d" ),aReply.MaxSize() ) );
+	OstTrace1( TRACE_NORMAL, DUP3_CWLANHWINITMAIN_SENDISIMESSAGEL, "CWlanHwInitMain:aReply Size() %d", aReply.Size() );
+	OstTrace1( TRACE_NORMAL, DUP4_CWLANHWINITMAIN_SENDISIMESSAGEL, "CWlanHwInitMain:aReply MaxLength() %d", aReply.MaxLength() );
+	OstTrace1( TRACE_NORMAL, DUP5_CWLANHWINITMAIN_SENDISIMESSAGEL, "CWlanHwInitMain:aReply MaxSize() %d", aReply.MaxSize() );
+	
+	iscapi.Receive( status, aReply, neededLength );
+	User::WaitForRequest( status );
+	if ( status.Int() != KErrNone )
+	{
+		TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitMain:SendIsiMessageL() - RIscApi.Receive() failed with %d" ), status.Int() ) );
+		TraceDump( INFO_LEVEL,( _L( "CWlanHwInitMain:neededLength %d" ),neededLength ) );
+		OstTrace1( TRACE_IMPORTANT, DUP6_CWLANHWINITMAIN_SENDISIMESSAGEL, "CWlanHwInitMain:SendIsiMessageL() - RIscApi.Receive() failed with %d", status.Int() );
+		OstTrace1( TRACE_IMPORTANT, DUP7_CWLANHWINITMAIN_SENDISIMESSAGEL, "CWlanHwInitMain:neededLength %d", neededLength );		
+		User::Leave( status.Int() );
+	}
+
+	CleanupStack::PopAndDestroy( &iscapi );
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinitpermparser.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,249 @@
+/*
+* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  The class for parsing the tuning data stored in PERM server
+*
+*/
+
+
+#include <stddef.h>
+#include <es_sock.h>
+#include "gendebug.h"
+#include "wlanhwinitpermparser.h"
+#include "bcmnvmem.h"
+#include "lmac_firmware.h"
+#include "plt_firmware.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanhwinitpermparserTraces.h"
+#endif
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+CWlanHwInitPermParser::CWlanHwInitPermParser() :
+    iTuningData(NULL),
+    iNvsData(NULL)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:CWlanHwInitPermParser()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_CWLANHWINITPERMPARSER, "CWlanHwInitPermParser:CWlanHwInitPermParser()" );	
+}
+
+
+void CWlanHwInitPermParser::ConstructL()
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:ConstructL()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_CONSTRUCTL, "CWlanHwInitPermParser:ConstructL()" );	
+	iTuningData = HBufC8::NewL( (sizeof(WlanHalApi::SNvMem) - offsetof(WlanHalApi::SNvMem, PL_2G_hdb)) );   
+	iNvsData = HBufC8::NewL( sizeof(WlanHalApi::SNvMem) );   
+}
+
+
+CWlanHwInitPermParser* CWlanHwInitPermParser::NewL()
+{
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_NEWL, "CWlanHwInitPermParser::NewL()" );
+	CWlanHwInitPermParser* self = new( ELeave ) CWlanHwInitPermParser;
+
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	CleanupStack::Pop( self );
+
+	return self;
+}
+
+
+CWlanHwInitPermParser::~CWlanHwInitPermParser()
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:~CWlanHwInitPermParser()" ) ) );
+	OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINITPERMPARSER_CWLANHWINITPERMPARSER, "CWlanHwInitPermParser:~CWlanHwInitPermParser()" );
+	delete iTuningData;
+	iTuningData = NULL;
+	delete iNvsData;
+	iNvsData = NULL;
+}
+
+void CWlanHwInitPermParser::CompareNvsBuffer()
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:CompareNvsBuffer()") ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_COMPARENVSBUFFER, "CWlanHwInitPermParser:CompareNvsBuffer()" );
+	TUint8* pNvsBuffer = (TUint8*)iNvsData->Ptr();
+	TUint8* normalFirmwareNvsBuffer = (TUint8*) (normal_firmware + KNvMemValueOffset32);
+	TUint8* pltFirmwareNvsBuffer = (TUint8*) (plt_firmware + KNvMemValueOffset32);
+	
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:CompareNvsBuffer() sizeof(WlanHalApi::SNvMem): %d"), sizeof(WlanHalApi::SNvMem) ) );
+	OstTrace1( TRACE_NORMAL, DUP1_CWLANHWINITPERMPARSER_COMPARENVSBUFFER, "CWlanHwInitPermParser:CompareNvsBuffer() sizeof(WlanHalApi::SNvMem): %d", sizeof(WlanHalApi::SNvMem));
+	
+	/* checking the changes that have been made */
+	for( TUint32 i = 0 ; i < sizeof(WlanHalApi::SNvMem) ; i++)
+	{
+		if(normalFirmwareNvsBuffer[i] != pNvsBuffer[i])
+		{
+			TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:Normal NVS changed[0x%04X]:orig 0x%02X, new 0x%02X"), i, normalFirmwareNvsBuffer[i], pNvsBuffer[i]) );
+			OstTraceExt3( TRACE_NORMAL, DUP2_CWLANHWINITPERMPARSER_COMPARENVSBUFFER, "CWlanHwInitPermParser:Normal NVS changed[0x%x]:orig 0x%x, new 0x%x", i, normalFirmwareNvsBuffer[i], pNvsBuffer[i] );
+		}
+	}
+
+	/* also for plt firmware */
+	for( TUint32 i = 0 ; i < sizeof(WlanHalApi::SNvMem) ; i++)
+	{
+		if(pltFirmwareNvsBuffer[i] != pNvsBuffer[i])
+		{
+			TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:PLT NVS changed[0x%04X]:orig 0x%02X, new 0x%02X"), i, pltFirmwareNvsBuffer[i], pNvsBuffer[i]) );
+			OstTraceExt3( TRACE_NORMAL, DUP3_CWLANHWINITPERMPARSER_COMPARENVSBUFFER, "CWlanHwInitPermParser:PLT NVS changed[0x%x]:orig 0x%x, new 0x%x", i, pltFirmwareNvsBuffer[i], pNvsBuffer[i] );		
+		}
+	}	
+}
+
+// ---------------------------------------------------------
+// CWlanHwInitPermParser::GetNvsBuffer
+// ---------------------------------------------------------
+//
+TPtr8 CWlanHwInitPermParser::GetNvsBuffer()
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:GetNvsBuffer()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_GETNVSBUFFER, "CWlanHwInitPermParser:GetNvsBuffer()" );
+	return iNvsData->Des();
+}
+
+// ---------------------------------------------------------
+// CWlanHwInitPermParser::GetTuningBuffer
+// ---------------------------------------------------------
+//
+TPtr8 CWlanHwInitPermParser::GetTuningBuffer()
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:GetTuningBuffer()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_GETTUNINGBUFFER, "CWlanHwInitPermParser:GetTuningBuffer()" );
+	return iTuningData->Des();
+}
+
+
+// ---------------------------------------------------------
+// CWlanHwInitPermParser::UpdateNvsData
+// ---------------------------------------------------------
+//
+void CWlanHwInitPermParser::UpdateNvsData(nvsUpdateList updateList)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:UpdateNvsData()" ) ) );
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:updateList 0x%X"), updateList ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_UPDATENVSDATA, "CWlanHwInitPermParser:UpdateNvsData()" );
+	OstTrace1( TRACE_NORMAL, DUP1_CWLANHWINITPERMPARSER_UPDATENVSDATA, "CWlanHwInitPermParser:updateList 0x%x", updateList );
+	
+	WlanHalApi::SNvMem* pNvsStruct = (WlanHalApi::SNvMem*)iNvsData->Ptr();
+
+	if( (sizeof(WlanHalApi::SNvMem) - offsetof(WlanHalApi::SNvMem, PL_2G_hdb)) == iTuningData->Length() ) //only use if the tuning data is the same size as the structure...
+	{
+		if(updateList == UPDATE_ALL)
+		{
+			TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:UpdateNvsData:UPDATE_ALL" ) ) );
+			OstTrace0( TRACE_NORMAL, DUP2_CWLANHWINITPERMPARSER_UPDATENVSDATA, "CWlanHwInitPermParser:UpdateNvsData:UPDATE_ALL" );
+			//void * memcpy ( void * destination, const void * source, size_t num );
+			memcpy( (&pNvsStruct->PL_2G_hdb), iTuningData->Ptr(), iTuningData->Length() );		
+		}
+	}
+	else
+	{
+			TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:size mismatch data-%d, structure-%d"), iTuningData->Length(), sizeof(WlanHalApi::SNvMem)) );
+			OstTraceExt2( TRACE_NORMAL, DUP3_CWLANHWINITPERMPARSER_UPDATENVSDATA, "CWlanHwInitPermParser:size mismatch data-%d, structure-%d", iTuningData->Length(), sizeof(WlanHalApi::SNvMem) );			
+	}
+
+	if(updateList & UPDATE_MAC_ADDR)
+	{
+		//Update Mac address
+		TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:UPDATE_MAC_ADDR" ) ) );
+		TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:Current Mac Addr - %02X:%02X:%02X:%02X:%02X:%02X"),  pNvsStruct->whamac[0], pNvsStruct->whamac[1], pNvsStruct->whamac[2], pNvsStruct->whamac[3], pNvsStruct->whamac[4], pNvsStruct->whamac[5] ) );
+		TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:Mac Addr to use - %02X:%02X:%02X:%02X:%02X:%02X"), iMacAddress.iMacAddress[0], iMacAddress.iMacAddress[1], iMacAddress.iMacAddress[2], iMacAddress.iMacAddress[3], iMacAddress.iMacAddress[4], iMacAddress.iMacAddress[5]) );
+		OstTrace0( TRACE_NORMAL, DUP4_CWLANHWINITPERMPARSER_UPDATENVSDATA, "CWlanHwInitPermParser:UPDATE_MAC_ADDR" );
+		TBuf<80> buf;
+		buf.AppendFormat(_L("CWlanHwInitPermParser:Current Mac Addr - %02X:%02X:%02X:%02X:%02X:%02X"),  pNvsStruct->whamac[0], pNvsStruct->whamac[1], pNvsStruct->whamac[2], pNvsStruct->whamac[3], pNvsStruct->whamac[4], pNvsStruct->whamac[5] );
+		TPtrC16 currentMacPtr((TUint16*)buf.Ptr(), buf.Size());
+		OstTraceExt1( TRACE_NORMAL, DUP5_CWLANHWINITPERMPARSER_UPDATENVSDATA, "%S", currentMacPtr );		
+		buf.Zero();
+		buf.AppendFormat(_L("CWlanHwInitPermParser:Mac Addr to use - %02X:%02X:%02X:%02X:%02X:%02X"), iMacAddress.iMacAddress[0], iMacAddress.iMacAddress[1], iMacAddress.iMacAddress[2], iMacAddress.iMacAddress[3], iMacAddress.iMacAddress[4], iMacAddress.iMacAddress[5] );
+		TPtrC16 newMacPtr((TUint16*)buf.Ptr(), buf.Size());
+		OstTraceExt1( TRACE_NORMAL, DUP6_CWLANHWINITPERMPARSER_UPDATENVSDATA, "%S", newMacPtr );
+		
+		/* Copy the MAC address */
+		for( TUint32 i = 0 ; i < KMacAddrLength ; i++)
+		{
+			pNvsStruct->whamac[i] = iMacAddress.iMacAddress[i];
+		}
+		TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:Final Mac Addr - %02X:%02X:%02X:%02X:%02X:%02X"),  pNvsStruct->whamac[0], pNvsStruct->whamac[1], pNvsStruct->whamac[2], pNvsStruct->whamac[3], pNvsStruct->whamac[4], pNvsStruct->whamac[5] ) );
+		buf.Zero();
+		buf.AppendFormat(_L("CWlanHwInitPermParser:Final Mac Addr - %02X:%02X:%02X:%02X:%02X:%02X"), pNvsStruct->whamac[0], pNvsStruct->whamac[1], pNvsStruct->whamac[2], pNvsStruct->whamac[3], pNvsStruct->whamac[4], pNvsStruct->whamac[5] );
+		TPtrC16 finalMacPtr((TUint16*)buf.Ptr(), buf.Size());
+		OstTraceExt1( TRACE_NORMAL, DUP7_CWLANHWINITPERMPARSER_UPDATENVSDATA, "%S", finalMacPtr );
+	}
+
+	CompareNvsBuffer();
+}
+
+
+void CWlanHwInitPermParser::GenerateDefaultTuningData(void)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:GenerateDefaultTuningData()" ) ) );    
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_GENERATEDEFAULTTUNINGDATA, "CWlanHwInitPermParser:GenerateDefaultTuningData()" );
+	
+	//use nvs file to create default tuning data
+	TPtr8 tuningPtr( GetTuningBuffer() );
+	WlanHalApi::SNvMem* pNvsStruct = (WlanHalApi::SNvMem*)iNvsData->Ptr();
+	
+	tuningPtr.Copy(&pNvsStruct->PL_2G_hdb, (sizeof(WlanHalApi::SNvMem) - offsetof(WlanHalApi::SNvMem, PL_2G_hdb)));	
+}
+
+void CWlanHwInitPermParser::SetMacAddress(const TMacAddr& pMacAddress)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:SetMacAddress()" ) ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_SETMACADDRESS, "CWlanHwInitPermParser:SetMacAddress()" );
+	
+	memcpy(iMacAddress.iMacAddress, pMacAddress.iMacAddress, KMacAddrLength);
+}
+
+// ---------------------------------------------------------
+// CWlanHwInitPermParser::GetTuningValues
+// ---------------------------------------------------------
+//
+TInt CWlanHwInitPermParser::GetTuningValues(TDes8& aData)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:GetTuningValues()" ) ) );    
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_GETTUNINGVALUES, "CWlanHwInitPermParser:GetTuningValues()" );
+	
+	aData.Copy(GetTuningBuffer());
+
+	return KErrNone;
+}
+
+
+// ---------------------------------------------------------
+// CWlanHwInitPermParser::SetTuningValues
+// ---------------------------------------------------------
+//
+TInt CWlanHwInitPermParser::SetTuningValues(TDesC8& aData, nvsUpdateList updateList)
+{
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:SetTuningValues()" ) ) );
+	TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:updateList 0x%X"), updateList ) );
+	OstTrace0( TRACE_NORMAL, CWLANHWINITPERMPARSER_SETTUNINGVALUES, "CWlanHwInitPermParser:SetTuningValues()" );
+	OstTrace1( TRACE_NORMAL, DUP1_CWLANHWINITPERMPARSER_SETTUNINGVALUES, "CWlanHwInitPermParser:updateList 0x%x", updateList );
+	
+	TPtr8 tuningPtr( GetTuningBuffer() );
+	TUint8* pStoredTuningData = (TUint8*)tuningPtr.Ptr();
+		
+	if(updateList & UPDATE_ALL)
+	{
+		TraceDump( INFO_LEVEL, ( _L( "CWlanHwInitPermParser:UPDATE_ALL" ) ) );
+		OstTrace0( TRACE_NORMAL, DUP2_CWLANHWINITPERMPARSER_SETTUNINGVALUES, "CWlanHwInitPermParser:UPDATE_ALL" );		
+		//void * memcpy ( void * destination, const void * source, size_t num );						
+		memcpy( pStoredTuningData, aData.Ptr(), (sizeof(WlanHalApi::SNvMem) - offsetof(WlanHalApi::SNvMem, PL_2G_hdb) ) );		
+	}
+
+	return KErrNone;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/traces/OstTraceDefinitions.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,6 @@
+PRJ_PLATFORMS
+ARMV5 WINSCW 
+
+PRJ_MMPFILES
+invariant_source.mmp
+variant_source.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/invariant_source.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,12 @@
+TARGET			invariant_source
+TARGETTYPE		EXE
+
+UID			0x100039ce 0x10000002
+LIBRARY			euser.lib
+SYSTEMINCLUDE		/epoc32/include
+SYSTEMINCLUDE		/epoc32/include/platform
+SOURCEPATH		../src
+SOURCE			inv_source.cpp
+
+USERINCLUDE		../traces
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/variant_source.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+#include <var.hrh>
+
+TARGET			variant_source
+TARGETTYPE		EXE
+
+UID			0x100039ce 0x10000003
+LIBRARY			euser.lib
+SYSTEMINCLUDE		/epoc32/include
+SYSTEMINCLUDE		/epoc32/include/platform
+
+SOURCEPATH		../src
+SOURCE			var_source1.cpp
+#if defined(MACRO_X)
+SOURCE			var_source2.cpp
+#endif
+#if defined(MACRO_Y)
+SOURCE			var_source3.cpp
+#endif
+
+USERINCLUDE		../traces
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/src/inv_source.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "inv_sourceTraces.h"
+#endif
+
+#include "e32def.h"
+
+char test[] = "invariant source";
+
+TInt E32Main()
+{
+	OstTrace0( TRACE_NORMAL, PLACE0, "Invariant Source" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/src/var_source1.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "var_source1Traces.h"
+#endif
+
+#include "e32def.h"
+
+char test[] = "variant source 1";
+
+TInt E32Main()
+{
+	OstTrace0( TRACE_NORMAL, PLACE1, "Variant Source 1" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/src/var_source2.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,13 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "var_source2Traces.h"
+#endif
+
+#include "e32def.h"
+
+TInt var_source2()
+{
+	OstTrace0( TRACE_NORMAL, PLACE2, "Variant Source 2" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/src/var_source3.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,14 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "var_source3Traces.h"
+#endif
+
+#include "e32def.h"
+
+
+TInt var_source3()
+{
+	OstTrace0( TRACE_NORMAL, PLACE3, "Variant Source 3" );
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/OstTraceDefinitions.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/use_tc.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+	<!-- test trace compiler -->
+	<var name="tc_var_base">
+		<set name='USE_TRACE_COMPILER' value='1' />
+		<env name='JAVA_HOME' default='' type='path'/>
+		<env name='SBS_JAVATC' default='$(JAVA_HOME)/bin/java' type='tool' versionCommand='$(SBS_JAVATC) -version' versionResult='version \"1\.[5-9]' />
+	</var>
+	<var name="tc_var1" extends="tc_var_base">
+		<prepend name='SYSTEMINCLUDE' value='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/var1' />
+	</var>
+	<var name="tc_var2" extends="tc_var_base">
+		<prepend name='SYSTEMINCLUDE' value='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/var2' />
+	</var>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/var1/var.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+
+#define MACRO_X
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/var2/var.hrh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,3 @@
+
+#define MACRO_Y
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/CommonFramework.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#ifndef __CommonFramework_H
+#define __CommonFramework_H
+
+#include <e32base.h>
+#include <e32cons.h>
+
+_LIT(KTxtEPOC32EX,"EXAMPLES");
+_LIT(KTxtExampleCode,"Symbian OS Example Code");
+_LIT(KFormatFailed,"failed: leave code=%d");
+_LIT(KTxtOK,"ok");
+_LIT(KTxtPressAnyKey," [press any key]");
+
+// public
+LOCAL_D CConsoleBase* console; // write all your messages to this
+LOCAL_C void doExampleL(); // code this function for the real example
+
+// private
+LOCAL_C void callExampleL(); // initialize with cleanup stack, then do example
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error,callExampleL()); // more initialization, then do example
+	__ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0; // and return
+    }
+
+LOCAL_C void callExampleL() // initialize and call example code under cleanup stack
+    {
+	console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));
+	CleanupStack::PushL(console);
+	TRAPD(error,doExampleL()); // perform example function
+	if (error)
+		console->Printf(KFormatFailed, error);
+	else
+		console->Printf(KTxtOK);
+	console->Printf(KTxtPressAnyKey);
+	console->Getch(); // get and ignore character
+	CleanupStack::PopAndDestroy(); // close console
+    }
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_MMPFILES
+
+unfrozensymbols.mmp
+exeusingunfrozen.mmp
+unfrozensymbols_with_deffile.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/exeusingunfrozen.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET			test_unfrozen
+TARGETTYPE		EXE
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib unfrozensymbols.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp 
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/freeze.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Component description file
+*
+*/
+
+
+PRJ_MMPFILES
+unfrozensymbols_for_freeze.mmp
+frozen_with_removed_export.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/frozen_with_removed_export.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.mmp copy
+*
+*/
+
+
+TARGET			frozen_with_removed_export.dll
+TARGETTYPE		dll
+UID				0xE800004C
+CAPABILITY		All -TCB
+VENDORID		0x70000001
+SOURCE			missing_symbols.cpp
+SYSTEMINCLUDE	/epoc32/include
+LIBRARY			euser.lib
+DEFFILE			frozen/~/frozen.def
+
+#include "../inc/macrotests.mmh"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/missing_symbols.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This program creates a dll.
+*
+*/
+
+
+#include "unfrozensymbols.h"
+#include <e32uid.h>
+
+#include "../inc/macrotests.h"
+
+extern "C" {
+EXPORT_C TInt test_dll(void)
+{
+	return 0;
+}
+}
+
+// construct/destruct
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+	{
+	delete iString;
+	}
+
+//*This is commented out to provide a source file with a missing export for    *
+//*test: dll_armv5_winscw_freeze.py (parts b & c)                              *
+//
+//EXPORT_C void CMessenger::ShowMessage()
+//	{
+//	_LIT(KFormat1,"%S\n");
+//	iConsole.Printf(KFormat1, iString); // notify completion
+//	}
+
+EXPORT_C void CMessenger::ShowMessage2()
+	{
+	_LIT(KFormat1,"%S\n");
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/partfrozenarm.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+EXPORTS
+	_ZN10CMessenger11ShowMessageEv @ 1 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+	_ZTI10CMessenger @ 3 NONAME
+	_ZTV10CMessenger @ 4 NONAME
+	test_dll @ 5 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/partfrozenwins.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,5 @@
+EXPORTS
+	test_dll @ 1 NONAME
+	?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; void CMessenger::ShowMessage(void)
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 3 NONAME ; class CMessenger * CMessenger::NewLC(class CConsoleBase &, class TDesC16 const &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="unfrozen test";
+
+extern "C" {
+
+IMPORT_C TInt test_dll();
+
+}
+
+TInt E32Main()
+{
+	test_dll();
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This program creates a dll.
+*
+*/
+
+
+#include "unfrozensymbols.h"
+#include <e32uid.h>
+
+#include "../inc/macrotests.h"
+
+extern "C" {
+EXPORT_C TInt test_dll(void)
+{
+	return 0;
+}
+}
+
+// construct/destruct
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+	{
+	delete iString;
+	}
+
+EXPORT_C void CMessenger::ShowMessage()
+	{
+	_LIT(KFormat1,"%S\n");
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+EXPORT_C void CMessenger::ShowMessage2()
+	{
+	_LIT(KFormat1,"%S\n");
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.h
+*
+*/
+
+
+
+#include <e32cons.h>
+
+
+class CMessenger : public CBase
+  	{
+public:
+		// Construction
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+		// Destructor - virtual and class not intended
+		// for derivation, so not exported
+	~CMessenger();
+		// general functions - exported
+	IMPORT_C void ShowMessage();
+	IMPORT_C void ShowMessage2();
+private:
+		// C++ constructor - not exported;
+		// implicitly called from NewLC()
+	CMessenger(CConsoleBase& aConsole);
+		// 2nd phase construction, called by NewLC()
+	void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+	CConsoleBase& iConsole; // Use the console (but not owned)
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+	};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.mmp
+*
+*/
+
+
+TARGET        unfrozensymbols.dll
+TARGETTYPE    dll
+
+UID             0xE800004C
+CAPABILITY   All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        unfrozensymbols.cpp
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+
+LIBRARY       euser.lib
+
+
+#if 0
+#if defined(WINS)
+    deffile ./missingwins.def
+#elif defined(MARM)
+    deffile ./missingarm.def
+#endif
+#endif 
+
+exportunfrozen
+nostrictdef
+
+#include "../inc/macrotests.mmh"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_for_freeze.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.mmp copy
+*
+*/
+
+
+TARGET			unfrozensymbols_for_freeze.dll
+TARGETTYPE		dll
+UID				0xE800004C
+CAPABILITY		All -TCB
+VENDORID		0x70000001
+SOURCE			unfrozensymbols.cpp
+SYSTEMINCLUDE	/epoc32/include
+LIBRARY			euser.lib
+DEFFILE			frozen/~/frozen.def
+
+#include "../inc/macrotests.mmh"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_with_deffile.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CreateStaticDLL.mmp
+* using relative paths for sourcepath and user includes
+* exports are unfrozen
+*
+*/
+
+
+TARGET        unfrozensymbols2.dll
+TARGETTYPE    dll
+
+UID             0xE800004C
+CAPABILITY   All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        unfrozensymbols.cpp
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+
+LIBRARY       euser.lib
+
+
+#if defined(WINS)
+    deffile ./partfrozenwins.def
+#elif defined(MARM)
+    deffile ./partfrozenarm.def
+#endif
+
+exportunfrozen
+nostrictdef
+
+#include "../inc/macrotests.mmh"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/variantplatforms/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+armv5 armv6 armv7
+
+PRJ_EXPORTS
+variantplatforms.flm /epoc32/tools/makefile_templates/tools/variantplatforms.flm
+variantplatforms.xml /epoc32/tools/makefile_templates/tools/variantplatforms.xml
+
+/* 
+   set the FLM parameter based on the pre-processing macros, so that we can
+   test that this bld.inf is actually processed for each of the platforms
+   that we expect - including ones that are extensions of ARMV5 (eg. ARM9E)
+*/ 
+#if defined(ARM9E)
+#define PARAMETER arm9e
+#elif defined(ARMV7)
+#define PARAMETER armv7
+#elif defined(ARMV6)
+#define PARAMETER armv6
+#else
+#define PARAMETER armv5
+#endif
+
+PRJ_EXTENSIONS
+start extension tools/variantplatforms
+option VP PARAMETER
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/variantplatforms/variantplatforms.flm	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,2 @@
+
+$(call raptor_phony_recipe,name,ALL,,echo "building variant platform $(VP)")
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/variantplatforms/variantplatforms.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?> 
+<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd"> 
+
+ <interface name="tools.variantplatforms" flm="variantplatforms.flm">
+  <param name="VP" /> 
+ </interface>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_MMPFILES
+versioned_lib01.mmp
+versioned_lib02.mmp
+versioned_lib03.mmp
+versioned_lib04.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/dllversioning.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5
+
+PRJ_MMPFILES
+// DLL version selection and explicit dll versions
+testver.mmp
+testver_20.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+#include "testver.h"
+
+char test[]="Simple test";
+
+
+TInt E32Main()
+{
+	int i = CMessenger::somebldymethod();
+	return i;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This program creates a dll.
+*
+*/
+
+
+#include "testver.h"
+#include <e32uid.h>
+
+// construct/destruct
+
+EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
+	{
+	CMessenger* self=new (ELeave) CMessenger(aConsole);
+	CleanupStack::PushL(self);
+	self->ConstructL(aString);
+	return self;
+	}
+
+CMessenger::~CMessenger() // destruct - virtual, so no export
+	{
+	delete iString;
+	}
+
+EXPORT_C void CMessenger::ShowMessage()
+	{
+	_LIT(KFormat1,"%S\n");
+	iConsole.Printf(KFormat1, iString); // notify completion
+	}
+
+#if ! defined(VERSION30)
+EXPORT_C int CMessenger::somebldymethod()
+   {
+   return 1;
+   }
+#endif
+
+
+
+// constructor support
+// don't export these, because used only by functions in this DLL, eg our NewLC()
+
+CMessenger::CMessenger(CConsoleBase& aConsole) // first-phase C++ constructor
+	: iConsole(aConsole)
+	{
+	}
+
+void CMessenger::ConstructL(const TDesC& aString) // second-phase constructor
+	{
+	iString=aString.AllocL(); // copy given string into own descriptor
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+ 
+
+#include <e32cons.h>
+
+
+class CMessenger : public CBase
+  	{
+public:
+		// Construction
+	IMPORT_C static CMessenger* NewLC(CConsoleBase& aConsole, const TDesC& aString);
+		// Destructor - virtual and class not intended
+		// for derivation, so not exported
+	~CMessenger();
+		// general functions - exported
+	IMPORT_C void ShowMessage();
+private:
+		// C++ constructor - not exported;
+		// implicitly called from NewLC()
+	CMessenger(CConsoleBase& aConsole);
+		// 2nd phase construction, called by NewLC()
+	void ConstructL(const TDesC& aString); // second-phase constructor
+private:
+	CConsoleBase& iConsole; // Use the console (but not owned)
+	HBufC*        iString;  // Allocated container for string data (destructor destroys)
+public:
+#if !defined(VERSION30) || defined(WINS)
+	IMPORT_C static int somebldymethod();
+#endif
+	};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        testver.dll
+version       3.0
+TARGETTYPE    dll
+
+UID             0xE800004D
+CAPABILITY   All -TCB
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        testver.cpp
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+LIBRARY       euser.lib
+MACRO VERSION30
+
+#if defined(WINS)
+    deffile ./testver_wins.def
+#elif defined(MARM)
+    deffile ./testver_eabi.def
+#endif
+
+nostrictdef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_20.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        testver.dll
+VERSION       2.0 explicit
+TARGETTYPE    dll
+
+UID             0xE800004D
+CAPABILITY   All -TCB
+VENDORID 0x70000001
+
+SOURCEPATH    .
+SOURCE        testver.cpp
+
+USERINCLUDE   .
+SYSTEMINCLUDE /epoc32/include
+LIBRARY       euser.lib
+MACRO VERSION20
+
+#if defined(WINS)
+    deffile ./testver_wins.def
+#elif defined(MARM)
+    deffile ./testver_eabi.def
+#endif
+
+nostrictdef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_eabi.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,6 @@
+EXPORTS
+	_ZN10CMessenger11ShowMessageEv @ 1 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+	_ZTI10CMessenger @ 3 NONAME
+	_ZTV10CMessenger @ 4 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_eabi{00020000}.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,7 @@
+EXPORTS
+	_ZN10CMessenger11ShowMessageEv @ 1 NONAME
+	_ZN10CMessenger14somebldymethodEv @ 2 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 3 NONAME
+	_ZTI10CMessenger @ 4 NONAME
+	_ZTV10CMessenger @ 5 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_wins.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,4 @@
+EXPORTS
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 1 NONAME ; class CMessenger * CMessenger::NewLC(class CConsoleBase &, class TDesC16 const &)
+	?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; void CMessenger::ShowMessage(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_wins{00020000}.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,4 @@
+EXPORTS
+	?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 1 NONAME ; class CMessenger * CMessenger::NewLC(class CConsoleBase &, class TDesC16 const &)
+	?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; void CMessenger::ShowMessage(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib.def	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,6 @@
+EXPORTS
+	_ZN10CMessenger11ShowMessageEv @ 1 NONAME
+	_ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+	_ZTI10CMessenger @ 3 NONAME ; #<TI>#
+	_ZTV10CMessenger @ 4 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib01.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        versionedlib01.lib
+TARGETTYPE    implib
+
+DEFFILE ./versioned_lib.def
+    
+NOSTRICTDEF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib02.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        versionedlib.02.lib
+TARGETTYPE    implib
+
+DEFFILE ./versioned_lib.def
+    
+NOSTRICTDEF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib03.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* versoned_lib03.mmp
+*
+*/
+
+
+TARGET        versioned.lib.03.lib
+TARGETTYPE    implib
+
+DEFFILE ./versioned_lib.def
+    
+NOSTRICTDEF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/versioned_lib04.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET        version.ed.lib.04.lib
+TARGETTYPE    implib
+
+DEFFILE ./versioned_lib.def
+
+NOSTRICTDEF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/xver_20.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET xver_20
+TARGETTYPE exe
+
+UID			0x100039ce 0x00000001
+LIBRARY			euser.lib testver{2.0}.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/xml_invalid_chars/bld.inf	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+simple.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/xml_invalid_chars/simple.mmp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+TARGET			test
+TARGETTYPE		EXE
+
+// Test backslash to / here:
+TARGETPATH		\sys\bin
+
+UID			0x100039ce 0x00000001
+#warning Some nasty un-escaped characters that break XML <a> & & >sdfsdf 
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+SOURCE			test.cpp 
+MACRO			TEST_MACRO_THAT_DOES_NOTHING
+PAGED
+DEBUGGABLE
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/xml_invalid_chars/test.cpp	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "e32def.h" // intentional  include
+
+char test[]="Simple test";
+
+TInt E32Main()
+{
+	TInt t = 1;
+	t = 3;
+	TInt s = 5;
+	s = t + t*3;
+	t = s + s*3;
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/timeout.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+import os
+
+def run():
+	t = SmokeTest()
+	t.description = "test that long commands time out and get retried"
+	
+	exitCode = "128"
+
+	t.id = "60a"
+	t.name = "timeout"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/timeout/bld.inf -f -"
+
+	t.mustmatch_singleline = [
+		"status exit='failed' code='" + exitCode + "' attempt='1' reason='timeout'",
+	]
+	t.errors = -1
+	t.returncode = 1
+	t.run()
+	
+	t.id = "60b"
+	t.name = "timeout with retries"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/timeout/bld.inf -t 3 -f -"
+
+	t.mustmatch_singleline = [
+		"status exit='retry' code='" + exitCode + "' attempt='1' reason='timeout'",
+		"status exit='retry' code='" + exitCode + "' attempt='2' reason='timeout'",
+		"status exit='failed' code='" + exitCode + "' attempt='3' reason='timeout'",
+	]
+	t.errors = -1
+	t.returncode = 1
+	t.run()
+	
+	t.id = "60"
+	t.name = "timeout"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/timing.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.usebash = True
+	
+	t.description = "Test that a timing log is created and contains total parse and build durations"
+
+	t.id = "0103b"
+	t.name = "timing_on"
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf" + \
+			" --filters=FilterLogfile,FilterTiming -f ${SBSLOGFILE} && " + \
+			"grep progress:duration ${SBSLOGFILE}.timings"
+	t.mustmatch = [
+			"^<progress:duration object_type='layer' task='parse' key='.*' duration='\d+.\d+' />$",
+			"^<progress:duration object_type='layer' task='build' key='.*' duration='\d+.\d+' />$",
+			"^<progress:duration object_type='all' task='all' key='all' duration='\d+.\d+' />$"
+			]
+	t.mustnotmatch = []
+	t.run()
+
+
+	t.id = "103"
+	t.name = "timing"
+	t.print_result()
+	
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/toolchain_macros.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,60 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+import string
+
+def run():
+	t = SmokeTest()
+	t.description = "Check that ARM toolchain specific macros are used in both metadata and source processing."
+	t.warnings = -1
+	
+	toolchains = {
+				'rvct2_2':   ['ARMCC', 'ARMCC_2', 'ARMCC_2_2', '__ARMCC__', '__ARMCC_2__',  '__ARMCC_2_2__'],
+				'rvct3_1':   ['ARMCC', 'ARMCC_3', 'ARMCC_3_1', '__ARMCC__', '__ARMCC_3__' , '__ARMCC_3_1__'],
+				'rvct4_0':   ['ARMCC', 'ARMCC_4', 'ARMCC_4_0', '__ARMCC__', '__ARMCC_4__' , '__ARMCC_4_0__'],
+				'gcce4_3_2': ['GCCE',  'GCCE_4',  'GCCE_4_3',  '__GCCE__',  '__GCCE_4__' ,  '__GCCE_4_3__'],
+				'gcce4_3_3': ['GCCE', 'GCCE_4', 'GCCE_4_3', '__GCCE__', '__GCCE_4__' , '__GCCE_4_3__'],
+				'gcce4_4_1': ['GCCE', 'GCCE_4', 'GCCE_4_4', '__GCCE__', '__GCCE_4__' , '__GCCE_4_4__']
+				}
+	
+	rootname = "toolchain_macros_armv5_%s_%s"
+	rootcommand = "sbs -b smoke_suite/test_resources/toolchain_macros/bld.inf -c arm.v5.urel."
+	macromatch = ": #warning( directive:)? %s(</warning>)?$"
+	
+	count = 0	
+	for toolchain in sorted(toolchains.keys()):
+		t.id = "0095" + string.ascii_lowercase[count]
+		t.name = rootname % (toolchain, "clean")
+		t.command = rootcommand + toolchain + " clean"
+		t.mustmatch_singleline = []
+		t.run()
+		count += 1
+		
+		t.id = "0095" + string.ascii_lowercase[count]
+		t.name = rootname % (toolchain, "build")
+		t.command = rootcommand + toolchain
+		mustmatch = []	
+		for macro in toolchains[toolchain]:
+			mustmatch.append(macromatch % macro)
+		t.mustmatch_singleline = mustmatch
+		t.run()
+		count += 1
+
+	t.id = "95"
+	t.name = "toolchain_macros"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/toolcheck.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,94 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+import os
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "0092a"
+	t.name = "toolcheck"
+	t.description = """Test toolcheck works properly, with 3 options: on, off and forced. 
+				TOOL1 3 4 and 5 are expected to fail and 2 to pass"""
+	result = SmokeTest.PASS
+	toolcheckDir = os.environ["SBS_HOME"].replace("\\","/") + "/test/smoke_suite/test_resources/toolcheck"
+
+	# toolcheck ON
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -n --configpath=" + toolcheckDir + \
+			" -c default.toolcheck --toolcheck=on"
+	
+	t.mustmatch = [
+		".*tool 'TOOLCHECK1' from config 'none' did not return version.*",
+		".*tool 'TOOLCHECK3' from config 'none' did not return version.*",
+		".*tool 'TOOLCHECK4' from config 'none' did not return version.*",
+		".*tool 'TOOLCHECK5' from config 'none' did not return version.*"
+		]
+	t.mustnotmatch = [
+		".*TOOLCHECK2.*",
+		".*TOOLCHECK6.*"
+		]
+	t.errors = 4
+	t.returncode = 1
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	# toolcheck OFF
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -n --configpath=" + toolcheckDir + \
+			" -c default.toolcheck --toolcheck=off"
+
+	t.id = "0092b"
+	t.mustmatch = []
+	t.mustnotmatch = [
+		".*TOOLCHECK1.*",
+		".*TOOLCHECK3.*",
+		".*TOOLCHECK4.*",
+		".*TOOLCHECK5.*",
+		".*TOOLCHECK6.*"
+		]
+	t.errors = 0
+	t.returncode = 0
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+	# force toolcheck
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -n --configpath=" + toolcheckDir + \
+			" -c default.toolcheck --toolcheck=forced"
+
+	t.id = "0092c"
+	t.mustmatch = [
+		".*tool 'TOOLCHECK1' from config 'none' did not return version.*",
+		".*tool 'TOOLCHECK3' from config 'none' did not return version.*",
+		".*tool 'TOOLCHECK4' from config 'none' did not return version.*",
+		".*tool 'TOOLCHECK5' from config 'none' did not return version.*"
+		]
+	t.mustnotmatch = [
+		".*TOOLCHECK2.*",
+		".*TOOLCHECK6.*"
+	]
+	t.errors = 4
+	t.returncode = 1
+	t.run()
+	if t.result == SmokeTest.FAIL:
+		result = SmokeTest.FAIL
+
+
+	t.id = "0092"
+	t.result = result
+	t.print_result()
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tools.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,66 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():	
+	t = SmokeTest()
+	t.id = "52"
+	t.name = "tools"
+	t.command = "sbs -b smoke_suite/test_resources/tools/bld.inf -c tools"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/tools/deb/tool_exe.bsc",
+		"$(EPOCROOT)/epoc32/release/tools/deb/tool_exe.exe",
+		"$(EPOCROOT)/epoc32/release/tools/deb/tool_exe.ilk",
+		"$(EPOCROOT)/epoc32/release/tools/deb/tool_lib1.bsc",
+		"$(EPOCROOT)/epoc32/release/tools/deb/tool_lib1.lib",
+		"$(EPOCROOT)/epoc32/release/tools/deb/tool_lib2.bsc",
+		"$(EPOCROOT)/epoc32/release/tools/deb/tool_lib2.lib",
+		"$(EPOCROOT)/epoc32/release/tools/rel/tool_exe.exe",
+		"$(EPOCROOT)/epoc32/release/tools/rel/tool_lib1.lib",
+		"$(EPOCROOT)/epoc32/release/tools/rel/tool_lib2.lib",
+		"$(EPOCROOT)/epoc32/tools/tool_exe.exe",
+		"$(EPOCROOT)/epoc32/tools/tool_lib1.lib",
+		"$(EPOCROOT)/epoc32/tools/tool_lib2.lib"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tools/bld.inf', [
+		"tool_exe_exe/tools/deb/tool_exe_a.obj",
+		"tool_exe_exe/tools/deb/tool_exe_a.sbr",
+		"tool_exe_exe/tools/deb/tool_exe_b.obj",
+		"tool_exe_exe/tools/deb/tool_exe_b.sbr",
+		"tool_exe_exe/tools/rel/tool_exe_a.obj",
+		"tool_exe_exe/tools/rel/tool_exe_a.sbr",
+		"tool_exe_exe/tools/rel/tool_exe_b.obj",
+		"tool_exe_exe/tools/rel/tool_exe_b.sbr",
+		"tool_lib1_lib/tools/deb/tool_lib1_a.obj",
+		"tool_lib1_lib/tools/deb/tool_lib1_a.sbr",
+		"tool_lib1_lib/tools/deb/tool_lib1_b.obj",
+		"tool_lib1_lib/tools/deb/tool_lib1_b.sbr",
+		"tool_lib1_lib/tools/rel/tool_lib1_a.obj",
+		"tool_lib1_lib/tools/rel/tool_lib1_a.sbr",
+		"tool_lib1_lib/tools/rel/tool_lib1_b.obj",
+		"tool_lib1_lib/tools/rel/tool_lib1_b.sbr",
+		"tool_lib2_lib/tools/deb/tool_lib2_a.obj",
+		"tool_lib2_lib/tools/deb/tool_lib2_a.sbr",
+		"tool_lib2_lib/tools/deb/tool_lib2_b.obj",
+		"tool_lib2_lib/tools/deb/tool_lib2_b.sbr",
+		"tool_lib2_lib/tools/rel/tool_lib2_a.obj",
+		"tool_lib2_lib/tools/rel/tool_lib2_a.sbr",
+		"tool_lib2_lib/tools/rel/tool_lib2_b.obj",
+		"tool_lib2_lib/tools/rel/tool_lib2_b.sbr",
+	])
+	t.run("windows") # no MSVC compiler on Linux
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tools2.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,78 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "51"
+	t.name = "tools2"
+	t.command = "sbs -b smoke_suite/test_resources/tools2/bld.inf -c tools2"
+
+
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/tools2/deb/libtool_lib1.a",
+		"$(EPOCROOT)/epoc32/release/tools2/deb/libtool_lib2.a",
+		"$(EPOCROOT)/epoc32/release/tools2/deb/tool_exe.exe",
+		"$(EPOCROOT)/epoc32/release/tools2/rel/libtool_lib1.a",
+		"$(EPOCROOT)/epoc32/release/tools2/rel/libtool_lib2.a",
+		"$(EPOCROOT)/epoc32/release/tools2/rel/tool_exe.exe",
+		"$(EPOCROOT)/epoc32/tools/tool_exe.exe",
+	]
+	t.addbuildtargets("smoke_suite/test_resources/tools2/bld.inf", [
+		"libtool_lib1_a/libtool_lib1_lib/tools2/rel/tool_lib1_b.o",
+		"libtool_lib1_a/libtool_lib1_lib/tools2/rel/tool_lib1_a.o",
+		"libtool_lib2_a/libtool_lib2_lib/tools2/rel/tool_lib2_b.o",
+		"libtool_lib2_a/libtool_lib2_lib/tools2/rel/tool_lib2_a.o",
+		"libtool_lib1_a/libtool_lib1_lib/tools2/deb/tool_lib1_b.o",
+		"libtool_lib1_a/libtool_lib1_lib/tools2/deb/tool_lib1_a.o",
+		"libtool_lib2_a/libtool_lib2_lib/tools2/deb/tool_lib2_a.o",
+		"libtool_lib2_a/libtool_lib2_lib/tools2/deb/tool_lib2_b.o",
+		"tool_exe_exe/tool_exe_exe/tools2/rel/tool_exe_a.o",
+		"tool_exe_exe/tool_exe_exe/tools2/rel/tool_exe_b.o",
+		"tool_exe_exe/tool_exe_exe/tools2/deb/tool_exe_b.o",
+		"tool_exe_exe/tool_exe_exe/tools2/deb/tool_exe_a.o"
+		])
+			
+	t.run("windows") # tools2 output is platform dependent
+
+	if t.result == SmokeTest.SKIP:
+		t.targets = [
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/deb/tool_exe",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/deb/libtool_lib1.a",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/deb/libtool_lib2.a",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/tool_exe",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/libtool_lib1.a",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/libtool_lib2.a",
+			"$(EPOCROOT)/epoc32/tools/tool_exe"
+		]
+		t.addbuildtargets("smoke_suite/test_resources/tools2/bld.inf", [
+			"libtool_lib1_a/libtool_lib1_lib/tools2/rel/$(HOSTPLATFORM_DIR)/tool_lib1_b.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/rel/$(HOSTPLATFORM_DIR)/tool_lib1_a.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/rel/$(HOSTPLATFORM_DIR)/tool_lib2_b.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/rel/$(HOSTPLATFORM_DIR)/tool_lib2_a.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/deb/$(HOSTPLATFORM_DIR)/tool_lib1_b.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/deb/$(HOSTPLATFORM_DIR)/tool_lib1_a.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/deb/$(HOSTPLATFORM_DIR)/tool_lib2_a.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/deb/$(HOSTPLATFORM_DIR)/tool_lib2_b.o",
+			"tool_exe_exe/tool_exe_exe/tools2/rel/$(HOSTPLATFORM_DIR)/tool_exe_a.o",
+			"tool_exe_exe/tool_exe_exe/tools2/rel/$(HOSTPLATFORM_DIR)/tool_exe_b.o",
+			"tool_exe_exe/tool_exe_exe/tools2/deb/$(HOSTPLATFORM_DIR)/tool_exe_b.o",
+			"tool_exe_exe/tool_exe_exe/tools2/deb/$(HOSTPLATFORM_DIR)/tool_exe_a.o"
+			])
+		t.run("linux") # tools2 output is platform dependent
+		
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tools2_cross_compilation.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,175 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()	
+	t.description = "Tests Raptor can build win32 tools on linux"
+
+	t.id = "111a"
+	t.name = "tools2_cross_compilation_pdrtran" 
+	t.command = "sbs -b smoke_suite/test_resources/tools2/cross/BLD.INF -p PDRTRAN.MMP -c tools2 -c tools2.win32"
+
+	t.targets = [
+			"$(EPOCROOT)/epoc32/release/tools2/deb/pdrtran.exe",
+			"$(EPOCROOT)/epoc32/release/tools2/rel/pdrtran.exe",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/deb/pdrtran",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/pdrtran",
+			"$(EPOCROOT)/epoc32/tools/pdrtran.exe",
+			"$(EPOCROOT)/epoc32/tools/pdrtran"
+			]
+	t.addbuildtargets("smoke_suite/test_resources/tools2/cross/BLD.INF", [
+			"pdrtran_/pdrtran_exe/tools2/deb/PDRTRAN.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/LEXICAL.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/PDRREADR.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/PDRRECRD.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/READER.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/RECORD.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/STRNG.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/PDRTRAN.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/LEXICAL.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/PDRREADR.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/PDRRECRD.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/READER.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/RECORD.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/STRNG.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/$(HOSTPLATFORM_DIR)/PDRTRAN.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/$(HOSTPLATFORM_DIR)/LEXICAL.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/$(HOSTPLATFORM_DIR)/PDRREADR.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/$(HOSTPLATFORM_DIR)/PDRRECRD.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/$(HOSTPLATFORM_DIR)/READER.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/$(HOSTPLATFORM_DIR)/RECORD.o",
+			"pdrtran_/pdrtran_exe/tools2/deb/$(HOSTPLATFORM_DIR)/STRNG.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/$(HOSTPLATFORM_DIR)/PDRTRAN.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/$(HOSTPLATFORM_DIR)/LEXICAL.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/$(HOSTPLATFORM_DIR)/PDRREADR.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/$(HOSTPLATFORM_DIR)/PDRRECRD.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/$(HOSTPLATFORM_DIR)/READER.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/$(HOSTPLATFORM_DIR)/RECORD.o",
+			"pdrtran_/pdrtran_exe/tools2/rel/$(HOSTPLATFORM_DIR)/STRNG.o"
+			])
+	t.run("linux")
+
+	
+	t.id = "111b"
+	t.name = "tools2_cross_compilation_libs"
+	t.command = "sbs -b smoke_suite/test_resources/tools2/bld.inf -c tools2.win32 -c tools2"
+
+	t.targets = [
+			"$(EPOCROOT)/epoc32/release/tools2/deb/tool_exe.exe",
+			"$(EPOCROOT)/epoc32/release/tools2/deb/libtool_lib1.a",
+			"$(EPOCROOT)/epoc32/release/tools2/deb/libtool_lib2.a",
+			"$(EPOCROOT)/epoc32/release/tools2/rel/tool_exe.exe",
+			"$(EPOCROOT)/epoc32/release/tools2/rel/libtool_lib1.a",
+			"$(EPOCROOT)/epoc32/release/tools2/rel/libtool_lib2.a",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/deb/tool_exe",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/deb/libtool_lib1.a",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/deb/libtool_lib2.a",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/tool_exe",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/libtool_lib1.a",
+			"$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/libtool_lib2.a",
+			"$(EPOCROOT)/epoc32/tools/tool_exe.exe",
+			"$(EPOCROOT)/epoc32/tools/tool_exe"
+			]
+	t.addbuildtargets("smoke_suite/test_resources/tools2/bld.inf", [
+			"libtool_lib1_a/libtool_lib1_lib/tools2/rel/tool_lib1_b.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/rel/tool_lib1_a.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/rel/tool_lib2_b.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/rel/tool_lib2_a.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/deb/tool_lib1_b.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/deb/tool_lib1_a.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/deb/tool_lib2_a.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/deb/tool_lib2_b.o",
+			"tool_exe_exe/tool_exe_exe/tools2/rel/tool_exe_a.o",
+			"tool_exe_exe/tool_exe_exe/tools2/rel/tool_exe_b.o",
+			"tool_exe_exe/tool_exe_exe/tools2/deb/tool_exe_b.o",
+			"tool_exe_exe/tool_exe_exe/tools2/deb/tool_exe_a.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/rel/$(HOSTPLATFORM_DIR)/tool_lib1_b.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/rel/$(HOSTPLATFORM_DIR)/tool_lib1_a.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/rel/$(HOSTPLATFORM_DIR)/tool_lib2_b.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/rel/$(HOSTPLATFORM_DIR)/tool_lib2_a.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/deb/$(HOSTPLATFORM_DIR)/tool_lib1_b.o",
+			"libtool_lib1_a/libtool_lib1_lib/tools2/deb/$(HOSTPLATFORM_DIR)/tool_lib1_a.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/deb/$(HOSTPLATFORM_DIR)/tool_lib2_a.o",
+			"libtool_lib2_a/libtool_lib2_lib/tools2/deb/$(HOSTPLATFORM_DIR)/tool_lib2_b.o",
+			"tool_exe_exe/tool_exe_exe/tools2/rel/$(HOSTPLATFORM_DIR)/tool_exe_a.o",
+			"tool_exe_exe/tool_exe_exe/tools2/rel/$(HOSTPLATFORM_DIR)/tool_exe_b.o",
+			"tool_exe_exe/tool_exe_exe/tools2/deb/$(HOSTPLATFORM_DIR)/tool_exe_b.o",
+			"tool_exe_exe/tool_exe_exe/tools2/deb/$(HOSTPLATFORM_DIR)/tool_exe_a.o"
+			])
+	t.run("linux")
+
+
+	t.usebash = True
+	t.id = "111c"
+	t.name = "tools2_cross_compilation_toolcheck_linux"
+	t.command = "$(EPOCROOT)/epoc32/tools/pdrtran smoke_suite/test_resources/tools2/cross/TEST.PD $(EPOCROOT)/epoc32/build/TEST_PDRTRAN.PDR"
+	t.targets = [
+		 	"$(EPOCROOT)/epoc32/build/TEST_PDRTRAN.PDR"
+			]
+	t.mustmatch = [
+			"PDRTRAN V41"
+			]		
+	t.run("linux")
+
+	
+	t.id = "111d"
+	t.name = "tools2_cross_compilation_toolcheck_windows"
+	t.command = "file $(EPOCROOT)/epoc32/tools/pdrtran.exe"
+	t.targets = []
+	t.mustmatch = [
+			"MS Windows"
+			]		
+	t.run("linux")
+
+
+	t.id = "111e"
+	t.name = "tools2_cross_compilation_platmacro_linux"
+	t.command = "sbs -b smoke_suite/test_resources/tools2/cross/BLD.INF -p platmacros.mmp -c tools2"
+	t.targets = [
+			"$(EPOCROOT)/epoc32/tools/test_platmacros"
+			]
+	t.mustmatch = [
+			"TOOLS2_LINUX"
+			]
+	t.mustnotmatch = [
+			"TOOLS2_WINDOWS"
+			]
+	t.warnings = 1
+	t.run("linux")
+
+
+	t.id = "111f"
+	t.name = "tools2_cross_compilation_platmacro_windows"
+	t.command = "sbs -b smoke_suite/test_resources/tools2/cross/BLD.INF -p platmacros.mmp -c tools2.win32"
+	t.targets = [
+			"$(EPOCROOT)/epoc32/tools/test_platmacros.exe"
+			]
+	t.mustmatch = [
+			"TOOLS2_WINDOWS"
+			]
+	t.mustnotmatch = [
+			"TOOLS2_LINUX"
+			]
+	t.warnings = 1
+	t.run("linux")
+
+
+	t.id = "111"
+	t.name = "tools2_cross_compilation"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_general.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,195 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	t = SmokeTest()
+	t.description = "Testcases (ID 0101a - 0101d) test trace compiler"
+	# General test for trace compiler, which generates
+	# 1. trace headers like <source>Traces.h
+	# 2. fixed_id.definitions
+	# 3. dictionary files like <project name>_<UID>_Dictionary.xml
+	# 4. trace definitions like <project name>_<UID>_TraceDefinitions.h
+	t.id = "101a"
+	t.name = "TC_general"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5.tracecompiler"	
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/testTC.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll.map",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitmainTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h",	
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/fixed_id.definitions",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/testTC_0x1000008d_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/testTC_0x1000008d_TraceDefinitions.h"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf', [
+		"testtc_dll/armv5/udeb/wlanhwinit.o",
+		"testtc_dll/armv5/udeb/wlanhwinit.o.d",
+		"testtc_dll/armv5/udeb/wlanhwinitmain.o",
+		"testtc_dll/armv5/udeb/wlanhwinitmain.o.d",
+		"testtc_dll/armv5/udeb/wlanhwinitpermparser.o",
+		"testtc_dll/armv5/udeb/wlanhwinitpermparser.o.d",
+		"testtc_dll/armv5/udeb/testTC_udeb_objects.via",
+		"testtc_dll/armv5/udeb/testTC{000a0000}.def",
+		"testtc_dll/armv5/urel/wlanhwinit.o",
+		"testtc_dll/armv5/urel/wlanhwinit.o.d",
+		"testtc_dll/armv5/urel/wlanhwinitmain.o",
+		"testtc_dll/armv5/urel/wlanhwinitmain.o.d",
+		"testtc_dll/armv5/urel/wlanhwinitpermparser.o",
+		"testtc_dll/armv5/urel/wlanhwinitpermparser.o.d",	
+		"testtc_dll/armv5/urel/testTC_urel_objects.via",
+		"testtc_dll/armv5/urel/testTC{000a0000}.def",
+		"testtc_dll/tracecompile_testTC_dll_1000008d.done"
+	])
+	t.run()
+	
+	# General CLEAN test for trace compiler outputs
+	t = AntiTargetSmokeTest()
+	t.id = "101b"
+	t.name = "TC_general_CLEAN"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5.tracecompiler CLEAN" 	
+	t.antitargets = [
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitmainTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h"
+		]
+	t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
+		"testtc_dll/tracecompile_testTC_dll_1000008d.done"
+	])
+	t.run()
+			
+	t = SmokeTest()
+	t.id = "101c"
+	t.name = "TC_bv_path"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/bld.inf -c armv5.tracecompiler" 
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/HelloWorld.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/HelloWorld.exe.map",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/HelloWorldTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/fixed_id.definitions",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/HelloWorld_0xe78a5aa3_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/HelloWorld_0xe78a5aa3_TraceDefinitions.h"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/bld.inf', [
+		"helloworld_exe/armv5/udeb/HelloWorld.o",
+		"helloworld_exe/armv5/udeb/HelloWorld.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_udeb_objects.via",
+		"helloworld_exe/armv5/urel/HelloWorld.o",
+		"helloworld_exe/armv5/urel/HelloWorld.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_urel_objects.via",
+		"helloworld_exe/tracecompile_HelloWorld_exe_e78a5aa3.done"
+	])
+	t.run()
+
+	# 101d-101f test trace compiler auto mechanism, which is used to avoid wasting time on source 
+	# containing no osttraces.
+	# Trace compiler only runs when there are osttraces code in source. Raptor decides this by
+	# checking whether there is a "traces" or "traces_<prj_name>" folder in USERINCLUDE in a mmp file. 
+	t = SmokeTest()
+	t.id = "101d"
+	t.name = "TC_autorun1"
+	# Run - USERINCLUDE ../traces_autorun1
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \
+			" -p autorun1.mmp"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o",
+		"test_/tracecompile_test_exe_00000001.done"
+	])
+	t.run()
+	
+	t = AntiTargetSmokeTest()
+	t.id = "101e"
+	t.name = "TC_autorun2"
+	# No run - USERINCLUDE ./tracesnotmatch
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \
+			" -p autorun2.mmp CLEAN " + \
+			"&& sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \
+			" -p autorun2.mmp"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o",
+	])
+	t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
+		"test_/tracecompile_test_exe_00000001.done"
+	])
+	t.run()
+
+	t = AntiTargetSmokeTest()
+	t.id = "101f"
+	t.name = "TC_autorun3"
+	# No run - no UID
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \
+			" -p autorun3.mmp CLEAN " + \
+			"&& sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \
+			" -p autorun3.mmp"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o",
+	])
+	t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
+		"test_/tracecompile_test_exe_00000001.done"
+	])
+	t.run()
+
+	# Test trace compiler doesn't run when it is switched off
+	# Trace compiler switch is off by default. To turn it on use variant ".tracecompiler". 
+	t = AntiTargetSmokeTest()
+	t.id = "101g"
+	t.name = "TC_switch_off"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5.tracecompiler" + \
+			" -p autorun1.mmp CLEAN " + \
+			"&& sbs -b smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf -c armv5 -p autorun1.mmp"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
+		"test_/armv5/udeb/test.o",
+		"test_/armv5/urel/test.o"
+	])
+	t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
+		"test_/tracecompile_test_exe_00000001.done"
+	])
+	t.run()
+
+
+	t.id = "101"
+	t.name = "tracecompiler_general"
+	t.print_result()
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_incremental.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,56 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.description = "Test incremental rebuilding with TC on"
+	t.id = "114a"
+	t.name = "tracecompiler_incremental_clean"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5_urel.tracecompiler CLEAN"
+	t.run()
+
+	t.id = "114b"
+	t.name = "tracecompiler_incremental_prebuild"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5_urel.tracecompiler -f - -m ${SBSMAKEFILE}"
+	t.countmatch = [ ["name='compile'",3] ]
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/testTC.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll.map",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitmainTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h",	
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/fixed_id.definitions",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/testTC_0x1000008d_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/testTC_0x1000008d_TraceDefinitions.h"
+		]
+	t.run()
+
+	t.id = "114c"
+	t.name = "tracecompiler_incremental_rebuild"
+	t.command = "touch smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinit.cpp && sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf -c armv5_urel.tracecompiler -f - -m ${SBSMAKEFILE}"
+	t.countmatch = [ ["name='compile'",1] ]
+	t.targets = []
+	t.run()
+
+	t.id = "114"
+	t.name = "tracecompiler_incremental"
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_variants.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,280 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+	# 102a - 102b Test running trace compiler on one mmp with different source files controlled macros. 
+	t = AntiTargetSmokeTest()
+	t.description = "Testcases (ID 102a - 102c) test trace compiler running with variants and macros"
+	
+	# 1st time build includes var_source1 and var_source2 for variant_source.mmp
+	t.id = "102a"
+	t.name = "TC_variant_source_var1"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf -c default.tc_var1" + \
+			" --configpath=test/smoke_suite/test_resources/tracecompiler/variant_source"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/invariant_source.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/variant_source.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/invariant_source.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/variant_source.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/invariant_source.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/variant_source.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/invariant_source.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/variant_source.exe",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/inv_sourceTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source1Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source2Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/fixed_id.definitions",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/invariant_source_0x10000002_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/variant_source_0x10000003_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [
+		"invariant_source_/armv5/udeb/inv_source.o",
+		"invariant_source_/armv5/udeb/inv_source.o.d",
+		"invariant_source_/armv5/urel/inv_source.o",
+		"invariant_source_/armv5/urel/inv_source.o.d",
+		"invariant_source_/winscw/udeb/inv_source.o",
+		"invariant_source_/winscw/udeb/inv_source.o.d",
+		"invariant_source_/winscw/urel/inv_source.o",
+		"invariant_source_/winscw/urel/inv_source.o.d",
+		"invariant_source_/tracecompile_invariant_source_exe_10000002.done",
+		"variant_source_/armv5/udeb/var_source1.o",
+		"variant_source_/armv5/udeb/var_source1.o.d",
+		"variant_source_/armv5/udeb/var_source2.o",
+		"variant_source_/armv5/udeb/var_source2.o.d",
+		"variant_source_/armv5/urel/var_source1.o",
+		"variant_source_/armv5/urel/var_source1.o.d",
+		"variant_source_/armv5/urel/var_source2.o",
+		"variant_source_/armv5/urel/var_source2.o.d",
+		"variant_source_/winscw/udeb/var_source1.o",
+		"variant_source_/winscw/udeb/var_source1.o.d",
+		"variant_source_/winscw/udeb/var_source2.o",
+		"variant_source_/winscw/udeb/var_source2.o.d",
+		"variant_source_/winscw/urel/var_source1.o",
+		"variant_source_/winscw/urel/var_source1.o.d",
+		"variant_source_/winscw/urel/var_source2.o",
+		"variant_source_/winscw/urel/var_source2.o.d",
+		"variant_source_/tracecompile_variant_source_exe_10000003.done"
+	])
+	t.antitargets = [
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source3Traces.h"
+		]
+	t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [
+		"variant_source_/armv5/udeb/var_source3.o",
+		"variant_source_/armv5/urel/var_source3.o",
+		"variant_source_/winscw/udeb/var_source3.o",
+		"variant_source_/winscw/urel/var_source3.o"
+	])
+	t.run()
+
+	# 2nd time build includes var_source1 and var_source3 for variant_source.mmp
+	t = SmokeTest()
+	t.id = "102b"
+	t.name = "TC_variant_source_var2"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf -c default.tc_var2" + \
+			" --configpath=test/smoke_suite/test_resources/tracecompiler/variant_source"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/invariant_source.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/variant_source.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/invariant_source.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/variant_source.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/invariant_source.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/variant_source.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/invariant_source.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/variant_source.exe",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/inv_sourceTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source1Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source2Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source3Traces.h",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/invariant_source_0x10000002_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/variant_source_0x10000003_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [
+		"invariant_source_/armv5/udeb/inv_source.o",
+		"invariant_source_/armv5/udeb/inv_source.o.d",
+		"invariant_source_/armv5/urel/inv_source.o",
+		"invariant_source_/armv5/urel/inv_source.o.d",
+		"invariant_source_/winscw/udeb/inv_source.o",
+		"invariant_source_/winscw/udeb/inv_source.o.d",
+		"invariant_source_/winscw/urel/inv_source.o",
+		"invariant_source_/winscw/urel/inv_source.o.d",
+		"invariant_source_/tracecompile_invariant_source_exe_10000002.done",
+		"variant_source_/armv5/udeb/var_source1.o",
+		"variant_source_/armv5/udeb/var_source1.o.d",
+		"variant_source_/armv5/udeb/var_source3.o",
+		"variant_source_/armv5/udeb/var_source3.o.d",
+		"variant_source_/armv5/urel/var_source1.o",
+		"variant_source_/armv5/urel/var_source1.o.d",
+		"variant_source_/armv5/urel/var_source3.o",
+		"variant_source_/armv5/urel/var_source3.o.d",
+		"variant_source_/winscw/udeb/var_source1.o",
+		"variant_source_/winscw/udeb/var_source1.o.d",
+		"variant_source_/winscw/udeb/var_source3.o",
+		"variant_source_/winscw/udeb/var_source3.o.d",
+		"variant_source_/winscw/urel/var_source1.o",
+		"variant_source_/winscw/urel/var_source1.o.d",
+		"variant_source_/winscw/urel/var_source3.o",
+		"variant_source_/winscw/urel/var_source3.o.d",
+		"variant_source_/tracecompile_variant_source_exe_10000003.done"
+	])
+	t.run()
+
+	# Build multiple variants together, which involves different source files in one mmp
+	# Raptor only call trace compiler once no matter how many variants
+	# In this example, ".phone" 1 2 3 involve tc_a b c respectively, and all involve tc_main
+	t = SmokeTest()
+	t.id = "102c"
+	t.name = "TC_multiple_variants"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/multiple_variants/group/bld.inf" + \
+			" -c armv5.phone1 -c armv5.phone2 -c armv5.phone3" + \
+			" --configpath=test/smoke_suite/test_resources/tracecompiler/multiple_variants"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5.phone1/udeb/tc_variants.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.phone1/urel/tc_variants.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.phone2/udeb/tc_variants.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.phone2/urel/tc_variants.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.phone3/udeb/tc_variants.exe",
+		"$(EPOCROOT)/epoc32/release/armv5.phone3/urel/tc_variants.exe",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_mainTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_aTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_bTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_cTraces.h",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/tc_variants_0x10000004_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/tc_variants_0x10000004_TraceDefinitions.h"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/multiple_variants/group/bld.inf', [
+		"tc_variants_/armv5.phone1/udeb/tc_main.o",
+		"tc_variants_/armv5.phone1/udeb/tc_a.o",
+		"tc_variants_/armv5.phone1/urel/tc_main.o",
+		"tc_variants_/armv5.phone1/urel/tc_a.o",
+		"tc_variants_/armv5.phone2/udeb/tc_main.o",
+		"tc_variants_/armv5.phone2/udeb/tc_b.o",
+		"tc_variants_/armv5.phone2/urel/tc_main.o",
+		"tc_variants_/armv5.phone2/urel/tc_b.o",
+		"tc_variants_/armv5.phone3/udeb/tc_main.o",
+		"tc_variants_/armv5.phone3/udeb/tc_c.o",
+		"tc_variants_/armv5.phone3/urel/tc_main.o",
+		"tc_variants_/armv5.phone3/urel/tc_c.o",
+		"tc_variants_/tracecompile_tc_variants_exe_10000004.done"
+	])	
+	t.run()
+
+	# 102d and 102e is to test a very rare situation, where one mmpfile includes 3 children mmpfiles, 
+	# which are guarded by macros. They share some source file, and two share the same UID3. 
+	# When build them together, Raptor should be able to distinguish them and run trace compiler 
+	# on each of them. 
+	t = SmokeTest()
+	t.id = "102d"
+	t.name = "TC_mum_children_mmps_build"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf" + \
+			" -c armv5.tc_var1 -c armv5.tc_var2 -c armv5.tc_var3" + \
+			" --configpath=test/smoke_suite/test_resources/tracecompiler/mum_children_mmps"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/child1.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/child1.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/child2.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child1_exe/child1Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child1_exe/commonTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/child2Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/commonTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/child3Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/commonTraces.h",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/child1_exe_0x11100001_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child1_exe_0x11100001_TraceDefinitions.h",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf', [
+		"child1_/armv5/udeb/child1.o",
+		"child1_/armv5/udeb/common.o",
+		"child1_/armv5/urel/child1.o",
+		"child1_/armv5/urel/common.o",
+		"child1_/tracecompile_child1_exe_11100001.done",
+		"child2_/armv5/udeb/child2.o",
+		"child2_/armv5/udeb/common.o",
+		"child2_/armv5/urel/child2.o",
+		"child2_/armv5/urel/common.o",
+		"child2_/tracecompile_child2_exe_11100002.done",
+		"child3_/armv5/udeb/child3.o",
+		"child3_/armv5/udeb/common.o",
+		"child3_/armv5/urel/child3.o",
+		"child3_/armv5/urel/common.o",
+		"child3_/tracecompile_child3_exe_11100002.done"
+	])
+	t.warnings = 3
+	t.run()
+
+	# Clean mmp A then build mmp B and C. As common.cpp is shared by A B and C, commonTraces.h would be 
+	# cleaned when cleaning mmp A. But as B and C aren't cleaned, Raptor wouldn't run trace compiler on
+	# B and C, thus commonTraces.h wouldn't be generated again, so be missing for mmp B and C.
+	# The solution is to use new trace path "traces/traces_<TARGET>_<TARGETTYPE>" instead of "traces" so shared 
+	# source has different copy of trace headers for different projects.
+	t = SmokeTest()
+	t.id = "102e"
+	t.name = "TC_mum_children_mmps_clean"
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf" + \
+			" --configpath=test/smoke_suite/test_resources/tracecompiler/mum_children_mmps" + \
+			" -c armv5.tc_var1 CLEAN && " + \
+			"sbs -b smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf" + \
+			" --configpath=test/smoke_suite/test_resources/tracecompiler/mum_children_mmps" + \
+			" -c armv5.tc_var2 -c armv5.tc_var3"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/child2.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/child2Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/commonTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/child3Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/commonTraces.h",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf', [
+		"child2_/armv5/udeb/child2.o",
+		"child2_/armv5/udeb/common.o",
+		"child2_/armv5/urel/child2.o",
+		"child2_/armv5/urel/common.o",
+		"child2_/tracecompile_child2_exe_11100002.done",
+		"child3_/armv5/udeb/child3.o",
+		"child3_/armv5/udeb/common.o",
+		"child3_/armv5/urel/child3.o",
+		"child3_/armv5/urel/common.o",
+		"child3_/tracecompile_child3_exe_11100002.done"
+	])
+	t.warnings = 3
+	t.run()
+
+
+	t.id = "102"
+	t.name = "tracecompiler_variants"
+	t.print_result()
+	
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_whatlog.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,70 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest,SmokeTest
+import re
+
+def run():
+	t = SmokeTest()
+	t.description = "Trace Compiler Whatlog Clean"
+	t.id = "112a"
+	t.name = "tracecompiler_whatlog_clean"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf -c armv5.tracecompiler CLEAN"
+	t.run()
+
+	t = CheckWhatSmokeTest()
+	t.description = "Trace Compiler Whatlog test"
+	t.id = "112b"
+	t.name = "tracecompiler_whatlog"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf -c armv5.tracecompiler -m ${SBSMAKEFILE} -f ${SBSLOGFILE} && cat ${SBSLOGFILE}"
+	t.hostossensitive = False
+	t.regexlinefilter = re.compile("^<(whatlog|export|build>|resource>|bitmap>)")
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/testTC.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll.map",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitmainTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h",	
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/fixed_id.definitions",
+		"$(EPOCROOT)/epoc32/ost_dictionaries/test_TC_0x1000008d_Dictionary.xml",
+		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/test_TC_0x1000008d_TraceDefinitions.h"
+		]
+	t.stdout = [
+		"<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf' mmp='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/test.TC.mmp' config='armv5_urel.tracecompiler'>",
+		"<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf' mmp='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/test.TC.mmp' config='armv5_udeb.tracecompiler'>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/lib/testTC.dso</build>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/lib/testTC{000a0000}.dso</build>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll</build>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/udeb/testTC.dll.map</build>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll</build>",
+		"<build>$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll.map</build>",
+		"<build>$(EPOCROOT)/epoc32/ost_dictionaries/test_TC_0x1000008d_Dictionary.xml</build>",
+		"<build>$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/test_TC_0x1000008d_TraceDefinitions.h</build>"
+		]		
+	t.run("linux")
+	if t.result == CheckWhatSmokeTest.SKIP:
+		t.run("windows")
+
+	t.id = "112"
+
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/unfrozen.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,162 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "49"
+	t.name = "unfrozen"
+	t.description = "Test EXPORTUNFROZEN forced import library generation with both completely unfrozen and part-frozen examples"
+	t.command = "sbs -b smoke_suite/test_resources/unfrozen/bld.inf -k -c winscw -c armv5 CLEAN" \
+				" && sbs -b smoke_suite/test_resources/unfrozen/bld.inf -k -c winscw -c armv5"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.map",		
+		"$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.map",				
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll.map",		
+		"$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll.map",				
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.map",		
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.map",				
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test_unfrozen.exe"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/unfrozen/bld.inf', [
+		"unfrozensymbols_dll/armv5/urel/unfrozensymbols{000a0000}.def",
+		"unfrozensymbols_dll/armv5/urel/unfrozensymbols{000a0000}.dso",
+		"unfrozensymbols_dll/armv5/urel/unfrozensymbols_urel_objects.via",
+		"unfrozensymbols_dll/armv5/urel/unfrozensymbols.o.d",
+		"unfrozensymbols_dll/armv5/urel/unfrozensymbols.o",
+		"unfrozensymbols2_dll/armv5/urel/unfrozensymbols2{000a0000}.def",
+		"unfrozensymbols2_dll/armv5/urel/unfrozensymbols2{000a0000}.dso",
+		"unfrozensymbols2_dll/armv5/urel/unfrozensymbols2_urel_objects.via",
+		"unfrozensymbols2_dll/armv5/urel/unfrozensymbols.o.d",
+		"unfrozensymbols2_dll/armv5/urel/unfrozensymbols.o",
+		"test_unfrozen_/armv5/urel/test_unfrozen_urel_objects.via",
+		"test_unfrozen_/armv5/urel/test.o.d",
+		"test_unfrozen_/armv5/urel/test.o",		
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols.UID.CPP",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols.o",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols_UID_.o",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols.dep",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols_UID_.dep",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols.o.d",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols_UID_.o.d",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols.lib",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols.inf",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols.dll",
+		"unfrozensymbols_dll/winscw/urel/unfrozensymbols.def",	
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.UID.CPP",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols.o",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols2_UID_.o",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols.dep",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols2_UID_.dep",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols.o.d",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols2_UID_.o.d",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.lib",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.inf",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.dll",
+		"unfrozensymbols2_dll/winscw/urel/unfrozensymbols2.def",				
+		"test_unfrozen_/winscw/urel/test_unfrozen.UID.CPP",
+		"test_unfrozen_/winscw/urel/test.o",
+		"test_unfrozen_/winscw/urel/test_unfrozen_UID_.o",
+		"test_unfrozen_/winscw/urel/test.dep",
+		"test_unfrozen_/winscw/urel/test_unfrozen_UID_.dep",
+		"test_unfrozen_/winscw/urel/test.o.d",
+		"test_unfrozen_/winscw/urel/test_unfrozen_UID_.o.d",		
+		"unfrozensymbols_dll/armv5/udeb/unfrozensymbols{000a0000}.def",
+		"unfrozensymbols_dll/armv5/udeb/unfrozensymbols{000a0000}.dso",
+		"unfrozensymbols_dll/armv5/udeb/unfrozensymbols_udeb_objects.via",
+		"unfrozensymbols_dll/armv5/udeb/unfrozensymbols.o.d",
+		"unfrozensymbols_dll/armv5/udeb/unfrozensymbols.o",
+		"unfrozensymbols_dll/armv5/udeb/unfrozensymbols.o",		
+		"unfrozensymbols2_dll/armv5/udeb/unfrozensymbols2{000a0000}.def",
+		"unfrozensymbols2_dll/armv5/udeb/unfrozensymbols2{000a0000}.dso",
+		"unfrozensymbols2_dll/armv5/udeb/unfrozensymbols2_udeb_objects.via",
+		"unfrozensymbols2_dll/armv5/udeb/unfrozensymbols.o.d",
+		"unfrozensymbols2_dll/armv5/udeb/unfrozensymbols.o",
+		"unfrozensymbols2_dll/armv5/udeb/unfrozensymbols.o",				
+		"test_unfrozen_/armv5/udeb/test_unfrozen_udeb_objects.via",
+		"test_unfrozen_/armv5/udeb/test.o.d",
+		"test_unfrozen_/armv5/udeb/test.o",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols.UID.CPP",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols.o",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols_UID_.o",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols.dep",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols_UID_.dep",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols.o.d",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols_UID_.o.d",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols.lib",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols.inf",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols.dll",
+		"unfrozensymbols_dll/winscw/udeb/unfrozensymbols.def",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.UID.CPP",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols.o",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2_UID_.o",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols.dep",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2_UID_.dep",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols.o.d",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2_UID_.o.d",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.lib",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.inf",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.dll",
+		"unfrozensymbols2_dll/winscw/udeb/unfrozensymbols2.def",			
+		"test_unfrozen_/winscw/udeb/test_unfrozen.UID.CPP",
+		"test_unfrozen_/winscw/udeb/test.o",
+		"test_unfrozen_/winscw/udeb/test_unfrozen_UID_.o",
+		"test_unfrozen_/winscw/udeb/test.dep",
+		"test_unfrozen_/winscw/udeb/test_unfrozen_UID_.dep",
+		"test_unfrozen_/winscw/udeb/test.o.d",
+		"test_unfrozen_/winscw/udeb/test_unfrozen_UID_.o.d"
+	])
+	# Match both ARMV5 (elf2e32) and WINSCW (makedef) unfrozen export warnings and confirm the number found.  Format:
+	# Elf2e32: Warning: New Symbol _ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 found, export(s) not yet Frozen
+	# F:/path/epocroot/epoc32/build/unfrozen/c_939fe933110ed5aa/unfrozensymbols_dll/winscw/udeb/unfrozensymbols.def(3) : ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @1
+	# More matches are expected with elf2e32 due to extra build impedimenta in EABI builds.
+	t.countmatch = [
+				[".*Elf2e32: Warning: New Symbol .* found, export\(s\) not yet Frozen.*", 14],
+				[".*\.def\(\d\) : .*@\d.*", 10]
+				]
+	t.warnings = 8
+	# ABIv1 .lib files are not generated on Linux
+	t.run()
+	
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/unfrozen_savespace.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,93 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+
+	t = AntiTargetSmokeTest()
+	t.id = "99"
+	t.name = "unfrozen_savespace"
+
+	t.command = "sbs -b smoke_suite/test_resources/unfrozen/bld.inf -k -c winscw -c armv5 CLEAN" \
+				" && sbs -b smoke_suite/test_resources/unfrozen/bld.inf -c winscw.savespace -c armv5.savespace"
+
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/lib/unfrozensymbols2{000a0000}.dso",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/unfrozensymbols2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test_unfrozen.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols.dll.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/unfrozensymbols2.dll.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/test_unfrozen.exe.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/unfrozensymbols2.dll.map",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.sym",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test_unfrozen.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.dll",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/unfrozensymbols2.lib",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/test_unfrozen.exe"
+		]
+
+	t.antitargets = []
+
+	t.addbuildantitargets('smoke_suite/test_resources/unfrozen/bld.inf', [
+		"test_unfrozen_/armv5/udeb",
+		"test_unfrozen_/armv5/urel",
+		"test_unfrozen_/winscw/udeb",
+		"test_unfrozen_/winscw/urel"
+		# TODO: Add these anti targets once we figure out how to actually delete
+		# them.
+		# "unfrozensymbols2_dll/armv5/udeb",
+		# "unfrozensymbols2_dll/armv5/urel",
+		# "unfrozensymbols2_dll/winscw/udeb",
+		# "unfrozensymbols2_dll/winscw/urel",
+		# "unfrozensymbols_dll/armv5/udeb",
+		# "unfrozensymbols_dll/armv5/urel",
+		# "unfrozensymbols_dll/winscw/udeb",
+		# "unfrozensymbols_dll/winscw/urel"
+		] )
+
+	t.countmatch = [
+			[".*Elf2e32: Warning: New Symbol .* found, export\(s\) not yet Frozen.*", 14],
+			[".*\.def\(\d\) : .*@\d.*", 10]
+		]
+
+	t.warnings = 8
+
+	t.run()
+
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/variantplatforms.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "300"
+	t.name = "variantplatforms"
+	t.description = "Can all the variant platforms be built at the same time."
+	
+	variantplatforms = ["armv5", "armv6", "armv7", "arm9e"]
+	
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/variantplatforms/bld.inf -f-"
+	t.mustmatch_singleline = []
+	
+	for vp in variantplatforms:
+		t.command += " -c " + vp
+		t.mustmatch_singleline.append("building variant platform " + vp)
+
+	t.run()
+	
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/whatcomp.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,94 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+import generic_path
+import os
+
+def run():
+	t = SmokeTest()
+	t.usebash = True
+	result = SmokeTest.PASS
+
+	abs_epocroot = os.path.abspath(os.environ["EPOCROOT"])
+	cwd = os.getcwd().replace("\\","/")
+
+	relative_epocroot = os.path.relpath(abs_epocroot.replace("\\","/"),cwd)
+
+	
+	description = """This tests the whatcomp filter.  As a byproduct it uses (and thus smoke-tests) sbs_filter.py"""
+	command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c %s -m ${SBSMAKEFILE} -f ${SBSLOGFILE} what  && " + \
+		  "EPOCROOT='%s' sbs_filter --filters FilterWhatComp < ${SBSLOGFILE} &&" % relative_epocroot + \
+		  "EPOCROOT='%s' sbs_filter --filters FilterWhatComp < ${SBSLOGFILE}"  % abs_epocroot
+	targets = [
+		]	
+	buildtargets = [
+		]
+
+	mustmatch_pre = [
+		"-- abld -w",
+		".*Chdir .*/smoke_suite/test_resources/simple.*",
+		relative_epocroot + "/epoc32/release/armv5/urel/test.exe",
+		relative_epocroot + "/epoc32/release/armv5/urel/test.exe.map",
+		abs_epocroot + "/epoc32/release/armv5/urel/test.exe",
+		abs_epocroot + "/epoc32/release/armv5/urel/test.exe.map",
+	] 
+	
+	if os.sep == '\\':
+		mustmatch = [ i.replace("\\", "\\\\" ).replace("/","\\\\") for i in mustmatch_pre ]
+	else:
+		mustmatch = mustmatch_pre
+
+	mustnotmatch = [
+	"error: no (CHECK|WHAT) information found"
+	]
+	warnings = 0
+	
+	t.id = "0106a"
+	t.name = "whatcomp_basic"
+	t.description = description
+	t.command = command % "arm.v5.urel.gcce4_4_1"
+	t.targets = targets
+	t.mustmatch = mustmatch
+	t.mustnotmatch = mustnotmatch
+	t.warnings = warnings
+	t.run()
+
+	t.id = "0106b"
+	t.name = "whatcomp_component_repeated"
+	t.description = """
+			It is possible for what information about a component to not be grouped
+			(i.e. for multiple whatlogs tags relating to a single component to be 
+			interspersed with whatlog tags relating to other components).  
+			Raptor must cope with that and must *not* report missing files under 
+			the wrong component name."""
+	t.command = "sbs_filter --filters=FilterWhatComp < smoke_suite/test_resources/logexamples/what_component_repeated.log"
+	t.targets = []
+	t.mustmatch = [] 
+	t.mustmatch_multiline = [ 
+		"Chdir y:.ext.app.emailwizard.*epoc32.data.something.*"+
+		"Chdir y:.sf.mw.gsprofilesrv.ftuwizardmodel.*epoc32.release.armv5.something.*"+
+		"Chdir y:.ext.app.emailwizard.*epoc32.data.something_else"
+		]
+
+	t.mustnotmatch = []
+	t.warnings = 0
+	t.run()
+
+	t.id = "0106"
+	t.name = "whatcomp"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/whatlog_cache.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,144 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+import os
+
+def run():
+	t = SmokeTest()
+	t.id = "77"
+	t.name = "whatlog_cache"
+	t.description = """Test sbsv2cache.py cache file generation using Raptor .whatlog variant output.
+		This is currently a Windows only activity due to CBR tools restrictions."""
+	t.usebash = True
+
+	if 'SBS_PYTHON' in os.environ:
+		pythonRun = "$(SBS_PYTHON)"
+	else:
+		pythonRun = "$(SBS_HOME)/win32/python264/python.exe"
+
+	# Build something using the .whatlog variant.  Take the build log and give it to sbsv2cache.py, deducing
+	# the location of the generated cache file from the verbose output.  If generated, dump the cache file to
+	# STDOUT so we can validate the content in this test script.  Clean up when finished.
+	t.command = """sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -f ${SBSLOGFILE} -m ${SBSMAKEFILE} -c armv5.whatlog -c winscw.whatlog
+		CACHEFILE=`%s $SBS_HOME/bin/sbsv2cache.py -v -s -o $EPOCROOT/epoc32/build/abldcache -l $SBSLOGFILE | sed -n \'s#Creating: ##p\'`
+		if [ -n \"${CACHEFILE:+x}\" ]; then
+			cat $CACHEFILE
+		fi
+		rm -r $EPOCROOT/epoc32/build/abldcache""" % pythonRun
+		
+	t.targets = [
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm",
+		"$(EPOCROOT)/epoc32/include/helloworld.rsg",
+		"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/data/z/private/10003a3f/apps/helloworld_reg.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/private/10003a3f/apps/helloworld_reg.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/private/10003a3f/apps/helloworld_reg.rsc",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/helloworld.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/urel/helloworld.exe.map",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/helloworld.exe.map"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [
+		"helloworld_exe/helloworld.mbm_bmconvcommands",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp",
+		"helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_Application.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Application.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppView.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_AppView.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_Document.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Document.o.d",
+		"helloworld_exe/armv5/udeb/HelloWorld_Main.o",
+		"helloworld_exe/armv5/udeb/HelloWorld_Main.o.d",
+		"helloworld_exe/armv5/udeb/helloworld_udeb_objects.via",
+		"helloworld_exe/armv5/urel/HelloWorld_Application.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Application.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_AppUi.o",
+		"helloworld_exe/armv5/urel/HelloWorld_AppUi.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_AppView.o",
+		"helloworld_exe/armv5/urel/HelloWorld_AppView.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_Document.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Document.o.d",
+		"helloworld_exe/armv5/urel/HelloWorld_Main.o",
+		"helloworld_exe/armv5/urel/HelloWorld_Main.o.d",
+		"helloworld_exe/armv5/urel/helloworld_urel_objects.via",
+		"helloworld_exe/winscw/udeb/helloworld.UID.CPP",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Application.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppUi.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_AppView.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Document.o.d",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.dep",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.o",
+		"helloworld_exe/winscw/udeb/HelloWorld_Main.o.d",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.dep",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.o",
+		"helloworld_exe/winscw/udeb/helloworld_UID_.o.d",
+		"helloworld_exe/winscw/urel/helloworld.UID.CPP",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Application.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.o",
+		"helloworld_exe/winscw/urel/HelloWorld_AppUi.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.o",
+		"helloworld_exe/winscw/urel/HelloWorld_AppView.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Document.o.d",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.dep",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.o",
+		"helloworld_exe/winscw/urel/HelloWorld_Main.o.d",
+		"helloworld_exe/winscw/urel/helloworld_UID_.dep",
+		"helloworld_exe/winscw/urel/helloworld_UID_.o",
+		"helloworld_exe/winscw/urel/helloworld_UID_.o.d",
+		"helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d"
+	])
+	t.countmatch = [
+		["\$self->{abldcache}->{.*\\\\test\\\\smoke_suite\\\\test_resources\\\\simple_gui target (armv5|winscw) (udeb|urel) -what\'} =", 4],
+		[".*\'.*\\\\\\\\epoc32\\\\\\\\data\\\\\\\\z\\\\\\\\private\\\\\\\\10003a3f\\\\\\\\apps\\\\\\\\helloworld_reg.rsc\'", 4],
+		[".*\'.*\\\\\\\\epoc32\\\\\\\\data\\\\\\\\z\\\\\\\\resource\\\\\\\\apps\\\\\\\\helloworld.mbm\'", 4],
+		[".*\'.*\\\\\\\\epoc32\\\\\\\\data\\\\\\\\z\\\\\\\\resource\\\\\\\\apps\\\\\\\\helloworld.rsc\'", 4],
+		[".*\'.*\\\\\\\\epoc32\\\\\\\\include\\\\\\\\helloworld.rsg\'", 4],
+		[".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\(armv5|winscw)\\\\\\\\(udeb|urel)\\\\\\\\helloworld.exe\'",4],
+		[".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\(armv5|winscw)\\\\\\\\(udeb|urel)\\\\\\\\helloworld.exe.map\'", 3],
+		[".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\winscw\\\\\\\\(udeb|urel)\\\\\\\\z\\\\\\\\private\\\\\\\\10003a3f\\\\\\\\apps\\\\\\\\helloworld_reg.rsc\'", 2],
+		[".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\winscw\\\\\\\\(udeb|urel)\\\\\\\\z\\\\\\\\resource\\\\\\\\apps\\\\\\\\helloworld.mbm\'", 2],
+		[".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\winscw\\\\\\\\(udeb|urel)\\\\\\\\z\\\\\\\\resource\\\\\\\\apps\\\\\\\\helloworld.rsc\'", 2],
+		["\$self->{abldcache}->{\'plats\'} =", 1],
+		[".*\'ARMV5\'", 1],
+		[".*\'WINSCW\'", 1]
+	]
+	t.run("windows")
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/winscw_resource.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "38"
+	t.name = "winscw_resource"
+	t.command = "sbs -b smoke_suite/test_resources/resource/group/bld.inf -c " \
+			+ "winscw RESOURCE"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/include/testresource.rsg",
+		"$(EPOCROOT)/epoc32/include/testresource.hrh",
+		"$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r01",
+		"$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r01",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r01",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.rsc"
+		]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/wrong_projectname.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,29 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "46"
+	t.name = "wrong_projectname"
+	t.description = "Test -p with wrong project name"
+	t.command = "sbs -b smoke_suite/test_resources/basics/helloworld/Bld.inf " \
+			+ "-p wrongname1.mmp -p wrongname2.mmp"
+	t.targets = []
+	t.warnings = 2 # One for armv5, one for winscw.
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/xml_invalid_chars.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,59 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest, ReplaceEnvs
+from xml.etree.ElementTree import parse
+
+def run():
+	t = SmokeTest()
+	t.id = "84"
+	t.name = "xml_invalid_chars"
+	t.description = """Tests the validity of XML when output with characters
+			not-allowed in XML are sent to the filters
+			"""
+	t.command = "sbs -b smoke_suite/test_resources/xml_invalid_chars/bld.inf " \
+			+ "-c armv5"
+	# The warning that causes the invalid characters to appear in the XML log
+	t.warnings = 1
+	t.targets = [
+		"$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+		"$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe"
+		]
+	t.addbuildtargets('smoke_suite/test_resources/xml_invalid_chars/bld.inf', [
+		"test_/armv5/urel/test_urel_objects.via",
+		"test_/armv5/urel/test.o.d",
+		"test_/armv5/urel/test.o",
+		"test_/armv5/udeb/test_udeb_objects.via",
+		"test_/armv5/udeb/test.o.d",
+		"test_/armv5/udeb/test.o"
+	])
+		
+	t.run()
+	
+	if t.result == SmokeTest.PASS:
+		
+		print "Testing validity of XML..."
+		
+		log = "$(EPOCROOT)/epoc32/build/smoketestlogs/xml_invalid_chars.log"
+		logfile = open(ReplaceEnvs(log), "r")
+		
+		try:
+			tree = parse(logfile)
+		except:
+			t.result = SmokeTest.FAIL
+	
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/zip_export_plus_clean.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest, AntiTargetSmokeTest, ReplaceEnvs
+import re
+
+def run():
+	markerfile = re.sub("(\\\\|\/|:|;| )", "_",
+			ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip.unzipped"))
+	
+	t = SmokeTest()
+	
+	t.id = "0024a"
+	t.name = "zip_export"
+	t.command = "sbs -b smoke_suite/test_resources/simple_zip_export/bld.inf"
+	t.targets = [
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile1.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile2.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin",
+		"$(EPOCROOT)/epoc32/build/" + markerfile
+	]
+	t.run()
+	
+	t.id = "0024aa"
+	t.name = "zip_export_execute_permissions"
+	t.usebash = True
+	t.targets = []
+	t.command = "ls -l $(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin"
+	t.mustmatch = ["-[rw-]{2}x[rw-]{2}x[rw-]{2}x"]
+	t.run("linux")
+	
+	t = AntiTargetSmokeTest()
+	t.id = "0024b"
+	t.name = "zip_export_reallyclean"
+	t.command = "sbs -b smoke_suite/test_resources/simple_zip_export/bld.inf REALLYCLEAN"
+	t.antitargets = [
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile1.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile2.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt",
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin",
+		"$(EPOCROOT)/epoc32/build/" + markerfile
+	]
+	t.run()
+	
+	t.id = "24"
+	t.name = "zip_export_plus_clean"
+	t.print_result()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/zip_export_what.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,46 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import CheckWhatSmokeTest, ReplaceEnvs
+import re
+
+def run():
+	markerfile = re.sub("(\\\\|\/|:|;| )", "_",
+			ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip.unzipped"))
+	
+	t = CheckWhatSmokeTest()
+	t.id = "25"
+	t.name = "zip_export_what"
+	t.command = "sbs --what " + \
+			"-b smoke_suite/test_resources/simple_zip_export/bld.inf"
+	t.stdout = [
+		'$(EPOCROOT)/epoc32/testunzip/archive/archivefile1.txt',
+		'$(EPOCROOT)/epoc32/testunzip/archive/archivefile2.txt',
+		'$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt',
+		'$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt',
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin"
+	]
+	
+	t.targets = [
+		'$(EPOCROOT)/epoc32/testunzip/archive/archivefile1.txt',
+		'$(EPOCROOT)/epoc32/testunzip/archive/archivefile2.txt',
+		'$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt',
+		'$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt',
+		"$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin",
+		"$(EPOCROOT)/epoc32/build/" + markerfile
+	]
+	t.run()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/spec/spec.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build http://symbian.com/xml/build/1_0.xsd">
+
+    <!-- test build specification -->
+
+    <spec name="world">
+        <interfaceRef ref="Symbian.EXE"/>
+	<var>
+	    <set name="SRC" value="$(ROOT)/src"/>
+	</var>
+    </spec>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/timing_tests/parse_time_exports_mmps.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,77 @@
+
+from raptor_tests import SmokeTest, ReplaceEnvs
+import os
+
+def generate_files():
+	try:
+		os.makedirs(ReplaceEnvs("$(SBS_HOME)/test/timing_tests/test_resources/parse_time"))
+	except:
+		pass
+	bldinf_path = ReplaceEnvs("$(SBS_HOME)/test/timing_tests/test_resources/parse_time/bld.inf")
+	bldinf = open(bldinf_path, "w")
+	bldinf_content = """prj_mmpfiles
+"""
+	test_dir = ReplaceEnvs("$(SBS_HOME)/test/timing_tests/test_resources/parse_time")
+	for number in range(0, 250):
+		mmp_path = ("parse_timing_" + str(number).zfill(3) + ".mmp")
+		mmp_file = open((test_dir + "/" + mmp_path), "w")
+		mmp_file.write("""targettype	none
+""")
+		mmp_file.close()
+		bldinf_content += (mmp_path + "\n")
+		
+	bldinf_content += "\nprj_exports\n"
+
+	for number1 in range(0, 10):
+		source_dir = ("export_source_" + str(number1))
+		try:
+			os.mkdir(test_dir + "/" + source_dir)
+		except:
+			pass
+		
+		for number2 in range (0, 10):
+			source_file = ("/file_" + str(number2) + ".txt ")
+			export_file = open((test_dir + "/" + source_dir + source_file), "w")
+			export_file.write(str(number2))
+			export_file.close()
+			
+			for number3 in range (0, 10):
+				dest_dir = ("epoc32/include/export_destination_" + \
+						str(number1) + str(number2) + str(number3))
+				
+				for number4 in range(0, 10):
+					bldinf_content += source_dir + source_file + dest_dir + \
+							"/export_destination_" + str(number4) + "\n"
+	bldinf.write(bldinf_content)
+	bldinf.close()
+	
+	
+def delete_files():
+	import shutil
+	
+	test_dir = ReplaceEnvs("$(SBS_HOME)/test/timing_tests/test_resources/parse_time")
+	objects = os.listdir(test_dir)
+	for object in objects:
+		object_path = (test_dir + "/" + object)
+		if os.path.isfile(object_path):
+			os.remove(object_path)
+		else:
+			shutil.rmtree(object_path)
+	
+
+def run():
+	
+	generate_files()
+	
+	t = SmokeTest()
+	
+	t.id = "1"
+	t.name = "parse_time_exports_mmps"
+	t.description = """Test to measure time taken to parse a large number of
+			exports and mmps"""
+	t.command = "sbs -b timing_tests/test_resources/parse_time/bld.inf -n " + \
+			"-c armv5_urel --toolcheck=off --timing"
+	t.run()
+	
+	delete_files()
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/data/ignore.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/666.xsd">
+
+	<!-- the 666 schema indicates that the file should be ignored -->
+
+	<var name="should_be_ignored"/>
+    
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/data/old_bad.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/1_0.xsd">
+
+	<!-- old 1.0 schema config files should generate errors in
+	     the new 2.0 schema parser, but should not crash it. -->
+
+	<config name="foo"/>
+	<combine name="foo"/>
+    
+	<var name="var1_0"/>
+	<alias name="alias1_0" meaning="nothing"/>
+    
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/data/old_ok.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/1_0.xsd">
+
+	<!-- old 1.0 schema interface files should still be readable by
+	     the new 2.0 schema parser -->
+	
+    <!-- a base interface -->
+
+	<interface name="base.1_0" abstract="true">
+		<param name='A'/>
+		<param name='B' default=''/>
+		<param name='C'/>
+    </interface>
+    
+    <!-- extends the base interface -->
+
+	<interface name="interface.1_0" extends="base.1_0" flm="flm.flm">
+		<param name='D'/>
+		<param name='C'/>
+    </interface>
+    
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/data/sbs_init.xml	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+  <!-- defaults for Raptor -->
+
+  <var name="defaults.init">
+    <!-- environment variables used in this configuration -->
+    <env name="EPOCROOT" default="/" type="path"/>
+
+    <!-- default parameter settings -->
+
+    <!-- Make command parameter file -->
+    <set name="makeEngine" value="make"/>
+
+    <!-- Location of the highest level makefile -->
+    <set name="topMakefile" value="$(EPOCROOT)/epoc32/build/Makefile"/>
+
+    <!-- Name of the build logging file -->
+    <set name="logFileName" value="$(EPOCROOT)/epoc32/build/Makefile.%TIME.log"/>
+
+    <!-- Default build configuration name -->
+    <set name="defaultConfig" value="default"/>
+
+    <!-- Names of standard build files -->
+    <set name="buildInformation" value="bld.inf"/>
+    <set name="systemDefinition" value="System_Definition.xml"/>
+
+    <!-- Standard directories -->
+    <set name="systemConfig" value="lib/config"/>
+    <set name="systemFLM" value="lib/flm"/>
+    <set name="systemPlugins" value="python/plugins"/>
+    <set name="systemDefinitionBase" value="."/>
+
+    <!-- Do not print any information messages? -->
+    <set name="quiet" value="false"/>
+
+    <!-- How many jobs to run in parallel? (for make -j) -->
+    <set name="jobs" value="4"/>
+
+    <!-- How many attempts to run a job before recording an error?
+    This is useful for builds that can have transient failures. -->
+    <set name="tries" value="1"/>
+
+    <!-- Carry on trying to build even if some commands fail? -->
+    <set name="keepGoing" value="false"/>
+
+    <!-- Can command line options override values in this file? -->
+    <set name="allowCommandLineOverrides" value="true"/>
+
+    <!-- Do we use a bld.inf or System_Definition.xml if both are in the CWD -->
+    <set name="preferBuildInfoToSystemDefinition" value="false"/>
+
+    <!-- Always use ignore OS detection? -->
+    <set name="ignoreOsDetection" value="false"/>
+
+    <!-- Always use a specific list of filters -->
+    <set name="filterList" value="FilterTerminal,FilterLogfile"/>
+
+  </var>
+
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/filter_utils_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,175 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Test generic classes available for use in plugin log filters
+#
+
+
+import unittest
+import filter_utils
+
+
+testRecipeTemplate = \
+"""<recipe name='%s' target='recipe_target' host="recipe_host" layer='recipe_layer' component='recipe_component' bldinf='recipe_bldinf' mmp='recipe_mmp' config='recipe_config' platform='recipe_platform' phase='recipe_phase' source='recipe_source'>"
+<![CDATA[
+%s
+]]><time start='0123456789.123456789' elapsed='99.999' />
+<status exit='%s' %s attempt='%d' />
+</recipe>"""
+
+testRecipeCalls = \
+"""+ call_to_some_tool -a arg1 -a arg2 -a arg3
++ call_to_some_other_tool -a arg1 -a arg2 -a arg3"""
+testRecipeOutput = \
+"""output from some tool or other
+some more output from some tool or other"""
+
+# Fall-back warning and error examples
+genericWarnings = \
+"""Warning: generic warning from some tool or other
+Warning: another generic warning from some tool or other"""
+genericErrors = \
+"""Error: generic error from some tool or other
+Error: another generic error from some tool or other"""
+
+# Real world examples of mwccsym2, mwldsym2 and mwwinrc errors and warnings
+mwWarnings = \
+"""mwldsym2.exe: warning: Multiply defined symbol: ___get_MSL_init_count in
+..\sf\os\cellularsrv\telephonyserver\etelserverandcore\SETEL\ET_PHONE.CPP:36: warning: cannot find matching deallocation function for 'CReqEntry'"""
+mwErrors = \
+"""HelloWorld.cpp:21: undefined identifier 'stuff'
+mwldsym2.exe: Specified file 'HelloWorld.o' not found"""
+mwBenign = \
+"""..\sf\os\lbs\locationrequestmgmt\locationserver\src\locserver.cpp:223: note: NOTE: CLocServer::DoNewSessionL. aMessage and aVersion not used. TBD"""
+
+
+class TestFilterUtils(unittest.TestCase):
+	
+	def setUp(self):
+		self.__recipeFactory = filter_utils.RecipeFactory()
+	
+	def __createRecipeLines(self, aName, aExit, aAttempt, aCode=None, aExtras=""):
+		"""Customise the recipe test template for differing recipe tests
+		The 'code' attribute of 'status' is optional, and different errors/warnings
+		etc. can be added via aExtras"""
+		code = ""
+		if aCode:
+			code = "code='%d'" % aCode
+		midSection = testRecipeCalls + "\n" + testRecipeOutput
+		if aExtras:
+			midSection += "\n" + aExtras
+		recipe = testRecipeTemplate % (aName, midSection, aExit, code, aAttempt)
+		return recipe.split("\n")
+	
+	def __checkListContent(self, aExpected, aActual, aPrefixIgnore=""):
+		"""Compare the content of two lists of strings.
+		Optionally trim a prefix from the expected results."""
+		for expected in aExpected:
+			self.assertTrue(expected.lstrip(aPrefixIgnore) in aActual)
+		self.assertEqual(len(aActual), len(aExpected))
+	
+	def testRecipeFactory(self):
+		recipeLines = self.__createRecipeLines("generic", "ok", 1)
+		recipe = self.__recipeFactory.newRecipe(recipeLines[0])
+		self.assertTrue(isinstance(recipe, filter_utils.Recipe))
+		
+		recipeLines = self.__createRecipeLines("win32something", "ok", 1)
+		recipe = self.__recipeFactory.newRecipe(recipeLines[0])
+		self.assertTrue(isinstance(recipe, filter_utils.Win32Recipe))
+		
+	def testGenericRecipe(self):
+		
+		# 1. Basic successful recipe
+		recipeLines = self.__createRecipeLines("recipe_name", "ok", 1)
+		recipe = self.__recipeFactory.newRecipe(recipeLines[0])
+				
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.name), 'recipe_name')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.target), 'recipe_target')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.layer), 'recipe_layer')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.component), 'recipe_component')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.bldinf), 'recipe_bldinf')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.mmp), 'recipe_mmp')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.config), 'recipe_config')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.platform), 'recipe_platform')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.phase), 'recipe_phase')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.source), 'recipe_source')
+		
+		self.assertFalse(recipe.isComplete())
+				
+		for x in range(1, len(recipeLines)):
+			recipe.addLine(recipeLines[x])
+		
+		self.assertTrue(recipe.isComplete())
+		self.assertTrue(recipe.isSuccess())
+		
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.start), "0123456789.123456789")
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.elapsed), 99.999)
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.exit), 'ok')
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.attempts), 1)
+		
+		# Ignore "+ " tool call prefixes that are trimmed in getCalls output
+		self.__checkListContent(testRecipeCalls.split("\n"), recipe.getCalls(), "+ ")
+		self.__checkListContent(testRecipeOutput.split("\n"), recipe.getOutput())
+		
+		# 2. Recipe failure with errors
+		recipeLines = self.__createRecipeLines("recipe_name", "failed", 3, 10, genericErrors)
+		recipe = self.__recipeFactory.newRecipe()
+		for line in recipeLines:
+			recipe.addLine(line)
+		self.assertFalse(recipe.isSuccess())
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.attempts), 3)
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.code), 10)	
+		self.__checkListContent(genericErrors.split("\n"), recipe.getErrors())
+		
+		# 3. Recipe retry with warnings
+		recipeLines = self.__createRecipeLines("recipe_name", "retry", 2, 5, genericWarnings)
+		recipe = self.__recipeFactory.newRecipe()
+		for line in recipeLines:
+			recipe.addLine(line)
+		self.assertFalse(recipe.isSuccess())
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.attempts), 2)
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.code), 5)		
+		self.__checkListContent(genericWarnings.split("\n"), recipe.getWarnings())
+	
+	def testWin32Recipe(self):
+		# Recipe failure with errors and warnings
+		recipeLines = self.__createRecipeLines("win32something", "failed", 3, 10, mwWarnings + "\n" + mwErrors + "\n" + mwBenign)
+		recipe = self.__recipeFactory.newRecipe(recipeLines[0])
+		for line in recipeLines:
+			recipe.addLine(line)
+		self.assertFalse(recipe.isSuccess())
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.attempts), 3)
+		self.assertEqual(recipe.getDetail(filter_utils.Recipe.code), 10)
+		
+		self.__checkListContent(mwWarnings.split("\n"), recipe.getWarnings())
+		self.__checkListContent(mwErrors.split("\n"), recipe.getErrors())
+	
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "filter_utils_unit"
+
+	tests = unittest.makeSuite(TestFilterUtils)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/generic_path_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,218 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+import generic_path
+import unittest
+import os
+import sys
+import re
+
+class TestGenericPaths(unittest.TestCase):
+	
+	def setUp(self):
+		self.cwd = os.getcwd().replace("\\", "/")
+	
+	def isWin32(self):
+		return sys.platform.lower().startswith("win")
+	
+	
+	def testClassCommon(self):
+		
+		p1 = generic_path.Path("a", "b")
+		
+		p2 = p1.Append("c")
+		self.assertEqual(str(p2), "a/b/c")
+		
+		p3 = p1.Append("c", "d")
+		self.assertEqual(str(p3), "a/b/c/d")
+		
+		p4 = p1.Prepend("z")
+		self.assertEqual(str(p4), "z/a/b")
+		
+		p5 = p1.Prepend("y", "z")
+		self.assertEqual(str(p5), "y/z/a/b")
+		
+		self.assertEqual(str(p5.Dir()), "y/z/a")
+		self.assertEqual(p5.File(), "b")
+		
+		p6 = generic_path.Join("test")
+		self.assertEqual(str(p6.Dir()), "")
+		self.assertEqual(p6.File(), "test")
+	
+	
+	def testClassWin32(self):
+		if not self.isWin32():
+			return
+		
+		local1 = generic_path.Path('some\\folder\\another\\')
+		local2 = generic_path.Join(local1, "test", "tmp")
+		
+		self.assertEqual(str(local2),"some/folder/another/test/tmp")
+		
+		# Absolute
+		
+		local1 = generic_path.Path('some\\folder')
+		self.failIf(local1.isAbsolute())
+		
+		abs1 = local1.Absolute()
+		self.assertEqual(str(abs1).lower(), (self.cwd + "/some/folder").lower())
+		
+		local2 = generic_path.Path('C:\\some\\folder')
+		self.failUnless(local2.isAbsolute())
+		
+		abs2 = local2.Absolute()
+		self.assertEqual(str(abs2), "C:/some/folder")
+
+		local3 = generic_path.Path('\\somerandomfolder')
+		self.failUnless(re.match('^[A-Za-z]:/somerandomfolder$',str(local3)))
+
+		local4 = generic_path.Path('\\my\\folder\\')
+		self.failUnless(re.match('^[A-Za-z]:/my/folder$',str(local4)))
+
+		local5 = generic_path.Path('\\')
+		self.failUnless(re.match('^[A-Za-z]:$',str(local5)))
+		
+		local6 = generic_path.Path("C:")
+		self.failUnless(local6.isAbsolute())
+		self.failUnless(local6.isDir())
+		self.failUnless(local6.Exists())
+		
+		local7 = local6.Absolute()
+		self.assertEqual(str(local7), "C:")
+		
+		local8 = generic_path.Path("C:/")
+		self.failUnless(local8.isAbsolute())
+		self.failUnless(local8.isDir())
+		self.failUnless(local8.Exists())
+		
+		local9 = local8.Absolute()
+		self.assertEqual(str(local9), "C:")
+		                              	
+		# Drives
+		
+		driveD = generic_path.Path("D:\\", "folder")
+		self.assertEqual(str(driveD), "D:/folder")
+		
+		driveA = generic_path.Path("a:\\")
+		self.assertEqual(str(driveA), "a:")
+		self.assertEqual(str(driveA.Dir()), "a:")
+		
+		driveZ = generic_path.Path("Z:\\test")
+		self.assertEqual(str(driveZ), "Z:/test")
+		
+		joinC = generic_path.Join("C:\\", "something")
+		self.assertEqual(str(joinC), "C:/something")
+		
+		joinM = generic_path.Join("M:", "something")
+		self.assertEqual(str(joinM), "M:/something")
+		
+		# Path
+		
+		path2 = generic_path.Path("m:/sys/thing/")
+		self.assertEqual(str(path2), "m:/sys/thing")
+		
+		path3 = generic_path.Path("m:\\sys\\thing\\")
+		self.assertEqual(str(path3), "m:/sys/thing")
+		
+		path4 = generic_path.Path("m:\\")
+		self.assertEqual(str(path4), "m:")
+		
+		path5 = generic_path.Path("\\sys\\thing\\")
+		self.failUnless(re.match('^[A-Za-z]:/sys/thing$', str(path5)))
+		
+		path6 = generic_path.Path("m:/")
+		self.assertEqual(str(path6), "m:")
+		
+		# SpaceSafePath
+		
+		epocroot = os.path.abspath(os.environ.get('EPOCROOT')).replace('\\','/').rstrip('/')
+		pathwithspaces = epocroot+"/epoc32/build/Program Files/Some tool installed with spaces/no_spaces/s p c/no_more_spaces"
+		path7 = generic_path.Path(pathwithspaces)
+
+		# SpaceSafe paths on Windows are 8.3 format, and these can only be deduced if they actually exist.	
+		os.makedirs(pathwithspaces)
+		spacesafe = path7.GetSpaceSafePath()
+		self.assertTrue(spacesafe.endswith("PROGRA~1/SOMETO~1/NO_SPA~1/SPC~1/NO_MOR~1"))
+		
+		os.removedirs(pathwithspaces)
+		spacesafe = path7.GetSpaceSafePath()		
+		self.assertEqual(spacesafe, None)
+
+		
+	def testClassLinux(self):
+		if self.isWin32():
+			return
+		
+		local1 = generic_path.Path('some/folder/another/')
+		local2 = generic_path.Join(local1, "test", "tmp")
+		
+		self.assertEqual(str(local2),"some/folder/another/test/tmp")
+		
+		msys1 = generic_path.Path('some/folder/another/')
+		msys2 = generic_path.Join(msys1, "test", "tmp")
+		
+		self.assertEqual(str(msys2),"some/folder/another/test/tmp")
+		
+		# Absolute
+		
+		local1 = generic_path.Path('some/folder')
+		self.failIf(local1.isAbsolute())
+		
+		abs1 = local1.Absolute()
+		self.assertEqual(str(abs1), self.cwd + "/some/folder")
+		
+		local2 = generic_path.Path('/some/folder')
+		self.failUnless(local2.isAbsolute())
+		
+		abs2 = local2.Absolute()
+		self.assertEqual(str(abs2), "/some/folder")
+		
+		root = generic_path.Path("/")
+		self.assertEqual(str(root), "/")
+		
+		# Path
+		
+		path = generic_path.Path("some/thing/")
+		self.assertEqual(str(path), "some/thing")
+		
+		# SpaceSafePath
+		
+		# This doesn't mean much on non-Windows platforms, but we confirm nothing breaks if it is used
+		pathwithspaces = "/Program Files/Some tool installed with spaces/no_spaces/s p c/no_more_spaces"
+		path2 = generic_path.Path(pathwithspaces)
+	
+		spacesafe = path2.GetSpaceSafePath()		
+		self.assertEqual(spacesafe, None)
+		
+ 
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "generic_path_unit"
+
+	tests = unittest.makeSuite(TestGenericPaths)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/mmpparser_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,355 @@
+#
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# This module tests the MMPParser Class()
+# It runs on data from the standard input
+#
+
+
+from mmpparser import *
+import unittest
+import os
+import re
+
+class MMPTester(MMPBackend):
+	"""A parser testing "backend" for the MMP language
+	This is used to test MMP parsing independently of the build system. """
+	def __init__(self):
+		super(MMPTester,self).__init__()
+		self.sourcepath="."
+		self.platformblock = None
+		self.output=""
+
+	def log(self,text):
+		self.output += text + "\n"
+
+	def doStartResource(self,s,loc,toks):
+		self.log("Create resource "+toks[0]+" of " + str(toks))
+		return "OK"
+
+	def doResourceAssignment(self,s,loc,toks):
+		self.log("Set "+toks[0]+" to " + toks[1])
+		return "OK"
+
+	def doEndResource(self,s,loc,toks):
+		self.log("Finalise resource "+toks[0]+" of " + str(toks))
+		return "OK"
+
+	def doStartPlatform(self,s,loc,toks):
+		self.log("Start Platform block "+toks[0])
+		self.platformblock = toks[0]
+		return "OK"
+
+	def doEndPlatform(self,s,loc,toks):
+		self.log("Finalise platform " + self.platformblock)
+		return "OK"
+
+	def doSetSwitch(self,s,loc,toks):
+		self.log("Set switch "+toks[0]+" ON")
+		return "OK"
+
+	def doAssignment(self,s,loc,toks):
+		self.log("Set "+toks[0]+" to " + str(toks[1]))
+		return "OK"
+
+	def doAppend(self,s,loc,toks):
+		self.log("Append to "+toks[0]+" the values: " + str(toks[1]))
+		return "OK"
+
+	def doUIDAssignment(self,s,loc,toks):
+		self.log("Set UID2 to " + toks[1][0])
+		if len(toks[1]) > 1:
+			self.log("Set UID3 to " + toks[1][1])
+		return "OK"
+
+	def doSourcePathAssignment(self,s,loc,toks):
+		self.log("Remembering self.sourcepath state:  "+str(toks[0])+" is now " + str(toks[1]))
+		self.sourcepath=toks[1]
+		return "OK"
+
+	def doSourceAssignment(self,s,loc,toks):
+		self.log("Setting "+toks[0]+" to " + str(toks[1]))
+		for i in toks[1]:
+			self.log(self.sourcepath + "\\" + i)
+		return "OK"
+
+	def doStartBitmap(self,s,loc,toks):
+		self.log("BITMAP Create "+toks[0]+" to " + str(toks[1]))
+		return "OK" 
+		
+	def doBitmapAssignment(self,s,loc,toks):
+		self.log("BITMAP Setting "+toks[0]+" to " + str(toks[1]))
+		self.log("		must set a value within a bitmap FLM call")
+		return "OK"
+
+	def doEndBitmap(self,s,loc,toks):
+		self.log("Finish bitmap "+toks[0]+" to " + str(toks[1]))
+		return "OK" 
+
+	def doStartStringTable(self,s,loc,toks):
+		self.log("Start STRINGTABLE "+toks[1])
+		return "OK" 
+
+	def doStringTableAssignment(self,s,loc,toks):
+		self.log("Set"+toks[0]+" to " + toks[1])
+		return "OK"
+
+	def doEndStringTable(self,s,loc,toks):
+		self.log("End STRINGTABLE "+toks[1])
+		return "OK" 
+
+	def doUnknownStatement(self,s,loc,toks):
+		self.log("Ignoring unknown statement at " + str(loc))
+		return "OK"
+
+	def doUnknownBlock(self,s,loc,toks):
+		self.output += "Ignoring unknown block at " + str(loc)
+		return "OK"
+
+	def doMMP(self,s,loc,toks):
+		return "MMP"
+
+
+
+class TestMMPParser(unittest.TestCase):
+	def setUp(self):
+		pass
+
+	def testAll(self):
+		tests = [{'name' : "TestFeatures", 'text' :  
+"""ASSPLIBRARY 123 456 789
+LIBRARY  eexe euser
+ALWAYS_BUILD_AS_ARM
+NOEXPORTLIBRARY
+TARGET FRED
+TARGETTYPE EXE
+SOURCEPATH \usr
+SOURCE alice.cia fred.cpp bob.cpp
+SOURCEPATH \someotherplace\ 
+SOURCE custard.cpp the.cpp dragon.cpp
+
+START ARMCC
+ARMLIBS somelib
+ARMRT
+END
+
+START WINC
+END
+
+START RESOURCE fred.rss
+TARGET fred
+TARGETPATH /usr/local
+END
+UID 0x12354 123455
+""", 'mustmatch': r"Set UID3 to 123455"}, \
+				{'name':"TestUnknownStatements", 'text': \
+"""
+
+TARGET FRED12345
+SOURCEPATH \usr
+
+
+""", 'mustmatch': r"Remembering self.sourcepath state:"}, \
+				{'name':"PreceedingBlankLines", 'text': \
+"""
+
+ASSPLIBRARY 123 456 789
+LIBRARY  eexe euser
+ALWAYS_BUILD_AS_ARM
+NOEXPORTLIBRARY
+TARGET FRED
+SOURCEPATH \usr
+START ARMCC
+ARMLIBS somepath
+ARMRT
+END
+START RESOURCE fred.rss
+TARGET fred
+TARGETPATH /usr/local
+END
+
+
+""", 'mustmatch': r"Set TARGETPATH to /usr/local"}, \
+				{ 'name': "Testvfprvct", 'text': \
+"""
+targettype dll
+sourcepath .
+source dfprvct2_2.cpp
+library euser.lib
+library scppnwdl.lib drtrvct2_2.lib
+option armcc --no_exceptions --no_exceptions_unwind
+start armcc
+armrt
+armlibs c_t__un.l
+end
+capability all
+vendorid 0x70000001
+target dfprvct2_2.dll
+start armcc
+armlibs f_t_p.l g_t_p.l
+end
+unpaged
+
+""", 'mustmatch': r"Set switch UNPAGED ON"}, \
+				{ 'name': "TestUSRT", 'text': \
+"""
+TARGET fred
+START ARMCC
+ARMINC 
+ARMRT
+END
+VENDORID 0x70000001
+""", 'mustmatch': r"Set VENDORID to 0x70000001"}, \
+				{ 'name': "TestRESOURCE", 'text': \
+"""
+TARGET reccaf.dll
+CAPABILITY TrustedUI ProtServ DRM
+TARGETTYPE PLUGIN
+UID 0x10009D8D 0x101ff761
+VENDORID 0x70000001
+SOURCEPATH ../source/reccaf
+SOURCE CafApaRecognizer.cpp mimetypemapping.cpp
+START RESOURCE 101ff761.rss
+TARGET reccaf.rsc
+END
+USERINCLUDE ../source/caf
+USERINCLUDE ../source/reccaf
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/caf
+SYSTEMINCLUDE /epoc32/include/ecom
+LIBRARY euser.lib apmime.lib estor.lib
+LIBRARY caf.lib efsrv.lib
+""", 'mustmatch': r"Create resource .* of"}, \
+				{ 'name': "TestRESOURCE", 'text': \
+"""
+TARGET cafutils.dll
+CAPABILITY All -Tcb
+TARGETTYPE DLL
+UID 0x101FD9B8
+VENDORID 0x70000001
+UNPAGED
+SOURCEPATH ../source/cafutils
+SOURCE Cafutils.cpp
+SOURCE attributeset.cpp
+SOURCE stringattribute.cpp
+SOURCE stringattributeset.cpp
+SOURCE virtualpath.cpp
+SOURCE Metadata.cpp
+SOURCE Metadataarray.cpp
+SOURCE embeddedobject.cpp
+SOURCE rightsinfo.cpp
+SOURCE Virtualpathptr.cpp
+SOURCE dirstreamable.cpp
+SOURCE bitset.cpp
+SOURCE cafmimeheader.cpp
+SOURCE mimefieldanddata.cpp
+USERINCLUDE ../inc
+USERINCLUDE ../source/cafutils
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/caf
+SYSTEMINCLUDE /epoc32/include/libc
+LIBRARY euser.lib
+LIBRARY estor.lib
+LIBRARY charconv.lib
+LIBRARY efsrv.lib
+LIBRARY apgrfx.lib
+LIBRARY ecom.lib
+LIBRARY apmime.lib
+""", 'mustmatch': r"LIBRARY"},
+				{ 'name': "TestEmptyStringTable", 'text': \
+"""
+OPTION CW   -w off
+TARGET          testwebbrowser.exe
+TARGETTYPE      EXE
+CAPABILITY ALL -TCB
+
+SYSTEMINCLUDE   /epoc32/include /epoc32/include/ecom
+USERINCLUDE     ../inc
+USERINCLUDE     ../../httpexampleclient
+
+START STRINGTABLE ../data/htmltagstable.st
+
+END
+
+SOURCEPATH      ../../httpexampleclient
+SOURCE httpexampleutils.cpp
+""", 'mustmatch': r"End STRINGTABLE OK"},
+				{ 'name': "TestARMINC", 'text': \
+"""
+# 1 "<built-in>"
+# 1 "<command line>"
+# 10 "<command line>"
+# 1 "/var/local/net/smb/tmurphy/cluster_epocroot_1/epoc32/include/variant/Symbian_OS_vFuture.hrh" 1
+# 11 "<command line>" 2
+# 1 "/localhome/tmurphy/pf/mcloverlay/cedar/generic/base/e32/compsupp/rvct2_2/drtrvct2_2_vfpv2.mmp"
+# 1 "/localhome/tmurphy/pf/mcloverlay/cedar/generic/base/e32/compsupp/rvct2_2/drtrvct2_2_common.mmh" 1
+TARGETTYPE dll
+OPTION ARMCC--no_exceptions --no_exceptions_unwind
+SOURCEPATH .
+SOURCE rtabort.cpp
+SOURCE rtdiv0.cpp
+SOURCE rtexit.cpp
+SOURCE rtlib.cpp
+SOURCE rtraise.cpp
+SOURCE drtrvct2_2.cpp
+SOURCE rtopnew.cpp rtopdel.cpp
+SOURCE sftfpini.cpp
+LIBRARY scppnwdl.lib euser.lib
+SYSTEMINCLUDE ../../include
+START ARMCC
+ARMRT
+ARMINC
+ARMLIBS c_t__un.l
+ARMLIBS h_t__un.l
+# 46 "/localhome/tmurphy/pf/mcloverlay/cedar/generic/base/e32/compsupp/rvct2_2/drtrvct2_2_common.mmh"
+END
+capability all
+VENDORID 0x70000001
+# 7 "/localhome/tmurphy/pf/mcloverlay/cedar/generic/base/e32/compsupp/rvct2_2/drtrvct2_2_vfpv2.mmp" 2
+TARGET drtrvct2_2_vfpv2.dll
+LINKAS drtrvct2_2.dll
+NOEXPORTLIBRARY
+START ARMCC
+ARMLIBS f_tvp.l
+END
+unpaged
+""", 'mustmatch': r"Set.*ARMINC"}]
+		for i in tests:
+			tester = MMPTester()
+			mp = MMPParser(tester)
+			try:
+				result = mp.mmp.parseString(i['text'])
+			except ParseException,e:
+				pass
+			self.assertEquals(result[0],'MMP')
+			self.assertNotEquals(re.search(i['mustmatch'],tester.output,re.M),None)
+
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "mmpparser_unit"
+
+	tests = unittest.makeSuite(TestMMPParser)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_api_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,104 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# raptor_api_unit module
+
+import generic_path
+import raptor
+import raptor_api
+import unittest
+
+class TestRaptorApi(unittest.TestCase):
+			
+	def testContext(self):
+		api = raptor_api.Context()
+		
+	def testContextInitialiser(self):
+		r = raptor.Raptor()
+		api = raptor_api.Context(r)
+		
+	def testAliases(self):
+		r = raptor.Raptor()
+		r.cache.Load( generic_path.Join(r.home, "test", "config", "api.xml") )
+
+		api = raptor_api.Context(r)
+	
+		aliases = api.getaliases() # type == ""
+		self.failUnlessEqual(len(aliases), 4)
+		self.failUnlessEqual(set(["alias_A","alias_B","s1","s2"]),
+							 set(a.name for a in aliases))
+		
+		aliases = api.getaliases(raptor_api.ALL) # ignore type
+		self.failUnlessEqual(len(aliases), 6)
+		
+		aliases = api.getaliases("X") # type == "X"
+		self.failUnlessEqual(len(aliases), 1)
+		self.failUnlessEqual(aliases[0].name, "alias_D")
+		self.failUnlessEqual(aliases[0].meaning, "a.b.c.d")
+	
+	def testConfig(self):
+		r = raptor.Raptor()
+		r.cache.Load( generic_path.Join(r.home, "test", "config", "api.xml") )
+
+		api = raptor_api.Context(r)
+		
+		if r.filesystem == "unix":
+			path = "/home/raptor/foo/bar"
+		else:
+			path = "C:/home/raptor/foo/bar"
+			
+		config = api.getconfig("buildme")
+		self.failUnlessEqual(config.fullname, "buildme")
+		self.failUnlessEqual(config.outputpath, path)
+		
+		config = api.getconfig("buildme.foo")
+		self.failUnlessEqual(config.fullname, "buildme.foo")
+		self.failUnlessEqual(config.outputpath, path)
+		
+		config = api.getconfig("s1")
+		self.failUnlessEqual(config.fullname, "buildme.foo")
+		self.failUnlessEqual(config.outputpath, path)
+		
+		config = api.getconfig("s2.product_A")
+		self.failUnlessEqual(config.fullname, "buildme.foo.bar.product_A")
+		self.failUnlessEqual(config.outputpath, path)
+		
+	def testProducts(self):
+		r = raptor.Raptor()
+		r.cache.Load( generic_path.Join(r.home, "test", "config", "api.xml") )
+
+		api = raptor_api.Context(r)
+		
+		products = api.getproducts() # type == "product"
+		self.failUnlessEqual(len(products), 2)
+		self.failUnlessEqual(set(["product_A","product_C"]),
+							 set(p.name for p in products))
+		
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.name = "raptor_api_unit"
+
+	tests = unittest.makeSuite(TestRaptorApi)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_cache_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,143 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+# Unit test for raptor_cache module
+
+import generic_path
+import os.path
+import raptor
+import raptor_cache
+import unittest
+
+class TestRaptorCache(unittest.TestCase):
+
+	def setUp(self):
+		self.raptor = raptor.Raptor()
+		self.cache = self.raptor.cache
+
+		dir = self.raptor.home.Append("test", "config")
+		self.cache.Load(dir)
+		
+	def testLoadSingle(self):
+		# load a single XML file
+		file = self.raptor.home.Append("test/unit_suite/data", raptor.xml)
+		self.cache.Load(file)
+		self.failUnless(len(self.cache.variants) > 0)
+		self.failUnless(len(self.cache.aliases) > 0)
+		self.failUnless(len(self.cache.groups) > 0)
+		
+	def testVariant(self):
+		def _testSingleVariant(name):
+			try:
+				var = self.cache.FindNamedVariant(name)
+			except KeyError:
+				self.fail()
+			else:
+				self.failUnless(var)
+				self.assertEqual(var.name, name)
+
+		_testSingleVariant("ARMV5_BASE")
+		_testSingleVariant("ARMV5_UREL")
+		_testSingleVariant("ARMV5_UDEB")
+		_testSingleVariant("MOD1")
+		_testSingleVariant("MOD2")
+		_testSingleVariant("var_redef")
+
+		self.failUnlessRaises( KeyError, self.cache.FindNamedVariant, "XY_123" )
+		self.failUnlessRaises( KeyError, self.cache.FindNamedVariant, "ARMV5" )
+
+	def testAlias(self):
+		def _testSingleAlias(name):
+			try:
+				alias = self.cache.FindNamedAlias(name)
+			except KeyError:
+				self.fail()
+			else:
+				self.failUnless(alias)
+				self.assertEqual(alias.name, name)
+
+		_testSingleAlias("ALIAS_1")
+		_testSingleAlias("ALIAS_2")
+		_testSingleAlias("alias_redef")
+
+		self.failUnlessRaises( KeyError, self.cache.FindNamedAlias, "XY_123" )
+		self.failUnlessRaises( KeyError, self.cache.FindNamedAlias, "ARMV5" )
+		self.failUnlessRaises( KeyError, self.cache.FindNamedAlias, "ARMV5_UREL" )
+
+	def testGroup(self):
+		def _testSingleGroup(name):
+			try:
+				group = self.cache.FindNamedGroup(name)
+			except KeyError:
+				self.fail()
+			else:
+				self.failUnless(group)
+				self.assertEqual(group.name, name)
+				
+		_testSingleGroup("ARMV5")
+		_testSingleGroup("group_redef")
+
+		self.failUnlessRaises( KeyError, self.cache.FindNamedGroup, "XY_123" )
+		self.failUnlessRaises( KeyError, self.cache.FindNamedGroup, "ARMV5_UDEB" )
+		self.failUnlessRaises( KeyError, self.cache.FindNamedGroup, "ARMV5_UREL" )
+
+	def testInterface(self):
+		def _testSingleInterface(name):
+			try:
+				interface = self.cache.FindNamedInterface(name)
+			except KeyError:
+				self.fail()
+			else:
+				self.failUnless(interface)
+				self.assertEqual(interface.name, name)
+				
+		_testSingleInterface("interface_redef")
+
+		self.failUnlessRaises( KeyError, self.cache.FindNamedInterface, "foo" )
+		self.failUnlessRaises( KeyError, self.cache.FindNamedInterface, "bar" )
+		self.failUnlessRaises( KeyError, self.cache.FindNamedInterface, "123" )
+
+	def testLoadLegacy(self):
+		# load some schema 1.0 XML files
+		dir = self.raptor.home.Append("test/unit_suite/data")
+		self.cache.Load(dir)
+		try:
+			self.cache.FindNamedInterface("base.1_0")
+			self.cache.FindNamedInterface("interface.1_0")
+			self.cache.FindNamedVariant("var1_0")
+			self.cache.FindNamedAlias("alias1_0")
+		except KeyError:
+			self.fail()
+
+		self.failUnlessRaises( KeyError, self.cache.FindNamedVariant, "should_be_ignored" )
+		
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_cache_unit"
+
+	tests = unittest.makeSuite(TestRaptorCache)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_cli_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,241 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+# Unit Test for the Raptor_cli (command line interface) module
+
+import raptor_cli
+import sys
+import unittest
+import os,subprocess
+import re
+
+class TestRaptorCli(unittest.TestCase):
+
+	def setUp(self):
+		sbsHome = os.environ["SBS_HOME"]
+		self.windows = sys.platform.lower().startswith("win")
+		
+		self.doExportsOnly = False
+		self.whatDir = sbsHome + "/test/simple"
+		self.listconfig=[]
+		self.bldinfvalue=[]
+		self.makeoptions=[]
+		self.sysdeflayers=[]
+		self.sysdeforderlayers = True
+		self.whatlist = []
+		self.targets = []
+		self.regexpwin = re.compile(r"^[A-Za-z]:\\",re.I)
+		self.RunningQuiet = False
+		self.allowCommandLineOverrides = True
+		self.ignoreOsDetection = False
+		self.filterList = "filter_terminal,filter_logfile"
+		self.noDependInclude = False
+		self.noDependGenerate = False
+		
+	def AddConfigName(self,configname):
+		self.listconfig.append(configname)
+		return True
+
+	def AddConfigList(self,configlist):
+		return True
+
+	def AddSpecFile(self,specfilename):
+		self.listspec.append(specfilename)
+		return True
+
+	def SetRoot(self,root):
+		self.rootvalue = root
+		return True
+	
+	def SetCheck(self,check):
+		self.doCheck = check
+		return True
+	
+	def SetWhat(self,what):
+		self.doWhat = what
+		return True
+	
+	def SetTries(self,tries):
+		self.tries = tries
+		return True
+		
+	def SetSysDefFile(self,sysdef):
+		self.sysdefvalue = sysdef
+		return True
+			
+	def SetSysDefBase(self,sysdefbase):
+		self.sysdefbasevalue = sysdefbase
+		return True
+
+	def AddSysDefLayer(self,sysdeflayer):
+		self.sysdeflayers.append(sysdeflayer)
+		return True
+
+	def SetSysDefOrderLayers(self,sysdeforderlayers):
+		self.sysdeflayers = sysdeforderlayers
+		return True
+
+	def AddBuildInfoFile(self,bldinf):
+		self.bldinfvalue.append(bldinf)
+		return True
+
+	def RunQuietly(self,QuietMode):
+		self.RunningQuiet = QuietMode
+		return True
+
+	def SetTopMakefile(self,topmake):
+		self.topmake = topmake
+		return True
+	
+	def SetLogFileName(self, logfile):
+		self.logFileName = logfile
+		return True
+		
+	def SetMakeEngine(self, engine):
+		self.makeEngine = engine
+		return True
+		
+	def AddMakeOption(self, makeOption):
+		self.makeOptions.append(makeOption)
+		return True
+			
+	def SetDebugOutput(self, filename):
+		return True
+		
+	def SetExportOnly(self, yesOrNo):
+		self.doExportOnly = yesOrNo
+		return True
+
+	def SetNoExport(self, yesOrNo):
+		self.doExport = not yesOrNo
+		return True
+	
+	def SetKeepGoing(self, yesOrNo):
+		return True
+	
+	def SetNoBuild(self, yesOrNo):
+		return True
+	
+	def SetNoDependInclude(self, yesOrNo):
+		self.noDependInclude = yesOrNo
+		return True
+
+	def SetNoDependGenerate(self, yesOrNo):
+		self.noDependGenerate = yesOrNo
+		return True
+		
+	def SetJobs(self, N):
+		return True
+
+	def SetToolCheck(self, toolcheck):
+		return True
+	
+	def SetTiming(self, yesOrNo):
+		return True
+
+	def SetParallelParsing(self, onoroff):
+		self.pp=onoroff
+		return True
+
+	def AddProject(self, project):
+		return True
+
+	def AddQuery(self, query):
+		return True
+	
+	def PrintVersion(self):
+		return True
+			 			 
+	def Info(self, format, *extras):
+		"Send an information message to the configured channel"
+		if self.RunningQuiet==False:
+			sys.stdout.write(("INFO: " + format + "\n") % extras)
+
+	def Warn(self, format, *extras):
+		"Send a warning message to the configured channel"
+		sys.stdout.write(("WARNING: " + format + "\n") % extras)
+		
+	def IgnoreOsDetection(self, value):
+		self.ignoreOsDetection = value
+		return True
+	
+	def FilterList(self, value):
+		self.filterList = value
+		return True
+	
+	def AddSourceTarget(self, filename):
+		self.targets.append(filename)
+	
+	def testDoRaptor(self):
+		args = ['-c','config1',
+				'-c','config name with spaces',
+				'-s', 'wrong_file.xml',
+				'--sysdef', 'system_definition.xml',
+				'-a', 'wrong_base_dir',
+				'--sysdefbase', 'C:\definitions',
+				'-l', 'a_layer',
+				'--layer', 'b_layer',
+				'-b', 'bld1.inf',
+				'--bldinf', 'bld2.inf',
+				'-f', 'a_log_file.log',
+				'-m', 'top.mk',
+				'--makefile', '/home/Makefile',
+				'--filters', 'filter_01,filter_02',
+				'--export-only',
+				'--source-target', 'some_source_file.cpp',
+				'--source-target', 'some_resource_file.rss',
+				'--pp', 'on',
+				'--no-depend-include',
+				'--no-depend-generate']
+		
+		raptor_cli.GetArgs(self,args)
+		self.assertEqual(self.RunningQuiet,False)
+		self.assertEqual(self.listconfig[0],'config1')
+		self.assertEqual(self.listconfig[1],'config name with spaces')
+		self.assertEqual(self.sysdefvalue,'system_definition.xml')
+		self.assertEqual(self.sysdefbasevalue,'C:\\definitions')
+		self.assertEqual(self.sysdeflayers[0],'a_layer')
+		self.assertEqual(self.sysdeflayers[1],'b_layer')
+		self.assertEqual(self.bldinfvalue[0],'bld1.inf')
+		self.assertEqual(self.bldinfvalue[1],'bld2.inf')
+		self.assertEqual(self.topmake,'/home/Makefile')
+		self.assertEqual(self.logFileName,'a_log_file.log')
+		self.assertEqual(self.filterList,'filter_01,filter_02')
+		self.assertEqual(self.doExportOnly,True)
+		self.assertEqual(self.targets[0], 'some_source_file.cpp')
+		self.assertEqual(self.targets[1], 'some_resource_file.rss')
+		self.assertEqual(self.pp, 'on')
+		self.assertEqual(self.noDependInclude, True)
+		self.assertEqual(self.noDependGenerate, True)
+
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_cli_unit"
+
+	tests = unittest.makeSuite(TestRaptorCli)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_data_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,622 @@
+#
+# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# raptor_data_unit module
+# This module tests the classes that make up the Raptor Data Model.
+#
+
+import generic_path
+import os
+import raptor
+import raptor_cache
+import raptor_data
+import sys
+import unittest
+
+class TestRaptorData(unittest.TestCase):
+
+	def setUp(self):
+		self.envStack = {}
+		
+		
+	def SetEnv(self, name, value):
+		# set environment variable and remember the old value (if there is one)		
+		if os.environ.has_key(name):
+			self.envStack[name] = os.environ[name]
+		os.environ[name] = value
+		
+	def isWin(self):
+		return 'win' in raptor.hostplatform
+			
+	def RestoreEnv(self, name):
+		# put environment back to its state before SetEnv
+		if self.envStack.has_key(name):
+			os.environ[name] = self.envStack[name]
+		else:
+			del os.environ[name]    # was not defined
+			
+			
+	def testSimpleSpecification(self):
+		spec = raptor_data.Specification("myProject")
+
+		spec.SetInterface("Symbian.EXE")
+		
+		var = raptor_data.Variant("X")
+
+		var.AddOperation(raptor_data.Set("SOURCES", "a.cpp"))
+		var.AddOperation(raptor_data.Append("LIBS", "all.dll"))
+		var.AddOperation(raptor_data.Append("INC", "/C/include"))
+		var.AddOperation(raptor_data.Prepend("INC", "/B/include"))
+
+		spec.AddVariant(var)
+		spec.AddVariant("AlwaysBuildAsArm")
+
+		self.failUnless(spec)
+		self.failUnless(spec.Valid())
+		self.failUnless(var.Valid())
+		self.assertEqual(spec.name, "myProject")
+
+
+	def testSimpleFilter(self):
+		filter = raptor_data.Filter("filtered")
+		filter.SetConfigCondition("ARMV5")
+		
+		filter.SetInterface(raptor_data.Interface("True.EXE"))
+		filter.Else.SetInterface(raptor_data.Interface("False.EXE"))
+		
+		filter.AddVariant(raptor_data.Variant("True_var"))
+		filter.Else.AddVariant(raptor_data.Variant("False_var"))
+		
+		filter.AddChildSpecification(raptor_data.Specification("TrueSpec"))
+		filter.Else.AddChildSpecification(raptor_data.Specification("FalseSpec"))
+		
+		filter.Configure( raptor_data.BuildUnit("ARMV5",[]), cache=None )
+		# check a positive test
+		iface = filter.GetInterface(cache=None)
+		self.assertEqual(iface.name, "True.EXE")
+		vars = filter.GetVariants(cache = None)
+		self.assertEqual(vars[0].name, "True_var")
+		kids = filter.GetChildSpecs()
+		self.assertEqual(kids[0].name, "TrueSpec")
+		
+		filter.Configure( raptor_data.BuildUnit("NOT_ARMV5",[]) , cache = None)
+		# check a negative test
+		iface = filter.GetInterface(cache = None)
+		self.assertEqual(iface.name, "False.EXE")
+		vars = filter.GetVariants(cache = None)
+		self.assertEqual(vars[0].name, "False_var")
+		kids = filter.GetChildSpecs()
+		self.assertEqual(kids[0].name, "FalseSpec")
+		
+
+	def testSimpleVariant(self):
+		var = raptor_data.Variant()
+		self.failUnless(var)
+		self.failIf( var.Valid() )
+
+		var.SetProperty("name", "ABC")
+		var.SetProperty("extends", "DEF")
+		var.SetProperty("host", "GHI")
+
+		self.assertEqual(var.name, "ABC")
+		self.assertEqual(var.extends, "DEF")
+		self.assertEqual(var.host, None)
+
+		var.SetProperty("host", "win32")
+		self.assertEqual(var.host, "win32")
+
+		self.failUnless( var.Valid() )
+
+		var.AddOperation( raptor_data.Set("CC", "armcc") )
+		var.AddOperation( raptor_data.Set("LN", "armlink") )
+
+		self.failUnless( var.Valid() )
+
+		var.SetProperty("extends", "")
+		ops = var.GetAllOperationsRecursively(None)
+
+		self.assertEqual( len(ops), 1 )
+		self.assertEqual( len(ops[0]), 2 )
+
+	def testExtendedVariant(self):
+		r = raptor.Raptor()
+
+		varA = raptor_data.Variant("A")
+		varA.SetProperty("extends", None)
+		varA.AddOperation( raptor_data.Set("V1", "1A") )
+		varA.AddOperation( raptor_data.Set("V2", "2A") )
+
+		varB = raptor_data.Variant("B")
+		varB.SetProperty("extends", "A")
+		varB.AddOperation( raptor_data.Set("V2", "2B") )
+		varB.AddOperation( raptor_data.Set("V3", "3B") )
+
+		varC = raptor_data.Variant("C")
+		varC.SetProperty("extends", "B")
+		varC.AddOperation( raptor_data.Set("V3", "3C") )
+		varC.AddOperation( raptor_data.Set("V4", "4C") )
+
+		self.failUnless( varA.Valid() )
+		self.failUnless( varB.Valid() )
+		self.failUnless( varC.Valid() )
+
+		r.cache.AddVariant(varA)
+		r.cache.AddVariant(varB)
+		r.cache.AddVariant(varC)
+
+		e = r.GetEvaluator(None, varA.GenerateBuildUnits(r.cache)[0] )
+		self.assertEqual( e.Get("V1"), "1A" )
+		self.assertEqual( e.Get("V2"), "2A" )
+
+		e = r.GetEvaluator(None, varB.GenerateBuildUnits(r.cache)[0] )
+		self.assertEqual( e.Get("V1"), "1A" )
+		self.assertEqual( e.Get("V2"), "2B" )
+		self.assertEqual( e.Get("V3"), "3B" )
+
+		e = r.GetEvaluator(None, varC.GenerateBuildUnits(r.cache)[0] )
+		self.assertEqual( e.Get("V1"), "1A" )
+		self.assertEqual( e.Get("V2"), "2B" )
+		self.assertEqual( e.Get("V3"), "3C" )
+		self.assertEqual( e.Get("V4"), "4C" )
+
+	def testReferencedVariant(self):
+		r = raptor.Raptor()
+
+		varA = raptor_data.Variant("A")
+		varA.SetProperty("extends", None)
+		varA.AddOperation( raptor_data.Set("V1", "1A") )
+		varA.AddOperation( raptor_data.Set("V2", "2A") )
+
+		# B extends A, and has a reference to C.
+		varB = raptor_data.Variant("B")
+		varB.SetProperty("extends", "A")
+		varB.AddOperation( raptor_data.Set("V2", "2B") )
+		varB.AddOperation( raptor_data.Set("V3", "3B") )
+		varB.AddChild( raptor_data.VariantRef("C") )
+
+		varC = raptor_data.Variant("C")
+		varC.SetProperty("extends", None)
+		varC.AddOperation( raptor_data.Set("V3", "3C") )
+		varC.AddOperation( raptor_data.Set("V4", "4C") )
+
+		self.failUnless( varA.Valid() )
+		self.failUnless( varB.Valid() )
+		self.failUnless( varC.Valid() )
+
+		r.cache.AddVariant(varA)
+		r.cache.AddVariant(varB)
+		r.cache.AddVariant(varC)
+
+		e = r.GetEvaluator(None, varA.GenerateBuildUnits(r.cache)[0] )
+		self.assertEqual( e.Get("V1"), "1A" )
+		self.assertEqual( e.Get("V2"), "2A" )
+
+		e = r.GetEvaluator(None, varC.GenerateBuildUnits(r.cache)[0] )
+		self.assertEqual( e.Get("V3"), "3C" )
+		self.assertEqual( e.Get("V4"), "4C" )
+
+		e = r.GetEvaluator(None, varB.GenerateBuildUnits(r.cache)[0] )
+		self.assertEqual( e.Get("V1"), "1A" )
+		self.assertEqual( e.Get("V2"), "2B" )
+		self.assertEqual( e.Get("V3"), "3B" )
+		self.assertEqual( e.Get("V4"), "4C" )
+
+	def testAlias(self):
+		r = raptor.Raptor()
+
+		varA = raptor_data.Variant("A")
+		varA.AddOperation( raptor_data.Set("V1", "1A") )
+		varA.AddOperation( raptor_data.Set("V2", "2A") )
+		r.cache.AddVariant(varA)
+
+		varB = raptor_data.Variant("B")
+		varB.AddOperation( raptor_data.Set("V2", "2B") )
+		varB.AddOperation( raptor_data.Set("V3", "3B") )
+		r.cache.AddVariant(varB)
+
+		varC = raptor_data.Variant("C")
+		varC.AddOperation( raptor_data.Set("V3", "3C") )
+		varC.AddOperation( raptor_data.Set("V4", "4C") )
+		r.cache.AddVariant(varC)
+
+		# <alias name="an_alias" meaning="A.B.C"/>
+		alias = raptor_data.Alias("an_alias")
+		alias.SetProperty("meaning", "A.B.C")
+		r.cache.AddAlias(alias)
+
+		self.failUnless( alias.Valid() )
+
+		e = r.GetEvaluator(None, alias.GenerateBuildUnits(r.cache)[0] )
+		self.assertEqual( e.Get("V1"), "1A" )
+		self.assertEqual( e.Get("V2"), "2B" )
+		self.assertEqual( e.Get("V3"), "3C" )
+		self.assertEqual( e.Get("V4"), "4C" )
+
+	def testGroup1(self):
+		r = raptor.Raptor()
+
+		varA = raptor_data.Variant("A")
+		varA.AddOperation( raptor_data.Set("V1", "1A") )
+		varA.AddOperation( raptor_data.Set("V2", "2A") )
+		r.cache.AddVariant(varA)
+
+		varB = raptor_data.Variant("B")
+		varB.AddOperation( raptor_data.Set("V2", "2B") )
+		varB.AddOperation( raptor_data.Set("V3", "3B") )
+		r.cache.AddVariant(varB)
+
+		varC = raptor_data.Variant("C")
+		varC.AddOperation( raptor_data.Set("V3", "3C") )
+		varC.AddOperation( raptor_data.Set("V4", "4C") )
+		r.cache.AddVariant(varC)
+
+		alias = raptor_data.Alias("alias")
+		alias.SetProperty("meaning", "B.C")
+		r.cache.AddAlias(alias)
+
+		# This group has two buildable units: "A" and "alias" = "B.C".
+		# <group name="group1">
+		#	<varRef ref="A"/>
+		#   <aliasRef ref="alias">
+		# <group>
+		group1 = raptor_data.Group("group1")
+		group1.AddChild( raptor_data.VariantRef("A") )
+		group1.AddChild( raptor_data.AliasRef("alias") )
+		r.cache.AddGroup(group1)
+
+		vRef = raptor_data.VariantRef("C")
+		vRef.SetProperty("mod", "B")
+
+		# This group has three buildable units: "C.B", "A" and "alias" = "B.C".
+		# <group name="group2">
+		#	<varRef ref="C" mod="B"/>
+		#   <groupRef ref="group1"/>
+		# <group>
+		group2 = raptor_data.Group("group2")
+		group2.AddChild(vRef)
+		group2.AddChild( raptor_data.GroupRef("group1") )
+		r.cache.AddGroup(group2)
+
+		self.failUnless( group1.Valid() )
+		self.failUnless( group2.Valid() )
+
+		buildUnits = group1.GenerateBuildUnits(r.cache)
+		self.assertEqual( len(buildUnits), 2 )
+		self.assertEqual( buildUnits[0].name, "A" )
+		self.assertEqual( buildUnits[1].name, "alias" )
+		self.assertEqual( buildUnits[1].variants[0].name, "B" )
+		self.assertEqual( buildUnits[1].variants[1].name, "C" )
+
+		buildUnits = group2.GenerateBuildUnits(r.cache)
+		self.assertEqual( len(buildUnits), 3 )
+		self.assertEqual( buildUnits[0].name, "C.B" )
+		self.assertEqual( buildUnits[1].name, "A" )
+		self.assertEqual( buildUnits[2].name, "alias" )
+
+		self.assertEqual( len(buildUnits[0].variants), 2 )
+		self.assertEqual( len(buildUnits[1].variants), 1 )
+		self.assertEqual( len(buildUnits[2].variants), 2 )
+
+	def testGroup2(self):
+		r = raptor.Raptor()
+
+		r.cache.Load( generic_path.Join(r.home, "test", "config", "arm.xml") )
+
+		buildUnits = r.cache.FindNamedGroup("G2").GenerateBuildUnits(r.cache)
+
+		self.assertEqual( len(buildUnits), 8 )
+
+		self.assertEqual(buildUnits[0].name, "ARMV5_UREL.MOD1")
+		self.assertEqual(buildUnits[1].name, "ARMV5_UDEB.MOD1.MOD2")
+		self.assertEqual(buildUnits[2].name, "ALIAS_1")
+		self.assertEqual(buildUnits[3].name, "ALIAS_2.MOD1.MOD2.MOD1")
+		self.assertEqual(buildUnits[4].name, "ARMV5_UREL.MOD2")
+		self.assertEqual(buildUnits[5].name, "ARMV5_UDEB.MOD2")
+		self.assertEqual(buildUnits[6].name, "MOD1")
+		self.assertEqual(buildUnits[7].name, "MOD2")
+
+	def testRefs(self):
+		i1 = raptor_data.InterfaceRef()
+		self.failIf(i1.Valid())
+
+		i2 = raptor_data.InterfaceRef("")
+		self.failIf(i2.Valid())
+
+		i3 = raptor_data.InterfaceRef("ABC_abc.123")
+		self.failUnless(i3.Valid())
+		self.assertEqual(i3.ref, "ABC_abc.123")
+
+
+	def testEvaluator(self):
+		self.SetEnv("EPOCROOT", "/C")
+		aRaptor = raptor.Raptor()
+		cache = aRaptor.cache
+		aRaptor.debugOutput = True
+		cache.Load(generic_path.Join(aRaptor.home, "test", "config", "arm.xml"))
+		
+		var = cache.FindNamedVariant("ARMV5_UREL")
+		eval = aRaptor.GetEvaluator( None, var.GenerateBuildUnits(aRaptor.cache)[0])
+		self.RestoreEnv("EPOCROOT")
+		
+		# test the Get method
+		varcfg = eval.Get("VARIANT_CFG")
+		self.assertEqual(varcfg, "/C/variant/variant.cfg")
+		
+		# test the Resolve wrt EPOCROOT
+		varcfg = eval.Resolve("VARIANT_CFG")
+		self.assertEqual(varcfg, "/C/variant/variant.cfg")
+		
+	def testProblematicEnvironment(self):
+		aRaptor = raptor.Raptor()		
+		
+		# 1: ask for environment variable values that will break makefile parsing due to
+		# backslashes forming line continuation characters
+		self.SetEnv("ENVVAR_BSLASH_END1", "C:\\test1a\\;C:\\test1b\\")
+		self.SetEnv("ENVVAR_BSLASH_END2", "C:\\test2a\\;C:\\test2b\\\\")
+		self.SetEnv("ENVVAR_BSLASH_END3", "C:\\test3a\\;C:\\test3b\\\\\\")
+		var = raptor_data.Variant("my.var")
+		var.AddOperation(raptor_data.Env("ENVVAR_BSLASH_END1"))
+		var.AddOperation(raptor_data.Env("ENVVAR_BSLASH_END2"))
+		var.AddOperation(raptor_data.Env("ENVVAR_BSLASH_END3"))
+
+		eval = aRaptor.GetEvaluator(None, var.GenerateBuildUnits(aRaptor.cache)[0])
+		self.RestoreEnv("ENVVAR_BSLASH_END1")
+		self.RestoreEnv("ENVVAR_BSLASH_END2")
+		self.RestoreEnv("ENVVAR_BSLASH_END3")
+		
+		value = eval.Get("ENVVAR_BSLASH_END1")
+		self.assertEqual(value, "C:\\test1a\\;C:\\test1b\\\\")
+		
+		value = eval.Get("ENVVAR_BSLASH_END2")
+		self.assertEqual(value, "C:\\test2a\\;C:\\test2b\\\\")
+		
+		value = eval.Get("ENVVAR_BSLASH_END3")
+		self.assertEqual(value, "C:\\test3a\\;C:\\test3b\\\\\\\\")
+		
+		# 2: check 'tool' and 'toolchain' type environment variable values for correct behaviour when paths contain spaces
+		# this is different depending on host OS platform and whether or not the paths/tools actually exist
+		epocroot = os.path.abspath(os.environ.get('EPOCROOT')).replace('\\','/').rstrip('/')
+		pathwithspaces = epocroot+"/epoc32/build/Program Files/Some tool installed with spaces/no_spaces/s p c/no_more_spaces"
+		toolwithspaces = pathwithspaces+"/testtool.exe"	
+		self.SetEnv("ENVVAR_TOOL_WITH_SPACES", toolwithspaces)
+		self.SetEnv("ENVVAR_TOOLCHAINPATH_WITH_SPACES", pathwithspaces)
+		toolVar = raptor_data.Variant("tool.var")
+		toolchainpathVar = raptor_data.Variant("toolchainpath.var")
+		toolVar.AddOperation(raptor_data.Env("ENVVAR_TOOL_WITH_SPACES", "", "tool"))
+		toolchainpathVar.AddOperation(raptor_data.Env("ENVVAR_TOOLCHAINPATH_WITH_SPACES", "", "toolchainpath"))
+		invalidValueException = "the environment variable %s is incorrect - it is a '%s' type but contains spaces that cannot be neutralised:"
+		
+		# 2a: paths/tools exist - on Windows we expect 8.3 paths post-evaluation, on all other platforms error exceptions
+		os.makedirs(pathwithspaces)
+		testtool = open(toolwithspaces,'wb')
+		testtool.close()
+		
+		exceptionText = ""
+		value = ""
+		try:
+			eval = aRaptor.GetEvaluator(None, toolVar.GenerateBuildUnits(aRaptor.cache)[0])
+			value = eval.Get("ENVVAR_TOOL_WITH_SPACES")
+		except Exception, e:
+			exceptionText = str(e)
+			
+		if self.isWin():
+			self.assertTrue(value)
+			self.assertFalse(' ' in value)
+		else:
+			self.assertTrue(exceptionText.startswith(invalidValueException % ("ENVVAR_TOOL_WITH_SPACES", "tool")))
+
+		exceptionText = ""
+		value = ""
+		try:
+			eval = aRaptor.GetEvaluator(None, toolchainpathVar.GenerateBuildUnits(aRaptor.cache)[0])
+			value = eval.Get("ENVVAR_TOOLCHAINPATH_WITH_SPACES")
+		except Exception, e:
+			exceptionText = str(e)
+			
+		if self.isWin():
+			self.assertTrue(value)
+			self.assertFalse(' ' in value)
+		else:
+			self.assertTrue(exceptionText.startswith(invalidValueException % ("ENVVAR_TOOLCHAINPATH_WITH_SPACES", "toolchainpath")))
+		
+		# 2b: paths/tools don't exist - should throw error exceptions on all platforms as 8.3 paths are only available
+		# for use if a path/tool exists
+		os.remove(toolwithspaces)
+		os.removedirs(pathwithspaces)
+
+		exceptionText = ""
+		try:
+			eval = aRaptor.GetEvaluator(None, toolVar.GenerateBuildUnits(aRaptor.cache)[0])
+		except Exception, e:
+			exceptionText = str(e)
+		self.assertTrue(exceptionText.startswith(invalidValueException % ("ENVVAR_TOOL_WITH_SPACES", "tool")))
+
+		exceptionText = ""
+		try:
+			eval = aRaptor.GetEvaluator(None, toolchainpathVar.GenerateBuildUnits(aRaptor.cache)[0])
+		except Exception, e:
+			exceptionText = str(e)			
+		self.assertTrue(exceptionText.startswith(invalidValueException % ("ENVVAR_TOOLCHAINPATH_WITH_SPACES", "toolchainpath")))
+
+		# clean-up
+		self.RestoreEnv("ENVVAR_TOOL_WITH_SPACES")
+		self.RestoreEnv("ENVVAR_TOOLCHAINPATH_WITH_SPACES")
+	
+	def testMissingEnvironment(self):
+		# ask for an environment variable that is not set
+		# and has no default value.
+		var = raptor_data.Variant("my.var")
+		var.AddOperation(raptor_data.Env("RAPTOR_SAYS_NO"))
+
+		aRaptor = raptor.Raptor()
+	
+		try:	
+			eval = aRaptor.GetEvaluator(None, var.GenerateBuildUnits(aRaptor.cache)[0] )
+			badval = eval.Get("RAPTOR_SAYS_NO")
+		except raptor_data.UninitialisedVariableException, e:
+			return
+
+		self.assertTrue(False)
+
+	def checkForParam(self, params, name, default):
+		for p in params:
+			if p.name == name and (default == None or p.default == default):
+				return True
+		return False
+	
+	def testInterface(self):
+		aRaptor = raptor.Raptor()
+		cache = aRaptor.cache
+		cache.Load(generic_path.Join(aRaptor.home, "test", "config", "interface.xml"))
+		
+		base = cache.FindNamedInterface("Base.XYZ")
+		p = base.GetParams(cache)
+		self.failUnless(self.checkForParam(p, "A", None))
+		self.failUnless(self.checkForParam(p, "B", "baseB"))
+		self.failUnless(self.checkForParam(p, "C", "baseC"))
+		
+		extended = cache.FindNamedInterface("Extended.XYZ")
+		p = extended.GetParams(cache)
+		self.failUnless(self.checkForParam(p, "A", None))
+		self.failUnless(self.checkForParam(p, "B", "baseB"))
+		self.failUnless(self.checkForParam(p, "C", "extC"))
+		self.failUnless(self.checkForParam(p, "D", None))
+		f = extended.GetFLMIncludePath(cache=cache)
+		self.assertEqual(f.File(), "ext.flm")
+		
+		extended = cache.FindNamedInterface("Extended2.XYZ")
+		p = extended.GetParams(cache)
+		self.failUnless(self.checkForParam(p, "A", None))
+		self.failUnless(self.checkForParam(p, "B", "baseB"))
+		self.failUnless(self.checkForParam(p, "C", "extC"))
+		self.failUnless(self.checkForParam(p, "D", None))
+		f = extended.GetFLMIncludePath(cache)
+		self.assertEqual(f.File(), "base.flm")
+
+	def testGetBuildUnits(self):
+		r = raptor.Raptor()
+
+		# <group name="g1">
+		g1 = raptor_data.Group("g1")
+		r.cache.AddGroup(g1)
+		
+		# <groupRef ref="g2" mod="A.B"/>
+		g2a = raptor_data.GroupRef()
+		g2a.SetProperty("ref", "g2")
+		g2a.SetProperty("mod", "A.B")
+		g1.AddChild(g2a)
+		
+		# <groupRef ref="g2" mod="C.D"/>
+		g2b = raptor_data.GroupRef()
+		g2b.SetProperty("ref", "g2")
+		g2b.SetProperty("mod", "C.D")
+		g1.AddChild(g2b)
+		
+		# <group name="g2">
+		g2 = raptor_data.Group("g2")
+		r.cache.AddGroup(g2)
+		
+		# <varRef ref="V" mod="E.F"/>
+		v2 = raptor_data.VariantRef()
+		v2.SetProperty("ref", "V")
+		v2.SetProperty("mod", "E.F")
+		g2.AddChild(v2)
+		
+		# <varRef ref="V" mod="G.H"/>
+		v3 = raptor_data.VariantRef()
+		v3.SetProperty("ref", "V")
+		v3.SetProperty("mod", "G.H")
+		g2.AddChild(v3)
+		
+		# <aliasRef ref="X" mod="I.J"/>
+		v4 = raptor_data.AliasRef()
+		v4.SetProperty("ref", "X")
+		v4.SetProperty("mod", "I.J")
+		g2.AddChild(v4)
+		
+		# <aliasRef ref="X" mod="K.L"/>
+		v5 = raptor_data.AliasRef()
+		v5.SetProperty("ref", "X")
+		v5.SetProperty("mod", "K.L")
+		g2.AddChild(v5)
+		
+		r.cache.AddVariant(raptor_data.Variant("A"))
+		r.cache.AddVariant(raptor_data.Variant("B"))
+		r.cache.AddVariant(raptor_data.Variant("C"))
+		r.cache.AddVariant(raptor_data.Variant("D"))
+		r.cache.AddVariant(raptor_data.Variant("E"))
+		r.cache.AddVariant(raptor_data.Variant("F"))
+		r.cache.AddVariant(raptor_data.Variant("G"))
+		r.cache.AddVariant(raptor_data.Variant("H"))
+		r.cache.AddVariant(raptor_data.Variant("I"))
+		r.cache.AddVariant(raptor_data.Variant("J"))
+		r.cache.AddVariant(raptor_data.Variant("K"))
+		r.cache.AddVariant(raptor_data.Variant("L"))
+		
+		r.cache.AddVariant(raptor_data.Variant("V"))
+		
+		# <alias name="X" meaning="A.B.C.D.E.F.G.H/>
+		alias = raptor_data.Alias("X")
+		alias.SetProperty("meaning", "A.B.C.D.E.F.G.H")
+		r.cache.AddAlias(alias)
+
+		r.cache.AddVariant(raptor_data.Variant("Y"))
+		r.cache.AddVariant(raptor_data.Variant("Z"))
+	
+		units = raptor_data.GetBuildUnits(["g1.Y", "g1.Z"], r.cache, r)
+		
+		# <group name="g1">
+		#   <groupRef ref="g2" mod="A.B"/>    g2.A.B
+		#   <groupRef ref="g2" mod="C.D"/>    g2.C.D
+		# </group>
+		# <group name="g2">
+		#   <varRef ref="V" mod="E.F"/>       V.E.F
+		#   <varRef ref="V" mod="G.H"/>       V.G.H
+		#   <aliasRef ref="X" mod="I.J"/>     X.I.J
+		#   <aliasRef ref="X" mod="K.L"/>     X.K.L
+		# </group>
+		# <alias name="X" meaning="A.B.C.D.E.F.G.H/>
+		#
+		expected = [ "VEFABY", "VGHABY", "ABCDEFGHIJABY", "ABCDEFGHKLABY",
+				     "VEFCDY", "VGHCDY", "ABCDEFGHIJCDY", "ABCDEFGHKLCDY",
+		             "VEFABZ", "VGHABZ", "ABCDEFGHIJABZ", "ABCDEFGHKLABZ",
+				     "VEFCDZ", "VGHCDZ", "ABCDEFGHIJCDZ", "ABCDEFGHKLCDZ" ]
+		
+		self.failUnlessEqual(len(units), len(expected))
+		
+		for u in units:
+			vars = "".join([v.name for v in u.variants])
+			self.failUnless(vars in expected, vars + " was not expected")
+			expected.remove(vars)
+		
+		self.failUnless(len(expected) == 0, str(expected) + " not found")
+		
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_data_unit"
+
+	tests = unittest.makeSuite(TestRaptorData)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_make_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,409 @@
+#
+# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# raptor_make_unit module
+# This module tests the classes that write Makefile wrappers.
+#
+
+import os
+import raptor
+import raptor_data
+import raptor_make
+import unittest
+
+class TestRaptorMake(unittest.TestCase):
+
+	def cleanMakefiles(self, fileList):
+		for file in fileList:
+			name = file.GetLocalString()
+			if os.path.exists(name):
+				os.remove(name)
+			
+	def checkMakefiles(self, fileList):
+		for file in fileList:
+			name = file.GetLocalString()
+			if not os.path.exists(name):
+				print "did not find", name
+				return False
+		return True
+	
+	def checkNotMakefiles(self, fileList):
+		for file in fileList:
+			name = file.GetLocalString()
+			if os.path.exists(name):
+				print "found unwanted", name
+				return False
+		return True
+	
+	def testSimpleMake(self):
+		# use a bare Raptor object
+		aRaptor = raptor.Raptor()
+		aRaptor.ProcessConfig()
+		aRaptor.LoadCache()
+		aRaptor.pruneDuplicateMakefiles = False
+		aRaptor.writeSingleMakefile = False
+		
+		# find the test directory
+		testDir = aRaptor.home.Append("test", "tmp")
+		
+		# set up a build with a single Specification node
+		spec = raptor_data.Specification("myProject")
+		
+		interface = raptor_data.Interface("EXE")
+		interface.SetProperty("flm", "/lib/flm/exe.flm")
+		interface.AddParameter(raptor_data.Parameter("EXEPARAM1"))
+		interface.AddParameter(raptor_data.Parameter("EXEPARAM2"))
+		interface.AddParameter(raptor_data.Parameter("EXEPARAM3"))
+		spec.SetInterface(interface)
+		
+		svar = raptor_data.Variant("SVAR")
+		svar.AddOperation(raptor_data.Set("EXEPARAM1", "parameter 1"))
+		svar.AddOperation(raptor_data.Set("EXEPARAM2", "parameter 2"))
+		spec.AddVariant(svar)
+		
+		# use a minimal Configuration
+		conf = raptor_data.Variant("myConfig")
+		cvar = raptor_data.Variant("CVAR")
+		cvar.AddOperation(raptor_data.Set("EXEPARAM3", "parameter 3"))
+		bldunit = raptor_data.BuildUnit("myConfig.CVAR",[conf,cvar])
+		
+		# delete any old Makefiles
+		m1 = testDir.Append("Makefile")
+		m2 = testDir.Append("myConfig.CVAR", "myProject", "Makefile")
+		makefiles = [m1, m2]
+		self.cleanMakefiles(makefiles)
+		
+		# create new Makefiles
+		maker = raptor_make.MakeEngine(aRaptor)
+		maker.Write(m1, [spec], [bldunit])
+		
+		# test and clean
+		self.failUnless(self.checkMakefiles(makefiles))
+		self.cleanMakefiles(makefiles)
+
+
+	def testMultiSpecMultiConfigMake(self):
+		# use a bare Raptor object
+		aRaptor = raptor.Raptor()
+		aRaptor.ProcessConfig()
+		aRaptor.LoadCache()
+		aRaptor.pruneDuplicateMakefiles = False
+		aRaptor.writeSingleMakefile = False
+		
+		# find the test directory
+		testDir = aRaptor.home.Append("test", "tmp")
+		
+		interface = raptor_data.Interface("EXE")
+		interface.SetProperty("flm", "/lib/flm/exe.flm")
+		interface.AddParameter(raptor_data.Parameter("EXEPARAM1"))
+		interface.AddParameter(raptor_data.Parameter("EXEPARAM2"))
+		
+		# set up a build with 2 top-level Specification nodes
+		
+		# top 1 has 2 sub-nodes
+		top1 = raptor_data.Specification("top1")
+		top1.SetInterface(interface)
+		top1v = raptor_data.Variant()
+		top1v.AddOperation(raptor_data.Set("EXEPARAM1", "top1 p1"))
+		top1.AddVariant(top1v)
+		# top 1 child 1 has 1 sub-node
+		top1c1 = raptor_data.Specification("top1c1")
+		top1c1.SetInterface(interface)
+		top1c1v = raptor_data.Variant()
+		top1c1v.AddOperation(raptor_data.Set("EXEPARAM1", "top1c1 p1"))
+		top1c1.AddVariant(top1c1v)
+		# top 1 child 1 child
+		top1c1c = raptor_data.Specification("top1c1c")
+		top1c1c.SetInterface(interface)
+		top1c1cv = raptor_data.Variant()
+		top1c1cv.AddOperation(raptor_data.Set("EXEPARAM1", "top1c1c p1"))
+		top1c1c.AddVariant(top1c1cv)
+		top1c1.AddChildSpecification(top1c1c)
+		# top 1 child 2 has 1 sub-node
+		top1c2 = raptor_data.Specification("top1c2")
+		top1c2.SetInterface(interface)
+		top1c2v = raptor_data.Variant()
+		top1c2v.AddOperation(raptor_data.Set("EXEPARAM1", "top1c2 p1"))
+		top1c2.AddVariant(top1c2v)
+		# top 1 child 2 child
+		top1c2c = raptor_data.Specification("top1c2c")
+		top1c2c.SetInterface(interface)
+		top1c2cv = raptor_data.Variant()
+		top1c2cv.AddOperation(raptor_data.Set("EXEPARAM1", "top1c2c p1"))
+		top1c2c.AddVariant(top1c2cv)
+		top1c2.AddChildSpecification(top1c2c)
+		#
+		top1.AddChildSpecification(top1c1)
+		top1.AddChildSpecification(top1c2)
+		
+		# top 2 has no sub-nodes
+		top2 = raptor_data.Specification("top2")
+		top2.SetInterface(interface)
+		top2v = raptor_data.Variant()
+		top2v.AddOperation(raptor_data.Set("EXEPARAM1", "top2 p1"))
+		top2.AddVariant(top2v)
+		#
+		
+		# use a pair of minimal Configurations
+		
+		conf1 = raptor_data.Variant("conf1")
+		c1var = raptor_data.Variant()
+		c1var.AddOperation(raptor_data.Set("EXEPARAM2", "conf1 p2"))
+		buildunit1 = raptor_data.BuildUnit("conf1.c1var",[conf1,c1var])
+		
+		conf2 = raptor_data.Variant("conf2")
+		c2var = raptor_data.Variant()
+		c2var.AddOperation(raptor_data.Set("EXEPARAM2", "conf2 p2"))
+		buildunit2 = raptor_data.BuildUnit("conf2.c2var",[conf2,c2var])
+		
+		# delete any old Makefiles
+		makefiles = [testDir.Append("Makefile")]
+		makefiles.append(testDir.Append("conf1.c1var", "top1", "Makefile"))
+		makefiles.append(testDir.Append("conf1.c1var", "top1", "top1c1", "Makefile"))
+		makefiles.append(testDir.Append("conf1.c1var", "top1", "top1c1", "top1c1c", "Makefile"))
+		makefiles.append(testDir.Append("conf1.c1var", "top1", "top1c2", "Makefile"))
+		makefiles.append(testDir.Append("conf1.c1var", "top1", "top1c2", "top1c2c", "Makefile"))
+		makefiles.append(testDir.Append("conf1.c1var", "top2", "Makefile"))
+		makefiles.append(testDir.Append("conf2.c2var", "top1", "Makefile"))
+		makefiles.append(testDir.Append("conf2.c2var", "top1", "top1c1", "Makefile"))
+		makefiles.append(testDir.Append("conf2.c2var", "top1", "top1c1", "top1c1c", "Makefile"))
+		makefiles.append(testDir.Append("conf2.c2var", "top1", "top1c2", "Makefile"))
+		makefiles.append(testDir.Append("conf2.c2var", "top1", "top1c2", "top1c2c", "Makefile"))
+		makefiles.append(testDir.Append("conf2.c2var", "top2", "Makefile"))
+		self.cleanMakefiles(makefiles)
+		
+		# create new Makefiles
+		maker = raptor_make.MakeEngine(aRaptor)
+		maker.Write(makefiles[0], [top1, top2], [buildunit1, buildunit2])
+		
+		# test and clean
+		self.failUnless(self.checkMakefiles(makefiles))
+		self.cleanMakefiles(makefiles)
+		
+		
+	def testFilteredMake(self):
+		# use a bare Raptor object
+		aRaptor = raptor.Raptor()
+		aRaptor.ProcessConfig()
+		aRaptor.LoadCache()
+		aRaptor.pruneDuplicateMakefiles = False
+		aRaptor.writeSingleMakefile = False
+		aRaptor.debugOutput = True
+		
+		# find the test directory
+		testDir = aRaptor.home.Append("test", "tmp")
+		
+		# the root Specification is a Filter
+		top = raptor_data.Filter("top")
+		
+		# the test condition
+		top.SetVariableCondition("SWITCH", "ARM")
+		top.AddVariableCondition("TOGGLE", ["A", "B", "C"])
+		top.SetConfigCondition("confA.confAv")
+		top.AddConfigCondition("confB.confBv")
+		
+		# True part
+		ifaceT = raptor_data.Interface("T.EXE")
+		ifaceT.SetProperty("flm", "/lib/flm/exeT.flm")
+		ifaceT.AddParameter(raptor_data.Parameter("TEXEPARAM"))
+		ifaceT.AddParameter(raptor_data.Parameter("SWITCH"))
+		ifaceT.AddParameter(raptor_data.Parameter("TOGGLE"))
+		top.SetInterface(ifaceT)
+		#
+		varT = raptor_data.Variant()
+		varT.AddOperation(raptor_data.Set("TEXEPARAM", "top True"))
+		top.AddVariant(varT)
+		#
+		childT = raptor_data.Specification("Tchild")
+		childT.SetInterface(ifaceT)
+		childTv = raptor_data.Variant()
+		childTv.AddOperation(raptor_data.Set("TEXEPARAM", "child True"))
+		childT.AddVariant(childTv)
+		#
+		top.AddChildSpecification(childT)
+		
+		# False part
+		ifaceF = raptor_data.Interface("F.EXE")
+		ifaceF.SetProperty("flm", "/lib/flm/exeF.flm")
+		ifaceF.AddParameter(raptor_data.Parameter("FEXEPARAM"))
+		ifaceF.AddParameter(raptor_data.Parameter("SWITCH"))
+		ifaceF.AddParameter(raptor_data.Parameter("TOGGLE"))
+		top.Else.SetInterface(ifaceF)
+		#
+		varF = raptor_data.Variant()
+		varF.AddOperation(raptor_data.Set("FEXEPARAM", "top False"))
+		top.Else.AddVariant(varF)
+		#
+		childF = raptor_data.Specification("Fchild")
+		childF.SetInterface(ifaceF)
+		childFv = raptor_data.Variant()
+		childFv.AddOperation(raptor_data.Set("FEXEPARAM", "child False"))
+		childF.AddVariant(childFv)
+		#
+		top.Else.AddChildSpecification(childF)
+		
+		
+		# Configurations
+		
+		confA = raptor_data.Variant("confA")	# hit
+		confAv = raptor_data.Variant()
+		confAv.AddOperation(raptor_data.Set("SWITCH", "confA switch"))
+		confAv.AddOperation(raptor_data.Set("TOGGLE", "confA toggle"))
+		b1 = raptor_data.BuildUnit("confA.confAv",[confA,confAv])
+		
+		confB = raptor_data.Variant("confB")	# hit
+		confBv = raptor_data.Variant()
+		confBv.AddOperation(raptor_data.Set("SWITCH", "confB switch"))
+		confBv.AddOperation(raptor_data.Set("TOGGLE", "confB toggle"))
+		b2 = raptor_data.BuildUnit("confB.confBv",[confB,confBv])
+		
+		confC = raptor_data.Variant("confC")
+		confCv = raptor_data.Variant()
+		confCv.AddOperation(raptor_data.Set("SWITCH", "confC switch"))
+		confCv.AddOperation(raptor_data.Set("TOGGLE", "confC toggle"))
+		b3 = raptor_data.BuildUnit("confC.confCv",[confC,confCv])
+		
+		confD = raptor_data.Variant("confD")
+		confDv = raptor_data.Variant()
+		confDv.AddOperation(raptor_data.Set("SWITCH", "ARM"))	# hit
+		confDv.AddOperation(raptor_data.Set("TOGGLE", "confD toggle"))
+		b4 = raptor_data.BuildUnit("confD.confDv",[confD,confDv])
+		
+		confE = raptor_data.Variant("confE")
+		confEv = raptor_data.Variant()
+		confEv.AddOperation(raptor_data.Set("SWITCH", "confE switch"))
+		confEv.AddOperation(raptor_data.Set("TOGGLE", "B"))		# hit
+		b5 = raptor_data.BuildUnit("confE.confEv",[confE,confEv])
+		
+		confF = raptor_data.Variant("confF")
+		confFv = raptor_data.Variant()
+		confFv.AddOperation(raptor_data.Set("SWITCH", "confF switch"))
+		confFv.AddOperation(raptor_data.Set("TOGGLE", "confF toggle"))
+		b6 = raptor_data.BuildUnit("confF.confFv",[confF,confFv])
+		
+		# delete any old Makefiles
+		makefiles = [testDir.Append("Makefile")]
+		makefiles.append(testDir.Append("confA.confAv", "top", "Makefile"))
+		makefiles.append(testDir.Append("confB.confBv", "top", "Makefile"))
+		makefiles.append(testDir.Append("confC.confCv", "top", "Makefile"))
+		makefiles.append(testDir.Append("confD.confDv", "top", "Makefile"))
+		makefiles.append(testDir.Append("confE.confEv", "top", "Makefile"))
+		makefiles.append(testDir.Append("confF.confFv", "top", "Makefile"))
+		makefiles.append(testDir.Append("confA.confAv", "top", "Tchild", "Makefile"))
+		makefiles.append(testDir.Append("confB.confBv", "top", "Tchild", "Makefile"))
+		makefiles.append(testDir.Append("confC.confCv", "top", "Fchild", "Makefile"))
+		makefiles.append(testDir.Append("confD.confDv", "top", "Tchild", "Makefile"))
+		makefiles.append(testDir.Append("confE.confEv", "top", "Tchild", "Makefile"))
+		makefiles.append(testDir.Append("confF.confFv", "top", "Fchild", "Makefile"))
+		self.cleanMakefiles(makefiles)
+		
+		# create new Makefiles
+		maker = raptor_make.MakeEngine(aRaptor)
+		maker.Write(makefiles[0], specs=[top], configs=[b1,b2,b3,b4,b5,b6])
+		
+		# test and clean
+		self.failUnless(self.checkMakefiles(makefiles))
+		self.cleanMakefiles(makefiles)
+		
+
+	def testPruneDuplicates(self):
+		# use a bare Raptor object
+		aRaptor = raptor.Raptor()
+		aRaptor.ProcessConfig()
+		aRaptor.LoadCache()
+		aRaptor.pruneDuplicateMakefiles = True
+		aRaptor.writeSingleMakefile = False
+		
+		# find the test directory
+		testDir = aRaptor.home.Append("test", "tmp")
+		
+		# an interface with defaults
+		iface = raptor_data.Interface("I.EXE")
+		iface.SetProperty("flm", "/lib/flm/iexe.flm")
+		iface.AddParameter(raptor_data.Parameter("A", "1"))
+		iface.AddParameter(raptor_data.Parameter("B", "2"))
+		iface.AddParameter(raptor_data.Parameter("C", "3"))
+		
+		# each Specification is a Filter
+		# f1 is empty, f2 and f3 are equal
+		# so f2 should be the only Makefile generated
+		
+		f1 = raptor_data.Filter("f1")
+		f1.SetConfigCondition("c1")
+		
+		f2 = raptor_data.Filter("f2")
+		f2.SetConfigCondition("c2")
+		f2.SetInterface(iface)
+		
+		f3 = raptor_data.Filter("f3")
+		f3.SetConfigCondition("c3")
+		f3.SetInterface(iface)
+		
+		# Configurations
+		c1 = raptor_data.Variant("c1")
+		c2 = raptor_data.Variant("c2")
+		c3 = raptor_data.Variant("c3")
+
+		# Build Units
+		b1 = raptor_data.BuildUnit("c1",[c1])
+		b2 = raptor_data.BuildUnit("c2",[c2])
+		b3 = raptor_data.BuildUnit("c3",[c3])
+		
+		# Makefiles we expect
+		makefiles = [testDir.Append("Makefile")]
+		makefiles.append(testDir.Append("c2", "f2", "Makefile"))
+		self.cleanMakefiles(makefiles)
+		
+		# Makefiles we do not expect
+		prunes = []
+		prunes.append(testDir.Append("c1", "f1", "Makefile"))
+		prunes.append(testDir.Append("c1", "f2", "Makefile"))
+		prunes.append(testDir.Append("c1", "f3", "Makefile"))
+		prunes.append(testDir.Append("c2", "f1", "Makefile"))
+		prunes.append(testDir.Append("c2", "f3", "Makefile"))
+		prunes.append(testDir.Append("c3", "f1", "Makefile"))
+		prunes.append(testDir.Append("c3", "f2", "Makefile"))
+		prunes.append(testDir.Append("c3", "f3", "Makefile"))
+		self.cleanMakefiles(prunes)
+		
+		# create new Makefiles
+		maker = raptor_make.MakeEngine(aRaptor)
+		maker.Write(makefiles[0], [f1, f2, f3], [b1, b2, b3])
+		
+		# test and clean
+		self.failUnless(self.checkMakefiles(makefiles))
+		self.cleanMakefiles(makefiles)
+		self.failUnless(self.checkNotMakefiles(prunes))
+		self.cleanMakefiles(prunes)
+		
+		
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_make_unit"
+
+	tests = unittest.makeSuite(TestRaptorMake)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_makefile_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,183 @@
+#
+# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# test flm makefile call generator module
+# tests flm call generation.
+#
+
+from raptor_makefile import *
+import re
+import unittest
+import os
+import sys
+
+epocroot = os.path.abspath(os.environ.get('EPOCROOT')).replace("\\","\/")
+topdir = epocroot+"/epoc32/build/raptor_make_unit/"
+
+def unlinkall(files):
+	for f in files:
+		try:
+			os.unlink(f)
+			#print "testsetup: Erased %s" % f	
+			continue
+		except OSError,e:
+			#print "testsetup: No need to erase %s" % f
+			continue
+
+
+def checkall(files):
+	status = True
+	for f in files:
+		if not os.path.isfile(f):
+			print "Missing: %s" % f
+			status = False
+	return status 
+
+class TestMakefile(unittest.TestCase):
+	"Very basic testing of makefile creation class"
+	def setUp(self):
+		print "Setup"
+		self.assertTrue(os.path.isdir(epocroot))
+		unlinkall( [ topdir + "Makefile1",
+			topdir + "Makefile2.testinterface1",
+			topdir + "Makefile3.testinterface1",
+			topdir + "child1/Makefile3.testinterface1" ])
+			
+	def testMakefileCreateEmpty(self):
+		# No makefile is created because nothing is put into the makefile
+		selector = MakefileSelector("testinterface1","testif1$")
+		mf = Makefile(topdir,selector,None,"Makefile1","#prologue","#epilog")
+		mf.close()
+		self.assertFalse(os.path.isfile(topdir+"/Makefile1"))
+
+	def testMakefileCreate(self):
+		selector = MakefileSelector("testinterface1","testif1$")
+		mf = Makefile(topdir,selector,None,"Makefile2","#prologue\n\n","#epilog\n\n")
+		#(self, specname, configname, ifname, flmpath, parameters, guard = None):
+		mf.addCall("testspec", "testconfig","testif1",False,"/flmhome/flm.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		mf.close()
+		self.assertFalse(os.path.isfile(topdir+"/Makefile2"))
+
+	def testMakefileCreateChild(self):
+		selector = MakefileSelector("testinterface1","testif1$")
+		mf = Makefile(topdir,selector,None,"Makefile3","#prologue\n\n","#epilog\n\n")
+		#(self, specname, configname, ifname, flmpath, parameters, guard = None):
+		mf.addCall("testspec2", "testconfig","testif1",False,"/flmhome/flm.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		childmf = mf.createChild("child1")
+		childmf.addCall("test child spec", "testconfig","testif1",False,"/flmhome/flm.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		childmf.addCall("test child spec", "testconfig","testif1",False,"/flmhome/flm.flm",[("TESTPARAM1","call2value1"),("TESTPARAM2","call2value2"),("TESTPARAM3","call2value3")])
+		childmf.close()
+		mf.close()
+		self.assertTrue(os.path.isfile(topdir+"/Makefile3.testinterface1"))
+		self.assertTrue(os.path.isfile(topdir+"/child1/Makefile3.testinterface1"))
+
+
+
+class TestMakefileSet(unittest.TestCase):
+	def setUp(self):
+		print "Setup TestMakefileSet"
+		unlinkall( [ topdir + "Makefile4",
+		  topdir + "Makefile4.bitmap",
+		  topdir + "Makefile4.default",
+		  topdir + "Makefile4.export",
+		  topdir + "Makefile4.resource",
+		  topdir + "Makefile5",
+		  topdir + "Makefile5.bitmap",
+		  topdir + "Makefile5.default",
+		  topdir + "Makefile5.export",
+		  topdir + "Makefile5.resource",
+		  topdir + "makefilechildren/Makefile6.bitmap",
+		  topdir + "makefilechildren/Makefile6.resource",
+		  topdir + "makefilechildren/Makefile6.default",
+		  topdir + "makefilechildren/Makefile6.export",
+		  topdir + "makefilechildren/child1/Makefile6.bitmap",
+		  topdir + "makefilechildren/child1/Makefile6.resource",
+		  topdir + "makefilechildren/child1/Makefile6.default",
+		  topdir + "makefilechildren/child1/Makefile6.export",
+		  topdir + "makefilechildren/child1/Makefile6",
+		  topdir + "makefilechildren/Makefile6" ] )
+		
+
+	def testMakefileSetCreateNull(self):
+		mfset = MakefileSet(directory=topdir, filenamebase="Makefile4", 
+					prologue="# prologue\n\n", epilogue="# epilogue\n\n")
+		mfset.close()
+		self.assertTrue(checkall( [ topdir + "Makefile4",
+			topdir + "Makefile4.bitmap",
+			topdir + "Makefile4.default",
+			topdir + "Makefile4.export",
+			topdir + "Makefile4.resource" ]))
+
+	def testMakefileSetCreate(self):
+		mfset = MakefileSet(directory=topdir, filenamebase="Makefile5", 
+					prologue="# prologue\n\n", epilogue="# epilogue\n\n")
+
+		
+
+		mfset.addCall("testspec3", "testconfig","export",False,"/flmhome/export.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		mfset.addCall("testspec4", "testconfig","resource",False,"/flmhome/resource.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		mfset.addCall("testspec5", "testconfig","bitmap",False,"/flmhome/bitmap.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		mfset.addCall("testspec6", "testconfig","e32abiv2",False,"/flmhome/e32abiv2exe.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		mfset.close()
+		self.assertTrue(checkall( [ 
+		  topdir + "Makefile5",
+		  topdir + "Makefile5.bitmap",
+		  topdir + "Makefile5.default",
+		  topdir + "Makefile5.export",
+		  topdir + "Makefile5.resource" ] ))
+
+	def testMakefileSetChildren(self):
+		mfset = MakefileSet(directory=topdir+"/makefilechildren", filenamebase="Makefile6", prologue="# prologue\n\n", epilogue="# epilogue\n\n")
+		mfset.addCall("testspec3", "testconfig","export",False,"/flmhome/export.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		mfset.addCall("testspec4", "testconfig","resource",False,"/flmhome/resource.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		mfset.addCall("testspec5", "testconfig","bitmap",False,"/flmhome/bitmap.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		mfset.addCall("testspec6", "testconfig","e32abiv2",False,"/flmhome/e32abiv2exe.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		mfset.addCall("testspec7", "testconfig","e32abiv2",False,"/flmhome/e32abiv2exe.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		childmfset = mfset.createChild("child1")
+		childmfset.addCall("testspec7", "testconfig","e32abiv2",False,"/flmhome/e32abiv2exe.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		childmfset.addCall("testspec8", "testconfig","resource",False,"/flmhome/resource.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		childmfset.addCall("testspec9", "testconfig","bitmap",False,"/flmhome/bitmap.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		childmfset.addCall("testspec10", "testconfig","resource",False,"/flmhome/resource.flm",[("TESTPARAM1","testvalue1"),("TESTPARAM2","value2"),("TESTPARAM3","value3")])
+		childmfset.close()
+		mfset.close()
+
+		self.assertTrue(checkall( [ topdir + "makefilechildren/Makefile6.bitmap",
+		  topdir + "makefilechildren/Makefile6.resource",
+		  topdir + "makefilechildren/Makefile6.default",
+		  topdir + "makefilechildren/Makefile6.export",
+		  topdir + "makefilechildren/child1/Makefile6.bitmap",
+		  topdir + "makefilechildren/child1/Makefile6.resource",
+		  topdir + "makefilechildren/child1/Makefile6.default",
+		  topdir + "makefilechildren/child1/Makefile6.export",
+		  topdir + "makefilechildren/child1/Makefile6",
+		  topdir + "makefilechildren/Makefile6" ] ))
+
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_makefile_unit"
+
+	tests = unittest.makeSuite(TestMakefile)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_meta_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,918 @@
+#
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# raptor_meta_unit module
+# This module tests the classes forming the Raptor bld.inf and .mmp parsing support
+#
+
+import raptor
+import raptor_meta
+import raptor_utilities
+import raptor_data
+import mmpparser
+import unittest
+import generic_path
+import os
+import sys
+import re
+
+class TestRaptorMeta(unittest.TestCase):
+
+	def setUp(self):
+		self.raptor = raptor.Raptor()
+		self.__testRoot = generic_path.Path(os.environ[raptor.env], "test").Absolute()
+		self.__makefilePathTestRoot = self.__testRoot
+		self.__epocroot = self.__testRoot
+		self.__variant_cfg_root = self.__testRoot.Append('metadata/config')
+		self.__variant_cfg = self.__variant_cfg_root.Append('test_cfg.cfg')
+		self.__platmacros_armv5 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5"
+		self.__platmacros_armv6 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5 ARMV6"
+		self.__platmacros_armv7 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5 ARMV7"
+		self.__platmacros_winscw = "CW32 WINS WINSCW"
+
+		self.variant_hrh = self.__testRoot.Append('metadata/include/test_hrh.hrh')
+		
+		self.__OSRoot = ""
+		if raptor_utilities.getOSFileSystem() == "cygwin":
+			self.__OSRoot = str(self.__makefilePathTestRoot)[:2]
+
+		# we need some sort of generic platform for preprocessing
+		self.defaultPlatform = { 'PLATFORM': 'generic',
+							     'EPOCROOT': self.__epocroot,
+							     'VARIANT_HRH': self.variant_hrh,
+							     'SYSTEMINCLUDE' : '',
+							     'id': 0,
+							     'key': '0000000000000000',
+							     'key_md5': '0000000000000000',
+							     'ISFEATUREVARIANT' : False,
+							     'PLATMACROS' : self.__platmacros_armv5,
+								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
+								 'METADEPS' : [] 
+							   }
+		# For testing purposes, the ARMV5 platform is flagged here as feature variant.
+		# In metadata processing terms, this means that the location of the HRH file
+		# is not automatically added to the SYSTEMINCLUDE path, and so is specified
+		# directly.
+		self.ARMV5           = { 'PLATFORM': 'ARMV5',
+							     'EPOCROOT': self.__epocroot,
+							     'VARIANT_HRH': self.variant_hrh,
+							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
+							     'id': 1,
+							     'key': '1111111111111111',
+							     'key_md5': '1111111111111111',
+							     'ISFEATUREVARIANT' : True,
+							     'PLATMACROS' : self.__platmacros_armv5,
+								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
+								 'METADEPS' : [] 
+							   }
+		self.ARMV5SMP        = { 'PLATFORM': 'ARMV5SMP',
+							     'EPOCROOT': self.__epocroot,
+							     'VARIANT_HRH': self.variant_hrh,
+							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
+							     'id': 1,
+							     'key': '1111111111111111',
+							     'key_md5': '1111111111111111',
+							     'ISFEATUREVARIANT' : False,
+							     'PLATMACROS' : self.__platmacros_armv5,
+								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
+								 'METADEPS' : [] 
+							   }
+		self.ARMV6           = { 'PLATFORM': 'ARMV6',
+							     'EPOCROOT': self.__epocroot,
+							     'VARIANT_HRH': self.variant_hrh,
+							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
+							     'id': 1,
+							     'key': '1111111111111111',
+							     'key_md5': '1111111111111111',
+							     'ISFEATUREVARIANT' : False,
+							     'PLATMACROS' : self.__platmacros_armv6,
+								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
+								 'METADEPS' : [] 
+							   }
+		self.ARMV7           = { 'PLATFORM': 'ARMV7',
+							     'EPOCROOT': self.__epocroot,
+							     'VARIANT_HRH': self.variant_hrh,
+							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
+							     'id': 1,
+							     'key': '1111111111111111',
+							     'key_md5': '1111111111111111',
+							     'ISFEATUREVARIANT' : False,
+							     'PLATMACROS' : self.__platmacros_armv7,
+								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
+								 'METADEPS' : [] 
+							   }
+		self.ARMV7SMP         = { 'PLATFORM': 'ARMV7SMP',
+							     'EPOCROOT': self.__epocroot,
+							     'VARIANT_HRH': self.variant_hrh,
+							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
+							     'id': 1,
+							     'key': '1111111111111111',
+							     'key_md5': '1111111111111111',
+							     'ISFEATUREVARIANT' : False,
+							     'PLATMACROS' : self.__platmacros_armv7,
+								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
+								 'METADEPS' : [] 
+							   }
+		self.WINSCW          = { 'PLATFORM': 'WINSCW',
+							     'EPOCROOT': self.__epocroot,
+							     'VARIANT_HRH': self.variant_hrh,
+							     'SYSTEMINCLUDE' : '',
+							     'id': 2,
+							     'key': '2222222222222222',
+							     'key_md5': '2222222222222222',
+							     'ISFEATUREVARIANT' : False,
+							     'PLATMACROS' : self.__platmacros_winscw,
+								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
+								 'METADEPS' : [] 
+							   }
+				
+		self.testPlats = [self.ARMV5, self.ARMV5SMP, self.ARMV6, self.ARMV7, self.ARMV7SMP, self.WINSCW]
+		
+		# Get the version of CPP that we are using and hope it's correct
+		# since there is no tool check.
+		if os.environ.has_key('SBS_GNUCPP'):
+			self.__gnucpp = os.environ['SBS_GNUCPP']
+		else: 
+			self.__gnucpp = "cpp" 
+	
+	def testPreProcessor(self):
+		# Just test for correct behaviour on failure, other tests excercise correct behaviour on success
+		preProcessor = raptor_meta.PreProcessor('cpp_that_does_not_exist', 
+											    '-undef -nostdinc', 
+											    '-I', '-D', '-include',
+											    self.raptor)
+
+		try:
+			 preProcessor.preprocess()
+		except Exception, e:
+			self.assertTrue(isinstance(e, raptor_meta.MetaDataError))
+			self.assertTrue(re.match('^Preprocessor exception', e.Text))
+
+	def testConfigParsing(self):
+		# .cfg file specified, but does not exist		
+		try:
+			configDetails = raptor_meta.getVariantCfgDetail(self.__epocroot, 
+														    self.__variant_cfg_root.Append("missing"))
+		except Exception, e:
+			self.assertTrue(isinstance(e, raptor_meta.MetaDataError))
+			self.assertTrue(re.match('^Could not read variant configuration file.*$', e.Text))
+			
+		# No .hrh file specified
+		try:
+			configDetails = raptor_meta.getVariantCfgDetail(self.__epocroot,
+														    self.__variant_cfg_root.Append("empty_cfg.cfg"))
+		except Exception, e:
+			self.assertTrue(isinstance(e, raptor_meta.MetaDataError))
+			self.assertTrue(re.match('No variant file specified in .*', e.Text))
+					
+		# .hrh file does not exist
+		try:
+			configDetails = raptor_meta.getVariantCfgDetail(self.__epocroot,
+														    self.__variant_cfg_root.Append("invalid_cfg.cfg"))
+		except Exception, e:
+			self.assertTrue(isinstance(e, raptor_meta.MetaDataError))
+			self.assertTrue(re.match('Variant file .* does not exist', e.Text))
+				
+		# Valid .cfg file
+		configDetails = raptor_meta.getVariantCfgDetail(self.__epocroot, 
+													    self.__variant_cfg)
+		self.failUnless(configDetails)
+		
+		found_variant_hrh = str(configDetails.get('VARIANT_HRH'))	
+		expected_variant_hrh = str(self.variant_hrh)
+		
+		self.assertEqual(found_variant_hrh, expected_variant_hrh)
+	
+
+	def __testBuildPlatforms(self, aRootBldInfLocation, aBldInfFile, 
+							 aExpectedBldInfPlatforms, aExpectedBuildablePlatforms):
+		bldInfFile = aRootBldInfLocation.Append(aBldInfFile)
+		self.failUnless(bldInfFile)
+		
+		depfiles=[]
+		bldInfObject = raptor_meta.BldInfFile(bldInfFile, self.__gnucpp, depfiles=depfiles, log=self.raptor)
+		
+		bp = bldInfObject.getBuildPlatforms(self.defaultPlatform)
+		self.assertEquals(bp, aExpectedBldInfPlatforms)
+
+		buildableBldInfBuildPlatforms = raptor_meta.getBuildableBldInfBuildPlatforms(bp,
+				'ARMV5 ARMV7 WINSCW',
+				'ARMV5 ARMV5SMP ARMV7 WINSCW',
+				'ARMV5 ARMV7 WINSCW')
+		
+		for expectedBuildablePlatform in aExpectedBuildablePlatforms:
+			self.assertTrue(expectedBuildablePlatform in buildableBldInfBuildPlatforms)
+			
+		self.assertEqual(len(aExpectedBuildablePlatforms),
+						 len(buildableBldInfBuildPlatforms))
+		return
+	
+	def testBldInfPlatformDeduction(self):
+		bldInfTestRoot = self.__testRoot.Append('metadata/project/bld.infs')
+				
+		self.__testBuildPlatforms(bldInfTestRoot, 'no_prj_platforms.inf', 
+								  [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML'])
+		self.__testBuildPlatforms(bldInfTestRoot, 'no_plats.inf', 
+								  [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML'])
+		self.__testBuildPlatforms(bldInfTestRoot, 'default_plats.inf', 
+								  ['DEFAULT'], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML'])
+		self.__testBuildPlatforms(bldInfTestRoot, 'default_plats_minus_plat.inf', 
+								  ['DEFAULT', '-WINSCW'], ['ARMV7', 'ARMV5', 'GCCXML'])
+		self.__testBuildPlatforms(bldInfTestRoot, 'single_plat.inf', 
+								  ['ARMV5'], ['ARMV5', 'GCCXML'])
+		self.__testBuildPlatforms(bldInfTestRoot, 'multiple_plats.inf', 
+								  ['ARMV5', 'WINSCW', 'TOOLS'], ['ARMV5', 'WINSCW', 'TOOLS', 'GCCXML'])
+		return
+	
+	def __testBldInfTestCode(self, aTestRoot, aBldInf, aActual, aExpected):
+		loop_number = 0
+		for actual in aActual:
+			self.assertEquals(actual, aExpected[loop_number])
+			loop_number += 1
+		
+	def testBldInfTestType(self):
+		bldInfTestRoot = self.__testRoot.Append('metadata/project/mmps/test_mmps')
+		
+		bldInfFile = bldInfTestRoot.Append('test_mmps.inf')
+		depfiles = []
+		bldInfObject = raptor_meta.BldInfFile(bldInfFile, self.__gnucpp, depfiles=depfiles, log=self.raptor)
+		testArmv5Platform = self.ARMV5
+		testArmv5Platform["TESTCODE"] = True
+		bldInfObject.getRomTestType(testArmv5Platform)
+		
+		self.__testBldInfTestCode(bldInfTestRoot, 'test_mmps.inf',
+				[bldInfObject.testManual, bldInfObject.testAuto], [1, 1])
+	
+	def __testExport(self, aExportObject, aSource, aDestination, aAction):			
+		self.assertEquals(aExportObject.getSource(), aSource)
+		self.assertEqualsOrContainsPath(aExportObject.getDestination(), aDestination)
+		self.assertEquals(aExportObject.getAction(), aAction)
+	
+	def assertEqualsOrContainsPath(self, aRequirement, aCandidate):
+		# If aRequirement is a list, which it might well be, we should
+		# assert that aPathString is contained in it
+		# If aRequirement not a list, it will be a string, and 
+		# we should assert equality of the strings
+		# On windows we shouldn't care about the case of the drive letter.
+
+		if isinstance(aRequirement, list):
+			pathsequal = False
+			for r in aRequirement:
+				pathsequal = path_compare_notdrivelettercase(r,aCandidate) or pathsequal
+			self.assertTrue(pathsequal)
+		else:
+			self.assertTrue(path_compare_notdrivelettercase(aRequirement,aCandidate))
+		
+	def testBldInfExports(self):
+		bldInfTestRoot = self.__testRoot.Append('metadata/project/bld.infs')
+		bldInfMakefilePathTestRoot = str(self.__makefilePathTestRoot) + '/metadata/project/'
+		
+		depfiles = []
+		bldInfObject = raptor_meta.BldInfFile(bldInfTestRoot.Append('exports.inf'), 
+											  self.__gnucpp, depfiles=depfiles, log=self.raptor)
+					
+		exports = bldInfObject.getExports(self.defaultPlatform)
+		
+		# export1.h
+		self.__testExport(exports[0], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export1.h', 
+						  '$(EPOCROOT)/epoc32/include/export1.h', 
+						  'copy')
+
+		# export2.h				export_test\export2.h
+		self.__testExport(exports[1], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export2.h', 
+						  '$(EPOCROOT)/epoc32/include/export_test/export2.h', 
+						  'copy')
+		
+		# export3.h				..\export_test\export3.h
+		self.__testExport(exports[2], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export3.h', 
+						  '$(EPOCROOT)/epoc32/export_test/export3.h', 
+						  'copy')
+		
+		# export4.h				\export_test_abs\export4.h
+		self.__testExport(exports[3], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export4.h', 
+						  self.__OSRoot+'/export_test_abs/export4.h', 
+						  'copy')
+
+		# export5.h				\epoc32\export_test_abs\export5.h
+		self.__testExport(exports[4], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export5.h', 
+						  '$(EPOCROOT)/epoc32/export_test_abs/export5.h', 
+						  'copy')
+		
+		# export6.h				|..\export_test_rel\export6.h
+		self.__testExport(exports[5], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export6.h', 
+						  bldInfMakefilePathTestRoot+'export_test_rel/export6.h', 
+						  'copy')
+		
+		# export6.h				|\export_test_rel\export7.h
+		self.__testExport(exports[6], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export7.h', 
+						  bldInfMakefilePathTestRoot+'bld.infs/export_test_rel/export7.h',
+						  'copy')
+		
+		# export7.h				|export_test_rel\export8.h
+		self.__testExport(exports[7], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export8.h', 
+						  bldInfMakefilePathTestRoot+'bld.infs/export_test_rel/export8.h', 
+						  'copy')
+
+		# :zip export9.zip
+		self.__testExport(exports[8], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export9.zip', 
+						  '$(EPOCROOT)', 
+						  'unzip')
+
+		# :zip export10.zip		export_test
+		self.__testExport(exports[9], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export10.zip', 
+						  '$(EPOCROOT)/export_test', 
+						  'unzip')
+
+		# :zip export11.zip		/export_test
+		self.__testExport(exports[10], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export11.zip', 
+						  self.__OSRoot+'/export_test', 
+						  'unzip')
+
+		# :zip export12.zip		/epoc32/export_test
+		self.__testExport(exports[11], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export12.zip', 
+						  '$(EPOCROOT)/epoc32/export_test', 
+						  'unzip')
+ 
+		# export13.rsc			z:/resource/app/export13.rsc
+		# Once for each of the three locations for emulated drives
+		# epoc32/data/z/resource/app/export13.rsc *and* in
+		# epoc32/release/winscw/udeb/z/resource/app/export13.rsc *and* in
+		# epoc32/release/winscw/urel/z/resource/app/export13.rsc
+		self.__testExport(exports[12], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export13.rsc', 
+						  '$(EPOCROOT)/epoc32/data/z/resource/app/export13.rsc', 
+						  'copy')
+		
+		self.__testExport(exports[12], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export13.rsc', 
+						  '$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/app/export13.rsc', 
+						  'copy')
+		
+		self.__testExport(exports[12], 
+						  bldInfMakefilePathTestRoot+'bld.infs/export13.rsc', 
+						  '$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/app/export13.rsc', 
+						  'copy')
+		
+
+		testExports = bldInfObject.getTestExports(self.defaultPlatform)
+		
+		# testexport1.h
+		self.__testExport(testExports[0], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport1.h', 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport1.h', 
+						  'copy')
+		
+		# testexport2.h				export_test_rel\testexport2.h
+		self.__testExport(testExports[1], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport2.h', 
+						  bldInfMakefilePathTestRoot+'bld.infs/export_test_rel/testexport2.h', 
+						  'copy')
+
+		# testexport3.h				..\export_test_rel\testexport3.h
+		self.__testExport(testExports[2], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport3.h', 
+						  bldInfMakefilePathTestRoot+'export_test_rel/testexport3.h', 
+						  'copy')
+
+		# testexport4.h				\export_test_abs\testexport4.h
+		self.__testExport(testExports[3], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport4.h', 
+						  self.__OSRoot+'/export_test_abs/testexport4.h', 
+						  'copy')
+
+		# testexport5.h				\epoc32\export_test_abs\testexport5.h
+		self.__testExport(testExports[4], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport5.h', 
+						  '$(EPOCROOT)/epoc32/export_test_abs/testexport5.h', 
+						  'copy')
+
+		# testexport6.h				|..\export_test_rel\testexport6.h
+		self.__testExport(testExports[5], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport6.h', 
+						  bldInfMakefilePathTestRoot+'export_test_rel/testexport6.h', 
+						  'copy')
+
+		# testexport7.h				|\export_test_rel\testexport7.h
+		self.__testExport(testExports[6], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport7.h', 
+						  bldInfMakefilePathTestRoot+'bld.infs/export_test_rel/testexport7.h', 
+						  'copy')
+
+		# testexport8.h				|export_test_rel\testexport8.h
+		self.__testExport(testExports[7], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport8.h', 
+						  bldInfMakefilePathTestRoot+'bld.infs/export_test_rel/testexport8.h', 
+						  'copy')
+
+		# :zip testexport9.zip
+		self.__testExport(testExports[8], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport9.zip', 
+						  '$(EPOCROOT)', 
+						  'unzip')
+
+		# :zip testexport10.zip		export_test
+		self.__testExport(testExports[9], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport10.zip', 
+						  '$(EPOCROOT)/export_test', 
+						  'unzip')
+
+		# :zip testexport11.zip		/export_test
+		self.__testExport(testExports[10], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport11.zip', 
+						  self.__OSRoot+'/export_test', 
+						  'unzip')
+
+		# :zip testexport12.zip		/epoc32/export_test
+		self.__testExport(testExports[11], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport12.zip', 
+						  '$(EPOCROOT)/epoc32/export_test', 
+						  'unzip')
+
+		# testexport13.rsc		z:/resource/app/testexport13.rsc
+		# Once for each of the three locations for emulated drives
+		# epoc32/data/z/resource/app/testexport13.rsc *and* in
+		# epoc32/release/winscw/udeb/z/resource/app/testexport13.rsc *and* in
+		# epoc32/release/winscw/urel/z/resource/app/testexport13.rsc
+		self.__testExport(testExports[12], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport13.rsc', 
+						  '$(EPOCROOT)/epoc32/data/z/resource/app/testexport13.rsc', 
+						  'copy')
+		
+		self.__testExport(testExports[12], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport13.rsc', 
+						  '$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/app/testexport13.rsc', 
+						  'copy')
+		
+		self.__testExport(testExports[12], 
+						  bldInfMakefilePathTestRoot+'bld.infs/testexport13.rsc', 
+						  '$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/app/testexport13.rsc', 
+						  'copy')
+
+
+	def __testExtension(self, aExtensionObject, aMakefile, aTestParameters):
+		
+		templateExtensionRoot = ""
+		
+		if not aMakefile.startswith("$("):
+			templateExtensionRoot = '$(MAKEFILE_TEMPLATES)/'
+			
+		self.assertEquals(aExtensionObject.getMakefile(), templateExtensionRoot+aMakefile)
+		
+		testOptions = aExtensionObject.getOptions()
+		testVariables = aExtensionObject.getStandardVariables()
+		
+		for testParameter in aTestParameters.keys():
+			if (testParameter.startswith("STDVAR_")):
+				stdvar = testParameter.replace("STDVAR_", "")
+				stdvalue = aTestParameters.get(testParameter)
+				self.assertTrue(testVariables.has_key(stdvar))
+				self.assertEquals(testVariables.get(stdvar), aTestParameters.get(testParameter))
+			else:
+				self.assertTrue(testOptions.has_key(testParameter))
+				self.assertEquals(testOptions.get(testParameter), aTestParameters.get(testParameter))
+
+	def testBldInfExtensions(self):
+		bldInfTestRoot = self.__testRoot.Append('metadata/project/bld.infs')
+		bldInfMakefilePathTestRoot = str(self.__makefilePathTestRoot)+'/metadata/project/bld.infs'			
+		depfiles = []
+		bldInfObject = raptor_meta.BldInfFile(bldInfTestRoot.Append('extensions.inf'),
+											  self.__gnucpp, depfiles=depfiles, log=self.raptor)
+		
+		extensions = bldInfObject.getExtensions(self.ARMV5)
+		
+		self.__testExtension(extensions[0],
+							'test/dummyextension1.mk',
+							{'TARGET':'dummyoutput1.exe',
+							'SOURCES':'dummysource11.cpp dummysource12.cpp dummysource13.cpp',
+							'DEPENDENCIES':'dummylib11.lib dummylib12.lib',
+							'TOOL':'dummytool1.exe',
+							'OPTION11':'option11value',
+							'OPTION12':'$(MAKE_VAR)',
+							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
+							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}		
+							)
+		
+		self.__testExtension(extensions[1],
+							'test/dummyextension2.mk',
+							{'TARGET':'dummyoutput2.exe',
+							'SOURCES':'dummysource21.cpp dummysource22.cpp dummysource23.cpp',
+							'DEPENDENCIES':'dummylib21.lib dummylib22.lib',
+							'TOOL':'dummytool2.exe',
+							'OPTION21':'option21value',
+							'OPTION22':'$(MAKE_VAR)',
+							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
+							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}
+							)
+		
+		self.__testExtension(extensions[2],
+							'$(' + raptor.env + ')/test/dummyextension3.mk',
+							{'TARGET':'dummyoutput3.exe',
+							'SOURCES':'dummysource31.cpp dummysource32.cpp dummysource33.cpp',
+							'DEPENDENCIES':'dummylib31.lib dummylib32.lib',
+							'TOOL':'dummytool3.exe',
+							'OPTION31':'option31value',
+							'OPTION32':'$(MAKE_VAR)',
+							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
+							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}
+							)
+		
+		testExtensions = bldInfObject.getTestExtensions(self.ARMV5)
+
+		self.__testExtension(testExtensions[0],
+							'test/dummytestextension1.mk',
+							{'TARGET':'dummytestoutput1.exe',
+							'SOURCES':'dummytestsource11.cpp dummytestsource12.cpp dummytestsource13.cpp',
+							'DEPENDENCIES':'dummytestlib11.lib dummytestlib12.lib',
+							'TOOL':'dummytesttool1.exe',
+							'OPTIONTEST11':'optiontest11value',
+							'OPTIONTEST12':'$(MAKE_VAR)',
+							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
+							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}		
+							)
+
+		self.__testExtension(testExtensions[1],
+							'test/dummytestextension2.mk',
+							{'TARGET':'dummytestoutput2.exe',
+							'SOURCES':'dummytestsource21.cpp dummytestsource22.cpp dummytestsource23.cpp',
+							'DEPENDENCIES':'dummytestlib21.lib dummytestlib22.lib',
+							'TOOL':'dummytesttool2.exe',
+							'OPTIONTEST21':'optiontest21value',
+							'OPTIONTEST22':'$(MAKE_VAR)',
+							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
+							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}		
+							)
+	
+	def testBadBldInfs(self):
+		bldInfTestRoot = self.__testRoot.Append('metadata/project/bld.infs')
+		depfiles=[]
+		
+		class BadBldInfLogger(object):
+			"mock logger to capture Error messages from the parser."
+			
+			def __init__(self):
+				self.errors = []
+				self.debugOutput = False
+				
+			def Error(self, format, *extras, **attributes):
+				self.errors.append( ((format % extras), attributes) )
+		
+			def Debug(self, format, *extras, **attributes):
+				pass
+				
+		logger = BadBldInfLogger()
+		
+		# this bld.inf has END lines with no matching START
+		bldInfObject = raptor_meta.BldInfFile(bldInfTestRoot.Append('bad_lone_end.inf'),
+											  self.__gnucpp, depfiles=depfiles, 
+											  log=logger)
+		
+		# the PRJ_EXTENSIONS section is bad for ARMV5
+		extensions = bldInfObject.getExtensions(self.ARMV5)
+		#
+		self.assertEquals(len(logger.errors), 1)
+		err = logger.errors[0]
+		self.assertEquals(err[0], "unmatched END statement in PRJ_EXTENSIONS section")
+		self.assertTrue("bldinf" in err[1])
+		self.assertTrue(err[1]["bldinf"].endswith("bad_lone_end.inf"))
+		
+		# the PRJ_TESTEXTENSIONS section is bad for WINSCW
+		testextensions = bldInfObject.getTestExtensions(self.WINSCW)
+		#
+		self.assertEquals(len(logger.errors), 2)
+		err = logger.errors[1]
+		self.assertEquals(err[0], "unmatched END statement in PRJ_TESTEXTENSIONS section")
+		self.assertTrue("bldinf" in err[1])
+		self.assertTrue(err[1]["bldinf"].endswith("bad_lone_end.inf"))
+			
+	def testBldInfIncludes(self):
+		bldInfTestRoot = self.__testRoot.Append('metadata/project/bld.infs/includes')
+		depfiles=[]
+		bldInfObject = raptor_meta.BldInfFile(bldInfTestRoot.Append('top_level.inf'),
+											  self.__gnucpp, depfiles=depfiles, log=self.raptor)
+		Root = str(bldInfTestRoot)
+		
+		mmpFiles = bldInfObject.getMMPList(self.ARMV5)
+		self.assertEquals(len(mmpFiles['mmpFileList']), 3)	
+		self.assertEquals(str(mmpFiles['mmpFileList'][0].filename), Root + "/dir3/down_dir.mmp")
+		self.assertEquals(str(mmpFiles['mmpFileList'][1].filename), Root + "/dir1/dir2/up_dir.mmp")
+		self.assertEquals(str(mmpFiles['mmpFileList'][2].filename), Root + "/top_level.mmp")
+
+		exports = bldInfObject.getExports(self.ARMV5)
+		self.assertEquals(exports[0].getSource(), Root + "/dir3/down_dir_export_source.h")
+		self.assertEquals(exports[1].getSource(), Root + "/dir1/dir2/up_dir_export_source.h")
+		self.assertEquals(exports[2].getSource(), Root + "/top_level_export_source.h")
+
+	def testMmpIncludes(self):
+		mmpTestRoot = self.__testRoot.Append('metadata/project/mmps/includes')
+		mmpMakefilePathTestRoot = str(self.__makefilePathTestRoot)+'/metadata/project/mmps/includes'
+
+		depfiles=[]
+		bldInfObject = raptor_meta.BldInfFile(mmpTestRoot.Append('top_level.inf'),
+										 self.__gnucpp, depfiles=depfiles, log=self.raptor)
+		
+		mmpFiles = bldInfObject.getMMPList(self.ARMV5)
+		mmpdeps = []
+		mmpFile = raptor_meta.MMPFile(mmpFiles['mmpFileList'][0].filename, 
+										   self.__gnucpp,
+										   bldInfObject,
+									           depfiles=mmpdeps,
+										   log=self.raptor)
+		
+		self.assertEquals(str(mmpFile.filename), 
+						  str(mmpTestRoot.Append("top_level.mmp")))
+	
+	
+		mmpContent = mmpFile.getContent(self.ARMV5)
+		mmpBackend = raptor_meta.MMPRaptorBackend(None, str(mmpFile.filename), str(bldInfObject.filename))
+		mmpParser = mmpparser.MMPParser(mmpBackend)
+		parseresult = None
+		try:
+			parseresult = mmpParser.mmp.parseString(mmpContent)
+		except Exception,e:
+			pass
+			
+		self.assertTrue(parseresult)
+		self.assertEquals(parseresult[0],'MMP')
+
+		mmpBackend.finalise(self.ARMV5)
+		
+		var = mmpBackend.BuildVariant
+
+		sources = []
+		for i in var.ops:
+			if i.name == "SOURCE":
+				sources.extend(i.value.split(" "))
+
+		self.assertTrue((mmpMakefilePathTestRoot+'/top_level.cpp') in sources)
+		self.assertTrue((mmpMakefilePathTestRoot+'/dir1/dir2/up_dir.cpp') in sources)
+		self.assertTrue((mmpMakefilePathTestRoot+'/dir3/down_dir.cpp') in sources)
+	
+	
+	def testDefFileResolution(self):
+		
+		class DefFileTest(object):
+			""" Test resolveDefFile for a particular set of mmp options """
+			def __init__(self, resolveddeffile, mmpfilename, deffilekeyword, target, nostrictdef, platform):
+				self.resolveddeffile = resolveddeffile
+				self.mmpfilename=mmpfilename
+				self.deffilekeyword=deffilekeyword
+				self.target=target
+				self.nostrictdef = nostrictdef
+				self.platform = platform
+		
+			def test(self, raptor):
+				m = raptor_meta.MMPRaptorBackend(raptor, self.mmpfilename, "")
+				m.deffile = self.deffilekeyword
+				m.nostrictdef = self.nostrictdef
+				f = m.resolveDefFile(self.target, self.platform)
+				
+				return path_compare_notdrivelettercase(self.resolveddeffile,f)
+		
+		defFileTests = []
+		
+		for testPlat in self.testPlats:			
+			epocroot = str(testPlat['EPOCROOT'])
+			releaseDir = testPlat['PLATFORM'].lower()
+			defFileDir = "eabi"
+			if testPlat['PLATFORM'] == "WINSCW":
+				defFileDir = "bwins"
+							
+			defFileTests.extend([
+				DefFileTest(
+					self.__OSRoot+'/test/'+defFileDir+'/targetu.def',
+					'/test/component/mmpfile.mmp',
+					'',
+					'target.exe',
+					False,
+					testPlat),
+				DefFileTest(
+					self.__OSRoot+'/test/'+defFileDir+'/target.def',
+					'/test/component/mmpfile.mmp',
+					'',
+					'target.exe',
+					True,
+					testPlat),
+				DefFileTest(
+					self.__OSRoot+'/test/'+defFileDir+'/targetu.DEF',
+					'/test/component/mmpfile.mmp',
+					'target.DEF',
+					'target.exe',
+					False,
+					testPlat),
+				DefFileTest(
+					self.__OSRoot+'/test/'+defFileDir+'/target2.DEF',
+					'/test/component/mmpfile.mmp',
+					'target2.DEF',
+					'target.exe',
+					True,
+					testPlat),
+				DefFileTest(
+					self.__OSRoot+'/test/component/target2u.DEF',
+					'/test/component/mmpfile.mmp',
+					'./target2.DEF',
+					'target.exe',
+					False,
+					testPlat),
+				DefFileTest(
+					self.__OSRoot+'/test/component/target2.DEF',
+					'/test/component/mmpfile.mmp',
+					'./target2.DEF',
+					'target.exe',
+					True,
+					testPlat),
+				DefFileTest(
+					self.__OSRoot+'/test/component/'+defFileDir+'/target3u.DEF',
+					'/test/component/mmpfile.mmp',
+					'./~/target3.DEF',
+					'target.exe',
+					False,
+					testPlat),
+				DefFileTest(
+					epocroot+'/epoc32/include/def/'+defFileDir+'/targetu.def',
+					'/test/component/mmpfile.mmp',
+					'/epoc32/include/def/~/target.def',
+					'target.exe',
+					False,
+					testPlat),
+				DefFileTest(
+					epocroot+'/epoc32/release/'+releaseDir+'/target.def',
+					'/test/component/mmpfile.mmp',
+					'/epoc32/release/'+releaseDir+'/target.def',
+					'target.exe',
+					True,
+					testPlat),
+				DefFileTest(
+					self.__OSRoot+'/deffiles/targetu.def',
+					'/test/component/mmpfile.mmp',
+					'/deffiles/target.def',
+					'target.exe',
+					False,
+					testPlat)
+				])
+		
+		for t in defFileTests:
+			result = t.test(self.raptor)
+			self.assertEquals(result, True)
+	
+	def dummyMetaReader(self):
+		"make raptor_meta.MetaReader.__init__ into a none operation"
+		self.savedInit = raptor_meta.MetaReader.__init__
+
+		def DummyMetaReaderInit(self, aRaptor):
+			self._MetaReader__Raptor = aRaptor
+
+		raptor_meta.MetaReader.__init__ = DummyMetaReaderInit
+
+	def restoreMetaReader(self):
+		"make raptor_meta.MetaReader.__init__ operational again"
+		raptor_meta.MetaReader.__init__ = self.savedInit
+
+	def testApplyOsVariant(self):
+		self.dummyMetaReader()
+
+		# Mock output class
+		class OutputMock(object):
+			def write(self, text):
+				pass
+				
+		bu = raptor_data.BuildUnit("os_variant", [])
+					
+		self.raptor.keepGoing = False
+		
+		metaReader = raptor_meta.MetaReader(self.raptor)
+		metaReader.ApplyOSVariant(bu, ".")
+
+		self.raptor.keepGoing = True
+		self.raptor.out = OutputMock()
+		metaReader = raptor_meta.MetaReader(self.raptor)	
+		metaReader.ApplyOSVariant(bu, ".")
+
+		self.restoreMetaReader()
+
+	def __assertEqualStringList(self, aListOne, aListTwo):
+		self.assertEquals(len(aListOne), len(aListTwo))
+		
+		i = 0
+		while i < len(aListOne) :
+			self.assertEquals(aListOne[i], aListTwo[i])
+			i = i + 1
+		
+	def testOptionReplace(self):
+		# Test how we resolve known permutations of values given to the .mmp file OPTION_REPLACE keyword
+		mockBackend = raptor_meta.MMPRaptorBackend(self.raptor, "somefile.mmp", "")
+		
+		results = mockBackend.resolveOptionReplace('--argA')
+		self.__assertEqualStringList(results, ['--argA<->'])
+
+		results = mockBackend.resolveOptionReplace('--argB value')
+		self.__assertEqualStringList(results, ['--argB%20<->@@', '@@%<->--argB%20value'])
+		
+		results = mockBackend.resolveOptionReplace('--argD value1 --argE')
+		self.__assertEqualStringList(results, ['--argD%20<->@@', '@@%<->--argD%20value1', '--argE<->'])
+		
+		results = mockBackend.resolveOptionReplace('--argF --argG')
+		self.__assertEqualStringList(results, ['--argF<->--argG'])
+		
+		results = mockBackend.resolveOptionReplace('--argH --argI value')
+		self.__assertEqualStringList(results, ['--argH<->--argI%20value'])
+		
+		results = mockBackend.resolveOptionReplace('--argJ value1 --argK value2')
+		self.__assertEqualStringList(results, ['--argJ%20<->@@', '@@%<->--argJ%20value1', '--argK%20<->@@', '@@%<->--argK%20value2'])		
+		
+		results = mockBackend.resolveOptionReplace('--argL value1 --argM value2 --argN --argO')
+		self.__assertEqualStringList(results, ['--argL%20<->@@', '@@%<->--argL%20value1', '--argM%20<->@@', '@@%<->--argM%20value2', '--argN<->--argO'])		
+		
+		results = mockBackend.resolveOptionReplace('--argP value1 value2 --argQ value3 value4')
+		self.__assertEqualStringList(results, ['--argP%20<->@@', '@@%<->--argP%20value1', '--argQ%20<->@@', '@@%<->--argQ%20value3'])		
+		
+		results = mockBackend.resolveOptionReplace('value1 value2')
+		self.__assertEqualStringList(results, [])
+
+		results = mockBackend.resolveOptionReplace('value1 --argR')
+		self.__assertEqualStringList(results, ['--argR<->'])
+		
+		results = mockBackend.resolveOptionReplace('-singleHyphenargS value1 -singleHyphenargT value2')
+		self.__assertEqualStringList(results, ['-singleHyphenargS%20<->@@', '@@%<->-singleHyphenargS%20value1', '-singleHyphenargT%20<->@@', '@@%<->-singleHyphenargT%20value2'])
+
+		results = mockBackend.resolveOptionReplace('--assignmentArgU=value1 --assignmentArgV=value2')
+		self.__assertEqualStringList(results, ['--assignmentArgU=value1<->--assignmentArgV=value2'])
+	
+	def testModuleName(self):
+		self.dummyMetaReader()
+
+		# Test how we resolve known permutations of values given to the .mmp file OPTION_REPLACE keyword
+		mockBackend = raptor_meta.MetaReader(self.raptor)
+		
+		resultsDictList = [ {"bldinf":"Z:/src/romfile/group/tb92/GROUP/bld.inf", "result":"romfile"},
+				    {"bldinf":"/src/romfile/group/tb92/GROUP/bld.inf", "result":"romfile"},
+				    {"bldinf":"Z:/src/romFile/group/tb92/GROUP/another.inf", "result":"romFile"},
+				    {"bldinf":"X:/src/RoMfile/group/bld.inf", "result":"RoMfile"},
+				    {"bldinf":"w:/contacts/group/ONgoing/group/bld.inf", "result":"contacts"},
+				    {"bldinf":"p:/group/bld.inf", "result":"module"},
+				    {"bldinf":"/group/bld.inf", "result":"module"},
+				    {"bldinf":"p:/ONGOING/bld.inf", "result":"module"},
+				    {"bldinf":"/ONGOING/bld.inf", "result":"module"}
+				    ]
+
+		for result in resultsDictList:
+			moduleName = mockBackend.ModuleName(result["bldinf"])
+			self.assertEquals(moduleName, result["result"])
+
+		self.restoreMetaReader()
+
+
+def path_compare_notdrivelettercase(aRequirement, aCandidate):
+	if sys.platform.startswith("win"):
+		if aRequirement[1] == ":":
+			aRequirement = aRequirement[0].lower() + aRequirement[1:]
+			aCandidate = aCandidate[0].lower() + aCandidate[1:]
+
+	return aRequirement == aCandidate
+
+		
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_meta_unit"
+
+	tests = unittest.makeSuite(TestRaptorMeta)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,245 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+# Unit tests for the raptor module
+
+import raptor
+import raptor_version
+import raptor_meta
+import raptor_utilities
+import re
+import unittest
+import generic_path
+import tempfile
+import os
+
+class TestRaptor(unittest.TestCase):
+
+	def testConstructor(self):
+		r = raptor.Raptor()
+		self.failUnless(r)
+
+
+	def testHome(self):
+		r = raptor.Raptor()
+		self.failUnless(r.home)
+		r = raptor.Raptor("dirname")
+		self.failUnless(r.errorCode == 1) # picked up that dirname doesn't exist
+		
+
+	def testVersion(self):
+		self.failUnless(re.match("^\d+\.\d+\.", raptor_version.fullversion()))
+
+
+	def testCLISupport(self):
+		r = raptor.Raptor()
+		r.RunQuietly(True)
+		r.AddConfigName("tom")
+		r.AddConfigName("dick")
+		r.AddConfigName("harry")
+		r.SetEnv("ROOT", "/a/b/c")
+		r.SetEnv("TREE", "beech")
+		r.SetJobs(4)
+		r.AddProject("foo.mmp")
+		r.AddProject("bar.mmp")
+		r.SetSysDefFile("SysDef.xml")
+		r.SetSysDefBase("C:\\mysysdef")
+		r.AddBuildInfoFile("build.info")
+		r.SetTopMakefile("E:\\epoc32\\build\\Makefile")
+		
+		
+	def testComponentListParsing(self):
+		expected_spec_output = [
+				'test/smoke_suite/test_resources/simple/bld.inf',
+				'test/smoke_suite/test_resources/simple_export/bld.inf',
+				'test/smoke_suite/test_resources/simple_dll/bld.inf',
+				'test/smoke_suite/test_resources/simple_extension/bld.inf',
+				'test/smoke_suite/test_resources/simple_gui/Bld.inf',
+				'TOOLS2 SHOULD NOT APPEAR IN THE OUTPUT']
+		
+		r = raptor.Raptor()
+		null_log_instance = raptor_utilities.NullLog()
+		r.Info = null_log_instance.Info 
+		r.Debug = null_log_instance.Debug
+		r.Warn = null_log_instance.Warn
+		r.ConfigFile()
+		r.ProcessConfig()
+		# Note that tools2/bld.inf specifies tools2 as the only supported
+		# platform, so it should not appear in the component list at the end
+		r.CommandLine([
+				'-b', 'smoke_suite/test_resources/simple/bld.inf',
+				'-b', 'smoke_suite/test_resources/simple_dll/bld.inf',
+				'-b', 'smoke_suite/test_resources/simple_export/bld.inf',
+				'-b', 'smoke_suite/test_resources/simple_extension/bld.inf',
+				'-b', 'smoke_suite/test_resources/simple_gui/Bld.inf',
+				'-b', 'smoke_suite/test_resources/tools2/bld.inf',
+				'-c', 'armv5'])
+		# establish an object cache
+		r.LoadCache()
+		buildUnitsToBuild = r.GetBuildUnitsToBuild(r.configNames)
+		# find out what components to build, and in what way
+		layers = []
+		layers = r.GetLayersFromCLI()
+		
+		generic_specs = r.GenerateGenericSpecs(buildUnitsToBuild)
+		
+		specs = []
+		specs.extend(generic_specs)
+		metaReader = raptor_meta.MetaReader(r, buildUnitsToBuild)
+		specs.extend(metaReader.ReadBldInfFiles(layers[0].children,
+				False))
+
+		# See what components are actually built for the given configs
+		# should be only 5 since 1 is a tools component and we're building armv5
+		hits = 0
+		for c in layers[0].children:
+			if len(c.specs) > 0: 
+				# something will be built from this component because
+				# it has at least one spec
+				shortname = str(c.bldinf_filename)[len(os.environ['SBS_HOME'])+1:]
+				self.assertTrue(shortname in expected_spec_output)
+				hits += 1
+
+		# Ensure there actually are 5 build specs
+		self.assertEqual(hits, len(expected_spec_output) - 1)
+
+
+	def setUp(self):
+		self.r = raptor.Raptor()
+		
+		self.cwd = generic_path.CurrentDir()
+		self.isFileReturningFalse = lambda: False
+		self.isFileReturningTrue = lambda: True
+		
+		self.sysDef = self.cwd.Append(self.r.systemDefinition)
+		self.bldInf = self.cwd.Append(self.r.buildInformation)
+
+	def testWarningIfSystemDefinitionFileDoesNotExist(self): 
+		"""Test if sbs creates warning if executed without specified 
+		component to build i.e. default bld.inf (bld.inf in current 
+		directory) or system definition file.
+
+		Uses an empty temporary directory for this."""
+		self.r.out = OutputMock()
+
+		d = tempfile.mkdtemp(prefix='raptor_test') 
+		cdir = os.getcwd()
+		os.chdir(d) 
+		layers = self.r.GetLayersFromCLI()
+		os.chdir(cdir) # go back
+		os.rmdir(d)
+		
+		self.assertTrue(self.r.out.warningWritten())
+
+		d = tempfile.mkdtemp(prefix='raptor_test') 
+		cdir = os.getcwd()
+		os.chdir(d)
+		f = open("bld.inf","w")
+		f.close()
+		layers = self.r.GetLayersFromCLI()
+		os.unlink("bld.inf")
+		os.chdir(cdir) # go back
+		os.rmdir(d)
+
+		self.assertTrue(self.r.out.warningWritten())
+
+	def testNoWarningIfSystemDefinitionFileExists(self): 
+		self.r.out = OutputMock()
+
+		d = tempfile.mkdtemp(prefix='raptor_test') 
+		cdir = os.getcwd()
+		os.chdir(d)
+		f = open("System_Definition.xml","w")
+		f.close()
+		layers = self.r.GetLayersFromCLI()
+		os.unlink("System_Definition.xml")
+		os.chdir(cdir) # go back
+		os.rmdir(d)
+
+		self.assertFalse(self.r.out.warningWritten())
+	
+	# Test Info, Warn & Error functions can handle attributes
+	def testInfoAttributes(self):
+		self.r.out = OutputMock()
+		self.r.Info("hello %s", "world", planet="earth")
+		expected = "<info planet='earth'>hello world</info>\n"
+		self.assertEquals(self.r.out.actual, expected)
+		
+	def testWarnAttributes(self):
+		self.r.out = OutputMock()
+		self.r.Warn("look out", where="behind you")
+		expected = "<warning where='behind you'>look out</warning>\n"
+		self.assertEquals(self.r.out.actual, expected)
+		
+	def testErrorAttributes(self):
+		self.r.out = OutputMock()
+		self.r.Error("messed up %s and %s", "all", "sundry", bldinf="bld.inf")
+		expected = "<error bldinf='bld.inf'>messed up all and sundry</error>\n"
+		self.assertEquals(self.r.out.actual, expected)	
+		
+	# Test Info, Warn & Error functions to ensure XML control chars are escaped
+	def testInfoXMLEscaped(self):
+		self.r.out = OutputMock()
+		self.r.Info("h&l>o<&amp;")
+		expected = "<info>h&amp;l&gt;o&lt;&amp;amp;</info>\n"
+		self.assertEquals(self.r.out.actual, expected)
+		
+	def testWarnXMLEscaped(self):
+		self.r.out = OutputMock()
+		self.r.Warn("h&l>o<&amp;")
+		expected = "<warning>h&amp;l&gt;o&lt;&amp;amp;</warning>\n"
+		self.assertEquals(self.r.out.actual, expected)
+		
+	def testErrorXMLEscaped(self):
+		self.r.out = OutputMock()
+		self.r.Error("h&l>o<&amp;")
+		expected = "<error>h&amp;l&gt;o&lt;&amp;amp;</error>\n"
+		self.assertEquals(self.r.out.actual, expected)
+	
+		
+# Mock output class preserving output for checking
+# Can also check if any warning has been written
+class OutputMock(object):
+	warningRegExp = re.compile(".*warning.*")
+
+	def __init__(self):
+		self.actual = ""
+	
+	def write(self, text):
+		self.actual += text
+		
+	def warningWritten(self):
+		if OutputMock.warningRegExp.match(self.actual):
+			return True
+		return False
+			
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_unit"
+
+	tests = unittest.makeSuite(TestRaptor)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_utilities_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# raptor_utilities_unit module
+# This module tests the classed forming the Raptor bld.inf and .mmp parsing support
+#
+
+import os
+import raptor_utilities
+import sys
+import unittest
+
+class TestRaptorUtilities(unittest.TestCase):
+	pass
+				
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_utilities_unit"
+
+	tests = unittest.makeSuite(TestRaptorUtilities)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_xml_unit.py	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,158 @@
+#
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# raptor_xml_unit module
+# This module tests the identification and parsing of XML metadata files
+#
+
+import os
+import generic_path
+import raptor
+import raptor_xml
+import unittest
+
+class TestRaptorXML(unittest.TestCase):
+		
+	class Logger(object):
+		# Basic custom logger class to store errors (and only errors) for test checks
+
+		def __init__(self):	
+			self.errors = []
+					
+		def Error(self, format, *extras, **attributes):
+			self.errors.append(format % extras)
+
+		def Info(self, format, *extras, **attributes):
+			return
+			
+		def InfoDiscovery(self, object_type, count):
+			return
+		
+		def Clear(self):
+			del self.errors[:]
+			
+	
+	def setUp(self):
+		self.__logger = TestRaptorXML.Logger()
+		self.__nullSysDefRoot = generic_path.Path("smoke_suite/test_resources")
+		self.__sysDefRoot = generic_path.Join(os.environ[raptor.env],"test/smoke_suite/test_resources")
+		self.__sysDefFileRoot = generic_path.Join(os.environ[raptor.env], "test/metadata/system")
+		
+	def testSystemDefinitionProcessing(self):
+		# Make formatting neater
+		print
+		expectedBldInfs = [generic_path.Join(self.__sysDefRoot, "simple/bld.inf"),\
+						generic_path.Join(self.__sysDefRoot, "basics/helloworld/Bld.inf")]
+		
+		sysdefs = ["1.4.1", "1.3.1", "1.5.1"]
+		for sysdef in sysdefs:
+			systemModel = raptor_xml.SystemModel(self.__logger,
+					generic_path.Join(self.__sysDefFileRoot,
+					"system_definition_" + sysdef + ".xml"), self.__sysDefRoot)
+			self.__compareFileLists(expectedBldInfs, systemModel.GetAllComponents())
+		
+	
+		sourceroot = ""
+		if os.environ.has_key('SOURCEROOT'):
+			sourceroot = os.environ['SOURCEROOT']
+		os.environ['SOURCEROOT'] = self.__sysDefRoot.GetLocalString()
+		systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_2.0.0.xml"), self.__nullSysDefRoot)
+		self.__compareFileLists(expectedBldInfs, systemModel.GetAllComponents())
+
+		del os.environ["SOURCEROOT"]
+		systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_2.0.0.xml"), self.__sysDefRoot)
+		self.__compareFileLists(expectedBldInfs, systemModel.GetAllComponents())
+		
+		os.environ["SOURCEROOT"] = 'i_am_not_a_valid_path_at_all'
+		systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_2.0.0.xml"), self.__sysDefRoot)
+		self.__compareFileLists(expectedBldInfs, systemModel.GetAllComponents())
+
+				
+		del os.environ["SOURCEROOT"]
+		systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_3.0.0.xml"), self.__sysDefRoot)
+		self.__compareFileLists([], systemModel.GetAllComponents())
+				
+		self.__logger.Clear()
+		systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_multi_layers.xml"), self.__sysDefRoot)
+		self.assertTrue(len(self.__logger.errors) == 0)
+
+		# Confirm components returned from layers are correct
+
+		expectedBldInfs = [ generic_path.Join(self.__sysDefRoot, "simple/bld.inf"),\
+							generic_path.Join(self.__sysDefRoot, "simple_dll/bld.inf"),\
+						    generic_path.Join(self.__sysDefRoot, "simple_export/bld.inf"),\
+						    generic_path.Join(self.__sysDefRoot, "simple_gui/Bld.inf"),\
+						    generic_path.Join(self.__sysDefRoot, "simple_implib/bld.inf"),\
+						    generic_path.Join(self.__sysDefRoot, "simple_lib/bld.inf"),\
+						    generic_path.Join(self.__sysDefRoot, "simple_stringtable/bld.inf"),\
+						    generic_path.Join(self.__sysDefRoot, "simple_test/bld.inf"),\
+						    generic_path.Join(self.__sysDefRoot, "simple_plugin/bld.inf")]
+		self.__compareFileLists(expectedBldInfs, systemModel.GetAllComponents())
+	
+		expectedBldInfs = [ generic_path.Join(self.__sysDefRoot, "simple_export/bld.inf"),\
+						    generic_path.Join(self.__sysDefRoot, "simple_gui/Bld.inf")]
+		self.__compareFileLists(expectedBldInfs, systemModel.GetLayerComponents("Second Layer"))
+
+		self.__compareFileLists([], systemModel.GetLayerComponents("Fifth Layer"))
+				
+		self.__compareFileLists([], systemModel.GetLayerComponents("Sixth Layer"))
+		
+		# Check that the overall "buildability" of layers is returned correctly
+		# Note that a layer is still buildable if some bld.infs in it are missing as long as at least 1 exists
+		# However, errors should always be generated for missing bld.infs when a layer is checked
+		
+		self.assertTrue(systemModel.IsLayerBuildable("First Layer"))		
+		self.assertFalse(systemModel.IsLayerBuildable("Sixth Layer"))
+		
+		self.__logger.Clear()
+		self.assertTrue(systemModel.IsLayerBuildable("Seventh Layer"))
+		self.assertTrue(len(self.__logger.errors) == 1)
+		sbsHome = os.environ["SBS_HOME"]
+		sysDefPath = sbsHome + "/test/metadata/system/system_definition_multi_layers.xml"
+		sysDefPath = sysDefPath.replace("\\","/")
+		bldInfPath = sbsHome + "/test/smoke_suite/test_resources/does_not_existbld.inf"
+		bldInfPath = bldInfPath.replace("\\","/")
+		self.assertEquals(self.__logger.errors[0],
+		  ("System Definition layer \"Seventh Layer\" from system definition file \"%s\" refers to non existent bld.inf file %s" % (sysDefPath, bldInfPath)))
+				
+		# Probably redundant, but return local environment (at least its dictionary) to pre-test state
+		os.environ["SOURCEROOT"] = sourceroot
+		
+	def __compareFileLists (self, aListOne, aListTwo):
+		
+		self.assertEquals(len(aListOne), len(aListTwo))
+		
+		i = 0
+		while i < len(aListOne) :
+			self.assertEquals(aListOne[i].GetLocalString().lower(), aListTwo[i].GetLocalString().lower())
+			i = i + 1
+		
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.id = "999"
+	t.name = "raptor_xml_unit"
+
+	tests = unittest.makeSuite(TestRaptorXML)
+	result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+	if result.wasSuccessful():
+		t.result = SmokeTest.PASS
+	else:
+		t.result = SmokeTest.FAIL
+
+	return t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/chomp.c	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,177 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/*
+   Get rid of the path to talon from a commandline string on windows find the 
+   -c (if it's there) and step past it to after the quote on the first command:
+
+   "g:\program files\talon\talon.exe" -c "gcc -c . . ."
+                                          ^------ Returns a pointer to here
+
+   Take care of the possibilty that there might be spaces in the command
+   if it is quoted.
+
+   A state-machine is flexible but not all that easy to write.  Should investigate
+   the possiblity of using the Ragel state machine generator perhaps.
+
+*/
+#define CH_START 0 	/* start state */
+#define CH_PRE 1	/* spaces before executable name */
+#define CH_EXQUOTE 2    /* part of the executable name, outside quotes */
+#define CH_INQUOTE 3	/* part of the executable name, in a quoted region */
+#define CH_POST 4	/* spaces after executable name */
+#define CH_MINUS 5	/* start of -c option */
+#define CH_C 6		/* end of -c option */
+#define CH_PRECOMMAND 7 /* spaces before shell commands */
+#define CH_COMMAND 8	/* first character of shell command */
+#define CH_ERR 9	/* Error! */
+
+#include "log.h"
+#include "chomp.h"
+
+char * chompCommand(char command[])
+{
+	char *result = command;
+	int state = CH_START;
+
+	while (state != CH_COMMAND && state != CH_ERR)
+	{
+		DEBUG(("startstate: %d, char %c ",state, *result));
+		switch (*result)
+		{
+			case ' ':
+				switch (state)
+				{
+					case CH_START:
+					case CH_PRE:
+						state = CH_PRE;
+						break;
+					case CH_EXQUOTE:
+						state = CH_POST;
+						break;
+					case CH_INQUOTE:
+						break;
+					case CH_POST:
+						break;
+					case CH_MINUS:
+						state = CH_C;
+						break;
+					case CH_C:
+						state = CH_PRECOMMAND;
+						break;
+					case CH_PRECOMMAND:
+						break;
+					default:
+						state = CH_ERR;
+						break;
+				}
+			break;
+			case 'c':
+				switch (state)
+				{
+					case CH_START:
+					case CH_PRE:
+						state = CH_EXQUOTE;
+						break;
+					case CH_EXQUOTE:
+					case CH_INQUOTE:
+						break;
+					case CH_POST:
+						state = CH_ERR;
+						break;
+					case CH_MINUS:
+						state = CH_C;
+						break;
+					case CH_C:
+					case CH_PRECOMMAND:
+					default:
+						state = CH_ERR;
+						break;
+				}
+			break;
+			case '-':
+				switch (state)
+				{
+					case CH_START:
+					case CH_PRE:
+						state = CH_EXQUOTE;
+						break;
+					case CH_EXQUOTE:
+					case CH_INQUOTE:
+						break;
+					case CH_POST:
+						state = CH_MINUS;
+						break;
+					case CH_MINUS:
+					case CH_C:
+					case CH_PRECOMMAND:
+					default:
+						state = CH_ERR;
+						break;
+				}
+			break;
+			case '"':
+				switch (state)
+				{
+					case CH_START:
+					case CH_PRE:
+					case CH_EXQUOTE:
+						state = CH_INQUOTE;
+						break;
+					case CH_INQUOTE:
+						state = CH_EXQUOTE;
+						break;
+					case CH_POST:
+					case CH_MINUS:
+					case CH_C:
+						state = CH_ERR;
+						break;
+					case CH_PRECOMMAND:
+						state = CH_COMMAND;
+						break;
+					default:
+						state = CH_ERR;
+						break;
+				}
+
+			break;
+			default:
+				switch (state)
+				{
+					case CH_START:
+					case CH_PRE:
+						state = CH_EXQUOTE;
+						break;
+					case CH_INQUOTE:
+					case CH_EXQUOTE:
+						break;
+					default:
+						state = CH_ERR;
+						break;
+				}
+			break;
+		}
+		DEBUG(("endstate: %d\n",state));
+		result ++;
+		
+	}
+
+	if (state == CH_ERR)
+		return (char *)0;
+
+	return result;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/chomp.h	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef _CHOMP_H_
+#define _CHOMP_H_
+char * chompCommand(char command[]);
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/testchomp.c	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This programs tests the chompCommand function used by talon.
+*/
+
+
+
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+
+#include "chomp.h"
+#include "log.h"
+
+char *positives[] =  { 
+"c:\\apps\\talon.exe -c \"armcc -o barney.o\"", 
+"c:\\apps\\sbs2112-capabilites\\bin\\talon.exe -c \"armcc -o barney.o\"", 
+"\"c:\\apps and stuff\\talon.exe\" -c \"armcc -o barney.o\"", 
+"\"c:\\apps-can-cause-crxxx\\talon.exe\" -c \"armcc -o barney.o\"", 
+"c:\\bigspaces-\"   \"\\talon.exe -c \"armcc -o barney.o\"", 
+"c:\\bigspaces2\"   \"\\talon.exe -c \"armcc -o barney.o\"", 
+"c:\\apps\\talon.exe   -c   \"armcc -o barney.o\"", 
+"c:\\\"apps\"\\talon.exe   -c   \"armcc -o barney.o\"", 
+"c:\\\"ap ps\"\\talon.exe -c \"armcc -o barney.o\"", 
+(char *)0
+};
+
+char *negatives[] =  { 
+"c:\\apps\\talon.exe -c\"armcc -o barney.o\"", 
+"c:\\apps and stuff\\talon.exe -c \"armcc -o barney.o\"", 
+"c:\\apps\\talon.exe -c armcc -o barney.o", 
+"c:\\apps\\talon.exe commandlist.tmp", 
+(char *)0
+};
+
+char commandstr[]="armcc -o barney.o\"";
+
+int main(int argc, char *argv[])
+{
+	int i;
+	int errors = 0;
+	/* loglevel = LOGDEBUG; /* useful to leave this here */
+
+	for (i=0; positives[i] != (char *)0 ; i++)
+	{
+		char * c = chompCommand(positives[i]);
+		if (!c)
+		{
+			fprintf(stdout,"error: test failed with NULL on: %s\n", positives[i]);
+			errors++;
+			continue;
+		}
+
+		if (strcmp(commandstr, c) != 0)
+		{
+			fprintf(stdout,"error: test failed with %s on: %s\n", c,positives[i]);
+			errors++;
+			continue;
+		}
+		fprintf(stdout,"ok: %s\n", positives[i]);
+	}
+
+	for (i=0; negatives[i] != (char *)0 ; i++)
+	{
+		char * c = chompCommand(negatives[i]);
+		if (c)
+		{
+			fprintf(stdout,"error: negatice test failed with %s on: %s\n", c, negatives[i]);
+			errors++;
+			continue;
+		}
+		fprintf(stdout,"ok: negative: %s\n", negatives[i]);
+	}
+
+		
+	fprintf(stdout,"TOTAL errors: %d\n", errors);
+	return errors;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/tests/config.sh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+# set up the environment for some talon tests.
+
+eval `$SBS_HOME/bin/gethost.sh -e`
+
+if [[ "$HOSTPLATFORM" =~ "win" ]]; then
+TEST_SHELL=$(cygpath -w $SBS_HOME/win32/bin/talon.exe)
+TEST_TALON_SHELL=$(cygpath -w $SBS_CYGWIN/bin/bash.exe)
+else
+TEST_SHELL=$SBS_HOME/$HOSTPLATFORM_DIR/bin/talon
+TEST_TALON_SHELL=/bin/bash
+fi
+
+cat >settings.mk <<-endofsettings
+	SHELL:=$TEST_SHELL
+	TALON_SHELL:=$TEST_TALON_SHELL
+	TALON_BUILDID:=100
+	TALON_DEBUG:=""
+	export TALON_SHELL TALON_BUILDID TALON_DEBUG
+endofsettings
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/tests/run.sh	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+bash ./config.sh
+
+make -f t3.mk
+make -f t4.mk
+make -f t5.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/tests/t6.mk	Wed Jun 23 17:27:59 2010 +0800
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+include settings.mk
+
+# Making sure that forcesuccess works.
+
+TALON_RECIPEATTRIBUTES:=flags='$$TALON_FLAGS'
+TALON_RETRIES:=1
+
+export TALON_RECIPEATTRIBUTES TALON_RETRIES
+
+.PHONY: all fred
+
+all: fred
+	@echo "t6-PASSED"
+	
+fred:
+	|TALON_FLAGS=FORCESUCCESS;|echo "Forcesuccess'd command"; exit 1
+
+
Binary file sbsv2/raptor/win32/bin/unhide_ci_refs.exe has changed